字节笔记本

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 wechatgpt

2. 配置环境变量

复制配置文件模板:

bash
cp .env.tpl .env

编辑 .env 文件,填写以下配置项:

配置项必填说明
wechat_token微信公众号配置的 token
chat_gpt_tokenOpenAI 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=8080

4. 配置微信公众号

在微信公众号后台配置服务器 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

项目未来计划开发的功能:

  • 处理用户发送的图片消息
  • 配置公众号关注消息
  • 消息加解密
  • 更多的管理接口
  • 持久化消息存储
  • 让用户配置模型参数

项目链接

分享: