ChatGPT-on-WeChat

GitHub
910 376 中等 1 次阅读 2天前ISC语言模型
AI 解读 由 AI 自动生成,仅供参考

ChatGPT-on-WeChat 是一款开源项目,旨在让用户仅需两步即可在云端将微信变身成为强大的 AI 聊天机器人。它通过集成 Wechaty SDK 与 OpenAI API,打通了微信生态与大语言模型(如 GPT-4o、GPT-3.5-turbo)之间的连接,让用户能在熟悉的微信界面中直接体验顶尖 AI 的对话能力。

这一工具主要解决了普通用户难以直接在微信中使用先进 AI 服务的痛点,同时也为开发者提供了一套稳定、快速且可持久运行的部署方案。无论是个人用户希望提升日常沟通效率,还是技术爱好者想要探索 AI 在即时通讯场景中的应用,ChatGPT-on-WeChat 都提供了灵活的支持。

该项目特别适合具备一定技术基础的开发者或研究人员使用,他们可以通过本地或云平台(如 Railway、阿里云 ComputeNest)轻松部署,并根据需求自定义触发关键词、选择不同模型或扩展任务处理逻辑。其核心亮点在于极简的部署流程、对多种 AI 模型的兼容支持,以及基于成熟框架构建的稳定运行机制。

如果你希望在微信中拥有一个智能助手,或者想尝试将大模型能力融入社交场景,ChatGPT-on-WeChat 是一个值得关注的实用工具。

使用场景

某跨境电商运营团队每天需在微信上处理大量海外客户咨询,涉及多语言回复、产品参数查询及售后政策解释。

没有 ChatGPT-on-WeChat 时

  • 客服人员需频繁切换电脑端网页版 ChatGPT 复制粘贴答案,响应延迟高达 5-10 分钟,导致客户流失。
  • 遇到英语、西班牙语等小语种咨询时,人工翻译耗时且易出错,常因表达不地道引发误解。
  • 深夜或节假日无人值班时,客户消息石沉大海,无法获得即时反馈,严重影响品牌信誉。
  • 重复性高的基础问题(如“发货时间”、“退换货流程”)占用了客服 80% 的精力,难以聚焦复杂客诉。
  • 团队协作混乱,不同客服对同一问题的回答标准不一,缺乏统一的知识库支撑。

使用 ChatGPT-on-WeChat 后

  • 部署机器人仅需两步云端配置,客户在微信发送消息即刻获得基于 GPT-4o 的精准回复,响应时间缩短至秒级。
  • 内置多语言能力自动识别并流畅回复英、西、法等十余种语言,消除沟通障碍,提升海外客户满意度。
  • 实现 7×24 小时全天候自动值守,无论深夜还是假期,客户都能第一时间获得标准化的业务解答。
  • 通过设置触发关键词(如"Hi bot:"),机器人自动拦截并处理 80% 的常见重复问题,释放人力专注高价值服务。
  • 统一配置模型参数与回复策略,确保全团队对外输出内容一致、专业,有效维护品牌形象。

ChatGPT-on-WeChat 将微信瞬间升级为智能客服中枢,以极低门槛实现了企业级 AI 自动化服务能力。

运行环境要求

操作系统
  • 未说明
GPU

不需要 GPU

内存

未说明

依赖
notes该项目基于 Node.js 和 Wechaty SDK 开发,主要通过 Docker 容器化部署(支持本地或 Railway、阿里云 ComputeNest 等云平台)。运行核心依赖是 OpenAI API Key 和微信账号扫码登录,无需本地安装 Python 环境或下载大型模型文件,也不依赖 GPU 算力。
python未说明
Wechaty SDK
OpenAI API
Docker
Node.js (隐含依赖)
ChatGPT-on-WeChat hero image

快速开始

微信上的ChatGPT GitHub License wakatime Railway Deploy GitHub Repo stars

🤖️ 将你的微信变成ChatGPT 只需两步! 🤖️

群聊演示,使用 @kx-Huang/ChatGPT-on-WeChat

功能

本项目基于我之前贡献的这个超棒的项目,结合Wechaty SDKOpenAI API,实现了以下功能:

  • 快速且稳定的连接到一组具有不同功能的AI模型,通常是为ChatGPT提供支持的gpt-4ogpt-3.5-turbo
  • 在云服务器Railway上实现稳定、持久且快速的部署

0. 目录

1. 如何部署这个机器人?

你可以选择本地部署云端部署,随你喜好。

推荐使用云端部署的方法。

1.1 本地部署

1.1.1 获取你的OpenAI API密钥

  • openaiApiKey可以在你的OpenAI账户的API密钥页面生成。
  • openaiOrganizationID是可选的,可以在你的OpenAI账户的设置页面找到。

1.1.2 配置环境变量

你可以将模板文件config.yaml.example复制到一个新的文件config.yaml中,并填入以下配置:

openaiApiKey: "<your_openai_api_key>"
openaiOrganizationID: "<your_organization_id>"
chatgptTriggerKeyword: "<your_keyword>"

或者,你也可以将.env.example文件中的环境变量导出到你的系统中,这是更推荐的方式,可以更好地保护你的OpenAI API密钥

export OPENAI_API_KEY="sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
export OPENAI_ORGANIZATION_KEY="org-XXXXXXXXXXXXXXX"
export CHATGPT_TRIGGER_KEYWORD="Hi bot:"

请注意:

  • chatgptTriggerKeyword是用于触发自动回复的关键字:
    • 在私聊中,以该关键字开头的消息会触发自动回复。
    • 在群聊中,以@名字 <关键字>开头的消息会触发自动回复。
  • 如果chatgptTriggerKeyword为空字符串,则表示:
    • 在私聊中,所有消息都会触发自动回复。
    • 在群聊中,只有**“@机器人”**才会触发自动回复。

1.1.3 设置Docker

  1. 构建Docker镜像
docker build -t chatgpt-on-wechat .
  1. 启动Docker容器
docker run -v $(pwd)/config.yaml:/app/config.yaml chatgpt-on-wechat

你也可以使用Docker Compose进行构建:

  1. 启动容器
docker-compose up -d
  1. 查看二维码以登录微信
docker-compose logs -f

1.1.4 登录你的微信

成功部署机器人后,请仔细按照Docker容器终端或日志提示操作:

  1. 使用手机微信扫描二维码。
  2. 点击“登录”以允许桌面登录(我们的机器人就运行在桌面上)。
  3. 等待几秒钟,就可以开始聊天了!

🤖 尽情享受你的强大聊天机器人吧! 🤖


1.2 在Railway上部署

点击下方按钮,即可分叉此仓库并在Railway上部署!

在Railway上部署


1.2.1 在Railway上配置

请填写以下内容:

  1. 你的分叉仓库名称(可以随意命名)。
  2. 选择是否将其设为私有(由你决定)。
  3. 环境变量(关于如何获取OpenAI API密钥,请参考1.1.1 获取你的OpenAI API密钥)。

Railway配置

请注意:

务必在Railway平台上设置环境变量,而不是直接写入config.yaml文件中。强烈建议不要将你的OpenAI API密钥明文写入公开仓库中。任何拥有该密钥的人都可以访问OpenAI的服务,如果你为此付费,可能会导致经济损失。


1.2.2 在Railway上部署并登录

部署过程是自动化的,首次可能需要几分钟时间。当看到“成功”字样时,点击标签查看详细信息。(这就是你的秘密微信控制台!)

Railway部署

点击“部署日志”,你会看到一切都在准备中,等待二维码弹出。像登录桌面版微信一样扫描它,然后在手机微信上点击“登录”。

Railway扫描二维码

最后,一切就绪!你会看到有人给你发送消息的日志,以及聊天机器人自动回复的记录。

1.3 在阿里云 ComputeNest 上部署

在阿里云 ComputeNest 上一键部署:

在阿里云 ComputeNest 上部署

请按照部署指南,在阿里云上部署 ChatGPT-on-WeChat。支持国内站点和国际站点。

切换阿里云控制台的语言,即可查看不同语言的指南。

首先,需要提供云资源配置,例如 ECS 实例类型和网络配置。 ECS 实例配置 同时还需要设置 ChatGPT-On-WeChat 的软件配置。 ChatGPT-On-WeChat 软件配置

确认部署后,阿里云 ComputeNest 将在您的阿里云账号下自动创建 ECS 实例,并部署和启动 ChatGPT-on-WeChat 应用程序。

ComputeNest 服务实例部署完成后,请查看“使用说明”以了解如何登录到 ECS 实例。 使用说明

在 ECS 工作台中运行命令以获取二维码。 二维码

像登录桌面版微信一样扫描该二维码,然后在手机微信上点击“登录”。

最后,一切准备就绪!当有人向您发送消息时,您将看到日志记录;每当聊天机器人自动触发回复时,也会有相应的日志显示。

2. 是否有高级自定义设置?

2.1 配置错误回复

当 OpenAI API 出现某些错误时(例如流量过大、未授权等),聊天机器人将自动回复预先配置的消息。

您可以在 src/chatgpt.js 中进行更改:

const chatgptErrorMessage = "🤖️:ChatGPT 摆烂了,请稍后再试~";

2.2 配置 OpenAI 模型

您可以根据不同的能力、耗时和成本权衡,选择任何您喜欢的 OpenAI 模型来处理任务。(例如,能力更强的模型响应时间更长)

目前,最新的 GPT-4o 模型已经上线并运行!

由于最新的 gpt-4 模型目前仍处于有限的测试阶段,仅对获得访问权限的用户开放,因此我们目前默认使用 gpt-3.5-turbo 模型。当然,如果您拥有 gpt-4 API 的访问权限,只需将模型更改为 gpt-4 即可,无需其他修改。

根据 OpenAI 官方文档,

GPT-4o(“o”代表“omni”,即多模态)是我们最先进的模型。它支持多模态输入(文本或图像输入,输出文本),并且具有与 GPT-4 Turbo 相同的高智能,但效率更高——生成文本的速度是前者的两倍,价格也便宜 50%。此外,GPT-4o 在视觉能力和非英语语言表现方面,均优于我们现有的其他模型。

GPT-3.5 系列模型可以理解和生成自然语言或代码。GPT-3.5 系列中最强大且最具成本效益的模型是 gpt-3.5-turbo,它专为聊天优化,但也适用于传统的完成任务。

此外,对于同一模型,我们还可以配置数十种参数(例如回答的随机性、最大字数限制等)。以 temperature 参数为例:

较高的值,如 0.8,会使输出更具随机性;而较低的值,如 0.2,则会使输出更加专注和确定性。

您可以在 src/chatgpt.js 中配置所有这些参数:

chatgptModelConfig: object = {
  // 此模型字段为必填项
  model: "gpt-4o",
  // 在下方添加您的 ChatGPT 模型参数
  temperature: 0.8,
  // max_tokens: 2000,
};

更多详细信息,请参阅 OpenAI 模型文档


2.3 配置模型功能

您可以根据不同的任务类型,选择所需的模型功能。(例如,完成文本、编辑文本、生成代码等)

目前,我们使用由 gpt-4o 模型驱动的 createChatCompletion() 方法,其功能为:

接受一系列消息作为输入,并返回由模型生成的消息作为输出。

您可以在 src/chatgpt.js 中进行配置:

const response = await this.openaiApiInstance.createChatCompletion({
  ...this.chatgptModelConfig,
  messages: inputMessages,
});

更多详细信息,请参阅 OpenAI API 文档


2.4 添加自定义任务处理器

您可以添加自己的任务处理器,以扩展此聊天机器人的功能!

src/chatgpt.tsChatGPTBot.onCustimzedTask() 中,编写您自己的任务处理器:

// 例如,如果消息以“Hello”开头,机器人会回复“World!”
if (message.text().startsWith("Hello")) {
  await message.say("World!");
  return;
}

3. 常见错误及故障排除

3.1 登录或自聊时出现断言错误 🤯

  • 错误日志:

    uncaughtException AssertionError [ERR_ASSERTION]: 1 == 0
        at Object.equal (/app/node_modules/wechat4u/src/util/global.js:53:14)
        at /app/node_modules/wechat4u/src/core.js:195:16
        at processTicksAndRejections (node:internal/process/task_queues:96:5) {
      code: 2,
      details: 'AssertionError [ERR_ASSERTION]: 1 == 0\n' +
        '    at Object.equal (/app/node_modules/wechat4u/src/util/global.js:53:14)\n' +
        '    at /app/node_modules/wechat4u/src/core.js:195:16\n' +
        '    at processTicksAndRejections (node:internal/process/task_queues:96:5)'
    }
    
  • 解决方案:

    • 如果在登录时遇到此错误,请查看 issue #8
    • 如果在自聊时遇到此错误,请查看 issue #38

3.2 无法触发自动回复 🤔

  • 解决方案:
    • 部署前,请阅读 1.1.2 配置环境变量 中的触发条件。
    • 部署后,请检查控制台日志中是否有以下内容:
      • 🎯 私聊中的触发关键词为:
      • 🎯 群聊中的触发关键词为:@Name

4. 如何为本项目贡献力量?

非常欢迎您提出问题、fork 本仓库、提交代码并发起 Pull Request。在代码审查通过后,我们将合并您的贡献。我非常期待与大家一起开发更多有趣的功能!

此外,我们还有一些待办事项,计划在未来进行优化:

  1. 带上下文的聊天(集成 LangChain):

    • 为每个私聊或群聊维护当前会话的完整记录
    • 当对话历史过长导致 token 数量超出限制时,动态裁剪或总结历史对话并通过 API 发送
    • 在用户一段时间未回复时,为会话设置超时机制
  2. 更多 AI 能力:

    • 集成 OpenAI 的 DALL·E 模型,用于 AI 图像生成。可通过自定义关键词触发(例如:Hi bot, draw...)
    • 集成 OpenAI 的 Whisper 模型,实现语音识别功能。可对语音消息进行转录或翻译
  3. 更灵活的部署方式:

    • 制作适用于其他云平台的部署模板
    • 优化部署流程,使其更加健壮,并提高在不同操作系统上的兼容性

5. 致谢

特别感谢以下贡献者:

感谢您通过 Star 本项目给予的支持!

@kx-Huang/ChatGPT-on-WeChat 的 Star 收集器 @kx-Huang/ChatGPT-on-WeChat 的 Star 历史曲线图

常见问题

相似工具推荐

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

144.7k|★★☆☆☆|今天
开发框架Agent语言模型

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|2天前
语言模型图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|3天前
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|2天前
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|4天前
Agent图像开发框架

PaddleOCR

PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。

75.1k|★★★☆☆|今天
语言模型图像开发框架