Convert Figma logo to code with AI

zhayujie logochatgpt-on-wechat

基于大模型搭建的聊天机器人,同时支持 微信公众号、企业微信应用、飞书、钉钉 等接入,可选择GPT4.1/GPT-4o/GPT-o1/ DeepSeek/Claude/文心一言/讯飞星火/通义千问/ Gemini/GLM-4/Kimi/LinkAI,能处理文本、语音和图片,访问操作系统和互联网,支持基于自有知识库进行定制企业智能客服。

36,523
9,145
36,523
331

Top Related Projects

ChatGPT for wechat https://github.com/AutumnWhj/ChatGPT-wechat-bot

Use ChatGPT On Wechat via wechaty

🤖一个基于 WeChaty 结合 DeepSeek / ChatGPT / Kimi / 讯飞等Ai服务实现的微信机器人 ,可以用来帮助你自动回复微信消息,或者管理微信群/好友,检测僵尸粉等...

21,682

Conversational RPA SDK for Chatbot Makers. Join our Discord: https://discord.gg/7q8NBZbQzt

Quick Overview

ChatGPT-on-WeChat is an open-source project that integrates ChatGPT into WeChat, allowing users to interact with the AI model through the popular messaging platform. It supports various AI models and plugins, making it a versatile tool for enhancing WeChat conversations with AI capabilities.

Pros

  • Seamless integration of ChatGPT into WeChat, providing easy access to AI-powered conversations
  • Support for multiple AI models, including ChatGPT, Claude, and others
  • Extensible plugin system for customizing and expanding functionality
  • Active development and community support

Cons

  • Requires setup and hosting, which may be challenging for non-technical users
  • Potential privacy concerns when using third-party AI services
  • May be affected by changes in WeChat's API or policies
  • Requires API keys or accounts for the supported AI services

Getting Started

  1. Clone the repository:

    git clone https://github.com/zhayujie/chatgpt-on-wechat.git
    cd chatgpt-on-wechat
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Configure the project:

    • Copy config-template.json to config.json
    • Edit config.json to add your API keys and customize settings
  4. Run the application:

    python3 app.py
    
  5. Scan the QR code with your WeChat account to log in and start using the chatbot.

Competitor Comparisons

ChatGPT for wechat https://github.com/AutumnWhj/ChatGPT-wechat-bot

Pros of ChatGPT-wechat-bot

  • Simpler setup process with fewer dependencies
  • Supports both individual and group chat interactions
  • Includes a web interface for easier management

Cons of ChatGPT-wechat-bot

  • Less actively maintained (last update 3 months ago)
  • Fewer features and customization options
  • Limited documentation and community support

Code Comparison

ChatGPT-wechat-bot:

@itchat.msg_register(itchat.content.TEXT)
def reply_text(msg):
    if not msg['FromUserName'] == myUserName:
        print(msg['Text'])
        reply = chatbot.get_chat_response(msg['Text'])
        return reply

chatgpt-on-wechat:

@itchat.msg_register(itchat.content.TEXT)
def handler_single_msg(msg):
    if not msg['FromUserName'] == myUserName:
        context = Context(ContextType.SINGLE_CHAT, msg['FromUserName'])
        reply = bot.reply_text(msg['Text'], context)
        return reply

Both projects use the itchat library for WeChat integration, but chatgpt-on-wechat implements a more sophisticated context handling system. This allows for better management of conversation history and user-specific settings.

While ChatGPT-wechat-bot offers a simpler implementation, chatgpt-on-wechat provides more features, better documentation, and active maintenance. The choice between the two depends on the user's needs for simplicity versus functionality.

Use ChatGPT On Wechat via wechaty

Pros of wechat-chatgpt

  • Supports multiple OpenAI models, including GPT-3.5-turbo and text-davinci-003
  • Offers a web interface for easier management and interaction
  • Includes a built-in rate limiting feature to prevent excessive API usage

Cons of wechat-chatgpt

  • Less actively maintained compared to chatgpt-on-wechat
  • Fewer customization options for message handling and bot behavior
  • Limited documentation and community support

Code Comparison

chatgpt-on-wechat:

async def handle_group_message(self, context):
    if not self.config.get("group_chat_prefix"):
        return
    if context["msg"].startswith(self.config["group_chat_prefix"]):
        await self.handle_message(context)

wechat-chatgpt:

async function onMessage(message) {
  if (message.room() && !await message.mentionSelf()) {
    return;
  }
  await handleMessage(message);
}

The code snippets show different approaches to handling group messages. chatgpt-on-wechat uses a prefix-based system, while wechat-chatgpt checks for mentions in group chats.

Both repositories provide integration between ChatGPT and WeChat, but chatgpt-on-wechat offers more features, better documentation, and active maintenance. wechat-chatgpt provides a simpler setup with multiple model support but lacks some advanced customization options.

🤖一个基于 WeChaty 结合 DeepSeek / ChatGPT / Kimi / 讯飞等Ai服务实现的微信机器人 ,可以用来帮助你自动回复微信消息,或者管理微信群/好友,检测僵尸粉等...

Pros of wechat-bot

  • Supports multiple AI models including ChatGPT, Claude, and Wenxin Yiyan
  • Offers image generation capabilities using DALL-E
  • Provides a web panel for easy management and configuration

Cons of wechat-bot

  • Less actively maintained (last update 3 months ago vs. 12 days ago for chatgpt-on-wechat)
  • Fewer stars and forks on GitHub, indicating potentially less community support
  • Documentation is primarily in Chinese, which may be challenging for non-Chinese speakers

Code Comparison

chatgpt-on-wechat:

def handle_group(self, cmsg):
    if cmsg.is_at:
        content = cmsg.content.split(maxsplit=1)[-1].strip()
        reply = self.chat_channel.handle_group(cmsg)
        return reply

wechat-bot:

async function onMessage(msg) {
  if (msg.room() && await msg.mentionSelf()) {
    const content = await msg.mentionText()
    const reply = await chatgpt.sendMessage(content)
    await msg.say(reply)
  }
}

Both repositories handle group messages and respond when the bot is mentioned. chatgpt-on-wechat uses Python, while wechat-bot uses JavaScript. The wechat-bot implementation appears more concise and uses async/await syntax for handling asynchronous operations.

21,682

Conversational RPA SDK for Chatbot Makers. Join our Discord: https://discord.gg/7q8NBZbQzt

Pros of Wechaty

  • Supports multiple chat platforms beyond WeChat (WhatsApp, Telegram, etc.)
  • More extensive documentation and community support
  • Offers a plugin system for easy extensibility

Cons of Wechaty

  • More complex setup and configuration
  • Requires more coding knowledge to implement custom features
  • May have higher resource requirements due to its multi-platform support

Code Comparison

chatgpt-on-wechat:

@itchat.msg_register(itchat.content.TEXT)
def handle_text_msg(msg):
    if msg['ToUserName'] == 'filehelper':
        reply = chatgpt.get_chat_response(msg['Text'])
        itchat.send(reply, 'filehelper')

Wechaty:

bot.on('message', async function(msg) {
  if (msg.text() === 'ding') {
    await msg.say('dong')
  }
})

The chatgpt-on-wechat example shows a simple message handler using itchat, while the Wechaty example demonstrates a basic message listener. Wechaty's code is more flexible and can be easily adapted for different platforms.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Chatgpt-on-Wechat

Latest release License: MIT Stars

chatgpt-on-wechat(简称CoW)项目是基于大模型的智能对话机器人,支持自由切换多种模型,可接入网页、微信公众号、企业微信应用、飞书、钉钉中使用,能处理文本、语音、图片、文件等多模态消息,支持通过插件访问操作系统和互联网等外部资源,以及基于自有知识库定制企业AI应用。

简介

该项目既是一个可以开箱即用的对话机器人,也是一个支持高度扩展的AI应用框架,可以通过为项目添加大模型接口、接入渠道、自定义插件来灵活实现各种定制需求。支持的功能如下:

  • ✅ 多端部署: 有多种部署方式可选择且功能完备,目前已支持网页、微信公众号、企业微信应用、飞书、钉钉等部署方式
  • ✅ 基础对话: 私聊及群聊的AI智能回复,支持多轮会话上下文记忆,基础模型支持OpenAI, Claude, Gemini, DeepSeek, 通义千问, Kimi, 文心一言, 讯飞星火, ChatGLM, MiniMax, GiteeAI, ModelScope, LinkAI
  • ✅ 语音能力: 可识别语音消息,通过文字或语音回复,支持 openai(whisper/tts), azure, baidu, google 等多种语音模型
  • ✅ 图像能力: 支持图片生成、图片识别、图生图,可选择 Dall-E-3, stable diffusion, replicate, midjourney, CogView-3, vision模型
  • ✅ 丰富插件: 支持自定义插件扩展,已实现多角色切换、敏感词过滤、聊天记录总结、文档总结和对话、联网搜索、智能体等内置插件
  • ✅ Agent能力: 支持访问浏览器、终端、文件系统、搜索引擎等各类工具,并可通过多智能体协作完成复杂任务,基于 AgentMesh 框架实现
  • ✅ 知识库: 通过上传知识库自定义专属机器人,可作为数字分身、智能客服、企业智能体使用,基于 LinkAI 实现

声明

  1. 本项目遵循 MIT开源协议,仅用于技术研究和学习,使用本项目时需遵守所在地法律法规、相关政策以及企业章程,禁止用于任何违法或侵犯他人权益的行为。任何个人、团队和企业,无论以何种方式使用该项目、对何对象提供服务,所产生的一切后果,本项目均不承担任何责任
  2. 境内使用该项目时,建议使用国内厂商的大模型服务,并进行必要的内容安全审核及过滤
  3. 本项目当前主要接入协同办公平台,推荐使用网页、公众号、企微自建应用、钉钉、飞书等接入通道,其他通道为历史产物暂不维护

演示

DEMO视频:https://cdn.link-ai.tech/doc/cow_demo.mp4

社区

添加小助手微信加入开源项目交流群:


企业服务

LinkAI 是面向企业和开发者的一站式AI智能体平台,聚合多模态大模型、知识库、Agent 插件、工作流等能力,支持一键接入主流平台并进行管理,支持SaaS、私有化部署等多种模式。

LinkAI 目前已在智能客服、私域运营、企业效率助手等场景积累了丰富的AI解决方案,在消费、健康、文教、科技制造等各行业沉淀了大模型落地应用的最佳实践,致力于帮助更多企业和开发者拥抱 AI 生产力。

产品咨询和企业服务 可联系产品客服:


🏷 更新日志

2025.05.23: 1.7.6版本 优化web网页channel、新增 AgentMesh多智能体插件、百度语音合成优化、企微应用access_token获取优化、支持claude-4-sonnet和claude-4-opus模型

2025.04.11: 1.7.5版本 新增支持 wechatferry 协议、新增 deepseek 模型、新增支持腾讯云语音能力、新增支持 ModelScope 和 Gitee-AI API接口

2024.12.13: 1.7.4版本 新增 Gemini 2.0 模型、新增web channel、解决内存泄漏问题、解决 #reloadp 命令重载不生效问题

2024.10.31: 1.7.3版本 程序稳定性提升、数据库功能、Claude模型优化、linkai插件优化、离线通知

更多更新历史请查看: 更新日志


🚀 快速开始

项目提供了一键安装、启动、管理程序的脚本,可以选择使用脚本快速运行,也可以根据详细指引一步步安装运行。

bash <(curl -sS https://cdn.link-ai.tech/code/cow/install.sh)

一、准备

1. 模型账号

项目默认使用ChatGPT模型,需前往 OpenAI平台 创建API Key并填入项目配置文件中。同时支持其他国内外产商以及第三方自定义模型接口,详情参考:模型说明。

同时支持使用 LinkAI平台 接口,可聚合使用 OpenAI、Claude、DeepSeek、Kimi、Qwen 等多种常用模型,并支持知识库、工作流、联网搜索、MJ绘图、文档总结等能力。修改配置即可一键启用,参考 接入文档。

2.环境安装

支持 Linux、MacOS、Windows 系统,同时需安装 Python,Python版本需要在3.7以上,推荐使用3.9版本。

注意:选择Docker部署则无需安装python环境和下载源码,可直接快进到下一节。

(1) 克隆项目代码:

git clone https://github.com/zhayujie/chatgpt-on-wechat
cd chatgpt-on-wechat/

若遇到网络问题可使用国内仓库地址:https://gitee.com/zhayujie/chatgpt-on-wechat

(2) 安装核心依赖 (必选):

pip3 install -r requirements.txt

(3) 拓展依赖 (可选,建议安装):

pip3 install -r requirements-optional.txt

如果某项依赖安装失败可注释掉对应的行后重试。

二、配置

配置文件的模板在根目录的config-template.json中,需复制该模板创建最终生效的 config.json 文件:

  cp config-template.json config.json

然后在config.json中填入配置,以下是对默认配置的说明,可根据需要进行自定义修改(注意实际使用时请去掉注释,保证JSON格式的规范):

# config.json 文件内容示例
{
  "channel_type": "web",                                      # 接入渠道类型,默认为web,支持修改为:terminal, wechatmp, wechatmp_service, wechatcom_app, dingtalk, feishu
  "model": "gpt-4o-mini",                                     # 模型名称, 支持 gpt-4o-mini, gpt-4.1, gpt-4o, deepseek-reasoner, wenxin, xunfei, glm-4, claude-3-7-sonnet-latest, moonshot等
  "open_ai_api_key": "YOUR API KEY",                          # 如果使用openAI模型则填入上面创建的 OpenAI API KEY
  "open_ai_api_base": "https://api.openai.com/v1",            # OpenAI接口代理地址,修改此项可接入第三方模型接口
  "proxy": "",                                                # 代理客户端的ip和端口,国内环境开启代理的需要填写该项,如 "127.0.0.1:7890"
  "single_chat_prefix": ["bot", "@bot"],                      # 私聊时文本需要包含该前缀才能触发机器人回复
  "single_chat_reply_prefix": "[bot] ",                       # 私聊时自动回复的前缀,用于区分真人
  "group_chat_prefix": ["@bot"],                              # 群聊时包含该前缀则会触发机器人回复
  "group_name_white_list": ["ChatGPT测试群", "ChatGPT测试群2"], # 开启自动回复的群名称列表
  "group_chat_in_one_session": ["ChatGPT测试群"],              # 支持会话上下文共享的群名称  
  "image_create_prefix": ["画", "看", "找"],                   # 开启图片回复的前缀
  "conversation_max_tokens": 1000,                            # 支持上下文记忆的最多字符数
  "speech_recognition": false,                                # 是否开启语音识别
  "group_speech_recognition": false,                          # 是否开启群组语音识别
  "voice_reply_voice": false,                                 # 是否使用语音回复语音
  "character_desc": "你是基于大语言模型的AI智能助手,旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。",  # 系统提示词
  # 订阅欢迎语,公众号和企业微信channel中使用,当被订阅时会自动回复以下内容
  "subscribe_msg": "感谢您的关注!\n这里是AI智能助手,可以自由对话。\n支持语音对话。\n支持图片输入。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持tool、角色扮演和文字冒险等丰富的插件。\n输入{trigger_prefix}#help 查看详细指令。",
  "use_linkai": false,                                        # 是否使用LinkAI接口,默认关闭,设置为true后可对接LinkAI平台的智能体
  "linkai_api_key": "",                                       # LinkAI Api Key
  "linkai_app_code": ""                                       # LinkAI 应用或工作流的code
}

详细配置说明:

1. 单聊配置
  • 个人聊天中,需要以 "bot"或"@bot" 为开头的内容触发机器人,对应配置项 single_chat_prefix (如果不需要以前缀触发可以填写 "single_chat_prefix": [""])
  • 机器人回复的内容会以 "[bot] " 作为前缀, 以区分真人,对应的配置项为 single_chat_reply_prefix (如果不需要前缀可以填写 "single_chat_reply_prefix": "")
2. 群聊配置
  • 群组聊天中,群名称需配置在 group_name_white_list 中才能开启群聊自动回复。如果想对所有群聊生效,可以直接填写 "group_name_white_list": ["ALL_GROUP"]
  • 默认只要被人 @ 就会触发机器人自动回复;另外群聊天中只要检测到以 "@bot" 开头的内容,同样会自动回复(方便自己触发),这对应配置项 group_chat_prefix
  • 可选配置: group_name_keyword_white_list配置项支持模糊匹配群名称,group_chat_keyword配置项则支持模糊匹配群消息内容,用法与上述两个配置项相同。(Contributed by evolay)
  • group_chat_in_one_session:使群聊共享一个会话上下文,配置 ["ALL_GROUP"] 则作用于所有群聊
3. 语音配置
  • 添加 "speech_recognition": true 将开启语音识别,默认使用openai的whisper模型识别为文字,同时以文字回复,该参数仅支持私聊 (注意由于语音消息无法匹配前缀,一旦开启将对所有语音自动回复,支持语音触发画图);
  • 添加 "group_speech_recognition": true 将开启群组语音识别,默认使用openai的whisper模型识别为文字,同时以文字回复,参数仅支持群聊 (会匹配group_chat_prefix和group_chat_keyword, 支持语音触发画图);
  • 添加 "voice_reply_voice": true 将开启语音回复语音(同时作用于私聊和群聊)
4. 其他配置
  • model: 模型名称,目前支持 gpt-4o-mini, gpt-4.1, gpt-4o, gpt-3.5-turbo, wenxin , claude , gemini, glm-4, xunfei, moonshot等,全部模型名称参考common/const.py文件
  • temperature,frequency_penalty,presence_penalty: Chat API接口参数,详情参考OpenAI官方文档。
  • proxy:由于目前 openai 接口国内无法访问,需配置代理客户端的地址,详情参考 #351
  • 对于图像生成,在满足个人或群组触发条件外,还需要额外的关键词前缀来触发,对应配置 image_create_prefix
  • 关于OpenAI对话及图片接口的参数配置(内容自由度、回复字数限制、图片大小等),可以参考 对话接口 和 图像接口 文档,在config.py中检查哪些参数在本项目中是可配置的。
  • conversation_max_tokens:表示能够记忆的上下文最大字数(一问一答为一组对话,如果累积的对话字数超出限制,就会优先移除最早的一组对话)
  • rate_limit_chatgpt,rate_limit_dalle:每分钟最高问答速率、画图速率,超速后排队按序处理。
  • clear_memory_commands: 对话内指令,主动清空前文记忆,字符串数组可自定义指令别名。
  • hot_reload: 程序退出后,暂存等于状态,默认关闭。
  • character_desc 配置中保存着你对机器人说的一段话,他会记住这段话并作为他的设定,你可以为他定制任何人格 (关于会话上下文的更多内容参考该 issue)
  • subscribe_msg:订阅消息,公众号和企业微信channel中请填写,当被订阅时会自动回复, 可使用特殊占位符。目前支持的占位符有{trigger_prefix},在程序中它会自动替换成bot的触发词。
5. LinkAI配置
  • use_linkai: 是否使用LinkAI接口,默认关闭,设置为true后可对接LinkAI平台的Agent,使用知识库、工作流、联网搜索、Midjourney 绘画等能力, 参考 文档
  • linkai_api_key: LinkAI Api Key,可在 控制台 创建
  • linkai_app_code: LinkAI 应用或工作流的code,选填

注:完整配置项说明可在 config.py 文件中查看。

三、运行

1.本地运行

如果是个人计算机 本地运行,直接在项目根目录下执行:

python3 app.py         # windows环境下该命令通常为 python app.py

运行后默认会启动一个web服务,可以通过访问 http://localhost:9899/chat 在网页端对话。如果需要接入其他应用通道只需修改 config.json 配置文件中的 channel_type 参数,详情参考:通道说明。

向机器人发送 #help 消息可以查看可用指令及插件的说明。

2.服务器部署

在服务器中可使用 nohup 命令在后台运行程序:

nohup python3 app.py & tail -f nohup.out

执行后程序运行于服务器后台,可通过 ctrl+c 关闭日志,不会影响后台程序的运行。使用 ps -ef | grep app.py | grep -v grep 命令可查看运行于后台的进程,如果想要重新启动程序可以先 kill 掉对应的进程。 日志关闭后如果想要再次打开只需输入 tail -f nohup.out。

此外,项目的 scripts 目录下有一键运行、关闭程序的脚本供使用。 运行后默认channel为web,通过可以通过修改配置文件进行切换。

3.Docker部署

使用docker部署无需下载源码和安装依赖,只需要获取 docker-compose.yml 配置文件并启动容器即可。

前提是需要安装好 docker 及 docker-compose,安装成功后执行 docker -v 和 docker-compose version (或 docker compose version) 可查看到版本号。安装地址为 docker官网 。

(1) 下载 docker-compose.yml 文件

wget https://cdn.link-ai.tech/code/cow/docker-compose.yml

下载完成后打开 docker-compose.yml 填写所需配置,例如 CHANNEL_TYPE、OPEN_AI_API_KEY 和等配置。

(2) 启动容器

在 docker-compose.yml 所在目录下执行以下命令启动容器:

sudo docker compose up -d         # 若docker-compose为 1.X 版本,则执行 `sudo  docker-compose up -d`

运行命令后,会自动取 docker hub 拉取最新release版本的镜像。当执行 sudo docker ps 能查看到 NAMES 为 chatgpt-on-wechat 的容器即表示运行成功。最后执行以下命令可查看容器的运行日志:

sudo docker logs -f chatgpt-on-wechat

(3) 插件使用

如果需要在docker容器中修改插件配置,可通过挂载的方式完成,将 插件配置文件 重命名为 config.json,放置于 docker-compose.yml 相同目录下,并在 docker-compose.yml 中的 chatgpt-on-wechat 部分下添加 volumes 映射:

volumes:
  - ./config.json:/app/plugins/config.json

**注**:使用docker方式部署的详细教程可以参考:docker部署CoW项目

模型说明

以下对所有可支持的模型的配置和使用方法进行说明,模型接口实现在项目的 bot/ 目录下。

部分模型厂商接入有官方sdk和OpenAI兼容两种方式,建议使用OpenAI兼容的方式。

OpenAI
  1. API Key创建:在 OpenAI平台 创建API Key

  2. 填写配置

{
    "model": "gpt-4.1-mini",
    "open_ai_api_key": "YOUR_API_KEY",
    "open_ai_api_base": "https://api.openai.com/v1",
    "bot_type": "chatGPT"
}
  • model: 与OpenAI接口的 model参数 一致,支持包括 o系列、gpt-4系列、gpt-3.5系列等模型
  • open_ai_api_base: 如果需要接入第三方代理接口,可通过修改该参数进行接入
  • bot_type: 使用OpenAI相关模型时无需填写。当使用第三方代理接口接入Claude等非OpenAI官方模型时,该参数设为 chatGPT
LinkAI
  1. API Key创建:在 LinkAI平台 创建API Key

  2. 填写配置

{
 "use_linkai": true,
 "linkai_api_key": "YOUR API KEY",
 "linkai_app_code": "YOUR APP CODE"
}
  • use_linkai: 是否使用LinkAI接口,默认关闭,设置为true后可对接LinkAI平台的智能体,使用知识库、工作流、数据库、联网搜索、MCP工具等丰富的Agent能力, 参考 文档
  • linkai_api_key: LinkAI平台的API Key,可在 控制台 中创建
  • linkai_app_code: LinkAI智能体 (应用或工作流) 的code,选填。智能体创建可参考 说明文档
  • model: model字段填写空则直接使用智能体的模型,可在平台中灵活切换,模型列表中的全部模型均可使用
DeepSeek
  1. API Key创建:在 DeepSeek平台 创建API Key

  2. 填写配置

{
  "bot_type": "chatGPT",
  "model": "deepseek-chat",
  "open_ai_api_key": "sk-xxxxxxxxxxx",
  "open_ai_api_base": "https://api.deepseek.com/v1"
}
  • bot_type: OpenAI兼容方式
  • model: 可填 deepseek-chat、deepseek-reasoner,分别对应的是 V3 和 R1 模型
  • open_ai_api_key: DeepSeek平台的 API Key
  • open_ai_api_base: DeepSeek平台 BASE URL
Azure
  1. API Key创建:在 DeepSeek平台 创建API Key

  2. 填写配置

{
  "model": "",
  "use_azure_chatgpt": true,
  "open_ai_api_key": "e7ffc5dd84f14521a53f14a40231ea78",
  "open_ai_api_base": "https://linkai-240917.openai.azure.com/",
  "azure_deployment_id": "gpt-4.1",
  "azure_api_version": "2025-01-01-preview"
}
  • model: 留空即可
  • use_azure_chatgpt: 设为 true
  • open_ai_api_key: Azure平台的密钥
  • open_ai_api_base: Azure平台的 BASE URL
  • azure_deployment_id: Azure平台部署的模型名称
  • azure_api_version: api版本以及以上参数可以在部署的 模型配置 界面查看
Claude
  1. API Key创建:在 Claude控制台 创建API Key

  2. 填写配置

{
    "model": "claude-sonnet-4-0",
    "claude_api_key": "YOUR_API_KEY"
}
通义千问

方式一:官方SDK接入,配置如下:

{
    "model": "qwen-turbo",
    "dashscope_api_key": "sk-qVxxxxG"
}
  • model: 可填写qwen-turbo、qwen-plus、qwen-max
  • dashscope_api_key: 通义千问的 API-KEY,参考 官方文档 ,在 控制台 创建

方式二:OpenAI兼容方式接入,配置如下:

{
  "bot_type": "chatGPT",
  "model": "qwen-turbo",
  "open_ai_api_base": "https://dashscope.aliyuncs.com/compatible-mode/v1",
  "open_ai_api_key": "sk-qVxxxxG"
}
  • bot_type: OpenAI兼容方式
  • model: 支持官方所有模型,参考模型列表
  • open_ai_api_base: 通义千问API的 BASE URL
  • open_ai_api_key: 通义千问的 API-KEY,参考 官方文档 ,在 控制台 创建
Gemini

API Key创建:在 控制台 创建API Key ,配置如下

{
    "model": "gemini-2.5-pro",
    "gemini_api_key": ""
}
Moonshot

方式一:官方接入,配置如下:

{
    "model": "moonshot-v1-8k",
    "moonshot_api_key": "moonshot-v1-8k"
}
  • model: 可填写moonshot-v1-8k、 moonshot-v1-32k、 moonshot-v1-128k
  • moonshot_api_key: Moonshot的API-KEY,在 控制台 创建

方式二:OpenAI兼容方式接入,配置如下:

{
  "bot_type": "chatGPT",
  "model": "moonshot-v1-8k",
  "open_ai_api_base": "https://api.moonshot.cn/v1",
  "open_ai_api_key": ""
}
  • bot_type: OpenAI兼容方式
  • model: 可填写moonshot-v1-8k、 moonshot-v1-32k、 moonshot-v1-128k
  • open_ai_api_base: Moonshot的 BASE URL
  • open_ai_api_key: Moonshot的 API-KEY,在 控制台 创建
百度文心 方式一:官方SDK接入,配置如下:
{
    "model": "wenxin", 
    "baidu_wenxin_api_key": "IajztZ0bDxgnP9bEykU7lBer",
    "baidu_wenxin_secret_key": "EDPZn6L24uAS9d8RWFfotK47dPvkjD6G"
}

方式二:OpenAI兼容方式接入,配置如下:

{
  "bot_type": "chatGPT",
  "model": "qwen-turbo",
  "open_ai_api_base": "https://qianfan.baidubce.com/v2",
  "open_ai_api_key": "bce-v3/ALTxxxxxxd2b"
}
  • bot_type: OpenAI兼容方式
  • model: 支持官方所有模型,参考模型列表
  • open_ai_api_base: 百度文心API的 BASE URL
  • open_ai_api_key: 百度文心的 API-KEY,参考 官方文档 ,在 控制台 创建API Key
讯飞星火

方式一:官方接入,配置如下: 参考 官方文档-快速指引 获取 APPID、 APISecret、 APIKey 三个参数

{
  "model": "xunfei",
  "xunfei_app_id": "",
  "xunfei_api_key": "",
  "xunfei_api_secret": "",
  "xunfei_domain": "4.0Ultra",
  "xunfei_spark_url": "wss://spark-api.xf-yun.com/v4.0/chat"
}
  • model: å¡« xunfei
  • xunfei_domain: 可填写 4.0Ultra、 generalv3.5、 max-32k、 generalv3、 pro-128k、 lite
  • xunfei_spark_url: 填写参考 官方文档-请求地址 的说明

方式二:OpenAI兼容方式接入,配置如下:

{
  "bot_type": "chatGPT",
  "model": "4.0Ultra",
  "open_ai_api_base": "https://spark-api-open.xf-yun.com/v1",
  "open_ai_api_key": ""
}
  • bot_type: OpenAI兼容方式
  • model: 可填写 4.0Ultra、 generalv3.5、 max-32k、 generalv3、 pro-128k、 lite
  • open_ai_api_base: 讯飞星火平台的 BASE URL
  • open_ai_api_key: 讯飞星火平台的APIPassword ,因模型而已
智谱AI

方式一:官方接入,配置如下:

{
  "model": "glm-4-plus",
  "zhipu_ai_api_key": ""
}

方式二:OpenAI兼容方式接入,配置如下:

{
  "bot_type": "chatGPT",
  "model": "glm-4-plus",
  "open_ai_api_base": "https://open.bigmodel.cn/api/paas/v4",
  "open_ai_api_key": ""
}
  • bot_type: OpenAI兼容方式
  • model: 可填 glm-4-plus、glm-4-air-250414、glm-4-airx、glm-4-long 、glm-4-flashx 、glm-4-flash-250414, 参考 glm-4系列模型编码
  • open_ai_api_base: 智谱AI平台的 BASE URL
  • open_ai_api_key: 智谱AI平台的 API KEY,在 控制台 创建
MiniMax

方式一:官方接入,配置如下:

{
    "model": "abab6.5-chat",
    "Minimax_api_key": "",
    "Minimax_group_id": ""
}
  • model: 可填写abab6.5-chat
  • Minimax_api_key:MiniMax平台的API-KEY,在 控制台 创建
  • Minimax_group_id: 在 账户信息 右上角获取

方式二:OpenAI兼容方式接入,配置如下:

{
  "bot_type": "chatGPT",
  "model": "MiniMax-M1",
  "open_ai_api_base": "https://api.minimaxi.com/v1",
  "open_ai_api_key": ""
}
  • bot_type: OpenAI兼容方式
  • model: 可填MiniMax-M1、MiniMax-Text-01,参考API文档
  • open_ai_api_base: MiniMax平台API的 BASE URL
  • open_ai_api_key: MiniMax平台的API-KEY,在 控制台 创建
ModelScope
{
  "bot_type": "modelscope",
  "model": "Qwen/QwQ-32B",
  "modelscope_api_key": "your_api_key",
  "modelscope_base_url": "https://api-inference.modelscope.cn/v1/chat/completions",
  "text_to_image": "MusePublic/489_ckpt_FLUX_1"
}

通道说明

以下对可接入通道的配置方式进行说明,应用通道代码在项目的 channel/ 目录下。

Web

项目启动后默认运行web通道,配置如下:

{
    "channel_type": "web",
    "web_port": 9899
}
  • web_port: 默认为 9899,可按需更改,需要服务器防火墙和安全组放行该端口
  • 如本地运行,启动后请访问 http://localhost:port/chat ;如服务器运行,请访问 http://ip:port/chat

注:请将上述 url 中的 ip 或者 port 替换为实际的值

Terminal

修改 config.json 中的 channel_type 字段:

{
    "channel_type": "terminal"
}

运行后可在终端与机器人进行对话。

微信公众号

本项目支持订阅号和服务号两种公众号,通过服务号(wechatmp_service)体验更佳。将下列配置加入 config.json:

{
    "channel_type": "wechatmp",
    "wechatmp_token": "TOKEN",
    "wechatmp_port": 80,
    "wechatmp_app_id": "APPID",
    "wechatmp_app_secret": "APPSECRET",
    "wechatmp_aes_key": ""
}
  • channel_type: 个人订阅号为wechatmp,企业服务号为wechatmp_service

详细步骤和参数说明参考 微信公众号接入

企业微信应用

企业微信自建应用接入需在后台创建应用并启用消息回调,配置示例:

{
    "channel_type": "wechatcom_app",
    "wechatcom_corp_id": "CORPID",
    "wechatcomapp_token": "TOKEN",
    "wechatcomapp_port": 9898,
    "wechatcomapp_secret": "SECRET",
    "wechatcomapp_agent_id": "AGENTID",
    "wechatcomapp_aes_key": "AESKEY"
}

详细步骤和参数说明参考 企微自建应用接入

钉钉

钉钉需要在开放平台创建智能机器人应用,将以下配置填入 config.json:

{
    "channel_type": "dingtalk",
    "dingtalk_client_id": "CLIENT_ID",
    "dingtalk_client_secret": "CLIENT_SECRET"
}

详细步骤和参数说明参考 钉钉接入

飞书

通过自建应用接入AI相关能力到飞书应用中,默认已是飞书的企业用户,且具有企业管理权限,将以下配置填入 config.json::

{
    "channel_type": "feishu",
    "feishu_app_id": "APP_ID",
    "feishu_app_secret": "APP_SECRET",
    "feishu_token": "VERIFICATION_TOKEN",
    "feishu_port": 80
}

详细步骤和参数说明参考 飞书接入


🔗 相关项目

  • bot-on-anything:轻量和高可扩展的大模型应用框架,支持接入Slack, Telegram, Discord, Gmail等海外平台,可作为本项目的补充使用。
  • AgentMesh:开源的多智能体(Multi-Agent)框架,可以通过多智能体团队的协同来解决复杂问题。本项目基于该框架实现了Agent插件,可访问终端、浏览器、文件系统、搜索引擎 等各类工具,并实现了多智能体协同。

🔎 常见问题

FAQs: https://github.com/zhayujie/chatgpt-on-wechat/wiki/FAQs

或直接在线咨询 项目小助手 (知识库持续完善中,回复供参考)

🛠️ 开发

欢迎接入更多应用通道,参考 Terminal代码 新增自定义通道,实现接收和发送消息逻辑即可完成接入。 同时欢迎贡献新的插件,参考 插件开发文档。

✉ 联系

欢迎提交PR、Issues进行反馈,以及通过 🌟Star 支持并关注项目更新。项目运行遇到问题可以查看 常见问题列表 ,以及前往 Issues 中搜索。个人开发者可加入开源交流群参与更多讨论,企业用户可联系产品客服咨询。

🌟 贡献者

cow contributors