super-wechat-bridge:把微信 iLink ClawBot 消息桥接进 DeepSeek Harness

前言

用 dsh(DeepSeek Harness)跑智能体时,操作入口通常在 Web 界面里。人离开电脑后,想给 agent 补一句指令、查一下任务结果,就得专门回去开页面。如果这些对话和通知能直接走微信,事情会顺很多。

super-wechat-bridge 解决的就是这个问题:它通过微信官方的 iLink ClawBot 协议,把微信消息接进 dsh,让微信成为 dsh 的远程入口。下面介绍它的定位、核心功能、安装与使用方式。

这是什么

super-wechat-bridge 是一个微信 iLink ClawBot 远程桥接插件,作者是 Qshuai0213,许可证为 MIT,当前版本 1.0.0。它不走第三方机器人协议,而是官方 iLink 协议直连:长轮询收消息,用 msg 包裹 + text_item 发送(官方格式)。peerDependencies 声明 @deepseek-ai/dsh-agent ^0.1.0-rc.6@deepseek-ai/dsh-tools ^0.1.0-rc.6 等,协议与 dsh API 均经实测。

一个值得注意的实测细节:发送时必须带 base_info.channel_version + from_user_id + client_id,缺失时服务器会返回 message_id 但不投递。插件已经处理了这一点。

核心功能

会话与回复

1、每个微信用户独立 dsh 会话,通过 agents.create({ sessionId }) 创建,用 agent.followup 续轮。

2、回复自动转发:wechat 会话每轮 agent 的最终文字回复自动发回微信。实现上监听 session/event,按 user/message 真实来源过滤上下文快照。

3、wechat_reply 工具用于主动推送(比如任务完成通知)。同一轮内如果已经用工具发送过,自动转发会跳过,避免重复。

4、会话级提示词:wechat 会话的 agent 会收到「正在通过微信对话」的上下文,按会话 id 条件注入,不影响其他会话。

Web 设置界面

微信功能没有独立入口,全部集成在 dsh Web 的「设置 → 微信桥接」页面,包含扫码登录、模型/预设/思考强度/权限配置、会话列表(打开/复制/删除)、凭据状态。

24h 自动续期

iLink 会话有效期约 24 小时(服务端限制,无法延长)。插件内置自动续期:到期前约 2 小时,把新二维码链接推送到微信(发给最近活跃的会话),扫码即可无缝续期,全程不断线;最后 30 分钟未续期会再次提醒。

其他

  • 插件自带 dsh.bundle.patchcordis.patch.yml),安装后自动挂载,无需手动编辑 profile 的 cordis.patch.yml
  • 错误落盘 stateDir/errors.log,排查问题时可直接查看。

安装与启用

从 GitHub 安装发布版:

dsh plugin --profile web add "github:Qshuai0213/super-wechat-bridge"

本地开发安装:

dsh plugin --profile web add "file:D:/ai工作区/super-wechat-bridge"

安装后 patch 自动挂载,配置走 schema 默认值:stateDir 默认为 $DSH_HOME/channels/wechat(无 DSH_HOME~/.dsh/channels/wechat)、dmPolicy: pairing

需要覆盖配置时,在 profile patch 里按 id 追加 config,例如改成 allowlist 模式并指定允许的微信用户:

- insert:
    - id: wechat-bridge
      config:
        dmPolicy: allowlist
        allowFrom: ['o9cq80wwZLaIrJEBTW3TCRCVVyt8@im.wechat']

改完后重启 dsh web

登录

三种方式任选:

1、Web 界面扫码:打开「设置 → 微信桥接」,点「获取登录二维码」,用手机微信扫码并确认,凭据自动写入并开始收消息。

2、微信内点链接续期(推荐):到期前插件会自动推送「登录凭据将于约 X 小时后过期」的消息,点开其中的链接扫码确认即可。

3、命令行:

node node_modules/super-wechat-bridge/login.mjs "<你的 stateDir>"

stateDir 默认为 $DSH_HOME/channels/wechat(无 DSH_HOME~/.dsh/channels/wechat)。手机微信打开输出的链接扫码授权,凭据写入 credentials.json

典型用法

使用流程很直接:微信里给 ClawBot 发第一条消息 → dsh 出现 wechat-* 会话 → agent 回复自动发回微信。

在「设置 → 微信桥接」的通道设置区块里,可以调整并持久化到 settings.yaml 的配置项包括:

设置项 说明
模型提供方 / 模型 微信会话使用的模型;留空跟随全局默认
思考强度 off / low / medium / high / max,留空跟随默认
权限模式 pairing(放行所有)/ allowlist(仅允许列表)/ disabled(关闭通道)
允许列表 allowlist 模式下生效,每行一个微信用户 ID

生效时机有区别:权限模式与允许列表即时生效;模型/思考强度只对之后新建的微信会话生效,已有会话不变。页面上同时显示凭据状态(登录时间、剩余有效期、活跃会话数),剩余不足 2 小时插件会自动向微信推送续期二维码。

适用场景与注意

适合的人群:已经在跑 dsh,希望在手机上通过微信随时与 agent 对话、下发指令、接收主动通知(比如任务完成提醒)的开发者。

使用前需要知道这些限制:

  • 重启后会话不续接:桥接按 wechat-<userId>-<时间戳> 新建会话,dsh web 重启后同一微信用户会开新会话,旧会话历史保留在侧边栏,但桥接不再关联。
  • 图片/语音等非文本消息以占位文本 [非文本消息] 呈现,当前通道不接收媒体内容。
  • 修改插件代码后需要重启 dsh web 才生效(HMR 不重载 node_modules 里的模块)。
  • iLink 会话约 24 小时有效期是服务端限制,插件只能续期,无法延长。

另外提醒一点:插件以当前 dsh 进程的权限运行,安装前建议先查看源码确认行为符合预期。该项目使用 MIT 许可证。

结尾

super-wechat-bridge 把微信官方 iLink 协议和 dsh 的会话体系接在一起,配合 Web 设置界面和 24h 自动续期,让微信成为一个低维护成本的 dsh 远程入口。如果你平时用微信多、离开电脑的时间长,值得装上试一下。

  • 插件目录页:https://www.skillhub.cn/plugins/Qshuai0213/super-wechat-bridge
  • GitHub 仓库:https://github.com/Qshuai0213/super-wechat-bridge

顺带一提,skillhub.cn 是社区的插件目录站点,与 DeepSeek / 幻方没有官方从属关系;DSH 本身的理念是「一切皆插件」,这类通道桥接正是插件生态里常见的一类需求。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye