chatgpt-on-wechat
CowAgent是基于大模型的超级AI助理,能主动思考和任务规划、访问操作系统和外部资源、创造和执行Skills、拥有长期记忆并不断成长,比OpenClaw更轻量和便捷。同时支持微信、飞书、钉钉、企微、QQ、公众号、网页等接入,可选择OpenAI/Claude/Gemini/DeepSeek/ Qwen/GLM/Kimi/LinkAI,能处理文本、语音、图片和文件,可快速搭建个人AI助理和企业数字员工。
Top Related Projects
ChatGPT for wechat https://github.com/AutumnWhj/ChatGPT-wechat-bot
Use ChatGPT On Wechat via wechaty
🤖一个基于 WeChaty 结合 ChatGPT / Claude / Kimi / DeepSeek / Ollama等Ai服务实现的微信机器人 ,可以用来帮助你自动回复微信消息,或者社群分析/好友管理,检测僵尸粉等...
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
-
Clone the repository:
git clone https://github.com/zhayujie/chatgpt-on-wechat.git cd chatgpt-on-wechat -
Install dependencies:
pip install -r requirements.txt -
Configure the project:
- Copy
config-template.jsontoconfig.json - Edit
config.jsonto add your API keys and customize settings
- Copy
-
Run the application:
python3 app.py -
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 结合 ChatGPT / Claude / Kimi / DeepSeek / Ollama等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.
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
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
[䏿] | [English] | [æ¥æ¬èª]
CowAgent æ¯åºäºå¤§æ¨¡åçè¶ çº§ AI å©çï¼è½å¤ä¸»å¨æèåä»»å¡è§åãæä½è®¡ç®æºåå¤é¨èµæºãåé åæ§è¡ Skillsãæ¥æé¿æè®°å¿åç¥è¯åºå¹¶ä¸ææé¿ï¼æ¯ OpenClaw æ´è½»éå便æ·ãCowAgent æ¯æçµæ´»åæ¢å¤ç§æ¨¡åï¼è½å¤çææ¬ãè¯é³ãå¾çãæä»¶ç夿¨¡ææ¶æ¯ï¼å¯æ¥å ¥å¾®ä¿¡ãé£ä¹¦ãééãä¼å¾®æºè½æºå¨äººãQQãä¼å¾®èªå»ºåºç¨ãå¾®ä¿¡å ¬ä¼å·ãç½é¡µä¸ä½¿ç¨ï¼7*24å°æ¶è¿è¡äºä½ ç个人çµèææå¡å¨ä¸ã
ð å®ç½ · ð ææ¡£ä¸å¿ · ð å¿«éå¼å§ · ð§© æè½å¹¿åº · âï¸ å¨çº¿ä½éª
ç®ä»
è¯¥é¡¹ç®æ¢æ¯ä¸ä¸ªå¯ä»¥å¼ç®±å³ç¨çè¶ çº§ AI å©çï¼ä¹æ¯ä¸ä¸ªæ¯æé«æ©å±ç Agent æ¡æ¶ï¼å¯ä»¥éè¿ä¸ºé¡¹ç®æ©å±å¤§æ¨¡åæ¥å£ãæ¥å ¥æ¸ éãå ç½®å·¥å ·ãSkills ç³»ç»æ¥çµæ´»å®ç°åç§å®å¶éæ±ãæ ¸å¿è½åå¦ä¸ï¼
- â èªä¸»ä»»å¡è§åï¼è½å¤çè§£å¤æä»»å¡å¹¶èªä¸»è§åæ§è¡ï¼æç»æèåè°ç¨å·¥å ·ç´å°å®æç®æ
- â é¿æè®°å¿ï¼ èªå¨å°å¯¹è¯è®°å¿æä¹ åè³æ¬å°æä»¶åæ°æ®åºä¸ï¼å æ¬æ ¸å¿è®°å¿ãæ¥çº§è®°å¿å梦å¢è¸é¦ï¼æ¯æå ³é®è¯ååéæ£ç´¢
- â 个人ç¥è¯åºï¼ èªå¨æ´çç»æåç¥è¯ï¼éè¿äº¤åå¼ç¨æå»ºç¥è¯å¾è°±ï¼æ¯æéè¿å¯¹è¯ç®¡çåå¯è§åæµè§ç¥è¯åº
- â æè½ç³»ç»ï¼ Skills å®è£ åè¿è¡çå¼æï¼æ¯æä» Skill HubãGitHub çä¸é®å®è£ æè½ï¼æéè¿å¯¹è¯åé Skills
- â å·¥å ·ç³»ç»ï¼ å ç½®æä»¶è¯»åãç»ç«¯æ§è¡ãæµè§å¨æä½ã宿¶ä»»å¡çå·¥å ·ï¼Agent èªä¸»è°ç¨ä»¥å®æå¤æä»»å¡
- â CLIç³»ç»ï¼ æä¾ç»ç«¯å½ä»¤å对è¯å½ä»¤ï¼æ¯æè¿ç¨ç®¡çãæè½å®è£ ãé 置修æ¹çæä½
- â 夿¨¡ææ¶æ¯ï¼ æ¯æå¯¹ææ¬ãå¾çãè¯é³ãæä»¶çå¤ç±»åæ¶æ¯è¿è¡è§£æãå¤çãçæãåéçæä½
- â 夿¨¡åæ¯æï¼ æ¯æ DeepSeekãMiniMaxãClaudeãGeminiãOpenAIãGLMãQwenãDoubaoãKimi çå½å å¤ä¸»æµæ¨¡ååå
- â å¤ééæ¥å ¥ï¼ æ¯æè¿è¡å¨æ¬å°è®¡ç®æºææå¡å¨ï¼å¯éæå°å¾®ä¿¡ãé£ä¹¦ãééãä¼ä¸å¾®ä¿¡ãQQãå¾®ä¿¡å ¬ä¼å·ãç½é¡µä¸ä½¿ç¨
声æ
- æ¬é¡¹ç®éµå¾ª MIT 弿ºåè®®ï¼ä¸»è¦ç¨äºææ¯ç ç©¶åå¦ä¹ ï¼ä½¿ç¨æ¬é¡¹ç®æ¶ééµå®æå¨å°æ³å¾æ³è§ãç¸å ³æ¿ç以åä¼ä¸ç« ç¨ï¼ç¦æ¢ç¨äºä»»ä½è¿æ³æä¾µç¯ä»äººæççè¡ä¸ºãä»»ä½ä¸ªäººãå¢éåä¼ä¸ï¼æ 论以ä½ç§æ¹å¼ä½¿ç¨è¯¥é¡¹ç®ã对ä½å¯¹è±¡æä¾æå¡ï¼æäº§ççä¸ååæï¼æ¬é¡¹ç®å䏿¿æ ä»»ä½è´£ä»»ã
- ææ¬ä¸å®å ¨ï¼Agent 模å¼ä¸ Token 使ç¨éé«äºæ®éå¯¹è¯æ¨¡å¼ï¼è¯·æ ¹æ®ææåææ¬ç»¼åéæ©æ¨¡åãAgent å ·æè®¿é®æå¨æä½ç³»ç»çè½åï¼è¯·è°¨æ 鿩项ç®é¨ç½²ç¯å¢ã忶项ç®ä¹ä¼æç»å级å®å ¨æºå¶ãå¹¶é使¨¡åæ¶èææ¬ã
- CowAgent 项ç®ä¸æ³¨äºå¼æºææ¯å¼åï¼ä¸ä¼åä¸ãæææåè¡ä»»ä½å å¯è´§å¸ã
æ¼ç¤º
-
使ç¨è¯´æ( Agent 模å¼)ï¼CowAgent ä»ç»
-
å é¨ç½²å¨çº¿ä½éªï¼CowAgent
-
DEMO è§é¢(å¯¹è¯æ¨¡å¼)ï¼https://cdn.link-ai.tech/doc/cow_demo.mp4
社åº
æ·»å å°å©æå¾®ä¿¡å å ¥å¼æºé¡¹ç®äº¤æµç¾¤ï¼
ä¼ä¸æå¡
LinkAI æ¯é¢åä¼ä¸å个人çä¸ç«å¼ AI æºè½ä½å¹³å°ï¼èå夿¨¡æå¤§æ¨¡åãç¥è¯åºãæè½ã工使µçè½åï¼æ¯æä¸é®æ¥å ¥ä¸»æµå¹³å°å¹¶ç®¡çï¼æ¯æ SaaSãç§æåé¨ç½²çå¤ç§æ¨¡å¼ï¼å¯å é¨ç½²å¨çº¿è¿è¡CowAgent å©çã
LinkAI ç®å已卿ºè½å®¢æãç§åè¿è¥ãä¼ä¸æç婿çåºæ¯ç§¯ç´¯äºä¸°å¯ç AI è§£å³æ¹æ¡ï¼å¨æ¶è´¹ãå¥åº·ãææãç§æå¶é çåè¡ä¸æ²æ·äºå¤§æ¨¡åè½å°åºç¨çæä½³å®è·µï¼è´åäºå¸®å©æ´å¤ä¼ä¸åå¼åè æ¥æ± AI ç产åã
产åå¨è¯¢åä¼ä¸æå¡ å¯è系产å客æï¼
ð· æ´æ°æ¥å¿
2026.05.06ï¼ 2.0.8çæ¬ï¼é£ä¹¦æ¸ éå ¨é¢å级ï¼è¯é³ãæµå¼è¾åºåMarkdownãä¸é®æ«ç æ¥å ¥ï¼ãæ°æ¨¡åæ¯æï¼DeepSeek V4ãç¾åº¦åå¸ï¼ã宿¶ä»»å¡å·¥å ·å¢å¼ºç
2026.04.22ï¼ 2.0.7çæ¬ï¼å¾åçæå ç½®æè½ï¼GPT Image 2ãNano Banana çï¼ãæ°æ¨¡åæ¯æï¼Kimi K2.6ãClaude Opus 4.7ãGLM 5.1ï¼ãç¥è¯åºåè®°å¿å¢å¼ºãWeb æ§å¶å°ä¼å
2026.04.14ï¼ 2.0.6çæ¬ï¼ç¥è¯åºç³»ç»ã梦å¢è®°å¿æ¨¡åãä¸ä¸ææºè½å缩ãWeb æ§å¶å°å¤ä¼è¯åå¤é¡¹ä¼åã
2026.04.01ï¼ 2.0.5çæ¬ï¼Cow CLI å½ä»¤ç³»ç»ãSkill Hub 弿ºãæµè§å¨å·¥å ·ãä¼å¾®æ«ç å建ãå¤é¡¹ä¼ååä¿®å¤ã
2026.03.22ï¼ 2.0.4çæ¬ï¼æ°å¢ä¸ªäººå¾®ä¿¡ééï¼å¾®ä¿¡æ«ç å³ç¨ï¼ãæ°å¢ MiniMax-M2.7 å GLM-5-Turbo 模åãrun.sh èæ¬éæãæ¥æææ¡£åå¤é¡¹ä¿®å¤ã
2026.03.18ï¼ 2.0.3çæ¬ï¼æ°å¢ä¼å¾®æºè½æºå¨äººå QQ ééãæ¯æ Coding Planãæ°å¢å¤ä¸ªæ¨¡åãWeb 端æä»¶å¤çãè®°å¿ç³»ç»å级ã
2026.02.27ï¼ 2.0.2çæ¬ï¼Web æ§å¶å°å ¨é¢åçº§ï¼æµå¼å¯¹è¯ã模å/æè½/è®°å¿/éé/宿¶ä»»å¡/æ¥å¿ç®¡çï¼ãæ¯æå¤ééåæ¶è¿è¡ãä¼è¯æä¹ ååå¨ãæ°å¢å¤ä¸ªæ¨¡åã
2026.02.13ï¼ 2.0.1çæ¬ï¼å ç½® Web Search å·¥å ·ãæºè½ä¸ä¸æè£åªçç¥ãè¿è¡æ¶ä¿¡æ¯å¨ææ´æ°ãWindows å ¼å®¹æ§éé ï¼ä¿®å¤å®æ¶ä»»å¡è®°å¿ä¸¢å¤±ãé£ä¹¦è¿æ¥çå¤é¡¹é®é¢ã
2026.02.03ï¼ 2.0.0çæ¬ï¼æ£å¼åçº§ä¸ºè¶ çº§ Agent å©çï¼æ¯æå¤è½®ä»»å¡å³çãå ·å¤é¿æè®°å¿ãå®ç°å¤ç§ç³»ç»å·¥å ·ãæ¯æ Skills æ¡æ¶ï¼æ°å¢å¤ç§æ¨¡åå¹¶ä¼åäºæ¥å ¥æ¸ éã
æ´å¤æ´æ°åå²è¯·æ¥ç: æ´æ°æ¥å¿
ð å¿«éå¼å§
é¡¹ç®æä¾äºä¸é®å®è£ ãé ç½®ãå¯å¨ã管çç¨åºçèæ¬ï¼æ¨è使ç¨èæ¬å¿«éè¿è¡ï¼ä¹å¯ä»¥æ ¹æ®ä¸æä¸çè¯¦ç»æå¼ä¸æ¥æ¥å®è£ è¿è¡ã
å¨ç»ç«¯æ§è¡ä»¥ä¸å½ä»¤ï¼
Linux / macOSï¼
bash <(curl -fsSL https://cdn.link-ai.tech/code/cow/run.sh)
Windowsï¼PowerShellï¼ï¼
irm https://cdn.link-ai.tech/code/cow/run.ps1 | iex
èæ¬ä½¿ç¨è¯´æï¼ä¸é®è¿è¡èæ¬ãå®è£
åå¯ä½¿ç¨ cow startãcow stop ç CLI å½ä»¤ 管çæå¡ã
ä¸ãåå¤
1. 模åAPI
é¡¹ç®æ¯æå½å å¤ä¸»æµååçæ¨¡åæ¥å£ï¼å¯é模ååé 置说æåèï¼æ¨¡å说æã
注ï¼Agent 模å¼ä¸æ¨è使ç¨ä»¥ä¸æ¨¡åï¼å¯æ ¹æ®ææåææ¬ç»¼åéæ©ï¼deepseek-v4-flashãMiniMax-M2.7ãglm-5.1ãkimi-k2.6ãqwen3.5-plusãclaude-sonnet-4-6ãgemini-3.1-pro-previewãgpt-5.4ãgpt-5.4-miniãernie-5.0
åæ¶æ¯æä½¿ç¨ LinkAI å¹³å° æ¥å£ï¼æ¯æä¸è¿°å ¨é¨æ¨¡åï¼å¹¶æ¯æç¥è¯åºã工使µãæä»¶ç Agent æè½ï¼åè æ¥å£ææ¡£ã
2.ç¯å¢å®è£
æ¯æ LinuxãMacOSãWindows æä½ç³»ç»ï¼å¯å¨ä¸ªäººè®¡ç®æºåæå¡å¨ä¸è¿è¡ï¼éå®è£
Pythonï¼Python çæ¬éå¨ 3.7 ~ 3.13 ä¹é´ã
注æï¼Agent æ¨¡å¼æ¨èä½¿ç¨æºç è¿è¡ï¼è¥éæ© Docker é¨ç½²åæ éå®è£ python ç¯å¢åä¸è½½æºç ï¼å¯ç´æ¥å¿«è¿å°ä¸ä¸èã
(1) å é项ç®ä»£ç ï¼
git clone https://github.com/zhayujie/CowAgent
cd CowAgent/
è¥éå°ç½ç»é®é¢å¯ä½¿ç¨å½å ä»åºå°åï¼https://gitee.com/zhayujie/CowAgent
(2) å®è£ æ ¸å¿ä¾èµ (å¿ é)ï¼
pip3 install -r requirements.txt
(3) æå±ä¾èµ (å¯éï¼å»ºè®®å®è£ )ï¼
pip3 install -r requirements-optional.txt
å½å ç½ç»å¯ä½¿ç¨éåæºå éï¼
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
妿æé¡¹ä¾èµå®è£ å¤±è´¥å¯æ³¨éæå¯¹åºçè¡åéè¯ã
(4) å®è£ Cow CLI (æ¨è)ï¼
pip3 install -e .
å®è£
åå¯ä½¿ç¨ cow å½ä»¤ç®¡çæå¡ï¼å¯å¨ãåæ¢ãæ´æ°çï¼åæè½ï¼è¯¦è§ å½ä»¤ææ¡£ã
(5) å®è£ æµè§å¨å·¥å · (å¯é)ï¼
妿éè¦ Agent æä½æµè§å¨ï¼å¦è®¿é®ç½é¡µãå¡«å表åçï¼ï¼éè¦é¢å¤å®è£ æµè§å¨ä¾èµï¼
cow install-browser
该å½ä»¤ä¼èªå¨å®è£
playwright å Chromium æµè§å¨ï¼å½å
ç½ç»èªå¨ä½¿ç¨éåå éãè¯¦è§ æµè§å¨å·¥å
·ææ¡£ã
äºãé ç½®
é
ç½®æä»¶ç模æ¿å¨æ ¹ç®å½ç config-template.json ä¸ï¼éå¤å¶è¯¥æ¨¡æ¿å建æç»çæç config.json æä»¶ï¼
cp config-template.json config.json
ç¶åå¨ config.json ä¸å¡«å
¥é
ç½®ï¼ä»¥ä¸æ¯å¯¹é»è®¤é
ç½®ç说æï¼å¯æ ¹æ®éè¦è¿è¡èªå®ä¹ä¿®æ¹ï¼æ³¨æå®é
ä½¿ç¨æ¶è¯·å»ææ³¨éï¼ä¿è¯ JSON æ ¼å¼çè§èï¼ï¼
# config.json æä»¶å
容示ä¾
{
"channel_type": "weixin", # æ¥å
¥æ¸ éç±»åï¼é»è®¤ä¸º weixin, æ¯æä¿®æ¹ä¸º feishu,dingtalk,wecom_bot,qq,wechatcom_app,wechatmp_service,wechatmp,terminal
"model": "deepseek-v4-flash", # 模ååç§°
"deepseek_api_key": "", # DeepSeek API Key
"deepseek_api_base": "https://api.deepseek.com/v1", # DeepSeek API å°å
"minimax_api_key": "", # MiniMax API Key
"zhipu_ai_api_key": "", # æºè°± GLM API Key
"moonshot_api_key": "", # Kimi/Moonshot API Key
"ark_api_key": "", # è±å
(ç«å±±æ¹è) API Key
"dashscope_api_key": "", # ç¾ç¼(éä¹åé®) API Key
"claude_api_key": "", # Claude API Key
"claude_api_base": "https://api.anthropic.com/v1", # Claude API å°åï¼ä¿®æ¹å¯æ¥å
¥ä¸æ¹ä»£çå¹³å°
"gemini_api_key": "", # Gemini API Key
"gemini_api_base": "https://generativelanguage.googleapis.com", # Gemini API å°å
"open_ai_api_key": "", # OpenAI API Key
"open_ai_api_base": "https://api.openai.com/v1", # OpenAI API å°å
"linkai_api_key": "", # LinkAI API Key
"proxy": "", # 代ç客æ·ç«¯ç ip å端å£ï¼å½å
ç¯å¢éè¦å¼å¯ä»£ççå¯å¡«å该项ï¼å¦ "127.0.0.1:7890"
"speech_recognition": false, # æ¯å¦å¼å¯è¯é³è¯å«
"group_speech_recognition": false, # æ¯å¦å¼å¯ç¾¤ç»è¯é³è¯å«
"voice_reply_voice": false, # æ¯å¦ä½¿ç¨è¯é³åå¤è¯é³
"use_linkai": false, # æ¯å¦ä½¿ç¨ LinkAI æ¥å£ï¼é»è®¤å
³éï¼è®¾ç½®ä¸º true åå¯å¯¹æ¥ LinkAI 平尿¨¡å
"web_password": "", # Web æ§å¶å°è®¿é®å¯ç ï¼ç空åä¸å¯ç¨å¯ç ä¿æ¤
"agent": true, # æ¯å¦å¯ç¨ Agent 模å¼ï¼å¯ç¨åæ¥æå¤è½®å·¥å
·å³çãé¿æè®°å¿ãSkills è½åç
"agent_workspace": "~/cow", # Agent çå·¥ä½ç©ºé´è·¯å¾ï¼ç¨äºåå¨ memoryãskillsãç³»ç»è®¾å®ç
"agent_max_context_tokens": 50000, # Agent 模å¼ä¸æå¤§ä¸ä¸æ tokensï¼è¶
åºå°èªå¨æºè½å缩å¤ç
"agent_max_context_turns": 20, # Agent 模å¼ä¸æå¤§ä¸ä¸æè®°å¿è½®æ¬¡ï¼ä¸é®ä¸ç为ä¸è½®ï¼è¶
åºåæºè½å缩å¤ç
"agent_max_steps": 20, # Agent 模å¼ä¸å次任å¡çæå¤§å³çæ¥æ°ï¼è¶
åºåå°åæ¢ç»§ç»è°ç¨å·¥å
·
"enable_thinking": false # æ¯å¦å¯ç¨æ·±åº¦æè模å¼
}
é 置补å 说æ:
1. è¯é³é ç½®
- æ·»å
"speech_recognition": trueå°å¼å¯è¯é³è¯å«ï¼é»è®¤ä½¿ç¨ openai ç whisper 模åè¯å«ä¸ºæåï¼åæ¶ä»¥æååå¤ï¼è¯¥åæ°ä» æ¯æç§è (注æç±äºè¯é³æ¶æ¯æ æ³å¹é åç¼ï¼ä¸æ¦å¼å¯å°å¯¹ææè¯é³èªå¨åå¤ï¼æ¯æè¯é³è§¦åç»å¾)ï¼ - æ·»å
"group_speech_recognition": trueå°å¼å¯ç¾¤ç»è¯é³è¯å«ï¼é»è®¤ä½¿ç¨ openai ç whisper 模åè¯å«ä¸ºæåï¼åæ¶ä»¥æååå¤ï¼åæ°ä» æ¯æç¾¤è (ä¼å¹é group_chat_prefix å group_chat_keyword, æ¯æè¯é³è§¦åç»å¾)ï¼ - æ·»å
"voice_reply_voice": trueå°å¼å¯è¯é³åå¤è¯é³ï¼åæ¶ä½ç¨äºç§èå群èï¼ - ä½¿ç¨ MiniMax TTSï¼è®¾ç½®
"text_to_voice": "minimax"ï¼å¹¶é ç½®minimax_api_keyï¼å¯éè¿"tts_voice_id"æå®åé³äººï¼å¦English_Graceful_Ladyï¼ï¼"text_to_voice_model"æå®æ¨¡åï¼å¦speech-2.8-hdãspeech-2.8-turboï¼
2. å ¶ä»é ç½®
model: 模ååç§°ï¼Agent 模å¼ä¸æ¨è使ç¨deepseek-v4-flashãMiniMax-M2.7ãglm-5.1ãkimi-k2.6ãqwen3.6-plusãclaude-sonnet-4-6ãgemini-3.1-pro-previewï¼å ¨é¨æ¨¡ååç§°åècommon/const.pyæä»¶character_descï¼æ®éå¯¹è¯æ¨¡å¼ä¸çæºå¨äººç³»ç»æç¤ºè¯ãå¨ Agent 模å¼ä¸è¯¥é ç½®ä¸çæï¼ç±å·¥ä½ç©ºé´ä¸çæä»¶å 容ææãsubscribe_msgï¼è®¢é æ¶æ¯ï¼å ¬ä¼å·åä¼ä¸å¾®ä¿¡ channel ä¸è¯·å¡«åï¼å½è¢«è®¢é æ¶ä¼èªå¨åå¤ï¼ å¯ä½¿ç¨ç¹æ®å ä½ç¬¦ãç®åæ¯æçå ä½ç¬¦æ{trigger_prefix}ï¼å¨ç¨åºä¸å®ä¼èªå¨æ¿æ¢æ bot ç触åè¯ã
3. LinkAI é ç½®
use_linkai: æ¯å¦ä½¿ç¨ LinkAI æ¥å£ï¼é»è®¤å ³éï¼è®¾ç½®ä¸º true åå¯å¯¹æ¥ LinkAI å¹³å°ï¼ä½¿ç¨æ¨¡åãç¥è¯åºã工使µãæä»¶çæè½, åèæ¥å£ææ¡£linkai_api_key: LinkAI Api Keyï¼å¯å¨ æ§å¶å° å建
注ï¼å
¨é¨é
置项说æå¯å¨ config.py æä»¶ä¸æ¥çã
ä¸ãè¿è¡
1.æ¬å°è¿è¡
妿æ¯ä¸ªäººè®¡ç®æº æ¬å°è¿è¡ï¼ç´æ¥å¨é¡¹ç®æ ¹ç®å½ä¸æ§è¡ï¼
cow start # æ¨èï¼éå
å®è£
Cow CLI
python3 app.py # æç´æ¥è¿è¡ï¼windows ç¯å¢ä¸è¯¥å½ä»¤é常为 python app.py
è¿è¡åé»è®¤ä¼å¯å¨ web æå¡ï¼å¯éè¿è®¿é® http://localhost:9899/chat å¨ç½é¡µç«¯å¯¹è¯ã
妿éè¦æ¥å
¥å
¶ä»åºç¨ééåªéä¿®æ¹ config.json é
ç½®æä»¶ä¸ç channel_type åæ°ï¼è¯¦æ
åèï¼éé说æã
2.æå¡å¨é¨ç½²
æ¨èä½¿ç¨ cow å½ä»¤ç®¡çæå¡ï¼
cow start # åå°å¯å¨
cow stop # 忢æå¡
cow restart # é坿å¡
cow status # æ¥çè¿è¡ç¶æ
cow logs # æ¥çæ¥å¿
cow update # æåææ°ä»£ç å¹¶éå¯
ä¹å¯ä»¥ä½¿ç¨ä¼ ç»æ¹å¼åå°è¿è¡ï¼
nohup python3 app.py & tail -f nohup.out
æ¤å¤ï¼é¡¹ç®æ ¹ç®å½ä¸ç run.sh èæ¬ä¹æ¯æä¸é®ç®¡çæå¡ï¼å
æ¬ ./run.sh startã./run.sh stopã./run.sh restart çå½ä»¤ï¼æ§è¡ ./run.sh help 坿¥çå
¨é¨ç¨æ³ã
妿éè¦éè¿æµè§å¨è®¿é® Web æ§å¶å°ï¼è¯·ç¡®ä¿æå¡å¨ç
9899端å£å·²å¨é²ç«å¢æå®å ¨ç»ä¸æ¾è¡ï¼å»ºè®®ä» 对æå® IP 弿¾ä»¥ä¿è¯å®å ¨ã
3.Dockeré¨ç½²
ä½¿ç¨ docker é¨ç½²æ éä¸è½½æºç åå®è£
ä¾èµï¼åªéè¦è·å docker-compose.yml é
ç½®æä»¶å¹¶å¯å¨å®¹å¨å³å¯ãAgent 模å¼ä¸æ´æ¨èä½¿ç¨æºç è¿è¡é¨ç½²ï¼ä»¥è·å¾æ´å¤ç³»ç»è®¿é®è½åã
åææ¯éè¦å®è£ 好
dockerådocker-composeï¼å®è£ æååæ§è¡docker -vådocker-compose version(ædocker compose version) 坿¥çå°çæ¬å·ãå®è£ å°å为 dockerå®ç½ ã
(1) ä¸è½½ docker-compose.yml æä»¶
curl -O 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
妿éè¦éè¿æµè§å¨è®¿é® Web æ§å¶å°ï¼è¯·ç¡®ä¿æå¡å¨ç
9899端å£å·²å¨é²ç«å¢æå®å ¨ç»ä¸æ¾è¡ï¼å»ºè®®ä» 对æå® IP 弿¾ä»¥ä¿è¯å®å ¨ã
模å说æ
æ¨èéè¿ Web æ§å¶å°å¨çº¿ç®¡ç模åé
ç½®ï¼æ éæå¨ç¼è¾æä»¶ï¼è¯¦è§ æ¨¡åææ¡£ã以䏿¯æå¨ä¿®æ¹ config.json é
置模åç说æï¼
DeepSeek
-
API Key å建ï¼å¨ DeepSeek å¹³å° å建 API Key
-
å¡«åé ç½®
æ¹å¼ä¸ï¼å®æ¹æ¥å ¥ï¼æ¨èï¼ï¼
{
"model": "deepseek-v4-flash",
"deepseek_api_key": "sk-xxxxxxxxxxx"
}
model: æ¨èå¡«ådeepseek-v4-flashãdeepseek-v4-prodeepseek_api_key: DeepSeek å¹³å°ç API Keydeepseek_api_base: å¯éï¼é»è®¤ä¸ºhttps://api.deepseek.com/v1ï¼å¯ä¿®æ¹ä¸ºç¬¬ä¸æ¹ä»£çå°å
æ¹å¼äºï¼OpenAI å ¼å®¹æ¹å¼æ¥å ¥ï¼
{
"model": "deepseek-v4-flash",
"bot_type": "openai",
"open_ai_api_key": "sk-xxxxxxxxxxx",
"open_ai_api_base": "https://api.deepseek.com/v1"
}
MiniMax
æ¹å¼ä¸ï¼å®æ¹æ¥å ¥ï¼é ç½®å¦ä¸(æ¨è)ï¼
{
"model": "MiniMax-M2.7",
"minimax_api_key": ""
}
model: å¯å¡«åMiniMax-M2.7ãMiniMax-M2.7-highspeedãMiniMax-M2.5ãMiniMax-M2.1ãMiniMax-M2.1-lightningãMiniMax-M2ãabab6.5-chatçminimax_api_keyï¼MiniMax å¹³å°ç API-KEYï¼å¨ æ§å¶å° å建
æ¹å¼äºï¼OpenAI å ¼å®¹æ¹å¼æ¥å ¥ï¼é ç½®å¦ä¸ï¼
{
"bot_type": "openai",
"model": "MiniMax-M2.7",
"open_ai_api_base": "https://api.minimaxi.com/v1",
"open_ai_api_key": ""
}
bot_type: OpenAI å ¼å®¹æ¹å¼model: å¯å¡«MiniMax-M2.7ãMiniMax-M2.7-highspeedãMiniMax-M2.5ãMiniMax-M2.1ãMiniMax-M2.1-lightningãMiniMax-M2ï¼åèAPIææ¡£open_ai_api_base: MiniMax å¹³å° API ç BASE URLopen_ai_api_key: MiniMax å¹³å°ç API-KEY
Claude
-
API Key å建ï¼å¨ Claudeæ§å¶å° å建 API Key
-
å¡«åé ç½®
{
"model": "claude-sonnet-4-6",
"claude_api_key": "YOUR_API_KEY"
}
model: åè 宿¹æ¨¡åID ï¼æ¯æclaude-sonnet-4-6ãclaude-opus-4-7ãclaude-opus-4-6ãclaude-sonnet-4-5ãclaude-sonnet-4-0ãclaude-opus-4-0ãclaude-3-5-sonnet-latestç
Gemini
API Key å建ï¼å¨ æ§å¶å° å建 API Key ï¼é ç½®å¦ä¸
{
"model": "gemini-3.1-flash-lite-preview",
"gemini_api_key": ""
}
model: åè宿¹ææ¡£-模ååè¡¨ï¼æ¯ægemini-3.1-flash-lite-previewãgemini-3.1-pro-previewãgemini-3-flash-previewãgemini-3-pro-previewç
OpenAI
-
API Key å建ï¼å¨ OpenAIå¹³å° å建 API Key
-
å¡«åé ç½®
{
"model": "gpt-5.4",
"open_ai_api_key": "YOUR_API_KEY",
"open_ai_api_base": "https://api.openai.com/v1",
"bot_type": "openai"
}
model: ä¸ OpenAI æ¥å£ç modelåæ° ä¸è´ï¼æ¯æå æ¬ gpt-5.4ãgpt-5.4-miniãgpt-5.4-nanoão ç³»åãgpt-4.1 çæ¨¡åï¼Agent æ¨¡å¼æ¨è使ç¨gpt-5.4ãgpt-5.4-miniopen_ai_api_base: 妿éè¦æ¥å ¥ç¬¬ä¸æ¹ä»£çæ¥å£ï¼å¯éè¿ä¿®æ¹è¯¥åæ°è¿è¡æ¥å ¥bot_type: ä½¿ç¨ OpenAI ç¸å ³æ¨¡åæ¶æ éå¡«åãå½ä½¿ç¨ç¬¬ä¸æ¹ä»£çæ¥å£æ¥å ¥ Claude çé OpenAI 宿¹æ¨¡åæ¶ï¼è¯¥åæ°è®¾ä¸ºopenai
æºè°±AI (GLM)
æ¹å¼ä¸ï¼å®æ¹æ¥å ¥ï¼é ç½®å¦ä¸(æ¨è)ï¼
{
"model": "glm-5.1",
"zhipu_ai_api_key": ""
}
model: å¯å¡«glm-5.1ãglm-5-turboãglm-5ãglm-4.7ãglm-4-plusãglm-4-flashãglm-4-airãglm-4-airxãglm-4-longç, åè glm ç³»åæ¨¡åç¼ç zhipu_ai_api_key: æºè°±AI å¹³å°ç API KEYï¼å¨ æ§å¶å° å建
æ¹å¼äºï¼OpenAI å ¼å®¹æ¹å¼æ¥å ¥ï¼é ç½®å¦ä¸ï¼
{
"bot_type": "openai",
"model": "glm-5.1",
"open_ai_api_base": "https://open.bigmodel.cn/api/paas/v4",
"open_ai_api_key": ""
}
bot_type: OpenAI å ¼å®¹æ¹å¼model: å¯å¡«glm-5.1ãglm-5-turboãglm-5ãglm-4.7ãglm-4-plusãglm-4-flashãglm-4-airãglm-4-airxãglm-4-longçopen_ai_api_base: æºè°±AI å¹³å°ç BASE URLopen_ai_api_key: æºè°±AI å¹³å°ç API KEY
éä¹åé® (Qwen)
æ¹å¼ä¸ï¼å®æ¹ SDK æ¥å ¥ï¼é ç½®å¦ä¸(æ¨è)ï¼
{
"model": "qwen3.6-plus",
"dashscope_api_key": "sk-qVxxxxG"
}
model: å¯å¡«åqwen3.6-plusãqwen3.5-plusãqwen3-maxãqwen-maxãqwen-plusãqwen-turboãqwen-longãqwq-plusçdashscope_api_key: éä¹åé®ç API-KEYï¼åè 宿¹ææ¡£ ï¼å¨ ç¾ç¼æ§å¶å° å建
æ¹å¼äºï¼OpenAI å ¼å®¹æ¹å¼æ¥å ¥ï¼é ç½®å¦ä¸ï¼
{
"bot_type": "openai",
"model": "qwen3.6-plus",
"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 URLopen_ai_api_key: éä¹åé®ç API-KEY
è±å (Doubao)
-
API Key å建ï¼å¨ ç«å±±æ¹èæ§å¶å° å建API Key
-
å¡«åé ç½®
{
"model": "doubao-seed-2-0-code-preview-260215",
"ark_api_key": "YOUR_API_KEY"
}
model: å¯å¡«ådoubao-seed-2-0-code-preview-260215ãdoubao-seed-2-0-pro-260215ãdoubao-seed-2-0-lite-260215ãdoubao-seed-2-0-mini-260215çark_api_key: ç«å±±æ¹èå¹³å°ç API Keyï¼å¨ æ§å¶å° å建ark_base_url: å¯éï¼é»è®¤ä¸ºhttps://ark.cn-beijing.volces.com/api/v3
Kimi (Moonshot)
æ¹å¼ä¸ï¼å®æ¹æ¥å ¥ï¼é ç½®å¦ä¸ï¼
{
"model": "kimi-k2.6",
"moonshot_api_key": ""
}
model: å¯å¡«åkimi-k2.6ãkimi-k2.5ãkimi-k2ãmoonshot-v1-8kãmoonshot-v1-32kãmoonshot-v1-128kmoonshot_api_key: Moonshot ç API-KEYï¼å¨ æ§å¶å° å建
æ¹å¼äºï¼OpenAI å ¼å®¹æ¹å¼æ¥å ¥ï¼é ç½®å¦ä¸ï¼
{
"bot_type": "openai",
"model": "kimi-k2.6",
"open_ai_api_base": "https://api.moonshot.cn/v1",
"open_ai_api_key": ""
}
bot_type: OpenAI å ¼å®¹æ¹å¼model: å¯å¡«åkimi-k2.6ãkimi-k2.5ãkimi-k2ãmoonshot-v1-8kãmoonshot-v1-32kãmoonshot-v1-128kopen_ai_api_base: Moonshot ç BASE URLopen_ai_api_key: Moonshot ç 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"
}
bot_type: modelscope æ¥å£æ ¼å¼model: åèæ¨¡åå表modelscope_api_key: åè 宿¹ææ¡£-访é®ä»¤ç ï¼å¨ æ§å¶å°modelscope_base_url: modelscope å¹³å°ç BASE URLtext_to_image: å¾åçææ¨¡åï¼åèæ¨¡åå表
LinkAI
-
API Key å建ï¼å¨ LinkAIå¹³å° å建 API Key
-
å¡«åé ç½®
{
"model": "gpt-5.4-mini",
"use_linkai": true,
"linkai_api_key": "YOUR API KEY"
}
use_linkai: æ¯å¦ä½¿ç¨ LinkAI æ¥å£ï¼é»è®¤å ³éï¼è®¾ç½®ä¸º true åå¯å¯¹æ¥ LinkAI å¹³å°ç模åï¼å¹¶ä½¿ç¨ç¥è¯åºã工使µãæ°æ®åºãæä»¶ç丰å¯ç Agent æè½linkai_api_key: LinkAI å¹³å°ç API Keyï¼å¯å¨ æ§å¶å° ä¸å建model: 模åå表ä¸çå ¨é¨æ¨¡ååå¯ä½¿ç¨
Azure
-
API Key å建ï¼å¨ Azureå¹³å° å建 API Key
-
å¡«åé ç½®
{
"model": "",
"use_azure_chatgpt": true,
"open_ai_api_key": "",
"open_ai_api_base": "",
"azure_deployment_id": "",
"azure_api_version": "2025-01-01-preview"
}
model: ç空å³å¯use_azure_chatgpt: 设为 trueopen_ai_api_key: Azure å¹³å°çå¯é¥open_ai_api_base: Azure å¹³å°ç BASE URLazure_deployment_id: Azure å¹³å°é¨ç½²ç模ååç§°azure_api_version: api çæ¬ä»¥å以ä¸åæ°å¯ä»¥å¨é¨ç½²ç 模åé ç½® ç颿¥ç
ç¾åº¦åå¸ / ERNIE
æ¹å¼ä¸ï¼å®æ¹æ¥å ¥ï¼æ¨èï¼ï¼é ç½®å¦ä¸ï¼
{
"model": "ernie-5.0",
"qianfan_api_key": "",
"qianfan_api_base": "https://qianfan.baidubce.com/v2"
}
model: é»è®¤æ¨èå¡«åernie-5.0ï¼å¤æ¨¡æï¼å¯ç´æ¥è¯å¾ï¼ï¼ä¹å¯å¡«åernie-x1.1ãernie-4.5-turbo-128kãernie-4.5-turbo-32kï¼å½ä¸»æ¨¡åä¸ºçº¯ææ¬ ERNIE æ¶ï¼Vision å·¥å ·ä¼èªå¨ fallback å°ernie-4.5-turbo-vlqianfan_api_key: ç¾åº¦åå¸ API Keyï¼é常以bce-v3/å¼å¤´ï¼å¯å¨ç¾åº¦æºè½äºæ§å¶å°å建qianfan_api_base: å¯éï¼é»è®¤ä¸ºhttps://qianfan.baidubce.com/v2
æ¹å¼äºï¼OpenAI å ¼å®¹æ¹å¼æ¥å ¥ï¼é ç½®å¦ä¸ï¼
{
"bot_type": "openai",
"model": "ernie-5.0",
"open_ai_api_base": "https://qianfan.baidubce.com/v2",
"open_ai_api_key": ""
}
bot_type: OpenAI å ¼å®¹æ¹å¼model: æ¯æåå¸å¹³å°ä¸ç ERNIE 模åopen_ai_api_base: ç¾åº¦åå¸ OpenAI å ¼å®¹ API ç BASE URLopen_ai_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: å¡«xunfeixunfei_domain: å¯å¡«å4.0Ultraãgeneralv3.5ãmax-32kãgeneralv3ãpro-128kãlitexunfei_spark_url: å¡«ååè 宿¹ææ¡£-请æ±å°å ç说æ
æ¹å¼äºï¼OpenAI å ¼å®¹æ¹å¼æ¥å ¥ï¼é ç½®å¦ä¸ï¼
{
"bot_type": "openai",
"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ãliteopen_ai_api_base: è®¯é£æç«å¹³å°ç BASE URLopen_ai_api_key: è®¯é£æç«å¹³å°çAPIPassword ï¼å 模åèå·²
Coding Plan
Coding Plan æ¯åå忍åºçç¼ç¨å æå¥é¤ï¼ææåååå¯éè¿ OpenAI å ¼å®¹æ¹å¼æ¥å ¥ï¼
{
"bot_type": "openai",
"model": "模ååç§°",
"open_ai_api_base": "åå Coding Plan API Base",
"open_ai_api_key": "YOUR_API_KEY"
}
ç®åæ¯æé¿éäºãMiniMaxãæºè°± GLMãKimiãç«å±±å¼æçååï¼ååå详ç»é 置请åè Coding Plan ææ¡£ã
éé说æ
æ¨èéè¿ Web æ§å¶å°å¨çº¿ç®¡çééé
ç½®ï¼æ éæå¨ç¼è¾æä»¶ï¼è¯¦è§ ééææ¡£ã以ä¸ä¸ºæå¨ä¿®æ¹ config.json é
ç½®ééç说æï¼
æ¯æåæ¶å¯æ¥å
¥å¤ä¸ªééï¼é
ç½®æ¶å¯éè¿éå·è¿è¡åå²ï¼ä¾å¦ "channel_type": "feishu,dingtalk"ã
1. Weixin - 微信
æ¥å ¥ä¸ªäººå¾®ä¿¡ï¼æ«ç ç»å½å³å¯ä½¿ç¨ï¼æ¯æææ¬ãå¾çãè¯é³ãæä»¶çæ¶æ¯æ¶åã
{
"channel_type": "weixin"
}
å¯å¨åç»ç«¯ä¼æ¾ç¤ºäºç»´ç ï¼ä½¿ç¨å¾®ä¿¡æ«ç ææå³å¯ï¼ä¹å¯ä»¥å¨ Web æ§å¶å°çãééã页é¢ä¸æ«ç æ¥å
¥ãç»å½åè¯ä¼èªå¨ä¿åè³ ~/.weixin_cow_credentials.jsonï¼ä¸æ¬¡å¯å¨æ ééæ°æ«ç ï¼å¦ééæ°ç»å½å é¤è¯¥æä»¶åéå¯å³å¯ã
è¯¦ç»æ¥éª¤ååæ°è¯´æåè 微信æ¥å ¥
2. Web
项ç®å¯å¨åä¼é»è®¤è¿è¡ Web æ§å¶å°ï¼é ç½®å¦ä¸ï¼
{
"channel_type": "web",
"web_port": 9899
}
web_port: é»è®¤ä¸º 9899ï¼å¯æéæ´æ¹ï¼éè¦æå¡å¨é²ç«å¢åå®å ¨ç»æ¾è¡è¯¥ç«¯å£web_password: 访é®å¯ç ï¼ç空åä¸å¯ç¨å¯ç ä¿æ¤ãé¨ç½²å¨å ¬ç½ç¯å¢æ¶å»ºè®®è®¾ç½®- 妿¬å°è¿è¡ï¼å¯å¨å请访é®
http://localhost:9899/chatï¼å¦æå¡å¨è¿è¡ï¼è¯·è®¿é®http://ip:9899/chat
注ï¼è¯·å°ä¸è¿° url ä¸ç ip æè port æ¿æ¢ä¸ºå®é çå¼
3. Feishu - é£ä¹¦
é£ä¹¦ä½¿ç¨ WebSocket é¿è¿æ¥æ¨¡å¼ï¼æ éå ¬ç½ IPãè¯¦ç»æ¥éª¤åè é£ä¹¦æ¥å ¥ã
æ¹å¼ä¸ï¼æ«ç ä¸é®åå»ºï¼æ¨èï¼
å¯å¨ Cow åæå¼ Web æ§å¶å°ï¼éé â æ¥å ¥éé â éæ© é£ä¹¦ â æ«ç å建ã乿¯æ CLI å¯å¨æ¶å¨ç»ç«¯æå°äºç»´ç ã
æ¹å¼äºï¼æå¨é ç½®
å¨é£ä¹¦å¼æ¾å¹³å°å建èªå»ºåºç¨å¹¶é
ç½®æéåï¼å°åæ®å¡«å
¥ config.jsonï¼
{
"channel_type": "feishu",
"feishu_app_id": "APP_ID",
"feishu_app_secret": "APP_SECRET",
"feishu_stream_reply": true
}
feishu_stream_replyï¼æ¯å¦å¼å¯æµå¼æåæºåå¤ï¼é»è®¤å¼å¯ï¼écardkit:card:writeæé + é£ä¹¦å®¢æ·ç«¯ ⥠7.20ï¼
4. DingTalk - éé
éééè¦å¨å¼æ¾å¹³å°å建æºè½æºå¨äººåºç¨ï¼å°ä»¥ä¸é
置填å
¥ config.jsonï¼
{
"channel_type": "dingtalk",
"dingtalk_client_id": "CLIENT_ID",
"dingtalk_client_secret": "CLIENT_SECRET"
}
è¯¦ç»æ¥éª¤ååæ°è¯´æåè ééæ¥å ¥
5. WeCom Bot - ä¼å¾®æºè½æºå¨äºº
ä¼å¾®æºè½æºå¨äººä½¿ç¨ WebSocket é¿è¿æ¥æ¨¡å¼ï¼æ éå ¬ç½ IP åååãè¯¦ç»æ¥éª¤åè ä¼å¾®æºè½æºå¨äººæ¥å ¥ã
æ¹å¼ä¸ï¼æ«ç ä¸é®åå»ºï¼æ¨èï¼
å¯å¨ Cow åæå¼ Web æ§å¶å°ï¼éé â æ¥å ¥éé â éæ© ä¼å¾®æºè½æºå¨äºº â 使ç¨ä¼ä¸å¾®ä¿¡æ«ç å建ã
æ¹å¼äºï¼æå¨é ç½®
å¨ä¼ä¸å¾®ä¿¡ä¸å建æºè½æºå¨äººå¹¶éæ©é¿è¿æ¥æ¨¡å¼ï¼è®°å½ Bot ID å Secret åå¡«å
¥ config.jsonï¼
{
"channel_type": "wecom_bot",
"wecom_bot_id": "YOUR_BOT_ID",
"wecom_bot_secret": "YOUR_SECRET"
}
6. QQ - QQ æºå¨äºº
QQ æºå¨äººä½¿ç¨ WebSocket é¿è¿æ¥æ¨¡å¼ï¼æ éå ¬ç½ IP åååï¼æ¯æ QQ åèã群èåé¢éæ¶æ¯ï¼
{
"channel_type": "qq",
"qq_app_id": "YOUR_APP_ID",
"qq_app_secret": "YOUR_APP_SECRET"
}
è¯¦ç»æ¥éª¤ååæ°è¯´æåè QQ æºå¨äººæ¥å ¥
7. WeCom App - ä¼ä¸å¾®ä¿¡åºç¨
ä¼ä¸å¾®ä¿¡èªå»ºåºç¨æ¥å ¥éå¨åå°å建åºç¨å¹¶å¯ç¨æ¶æ¯åè°ï¼é 置示ä¾ï¼
{
"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"
}
è¯¦ç»æ¥éª¤ååæ°è¯´æåè ä¼å¾®èªå»ºåºç¨æ¥å ¥
8. WeChat MP - å¾®ä¿¡å ¬ä¼å·
æ¬é¡¹ç®æ¯æè®¢é
å·åæå¡å·ä¸¤ç§å
¬ä¼å·ï¼éè¿æå¡å·ï¼wechatmp_serviceï¼ä½éªæ´ä½³ã
个人订é å·ï¼wechatmpï¼
{
"channel_type": "wechatmp",
"wechatmp_token": "TOKEN",
"wechatmp_port": 80,
"wechatmp_app_id": "APPID",
"wechatmp_app_secret": "APPSECRET",
"wechatmp_aes_key": ""
}
ä¼ä¸æå¡å·ï¼wechatmp_serviceï¼
{
"channel_type": "wechatmp_service",
"wechatmp_token": "TOKEN",
"wechatmp_port": 80,
"wechatmp_app_id": "APPID",
"wechatmp_app_secret": "APPSECRET",
"wechatmp_aes_key": ""
}
è¯¦ç»æ¥éª¤ååæ°è¯´æåè å¾®ä¿¡å ¬ä¼å·æ¥å ¥
9. Terminal - ç»ç«¯
ä¿®æ¹ config.json ä¸ç channel_type åæ®µï¼
{
"channel_type": "terminal"
}
è¿è¡åå¯å¨ç»ç«¯ä¸æºå¨äººè¿è¡å¯¹è¯ã
ð ç¸å ³é¡¹ç®
- Cow Skill Hubï¼å¼æºç AI Agent æè½å¹¿åºï¼æµè§ãæç´¢ãå®è£ åå叿è½ï¼æ¯æ CowAgentãOpenClawãClaude Code çå¤ç§ Agentã
- bot-on-anythingï¼è½»éåé«å¯æ©å±ç大模ååºç¨æ¡æ¶ï¼æ¯ææ¥å ¥ Slack, Telegram, Discord, Gmail çæµ·å¤å¹³å°ï¼å¯ä½ä¸ºæ¬é¡¹ç®çè¡¥å 使ç¨ã
- AgentMeshï¼å¼æºç夿ºè½ä½( Multi-Agent )æ¡æ¶ï¼å¯ä»¥éè¿å¤æºè½ä½å¢éçååæ¥è§£å³å¤æé®é¢ã
ð 常è§é®é¢
FAQsï¼ https://github.com/zhayujie/CowAgent/wiki/FAQs
æç´æ¥å¨çº¿å¨è¯¢ 项ç®å°å©æ (ç¥è¯åºæç»å®åä¸ï¼åå¤ä¾åè)
ð ï¸ å¼å
æ¬¢è¿æ¥å ¥æ´å¤åºç¨ééï¼åè é£ä¹¦éé æ°å¢èªå®ä¹ééï¼å®ç°æ¥æ¶ååéæ¶æ¯é»è¾å³å¯å®ææ¥å ¥ãåæ¶æ¬¢è¿è´¡ç®æ°ç Skillsï¼å Skill Hub æäº¤æè½ã
â èç³»
æ¬¢è¿æäº¤PRãIssuesè¿è¡åé¦ï¼ä»¥åéè¿ ðStar æ¯æå¹¶å ³æ³¨é¡¹ç®æ´æ°ã项ç®è¿è¡éå°é®é¢å¯ä»¥æ¥ç 常è§é®é¢å表 ï¼ä»¥ååå¾ Issues ä¸æç´¢ã个人å¼åè å¯å å ¥å¼æºäº¤æµç¾¤å䏿´å¤è®¨è®ºï¼ä¼ä¸ç¨æ·å¯è系产å客æå¨è¯¢ã
ð è´¡ç®è
ð é¡¹ç®æ´å说æ
æ¬é¡¹ç®åå chatgpt-on-wechatï¼GitHub åå°åï¼https://github.com/zhayujie/chatgpt-on-wechat ï¼ï¼
äº 2026.04.13 æ£å¼æ´å为 CowAgentãGitHub å·²èªå¨è®¾ç½®éå®åï¼åæé¾æ¥ä»å¯æ£å¸¸è®¿é®ã
å¦éæ´æ°æ¬å°ä»åºçè¿ç¨å°åï¼å¯éï¼ï¼
git remote set-url origin https://github.com/zhayujie/CowAgent.git
Top Related Projects
ChatGPT for wechat https://github.com/AutumnWhj/ChatGPT-wechat-bot
Use ChatGPT On Wechat via wechaty
🤖一个基于 WeChaty 结合 ChatGPT / Claude / Kimi / DeepSeek / Ollama等Ai服务实现的微信机器人 ,可以用来帮助你自动回复微信消息,或者社群分析/好友管理,检测僵尸粉等...
Conversational RPA SDK for Chatbot Makers. Join our Discord: https://discord.gg/7q8NBZbQzt
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot