前言¶
DSH(DeepSeek Harness)把智能体能力拆成插件。当 DSH profile 已经跑起来后,终端里看状态、发指令、确认权限仍然受限于当前设备和当前窗口。dsh-chatnode-wechat 解决的是另一个入口问题:把 DSH profile 接到微信个人账号,让你在微信里继续聊天、监控会话、停止当前轮次,并直接回复权限请求。
它通过腾讯 iLink bot gateway(ilinkai.weixin.qq.com)连接微信。README 中提到,该机制与 hermes-agent、OpenClaw 使用的方式相同。由于这是非官方网关,使用前需要单独考虑账号隔离、权限范围和共存问题。
这是什么¶
- 项目:
Jesse-njx/dsh-chatnode-wechat - 包名:
@dsh-cowork/chatnode-wechat - 版本:
0.1.0 - 许可证:MIT
- 定位:DeepSeek Harness 的 iLink gateway + conversation node bundle
- 作用:连接一个 DSH profile 到一个微信个人账号,实现聊天、监控、审批。
这个 bundle 包含两个可拆分使用的 Cordis 插件:
wechat-gateway(WechatGateway):iLink 服务层,提供 QR login、authenticated long-poll、reconnect/backoff、send retry + rate-limit circuit、typing indicator,以及 encrypted CDN media download/upload(downloadImage/sendImage)。wechat-conversation-node:微信与 DSH 之间的 bridge,负责 allowlist gate、session targeting、commands、digest outbound 和 approvals。
整体链路可以这样理解:
WeChat ⇄ iLink ⇄ wechat-gateway ⇄ wechat-conversation-node ⇄ DSH agent session
核心功能¶
1、QR login 与凭据管理
通过 pnpm login 打印 QR URL,用微信扫码并确认。凭据通过 dsh credentials service 存储,而不是写在 patch 文件里。
2、双向文本与图片
普通文本会路由给当前 active agent。入站图片会被下载、解密并交给 agent;出站图片通过 /send <path> 发回当前联系人。
3、会话目标控制
支持用命令管理 DSH session:
/sessions列出带编号的会话/use N切换 active session/new <prompt>创建新的 agent + session 并启动/stop取消当前 active turn/status查看 agent status 和 session summary
4、聊天内权限确认
当 DSH 发出 permission request 时,可以在微信里用 /yes 或 /no 回答。
5、摘要式进度反馈
插件以 digest-style messages 报告进度,而不是把每一次 tool call 原样刷屏。
6、强制 allowlist
allowFrom 是必填项,且没有宽松默认值。非 allowlist 发送者的消息会被记录并忽略。
安装与启用¶
package.json 声明 node >=20。按 README 给出的命令安装并构建:
git clone https://github.com/Jesse-njx/dsh-chatnode-wechat.git
cd dsh-chatnode-wechat
pnpm install && pnpm build
dsh plugin --profile <your-profile> add .
这里的 <your-profile> 需要替换为你要挂载插件的 DSH profile。
然后登录微信账号:
pnpm login
该命令会打印 QR URL。用微信扫码并确认后,登录凭据会写入 $DSH_HOME/.credentials.yaml,经由 dsh-credentials-local 保存。README 说明会写入:
WEIXIN_ACCOUNT_ID
WEIXIN_BOT_TOKEN
WEIXIN_BASE_URL
启动时 bundle 会解析这些凭据,并自动开始 polling。
典型用法¶
只要已经存在一个 session,默认目标是最近一次 session。可以直接发普通文本或图片,也可以用命令控制。
| 操作 | 说明 |
|---|---|
| 普通文本 | 路由到 active agent |
| 图片 | 下载、解密、保存,并把路径交给 agent |
/sessions |
列出带编号的 session |
/use N |
切换到第 N 个 session |
/new <prompt> |
创建新的 agent + session,并启动 |
/stop |
取消当前 active turn |
/status |
查看 agent status 和 session summary |
/send <path> |
把本地图片发给当前联系人 |
/yes / /no |
回答权限请求 |
/help |
查看命令列表 |
配置要点¶
allowFrom 是硬性 allowlist,必填,没有 permissive default。README 中给出的配置示例如下:
# profile patch (cordis.patch.yml)
plugins:
dsh-chatnode-wechat:
allowFrom: ["<your-wechat-id>"] # hard allowlist, REQUIRED, no default
digestIntervalSec: 300 # heartbeat summary while a turn runs
approvalTimeoutSec: 600 # approval prompt timeout → default deny
maxMessageChars: 2000 # WeChat bubble cap (protocol limit)
sendChunkDelayMs: 1500 # throttle between outbound bubbles
# cwd: /path/to/workspace # working dir for `/new` sessions
# mediaDir: /path/to/media # inbound image dir (default $DSH_HOME/attachments/wechat)
# agentPreset: <preset-name> # agent preset for `/new` sessions
# agentProvider / agentModel: ... # model route for `/new` agents
几个关键点:
allowFrom:只允许指定微信发送者。非 allowlist 消息会被记录并忽略,不会喂给模型。digestIntervalSec:turn 运行期间的 heartbeat summary 间隔。approvalTimeoutSec:权限请求等待超时;README 示例中说明超时后 default deny。maxMessageChars:微信消息气泡长度上限。sendChunkDelayMs:出站消息之间的节流间隔。mediaDir:入站图片目录,默认为$DSH_HOME/attachments/wechat/。
权限确认¶
微信个人账号没有按钮,因此权限请求会被渲染成编号文本,并在聊天中等待回答。README 中的示例形式如下:
#1 需要你的确认
工具: bash
原因: run a destructive command
回复 /yes 同意,/no 拒绝(仅一条待确认时也可回复 1/2)
超时未回复将自动拒绝。
/yes 表示允许这一次;/no 表示拒绝;如果只有一条待确认请求,也可以按提示回复 1 或 2。桥接层只回答当前由该微信用户驱动的 agent 的请求,其他请求会沿着 answerer chain 继续传递。
适用场景与注意¶
适合场景:
- 你已经有 DSH profile,希望在微信里继续和 agent 对话。
- 需要查看 session、切换 session、停止当前 turn。
- 需要把本地图片发给当前联系人,或者把图片发给 agent 处理。
- 希望在手机上完成简单的权限确认。
使用前需要注意:
- 一个微信账号只允许一个 poller。如果同一微信账号上再跑另一个实例、
hermes-agent或OpenClaw,可能导致 HTTP 403 和消息丢失。建议使用专用微信账号。 - 该插件走非官方 iLink gateway / protocol。README 提醒腾讯可能限制账号,因此应使用可以接受风险的专用账号。
allowFrom必须配置。不要把它当成默认放行所有微信联系人的入口。- DSH 目前是 developer preview。README 和本仓库依赖中,
@deepseek-ai/*系列版本固定在0.1.0-rc.6。 - 插件会随当前 DSH 进程运行,因此安装前应检查源码、配置项和许可证。本项目许可证为 MIT。
- 凭据通过
dsh credentials service存储,不应写进 patch 文件。
结尾¶
dsh-chatnode-wechat 的价值在于给 DSH profile 增加一个微信侧入口:文本和图片可以双向走,session 可以用命令切换,权限请求可以聊天内确认,进度以摘要消息呈现。它不是官方应用商店里的成品应用,而是 DSH 插件生态下的一个社区 bundle。
GitHub:
https://github.com/Jesse-njx/dsh-chatnode-wechat
项目资料给出的目录页地址为:
https://www.skillhub.cn/plugins/Jesse-njx/dsh-chatnode-wechat
社区目录页是独立站点,不等同于官方应用商店。