微信(Weixin / WeChat)
概述
Weixin channel 通过 iLink 风格的 polling adapter 把 Anyy 连接到微信。它支持私信、入站媒体、出站媒体、typing signals,以及二维码登录 helper 命令。
当前 adapter 没有声明微信群组支持。
前提条件
- Anyy host 能访问 Weixin iLink endpoint。
- 一个微信 session token,可以手动提供,也可以通过 QR login 创建。
- 用于保存 token 的 profile secret 位置。
配置
创建凭据
推荐路径是 QR login:
anyy setup channels weixin login
该命令会打印二维码,等待确认,保存 bot token,写入 channels.weixin,并尝试 reload 运行中的 gateway。
如果已有 token:
anyy setup channels weixin \
--secret token='weixin-token' \
--write-config
配置 Anyy
setup helper 写入这些默认值:
| 字段 | 默认值 |
|---|---|
account_id | weixin,或 QR login 返回的 bot id |
base_url | https://ilinkai.weixin.qq.com |
media_cdn_base_url | https://novac2c.cdn.weixin.qq.com/c2c |
dm_policy | open |
poll_interval_ms | 5000 |
long_poll_timeout_ms | 35000 |
send_chunk_chars | 2000 |
media_max_bytes | 5242880 |
启动 Gateway
anyy gateway start
anyy channels reload
运行 Doctor 检查
anyy channels doctor weixin
访问策略
私信
Weixin 支持 open、allowlist 和 disabled 私信策略。不想开放访问时,在 allow_from 中写微信 user id。
群组
当前 adapter 没有声明微信群组支持。
管理员
Weixin 消息准入和命令授权是两层。
Sessions
每个被接受的微信 chat 会映射到一个 Anyy session。Adapter 会保存 sync state 和 context tokens,让 polling 可以跨 turn 延续。
媒体支持
入站媒体
Weixin 声明支持 inbound media。入站媒体受 media_max_bytes 限制。
出站媒体
Weixin 声明支持 image、video、audio、voice 和 file 出站附件。
命令
在微信聊天中使用普通 messaging commands。
Cron 投递
anyy cron create \
--name "Weixin digest" \
--schedule "0 9 * * *" \
--prompt "Send my morning digest" \
--delivery-target current_user_default \
--delivery-channel weixin
故障排查
- 二维码登录过期:重新运行
anyy setup channels weixin login。 - Session expired:重新登录并 reload channels。
- 媒体下载失败:检查
media_cdn_base_url和文件大小。 - 登录后 gateway reload 失败:先启动 gateway,再运行
anyy channels reload。