[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-YonkoSam--whatsapp-python-chatbot":3,"tool-YonkoSam--whatsapp-python-chatbot":61},[4,18,26,36,44,52],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",145895,2,"2026-04-08T11:32:59",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108111,"2026-04-08T11:23:26",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":53,"name":54,"github_repo":55,"description_zh":56,"stars":57,"difficulty_score":10,"last_commit_at":58,"category_tags":59,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,60],"视频",{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":73,"owner_company":73,"owner_location":73,"owner_email":73,"owner_twitter":73,"owner_website":73,"owner_url":75,"languages":76,"stars":81,"forks":82,"last_commit_at":83,"license":73,"difficulty_score":32,"env_os":84,"env_gpu":85,"env_ram":85,"env_deps":86,"category_tags":94,"github_topics":73,"view_count":32,"oss_zip_url":73,"oss_zip_packed_at":73,"status":17,"created_at":95,"updated_at":96,"faqs":97,"releases":108},5579,"YonkoSam\u002Fwhatsapp-python-chatbot","whatsapp-python-chatbot","WhatsApp Chatbot using Gemini + WasenderAPI","whatsapp-python-chatbot 是一款基于 Python 构建的高性价比 WhatsApp 智能聊天机器人解决方案。它巧妙结合了 Google 先进的 Gemini AI 大模型与 WaSenderAPI，旨在以极低的成本实现强大的自动化对话功能。\n\n该工具主要解决了传统 WhatsApp Business API 费用高昂、接入门槛高的问题。通过采用每月仅需 6 美元的 WaSenderAPI 作为替代方案，并搭配 Google Gemini 的免费额度，用户可将运营成本控制在极低水平，同时享受高质量的 AI 交互体验。\n\n这款工具非常适合具备一定编程基础的开发者、初创团队或希望低成本验证 AI 客服场景的技术爱好者使用。它不仅支持文本交流，还能处理图片、音频、视频及文档等多种媒体格式。其技术亮点包括：自动将长回复智能拆分为多条消息以提升阅读体验、通过 JSON 配置灵活定制 AI 人设、以及具备上下文记忆能力以维持自然流畅的多轮对话。整体架构基于 Flask 开发，部署简单，既适合本地调试，也易于在云端生产环境中运行，是构建个性化智能助手的理想起点。","# Affordable WhatsApp AI Chatbot Built in Python: Just $6\u002Fmonth\n\nCreate a powerful WhatsApp chatbot powered by Google's Gemini AI for just $6\u002Fmonth (WaSenderAPI subscription) plus Google's free Gemini API tier (1500 requests\u002Fmonth). This Python-based solution uses Flask to handle incoming messages via WaSenderAPI webhooks and leverages Gemini's advanced AI capabilities to generate intelligent, conversational responses.\n\n## 💰 Cost-Effective Solution\n\n- **WaSenderAPI**: Only $6\u002Fmonth for WhatsApp integration\n- **Gemini AI**: Free tier with 1500 requests\u002Fmonth\n- **Hosting**: Run locally or on low-cost cloud options\n- **No WhatsApp Business API fees**: Uses WaSenderAPI as an affordable alternative\n\n## 🔥 Key Features\n\n- **WhatsApp Integration**: Receives and sends messages through WaSenderAPI\n- **AI-Powered Responses**: Generates intelligent replies using Google's Gemini AI\n- **Media Support**: Handles text, images, audio, video, and document messages\n- **Smart Message Splitting**: Automatically breaks long responses into multiple messages for better readability\n- **Customizable AI Persona**: Tailor the bot's personality and behavior via simple JSON configuration\n- **Conversation History**: Maintains context between messages for natural conversations\n- **Error Handling**: Robust logging and error management for reliable operation\n- **Easy Configuration**: Simple setup with environment variables\n\n## 📁 Project Structure\n\n```\n\u002Fwhatsapp-python-chatbot\u002F\n├── script.py         # Main Flask application and bot logic\n├── requirements.txt  # Python dependencies\n├── .env              # Environment variables (API keys, etc.)\n├── persona.json      # Customizable AI personality settings\n└── README.md         # This file\n```\n\n## 🚀 Setup and Installation\n\n1.  **Clone the repository (if applicable) or create the files as described.**\n\n2.  **Create a virtual environment (recommended):**\n\n    ```bash\n    python3 -m venv venv\n    source venv\u002Fbin\u002Factivate  # On Windows use `venv\\Scripts\\activate`\n    ```\n\n3.  **Install dependencies:**\n\n    ```bash\n    pip3 install -r requirements.txt\n    ```\n\n4.  **Configure Environment Variables:**\n    Create a `.env` file in the project root directory by copying the example below. **Do not commit your `.env` file to version control if it contains sensitive keys.**\n\n    ```env\n    GEMINI_API_KEY=\"YOUR_GEMINI_API_KEY_HERE\"  # Free tier: 1500 requests\u002Fmonth\n    WASENDER_API_TOKEN=\"YOUR_WASENDER_API_TOKEN_HERE\"  # $6\u002Fmonth subscription\n    # Optional: If you change the port in script.py, update it here too for ngrok or other services\n    # FLASK_RUN_PORT=5000\n    ```\n\n    Replace the placeholder values with your actual API keys:\n\n    - `GEMINI_API_KEY`: Your API key for the Gemini API (free tier available)\n    - `WASENDER_API_TOKEN`: Your API token from WaSenderAPI ($6\u002Fmonth subscription)\n\n## 🏃‍♂️ Running the Application\n\n### 1. Development Mode (using Flask's built-in server)\n\nThis is suitable for local development and testing.\n\n```bash\npython3 script.py\n```\n\nThe application will typically run on `http:\u002F\u002F0.0.0.0:5001\u002F` by default.\n\n### 2. Using ngrok for Webhook Testing\n\nWaSenderAPI needs to send webhook events (incoming messages) to a publicly accessible URL. If you're running the Flask app locally, `ngrok` can expose your local server to the internet.\n\na. **Install ngrok** (if you haven't already) from [https:\u002F\u002Fngrok.com\u002F](https:\u002F\u002Fngrok.com\u002F).\n\nb. **Start ngrok** to forward to your Flask app's port (e.g., 5001):\n\n```bash\nngrok http 5001\n```\n\nc. **ngrok will provide you with a public URL** (e.g., `https:\u002F\u002Fxxxx-xx-xxx-xxx-xx.ngrok-free.app`).\n\nd. **Configure this ngrok URL as your webhook URL** in the WaSenderAPI dashboard for your connected device\u002Fsession. Make sure to append the `\u002Fwebhook` path (e.g., `https:\u002F\u002Fxxxx-xx-xxx-xxx-xx.ngrok-free.app\u002Fwebhook`).\n\n### 3. Production Deployment (using Gunicorn)\n\nFor production, it's recommended to use a proper WSGI server like Gunicorn instead of Flask's built-in development server.\n\na. **Install Gunicorn:**\n\n```bash\npip3 install gunicorn\n```\n\nb. **Run the application with Gunicorn:**\nReplace `script:app` with `your_filename:your_flask_app_instance_name` if you change them.\n\n```bash\ngunicorn --workers 4 --bind 0.0.0.0:5001 script:app\n```\n\n- `--workers 4`: Adjust the number of worker processes based on your server's CPU cores (a common starting point is `2 * num_cores + 1`).\n- `--bind 0.0.0.0:5001`: Specifies the address and port Gunicorn should listen on.\n\nc. **Reverse Proxy (Recommended):**\nIn a typical production setup, you would run Gunicorn behind a reverse proxy like Nginx or Apache. The reverse proxy would handle incoming HTTPS requests, SSL termination, static file serving (if any), and forward requests to Gunicorn.\n\n## 🔄 WaSenderAPI Webhook Configuration\n\n- Log in to your WaSenderAPI dashboard.\n- Navigate to the session management section.\n- connect you phone number to the session.\n- Find the option to set or update the webhook URL.\n- Enter the publicly accessible URL where your Flask application's `\u002Fwebhook` endpoint is running (e.g., your ngrok URL during development, or your production server's URL).\n- make sure you only select only **message_upsert**.\n- seve the changes.\n\n## 📝 Customizing Your Bot's Personality\n\nThe chatbot includes a customizable base prompt that defines the AI's persona and behavior. Edit the `persona.json` file to change how Gemini responds to messages, making the bot more formal, casual, informative, or conversational as needed for your use case.\n\n```json\n{\n  \"name\": \"WhatsApp Assistant\",\n  \"base_prompt\": \"You are a helpful and concise AI assistant replying in a WhatsApp chat...\",\n  \"description\": \"You are a helpful WhatsApp assistant. Keep your responses concise...\"\n}\n```\n\n## 📊 Logging and Error Handling\n\n- The application uses Python's built-in `logging` module.\n- Logs are printed to the console by default.\n- Log format: `%(asctime)s - %(levelname)s - %(message)s`.\n- Unhandled exceptions are also logged.\n- **Important for Production:** Consider configuring logging to write to files, use a centralized logging service (e.g., ELK stack, Sentry, Datadog), and implement log rotation.\n\n## 📚 WaSenderAPI Documentation\n\nRefer to the official WaSenderAPI documentation for the most up-to-date information on API endpoints, request\u002Fresponse formats, and webhook details: [https:\u002F\u002Fwasenderapi.com\u002Fapi-docs](https:\u002F\u002Fwasenderapi.com\u002Fapi-docs)\n\n## 💡 Why This Solution?\n\nThis chatbot offers an incredibly cost-effective way to deploy an AI-powered WhatsApp bot without the high costs typically associated with WhatsApp Business API. By combining WaSenderAPI's affordable $6\u002Fmonth subscription with Google's free Gemini API tier, you get a powerful, customizable chatbot solution at a fraction of the cost of enterprise alternatives.\n","# 用 Python 打造的经济实惠 WhatsApp AI 聊天机器人：每月仅需 6 美元\n\n只需每月 6 美元（WaSenderAPI 订阅）加上 Google Gemini API 的免费层级（每月 1500 次请求），即可创建一个由 Google Gemini AI 提供支持的强大 WhatsApp 聊天机器人。该基于 Python 的解决方案使用 Flask 通过 WaSenderAPI Webhook 处理传入消息，并利用 Gemini 先进的 AI 功能生成智能、对话式的响应。\n\n## 💰 高性价比方案\n\n- **WaSenderAPI**：仅需每月 6 美元即可实现 WhatsApp 集成\n- **Gemini AI**：免费层级，每月 1500 次请求\n- **托管**：可在本地运行或选择低成本云服务\n- **无需支付 WhatsApp Business API 费用**：使用 WaSenderAPI 作为经济实惠的替代方案\n\n## 🔥 核心功能\n\n- **WhatsApp 集成**：通过 WaSenderAPI 接收和发送消息\n- **AI 驱动的回复**：使用 Google Gemini AI 生成智能回复\n- **媒体支持**：支持文本、图片、音频、视频和文档消息\n- **智能消息拆分**：自动将长回复拆分为多条消息，提升可读性\n- **可定制的 AI 角色**：通过简单的 JSON 配置调整机器人的个性与行为\n- **对话历史**：保持消息间的上下文，实现自然流畅的对话\n- **错误处理**：强大的日志记录和错误管理机制，确保稳定运行\n- **易于配置**：通过环境变量进行简单设置\n\n## 📁 项目结构\n\n```\n\u002Fwhatsapp-python-chatbot\u002F\n├── script.py         # 主 Flask 应用程序及机器人逻辑\n├── requirements.txt  # Python 依赖项\n├── .env              # 环境变量（API 密钥等）\n├── persona.json      # 可定制的 AI 角色设置\n└── README.md         # 当前文件\n```\n\n## 🚀 设置与安装\n\n1. **克隆仓库（如适用）或按照说明创建文件。**\n\n2. **建议创建虚拟环境：**\n\n    ```bash\n    python3 -m venv venv\n    source venv\u002Fbin\u002Factivate  # Windows 用户请使用 `venv\\Scripts\\activate`\n    ```\n\n3. **安装依赖项：**\n\n    ```bash\n    pip3 install -r requirements.txt\n    ```\n\n4. **配置环境变量：**\n    在项目根目录下创建 `.env` 文件，复制下方示例内容。**请勿将包含敏感密钥的 `.env` 文件提交到版本控制中。**\n\n    ```env\n    GEMINI_API_KEY=\"YOUR_GEMINI_API_KEY_HERE\"  # 免费层级：每月 1500 次请求\n    WASENDER_API_TOKEN=\"YOUR_WASENDER_API_TOKEN_HERE\"  # 每月 6 美元订阅\n    # 可选：若在 script.py 中更改了端口，请在此处更新以供 ngrok 或其他服务使用\n    # FLASK_RUN_PORT=5000\n    ```\n\n    将占位符替换为您的实际 API 密钥：\n\n    - `GEMINI_API_KEY`：您的 Gemini API 密钥（提供免费层级）\n    - `WASENDER_API_TOKEN`：您从 WaSenderAPI 获取的 API 令牌（每月 6 美元订阅）\n\n## 🏃‍♂️ 运行应用程序\n\n### 1. 开发模式（使用 Flask 内置服务器）\n\n适用于本地开发和测试。\n\n```bash\npython3 script.py\n```\n\n应用程序默认将在 `http:\u002F\u002F0.0.0.0:5001\u002F` 上运行。\n\n### 2. 使用 ngrok 测试 Webhook\n\nWaSenderAPI 需要将 Webhook 事件（传入消息）发送到一个可公开访问的 URL。如果您在本地运行 Flask 应用程序，ngrok 可以将您的本地服务器暴露到互联网上。\n\na. **安装 ngrok**（如尚未安装）：[https:\u002F\u002Fngrok.com\u002F](https:\u002F\u002Fngrok.com\u002F)。\n\nb. **启动 ngrok**，将其转发到 Flask 应用的端口（例如 5001）：\n\n```bash\nngrok http 5001\n```\n\nc. **ngrok 将为您提供一个公共 URL**（例如 `https:\u002F\u002Fxxxx-xx-xxx-xxx-xx.ngrok-free.app`）。\n\nd. **在 WaSenderAPI 控制台中将此 ngrok URL 配置为您的 Webhook URL**，用于已连接的设备\u002F会话。请务必添加 `\u002Fwebhook` 路径（例如 `https:\u002F\u002Fxxxx-xx-xxx-xxx-xx.ngrok-free.app\u002Fwebhook`）。\n\n### 3. 生产部署（使用 Gunicorn）\n\n在生产环境中，建议使用 Gunicorn 等专业的 WSGI 服务器，而非 Flask 自带的开发服务器。\n\na. **安装 Gunicorn：**\n\n```bash\npip3 install gunicorn\n```\n\nb. **使用 Gunicorn 运行应用程序：**\n如果文件名或 Flask 应用实例名称有更改，请将 `script:app` 替换为 `your_filename:your_flask_app_instance_name`。\n\n```bash\ngunicorn --workers 4 --bind 0.0.0.0:5001 script:app\n```\n\n- `--workers 4`：根据您的服务器 CPU 核心数调整工作进程数量（常见起始值为 `2 * num_cores + 1`）。\n- `--bind 0.0.0.0:5001`：指定 Gunicorn 监听的地址和端口。\n\nc. **反向代理（推荐）：**\n在典型的生产环境中，您会将 Gunicorn 部署在 Nginx 或 Apache 等反向代理之后。反向代理负责处理传入的 HTTPS 请求、SSL 终止、静态文件服务（如有），并将请求转发至 Gunicorn。\n\n## 🔄 WaSenderAPI Webhook 配置\n\n- 登录您的 WaSenderAPI 控制台。\n- 导航到会话管理部分。\n- 将您的手机号码连接到会话。\n- 找到设置或更新 Webhook URL 的选项。\n- 输入您的 Flask 应用程序 `\u002Fwebhook` 端点所运行的可公开访问的 URL（例如开发阶段的 ngrok URL，或生产服务器的 URL）。\n- 确保仅选择 **message_upsert**。\n- 保存更改。\n\n## 📝 自定义机器人个性\n\n聊天机器人包含一个可定制的基础提示，用于定义 AI 的角色和行为。编辑 `persona.json` 文件，以调整 Gemini 对消息的响应方式，使机器人更正式、更随意、更具信息性或更富对话感，从而满足您的具体使用场景需求。\n\n```json\n{\n  \"name\": \"WhatsApp 助手\",\n  \"base_prompt\": \"您是一位在 WhatsApp 聊天中回答问题的乐于助人且简洁的 AI 助手……\",\n  \"description\": \"您是一位乐于助人的 WhatsApp 助手。请保持回复简洁……\"\n}\n```\n\n## 📊 日志记录与错误处理\n\n- 应用程序使用 Python 内置的 `logging` 模块。\n- 默认情况下，日志会打印到控制台。\n- 日志格式为：`%(asctime)s - %(levelname)s - %(message)s`。\n- 未处理的异常也会被记录。\n- **生产环境注意事项**：建议将日志写入文件，使用集中式日志服务（如 ELK 堆栈、Sentry、Datadog），并实施日志轮转。\n\n## 📚 WaSenderAPI 文档\n\n请参阅官方 WaSenderAPI 文档，获取关于 API 端点、请求\u002F响应格式以及 Webhook 详情的最新信息：[https:\u002F\u002Fwasenderapi.com\u002Fapi-docs](https:\u002F\u002Fwasenderapi.com\u002Fapi-docs)\n\n## 💡 为什么选择此方案？\n\n这款聊天机器人提供了一种极具成本效益的方式，让您无需承担通常与 WhatsApp Business API 相关的高昂费用，即可部署一款 AI 驱动的 WhatsApp 机器人。通过结合 WaSenderAPI 每月 6 美元的经济实惠订阅和 Google 免费的 Gemini API 层级，您将以远低于企业级解决方案的成本获得一个功能强大且可定制的聊天机器人解决方案。","# whatsapp-python-chatbot 快速上手指南\n\n本指南帮助中国开发者快速部署基于 Python 和 Google Gemini AI 的低成本 WhatsApp 聊天机器人。该方案利用 WaSenderAPI（$6\u002F月）替代昂贵的官方 Business API，并结合 Gemini 免费额度，实现智能对话功能。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux, macOS 或 Windows\n*   **Python 版本**：Python 3.8 或更高版本\n*   **前置依赖**：\n    *   **WaSenderAPI 账号**：需订阅基础套餐（约 $6\u002F月），获取 API Token。\n    *   **Google Gemini API Key**：注册 Google AI Studio 获取免费 API Key（每月 1500 次请求额度）。\n    *   **网络环境**：由于涉及 Google API 和 WaSenderAPI，请确保服务器或本地环境具备访问国际互联网的能力。\n    *   **内网穿透工具（开发用）**：推荐安装 `ngrok`，用于将本地服务暴露给公网以接收 WhatsApp  webhook 回调。\n\n## 安装步骤\n\n### 1. 获取代码与创建虚拟环境\n\n克隆项目或手动创建文件结构后，建议创建独立的 Python 虚拟环境以避免依赖冲突。\n\n```bash\npython3 -m venv venv\nsource venv\u002Fbin\u002Factivate  # Windows 用户请使用：venv\\Scripts\\activate\n```\n\n### 2. 安装依赖\n\n使用 pip 安装所需库。国内用户如遇下载缓慢，可临时切换至清华或阿里镜像源。\n\n```bash\n# 使用默认源\npip3 install -r requirements.txt\n\n# 或使用国内镜像加速（推荐）\npip3 install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 3. 配置环境变量\n\n在项目根目录创建 `.env` 文件，填入您的 API 密钥。**切勿将此文件提交到版本控制系统**。\n\n```env\nGEMINI_API_KEY=\"YOUR_GEMINI_API_KEY_HERE\"\nWASENDER_API_TOKEN=\"YOUR_WASENDER_API_TOKEN_HERE\"\n# FLASK_RUN_PORT=5001\n```\n\n*   `GEMINI_API_KEY`: 替换为您的 Google Gemini API Key。\n*   `WASENDER_API_TOKEN`: 替换为您的 WaSenderAPI Token。\n\n### 4. 自定义机器人人设（可选）\n\n编辑 `persona.json` 文件，调整机器人的性格、语气和行为模式。\n\n```json\n{\n  \"name\": \"WhatsApp Assistant\",\n  \"base_prompt\": \"You are a helpful and concise AI assistant replying in a WhatsApp chat...\",\n  \"description\": \"You are a helpful WhatsApp assistant. Keep your responses concise...\"\n}\n```\n\n## 基本使用\n\n### 1. 启动本地服务\n\n运行主脚本启动 Flask 应用，默认监听端口通常为 `5001`。\n\n```bash\npython3 script.py\n```\n\n### 2. 配置公网回调（Webhook）\n\nWaSenderAPI 需要将消息推送到公网地址。若在本地开发，需使用 `ngrok` 进行穿透。\n\n**启动 ngrok：**\n```bash\nngrok http 5001\n```\n\n**获取并配置 Webhook URL：**\n1.  复制 ngrok 生成的公网地址（例如：`https:\u002F\u002Fxxxx-xx-xxx-xxx-xx.ngrok-free.app`）。\n2.  登录 WaSenderAPI 控制台，进入会话管理页面。\n3.  连接您的手机号码到对应会话。\n4.  设置 Webhook URL 为：`\u003Cngrok 地址>\u002Fwebhook`（务必加上 `\u002Fwebhook` 后缀）。\n5.  **重要**：在事件订阅选项中，仅勾选 **`message_upsert`**。\n6.  保存设置。\n\n### 3. 测试运行\n\n完成上述配置后，向绑定的 WhatsApp 号码发送任意消息。机器人将通过 Gemini AI 处理上下文并返回智能回复。\n\n### 4. 生产环境部署（可选）\n\n正式部署时，建议使用 `gunicorn` 替代 Flask 内置服务器，并配合 Nginx 反向代理。\n\n```bash\n# 安装 gunicorn\npip3 install gunicorn\n\n# 启动服务（4 个工作进程，监听 5001 端口）\ngunicorn --workers 4 --bind 0.0.0.0:5001 script:app\n```","一家小型跨境电商团队希望利用 WhatsApp 为海外客户提供 24 小时自动售后支持，但受限于预算无法承担昂贵的官方商业 API 费用。\n\n### 没有 whatsapp-python-chatbot 时\n- **高昂的接入成本**：依赖 WhatsApp 官方商业 API 需支付高额消息费及认证费，初创团队难以负担。\n- **人工响应滞后**：客服仅能在工作时间回复，夜间或节假日的客户咨询积压严重，导致订单流失。\n- **上下文记忆缺失**：简单的关键词自动回复无法理解多轮对话，客户重复描述问题，体验极差。\n- **多媒体处理困难**：面对客户发送的产品损坏图片或视频证据，传统脚本无法识别内容，只能转人工处理。\n\n### 使用 whatsapp-python-chatbot 后\n- **极致低成本运营**：结合 WaSenderAPI（$6\u002F月）与 Gemini 免费额度，将月度通讯成本压缩至一杯咖啡钱。\n- **全天候智能应答**：基于 Gemini AI 的理解能力，机器人能即时处理复杂售后咨询，实现真正的 7×24 小时服务。\n- **拟人化连续对话**：通过内置的对话历史功能，机器人能记住前文语境，像真人一样流畅解决多步骤问题。\n- **多模态自动分析**：直接解析客户上传的故障图片或语音，AI 自动生成针对性的解决方案，大幅减少人工介入。\n\nwhatsapp-python-chatbot 让中小开发者也能以极低门槛，在 WhatsApp 上部署具备多模态理解与长记忆能力的专业级 AI 客服。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FYonkoSam_whatsapp-python-chatbot_308fe892.png","YonkoSam",null,"https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FYonkoSam_d5bb7ac9.jpg","https:\u002F\u002Fgithub.com\u002FYonkoSam",[77],{"name":78,"color":79,"percentage":80},"Python","#3572A5",100,725,216,"2026-04-05T21:58:36","Linux, macOS, Windows","未说明",{"notes":87,"python":88,"dependencies":89},"该工具基于云端 API（Google Gemini 和 WaSenderAPI），本地无需高性能硬件或下载大型模型。运行需配置 .env 文件包含 API Key。开发环境可使用 Flask 内置服务器，生产环境建议使用 Gunicorn 配合 Nginx\u002FApache 反向代理。若需在本地暴露 webhook 进行测试，需安装 ngrok。","3.x (README 中使用 python3 命令，未指定具体小版本)",[90,91,92,93],"flask","google-generativeai","python-dotenv","gunicorn",[35,13],"2026-03-27T02:49:30.150509","2026-04-08T23:42:52.243710",[98,103],{"id":99,"question_zh":100,"answer_zh":101,"source_url":102},25302,"启动脚本后访问 http:\u002F\u002F0.0.0.0:5001 为什么显示 404 Not Found 错误？聊天盒子的路由是什么？","该脚本仅提供一个单一端点，即用于 WaasenderAPI 接收消息的 Webhook 路由，因此直接在浏览器访问根路径会返回 404 错误。您无需在浏览器中打开聊天盒子，请前往您的 WaasenderAPI 仪表板查看发送的消息和进行配置。","https:\u002F\u002Fgithub.com\u002FYonkoSam\u002Fwhatsapp-python-chatbot\u002Fissues\u002F2",{"id":104,"question_zh":105,"answer_zh":106,"source_url":107},25303,"该项目支持发送图片、视频或其他媒体文件吗？如何实现？","支持。不仅可以发送图片，还可以发送视频、文档、联系人、位置、贴纸和音频。实现方法是在调用 `\u002Fapi\u002Fsend-message` 端点时，使用 `imageUrl` 参数代替文本参数即可发送图片。更多详细信息请参阅 WaasenderAPI 官方文档：https:\u002F\u002Fwasenderapi.com\u002Fapi-docs\u002Fmessages","https:\u002F\u002Fgithub.com\u002FYonkoSam\u002Fwhatsapp-python-chatbot\u002Fissues\u002F1",[109,114],{"id":110,"version":111,"summary_zh":112,"released_at":113},160421,"v0.1.1","**完整更新日志**: https:\u002F\u002Fgithub.com\u002FYonkoSam\u002Fwhatsapp-python-chatbot\u002Fcompare\u002Fv0.1...v0.1.1","2025-07-02T19:47:25",{"id":115,"version":116,"summary_zh":117,"released_at":118},160422,"v0.1","**完整更新日志**: https:\u002F\u002Fgithub.com\u002FYonkoSam\u002Fwhatsapp-python-chatbot\u002Fcommits\u002Fv0.1","2025-06-11T19:48:07"]