feat: support weixin channel in scripts

This commit is contained in:
zhayujie
2026-03-22 16:29:12 +08:00
parent ce89869c3c
commit c1421e0874
4 changed files with 24 additions and 19 deletions

View File

@@ -7,7 +7,7 @@
[中文] | [<a href="docs/en/README.md">English</a>] | [<a href="docs/ja/README.md">日本語</a>] [中文] | [<a href="docs/en/README.md">English</a>] | [<a href="docs/ja/README.md">日本語</a>]
</p> </p>
**CowAgent** 是基于大模型的超级AI助理能够主动思考和任务规划、操作计算机和外部资源、创造和执行Skills、拥有长期记忆并不断成长。CowAgent 支持灵活切换多种模型能处理文本、语音、图片、文件等多模态消息可接入微信、飞书、钉钉、企微智能机器人、QQ、企微自建应用、微信公众号、网页中使用7*24小时运行于你的个人电脑或服务器中。 **CowAgent** 是基于大模型的超级AI助理能够主动思考和任务规划、操作计算机和外部资源、创造和执行Skills、拥有长期记忆并不断成长比OpenClaw更轻量和便捷。CowAgent 支持灵活切换多种模型能处理文本、语音、图片、文件等多模态消息可接入微信、飞书、钉钉、企微智能机器人、QQ、企微自建应用、微信公众号、网页中使用7*24小时运行于你的个人电脑或服务器中。
<p align="center"> <p align="center">
<a href="https://cowagent.ai/">🌐 官网</a> &nbsp;·&nbsp; <a href="https://cowagent.ai/">🌐 官网</a> &nbsp;·&nbsp;
@@ -17,7 +17,6 @@
</p> </p>
# 简介 # 简介
> 该项目既是一个可以开箱即用的超级AI助理也是一个支持高扩展的Agent框架可以通过为项目扩展大模型接口、接入渠道、内置工具、Skills系统来灵活实现各种定制需求。核心能力如下 > 该项目既是一个可以开箱即用的超级AI助理也是一个支持高扩展的Agent框架可以通过为项目扩展大模型接口、接入渠道、内置工具、Skills系统来灵活实现各种定制需求。核心能力如下
@@ -630,7 +629,7 @@ Coding Plan 是各厂商推出的编程包月套餐,所有厂商均可通过 O
<details> <details>
<summary>1. Weixin - 微信</summary> <summary>1. Weixin - 微信</summary>
接入个人微信,扫码登录即可使用,无需公网 IP支持文本、图片、语音、文件等消息收发。 接入个人微信,扫码登录即可使用,支持文本、图片、语音、文件等消息收发。
```json ```json
{ {

View File

@@ -8,7 +8,7 @@ services:
ports: ports:
- "9899:9899" - "9899:9899"
environment: environment:
CHANNEL_TYPE: 'web' CHANNEL_TYPE: 'weixin'
MODEL: 'MiniMax-M2.5' MODEL: 'MiniMax-M2.5'
MINIMAX_API_KEY: '' MINIMAX_API_KEY: ''
ZHIPU_AI_API_KEY: '' ZHIPU_AI_API_KEY: ''

View File

@@ -3,7 +3,7 @@ title: 微信
description: 将 CowAgent 接入个人微信 description: 将 CowAgent 接入个人微信
--- ---
> 接入个人微信,扫码登录即可使用,无需公网 IP支持文本、图片、语音、文件、视频等消息的收发。 > 接入个人微信,扫码登录即可使用,支持文本、图片、语音、文件、视频等消息的收发。
## 一、配置和运行 ## 一、配置和运行

34
run.sh
View File

@@ -327,23 +327,24 @@ select_channel() {
echo -e "${CYAN}${BOLD}=========================================${NC}" echo -e "${CYAN}${BOLD}=========================================${NC}"
echo -e "${CYAN}${BOLD} Select Communication Channel${NC}" echo -e "${CYAN}${BOLD} Select Communication Channel${NC}"
echo -e "${CYAN}${BOLD}=========================================${NC}" echo -e "${CYAN}${BOLD}=========================================${NC}"
echo -e "${YELLOW}1) Feishu (飞书)${NC}" echo -e "${YELLOW}1) Weixin (微信)${NC}"
echo -e "${YELLOW}2) DingTalk (钉钉)${NC}" echo -e "${YELLOW}2) Feishu (飞书)${NC}"
echo -e "${YELLOW}3) WeCom Bot (企微智能机器人)${NC}" echo -e "${YELLOW}3) DingTalk (钉钉)${NC}"
echo -e "${YELLOW}4) QQ (QQ 机器人)${NC}" echo -e "${YELLOW}4) WeCom Bot (企微智能机器人)${NC}"
echo -e "${YELLOW}5) WeCom App (企微自建应用)${NC}" echo -e "${YELLOW}5) QQ (QQ 机器人)${NC}"
echo -e "${YELLOW}6) Web (网页)${NC}" echo -e "${YELLOW}6) WeCom App (企微自建应用)${NC}"
echo -e "${YELLOW}7) Web (网页)${NC}"
echo "" echo ""
while true; do while true; do
read -p "Enter your choice [press Enter for default: 1 - Feishu]: " channel_choice read -p "Enter your choice [press Enter for default: 1 - Weixin]: " channel_choice
channel_choice=${channel_choice:-1} channel_choice=${channel_choice:-1}
case "$channel_choice" in case "$channel_choice" in
1|2|3|4|5|6) 1|2|3|4|5|6|7)
break break
;; ;;
*) *)
echo -e "${RED}Invalid choice. Please enter 1-6.${NC}" echo -e "${RED}Invalid choice. Please enter 1-7.${NC}"
;; ;;
esac esac
done done
@@ -353,6 +354,11 @@ select_channel() {
configure_channel() { configure_channel() {
case "$channel_choice" in case "$channel_choice" in
1) 1)
# Weixin
CHANNEL_TYPE="weixin"
ACCESS_INFO="Weixin channel configured. Scan QR code in terminal or web console to login."
;;
2)
# Feishu (WebSocket mode) # Feishu (WebSocket mode)
CHANNEL_TYPE="feishu" CHANNEL_TYPE="feishu"
echo -e "${GREEN}Configure Feishu (WebSocket mode)...${NC}" echo -e "${GREEN}Configure Feishu (WebSocket mode)...${NC}"
@@ -364,7 +370,7 @@ configure_channel() {
FEISHU_EVENT_MODE="websocket" FEISHU_EVENT_MODE="websocket"
ACCESS_INFO="Feishu channel configured (WebSocket mode)" ACCESS_INFO="Feishu channel configured (WebSocket mode)"
;; ;;
2) 3)
# DingTalk # DingTalk
CHANNEL_TYPE="dingtalk" CHANNEL_TYPE="dingtalk"
echo -e "${GREEN}Configure DingTalk...${NC}" echo -e "${GREEN}Configure DingTalk...${NC}"
@@ -375,7 +381,7 @@ configure_channel() {
DT_CLIENT_SECRET="$dt_client_secret" DT_CLIENT_SECRET="$dt_client_secret"
ACCESS_INFO="DingTalk channel configured" ACCESS_INFO="DingTalk channel configured"
;; ;;
3) 4)
# WeCom Bot # WeCom Bot
CHANNEL_TYPE="wecom_bot" CHANNEL_TYPE="wecom_bot"
echo -e "${GREEN}Configure WeCom Bot...${NC}" echo -e "${GREEN}Configure WeCom Bot...${NC}"
@@ -386,7 +392,7 @@ configure_channel() {
WECOM_BOT_SECRET="$wecom_bot_secret" WECOM_BOT_SECRET="$wecom_bot_secret"
ACCESS_INFO="WeCom Bot channel configured" ACCESS_INFO="WeCom Bot channel configured"
;; ;;
4) 5)
# QQ # QQ
CHANNEL_TYPE="qq" CHANNEL_TYPE="qq"
echo -e "${GREEN}Configure QQ Bot...${NC}" echo -e "${GREEN}Configure QQ Bot...${NC}"
@@ -397,7 +403,7 @@ configure_channel() {
QQ_APP_SECRET="$qq_app_secret" QQ_APP_SECRET="$qq_app_secret"
ACCESS_INFO="QQ Bot channel configured" ACCESS_INFO="QQ Bot channel configured"
;; ;;
5) 6)
# WeCom App # WeCom App
CHANNEL_TYPE="wechatcom_app" CHANNEL_TYPE="wechatcom_app"
echo -e "${GREEN}Configure WeCom App...${NC}" echo -e "${GREEN}Configure WeCom App...${NC}"
@@ -417,7 +423,7 @@ configure_channel() {
WECHATCOM_PORT="$com_port" WECHATCOM_PORT="$com_port"
ACCESS_INFO="WeCom App channel configured on port ${com_port}" ACCESS_INFO="WeCom App channel configured on port ${com_port}"
;; ;;
6) 7)
# Web # Web
CHANNEL_TYPE="web" CHANNEL_TYPE="web"
read -p "Enter web port [press Enter for default: 9899]: " web_port read -p "Enter web port [press Enter for default: 9899]: " web_port