利用 Cloudflare Workers 接入微信公众号,实现 AI 自动回复功能(支持 OpenAI 和 Gemini)。
点击按钮后:
- 授权 Cloudflare 访问 GitHub
- Fork 仓库并自动部署
- 在 Worker 设置中配置环境变量
在 Cloudflare Workers → 你的 Worker → Settings → Variables and Secrets 中配置:
| 变量名 | 作用 | 必填 |
|---|---|---|
WECHAT_TOKEN |
公众号 Token | ✅ |
USE_OPENAI |
1 使用 OpenAI,0 使用 Gemini |
✅ |
OPENAI_API_KEY |
OpenAI API Key | 使用 OpenAI 时 |
OPENAI_MODEL |
OpenAI 模型,如 gpt-4-turbo |
使用 OpenAI 时 |
OPENAI_BASE_URL |
OpenAI 代理地址 | ❌ |
OPENAI_SYSTEM_PROMPT |
OpenAI 系统提示词 | ❌ |
GEMINI_API_KEY |
Gemini API Key | 使用 Gemini 时 |
GEMINI_MODEL |
Gemini 模型,如 gemini-2.0-flash-lite |
使用 Gemini 时 |
GEMINI_SYSTEM_PROMPT |
Gemini 系统提示词 | ❌ |
WELCOME_MESSAGE |
关注时的欢迎语 | ❌ |
CHAT_HISTORY_LIMIT |
历史记录条数(默认 2) | ❌ |
UNSUPPORTED_MESSAGE |
不支持消息类型的回复 | ❌ |
- 登录微信公众平台 → 设置与开发 → 基本配置
- 服务器配置:
- URL: Worker 的 URL/api/wechat
- Token: 与
WECHAT_TOKEN相同 - 加密方式: 明文模式
- 启用配置
需要 D1 数据库支持(免费额度更高):
- Workers 控制台 → Storage & Databases → D1 → 创建数据库
- Worker Settings → Bindings → 添加 D1,变量名填
AI_CHAT_HISTORY_DB
⚠️ 注意:由于 Cloudflare 的限制,每次重新部署 Worker 后 D1 绑定会丢失,需要手动重新绑定。虽然可以在wrangler.toml中配置数据库 ID 实现持久化,但 ID 属于敏感信息,不建议提交到公开仓库。