微信
将你的 GolemBot 助手接入个人微信,使用 iLink Bot API。无需公网 IP,无需安装 SDK。
零依赖
与其他通道不同,微信适配器仅使用内置的 fetch API 与 iLink Bot 服务通信,无需安装任何 npm 包。
前提条件
- 一个个人微信账号(Bot 将以该账号身份运行)
- 已安装
golembotCLI
获取 Token
运行内置的登录命令,通过扫码认证:
bash
golembot weixin-login- 终端中会显示一个二维码
- 打开手机微信 → 扫一扫
- 确认登录
- 脚本会打印出你的 bearer token — 复制保存
Token 安全
此 token 可以以你的微信账号身份收发消息,请妥善保管,切勿提交到版本控制。
配置
yaml
# golem.yaml
channels:
weixin:
token: ${WEIXIN_BOT_TOKEN}
# baseUrl: https://ilinkai.weixin.qq.com # 可选,默认值sh
# .env 或 shell
export WEIXIN_BOT_TOKEN="扫码登录获取的 token"工作原理
- 传输方式:HTTP 长轮询,对接腾讯 iLink Bot API(
ilinkai.weixin.qq.com) - 连接方式:适配器循环调用
POST /ilink/bot/getupdates,每次请求阻塞最多 35 秒等待新消息 - 重连机制:自动指数退避重试(1s → 2s → 4s → ... → 30s 上限)。收到 HTTP 401(token 过期)时停止轮询并输出错误提示
- 消息类型:支持文本、图片(占位符)、语音(含转写文本)、文件、视频
- 回复机制:通过
POST /ilink/bot/sendmessage发送回复,需携带每条入站消息中的context_token - 会话类型:目前仅支持私聊(DM)
启动
bash
golembot gateway --verbose你应该能看到:
[weixin] adapter started, polling...
Channels (1 connected)
● WeChat用另一个微信号给 Bot 的微信发一条消息,即可看到回复。
限制
- 不支持主动消息 — iLink Bot API 需要入站消息的
context_token才能回复,Bot 无法主动发起会话(不支持定时任务推送到微信) - 不支持输入状态 — iLink API 不提供"正在输入..."状态
- 不支持群聊 — 目前仅支持私聊
- 不支持历史消息 — iLink API 不提供消息历史查询
- Token 过期 — bearer token 可能会在一段时间后过期,需要重新扫码获取
- 消息长度 — 微信限制每条消息最多 2,000 字符,GolemBot 会自动分段发送超长回复
备注
- iLink Bot API 是腾讯旗下服务,并非微信开放平台的官方接口
- 无需安装 npm SDK,适配器使用原生
fetch() context_token按发送者自动管理,无需手动处理