跳到主要内容

微信(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_idweixin,或 QR login 返回的 bot id
base_urlhttps://ilinkai.weixin.qq.com
media_cdn_base_urlhttps://novac2c.cdn.weixin.qq.com/c2c
dm_policyopen
poll_interval_ms5000
long_poll_timeout_ms35000
send_chunk_chars2000
media_max_bytes5242880

启动 Gateway

anyy gateway start
anyy channels reload

运行 Doctor 检查

anyy channels doctor weixin

访问策略

私信

Weixin 支持 openallowlistdisabled 私信策略。不想开放访问时,在 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