字
字节笔记本
2026年2月22日
wechatgpt:基于微信公众号的 ChatGPT 智能助理
本文介绍 wechatgpt,一个基于微信公众号的 ChatGPT 智能助理开源项目。该项目帮助开发者快速搭建个人微信智能助手,实现零成本部署,支持多人独立对话和管理功能。
项目简介
wechatgpt 是一个开源的 Python 项目,由 gmlove 开发维护。该项目旨在帮助开发者基于微信公众号搭建 ChatGPT 智能助理,解决国内用户无法直接访问 OpenAI 网页版以及移动端体验不佳的问题。截至目前,该项目在 GitHub 上已获得 19 stars,主要使用 Python 编写。
项目的核心目标是提供一套可用的代码及尽可能简单完善的步骤,帮助一般开发人员通过几步操作就能搭建自己的微信智能助理。
核心特性
- 微信消息签名验证:确保消息来源安全可靠
- OpenAI API 集成:调用 ChatGPT 接口发起智能对话
- 会话管理:支持多人同时独立对话,互不影响
- 超时处理:处理微信公众号 API 返回时间限制
- Token 管理:自动处理对话太长导致的 token 超长问题
- 定期清理:自动清理过期聊天会话
- 统计功能:记录基本聊天统计信息
- 管理功能:支持管理员通过消息管理用户权限和对话限制
技术栈
- Python 93.2% - 核心后端逻辑
- Dockerfile 3.1% - 容器化部署
- Makefile 3.0% - 构建脚本
- Flask - Web 服务框架
- OpenAI API - ChatGPT 对话能力
前置要求
在部署之前,需要准备以下资源:
- AWS 云服务账号(用于启动海外虚拟机)
- OpenAI 开发者账号及 API Token
- 微信公众号(个人订阅号)
- Docker 环境
安装指南
1. 克隆项目
bash
git clone https://github.com/gmlove/wechatgpt.git
cd wechatgpt2. 配置环境变量
复制配置文件模板:
bash
cp .env.tpl .env编辑 .env 文件,填写以下配置项:
| 配置项 | 必填 | 说明 |
|---|---|---|
wechat_token | 是 | 微信公众号配置的 token |
chat_gpt_token | 是 | OpenAI API Token |
token | 建议 | 管理员操作服务的 token |
http_proxy | 否 | 访问 OpenAI 的代理服务器 |
admin_user_ids | 建议 | 管理员微信 ID 列表 |
white_list_user_ids | 否 | 白名单用户微信 ID 列表 |
admin_email | 建议 | 管理员邮箱 |
3. 一键部署
bash
# 部署到默认端口 9090
make deploy DEPLOY_HOST=your_ec2_user@your_ec2_instance
# 或指定自定义端口
make deploy DEPLOY_HOST=your_ec2_user@your_ec2_instance PORT=80804. 配置微信公众号
在微信公众号后台配置服务器 URL:
http://{YOUR_INSTANCE_IP}:9090/wechat
快速开始
部署完成后,用户可以通过微信公众号直接发起对话。发送任意消息即可开始与 ChatGPT 聊天。
获取微信 ID
发送以下消息获取当前用户的微信 ID:
My ID
或
我的微信 ID
管理功能
管理员可以通过特定格式的消息管理服务的各项功能。
管理命令格式
消息必须包含三行:
text
admin-command:{YOUR_ADMIN_TOKEN}
{COMAND_NAME}
{COMMAND_ARGS}支持的命令
| 命令 | 说明 | 参数示例 |
|---|---|---|
add_white_list | 添加白名单用户 | 用户 OpenID |
remove_white_list | 移除白名单用户 | 用户 OpenID |
set_limit | 设置用户对话次数限制 | user_a,100 |
set_token | 设置管理员 token | 新 token 值 |
get_config | 获取当前配置 | 无(参数行填 1) |
get_stat | 获取对话统计 | 无(参数行填 1) |
使用示例
设置用户每日对话次数限制:
text
admin-command:your_secret_token
set_limit
user_openid_123,20注意事项
- 本项目设计初衷是个人或小团体使用,不追求高性能和高并发
- 默认每人每天限制 20 次对话(可通过配置调整)
- 如需对外发布公共服务,请自行承担相关责任
- 确保服务器能够访问 OpenAI 服务(需要海外服务器或代理)
Roadmap
项目未来计划开发的功能:
- 处理用户发送的图片消息
- 配置公众号关注消息
- 消息加解密
- 更多的管理接口
- 持久化消息存储
- 让用户配置模型参数
项目链接
分享: