feat: support weixin channel

This commit is contained in:
zhayujie
2026-03-22 15:52:13 +08:00
parent b8b57e34ff
commit ce89869c3c
22 changed files with 1812 additions and 42 deletions

72
docs/channels/weixin.mdx Normal file
View File

@@ -0,0 +1,72 @@
---
title: 微信
description: 将 CowAgent 接入个人微信
---
> 接入个人微信,扫码登录即可使用,无需公网 IP支持文本、图片、语音、文件、视频等消息的收发。
## 一、配置和运行
### 方式一Web 控制台接入
启动 Cow 项目后打开 Web 控制台 (本地链接为: http://127.0.0.1:9899/ ),选择 **通道** 菜单,点击 **接入通道**,选择 **微信**,点击接入后按照提示扫码登录。
### 方式二:配置文件接入
在 `config.json` 中设置 `channel_type` 为 `weixin`
```json
{
"channel_type": "weixin"
}
```
启动程序后,终端会显示二维码,使用微信扫码授权即可完成登录。
<Note>
兼容历史配置:`channel_type` 设为 `wx` 同样可以启用微信通道。
</Note>
## 二、参数说明
| 参数 | 说明 | 默认值 |
| --- | --- | --- |
| `channel_type` | 设为 `weixin` 或 `wx` | — |
登录凭证会自动保存至 `~/.weixin_cow_credentials.json`,如需重新登录删除该文件后重启即可。
## 三、登录说明
### 扫码登录
首次启动时,终端会显示一个二维码(有效期约 2 分钟)。使用微信扫描二维码并在手机上确认后即可完成登录。
- 二维码过期后会自动刷新并重新显示
- 安装 `qrcode` Python 包可在终端直接渲染二维码图案(`pip3 install qrcode`
### 凭证保存
登录成功后,凭证会自动保存至 `~/.weixin_cow_credentials.json`,下次启动时无需重新扫码。
如需重新登录,删除该凭证文件后重启程序即可。
### Session 过期
当微信 session 过期时errcode -14程序会自动清除旧凭证并重新发起扫码登录无需手动干预。
## 四、功能说明
| 功能 | 支持情况 |
| --- | --- |
| 单聊 | ✅ |
| 文本消息 | ✅ 收发 |
| 图片消息 | ✅ 收发 |
| 文件消息 | ✅ 收发 |
| 视频消息 | ✅ 收发 |
| 语音消息 | ✅ 接收 |
## 五、注意事项
1. 需确保网络可以访问 `ilinkai.weixin.qq.com`。
2. 媒体文件(图片、文件、视频)通过 CDN 传输,使用 AES-128-ECB 加密,上传和下载由程序自动完成。
3. 建议在稳定的网络环境下运行,避免频繁断线导致需要重新扫码。