消息平台
消息 Channel 让你从常用平台直接访问常驻 Anyy。每个已配置账号都有自己的连接 Profile、凭据,以及私聊和群聊访问策略。
当前支持的平台
| 平台 | 连接方式 |
|---|---|
| Telegram | Bot API Long Polling |
| Discord | Bot Gateway |
| Slack | Socket Mode |
| Business Cloud API Webhook | |
| Messenger Webhook | |
| TLS 下的 IMAP 收取与 SMTP 发送 | |
| SMS | Twilio Webhook 与 REST |
| DingTalk | Stream 长连接 |
| Feishu / Lark | 长连接或 Webhook |
| Weixin / WeChat | 扫码确认的 Long Polling |
| QQ Bot | WebSocket Gateway |
| IRC | TLS 与 SASL |
| LINE | Messaging API Webhook |
实际可用清单以当前安装版本的设置向导为准。向导标记为 Unsupported 的平台,不能靠猜配置字段强行启用。
快速连接
anyy setup channel
也可以直接进入某个平台的流程:
anyy setup channel telegram
依次选择平台、账号、连接 Profile 和访问策略,再填写所需标识与凭据。确认前先检查暂存动作摘要。
写入 Channel 配置后,如果 Resident Gateway 还未安装或启动,设置流程会完成这一步。终端关闭后仍要收发消息,常驻 Runtime 必须继续在线。
添加消息账号之前,先在 Dashboard 或 TUI 验证主模型。这样 Provider 故障与 Channel 故障不会混在一起排查。
在 Dashboard 添加账号
进入 Dashboard → Channel,用筛选器查看:
- Configured:当前 Profile 已经连接的账号;
- Available:这个版本可以配置的平台适配器。
配置步骤:
- 选择平台;
- 填写稳定的 Account ID;同一平台有多个账号时,ID 必须不同;
- 选择受支持的连接 Profile;
- 完成平台要求的字段;
- 检查私聊和群聊访问策略;
- 保存。
敏感字段通过 Anyy 凭据机制保存。编辑已有账号时,原 Secret 不会回显;对应输入留空表示继续使用已保存的值。
Weixin 扫码
Weixin / WeChat 的登录流程直接在 Dashboard 中完成:扫码、确认,再等待 Anyy 绑定身份。二维码有效期为 5 分钟。
Weixin 账号需要重新登录时,应由同一个身份扫码。要改成另一个身份,先移除旧账号,再新建配置。
看懂账号健康状态
打开已配置账号,可以检查:
- Desired State 与实际 Runtime State;
- Healthy、Degraded、Unhealthy 或 Unknown;
- 最近一次收发活动;
- Delivery Acknowledgement、Retry 与 Backoff;
- 登录或权限错误;
- 支持的媒体能力;
- 已脱敏配置。
Degraded 表示可能仍有部分能力可用。优先按页面 Remediation 修复,不要连续反复 Reload。
访问策略与 Pairing
平台契约不同,可用策略也不同,常见选择包括:
- 私聊关闭、Pairing 后可用、Allowlist 或 Open;
- 群聊只响应 Mention,或只允许指定群;
- 新发送者先提交 Pairing Request。
账号连接成功不等于所有联系人都可以使用 Anyy。个人使用场景应从最窄的可用策略开始。
查看待处理请求:
anyy channel pairing list
按 Request ID 批准或拒绝:
anyy channel pairing approve --request REQUEST_ID
anyy channel pairing reject --request REQUEST_ID
平台支持时,可以交互输入配对码:
anyy channel pairing approve --prompt-code \
--channel telegram --account personal
撤销已有 Grant:
anyy channel pairing revoke --grant GRANT_ID --reason "access removed"
Pending Pairing Request 在 1 小时后过期。常驻 Channel Manager 每 5 分钟执行一次 Pairing Maintenance,因此过期项可能短时间仍显示,但已经不能批准为 Grant;应让发送者重新发起。
批准前核对平台、账号和本人身份。对方可能在该 Channel 策略内访问对话及已经启用的助手能力。
Doctor 与 Reload
只检查、不修改指定平台:
anyy channel doctor telegram
让 Gateway 重新加载 Channel 配置:
anyy channel reload
配置文件被外部修改,或 Runtime 没有加载到已保存状态时,可以点击 Dashboard 的 Reload。受支持的 Doctor、Pairing List 和 Reload 命令可加 --json,供程序读取。
移除账号
从 Dashboard 账号详情执行删除。这个操作会移除 Channel 配置及 Anyy 托管的该账号凭据,但不会删除外部平台中的聊天记录。
删除可能异步完成。等账号从列表消失或 Observed State 更新后,再用同一个身份重新配置。
非交互配置
自动化可以调用单平台设置契约:
anyy setup channel CHANNEL \
[--set INPUT=VALUE] \
[--sensitive-fd INPUT=FD] \
[--external-locator-fd INPUT=FD]
普通字段使用 --set;凭据使用 --sensitive-fd,避免进入进程参数和 Shell History;字段支持外部 Secret Location 时使用 --external-locator-fd。
准确的 Input ID 由所选平台和连接 Profile 定义,应以设置流程显示为准,不能从另一个 Channel 猜测。
完整的交互与非交互参数以 anyy setup channel --help 为准。
Webhook 平台
WhatsApp、Facebook、SMS、LINE,以及 Feishu Webhook Profile 需要接收平台 Webhook。设置流程会要求 Callback 字段和验签凭据。
准备平台可访问的稳定 HTTPS 路径,保护签名 Secret,并完成 Setup/Doctor 提示的平台订阅和权限配置。
安全建议
- Bot Token 与签名密钥不要留在 Shell History 或截图中。
- 使用 Open DM 之前,先验证 Pairing 或 Allowlist。
- 同时核对外部平台的 Webhook 与权限设置。
- 停用账号时,清理 Anyy 与平台侧凭据。
- 把外部消息和附件视为不可信输入。
常见问题
| 现象 | 处理方法 |
|---|---|
| 保存后一直收不到消息 | 运行 anyy gateway status 和 anyy channel doctor CHANNEL |
| Long Polling/WebSocket 断开 | 修正凭据或网络,再运行 anyy channel reload |
| Webhook 验证失败 | 核对 HTTPS、Callback、签名 Secret 与平台订阅 |
| 能收消息但无法回复 | 检查发送权限、Delivery 状态和平台限流 |
| 私聊被忽略 | 检查 DM Policy、Pairing 和 Allowlist |
| 群消息被忽略 | 检查 Group Policy 及是否要求 Mention |
| 配错了人 | 立即 Revoke,并检查现有访问授权 |
| 保存后 Runtime 没变化 | 点击 Reload,或运行 anyy channel reload |