dsh-msg-hub:把微信、QQ、飞书接入 DSH 的 IM 渠道桥插件

前言

对 DSH / 智能体开发者来说,一个常见痛点是:agent 会话通常运行在本地或服务器中,而日常消息、任务提醒、审批操作可能分散在微信、QQ、飞书等 IM 侧。

dsh-msg-hub 是 DSH 插件生态中的一个 IM 渠道桥插件。下面介绍它的定位、能力、安装方式和注意事项。

这是什么

dsh-msg-hub 是 dsh(DeepSeek Harness)IM 渠道桥插件:把微信、QQ、飞书消息接入 dsh agent 会话,并支持主动推送和远程监控。

维护者为 AbcdefgXW,许可证为 MIT。

该插件支持三个渠道同时启用:

  • 微信
  • QQ
  • 飞书

核心能力

消息收发

dsh-msg-hub 支持以下渠道的文本消息收发:

  • 微信:通过 ilinkai 模拟协议扫码登录,并收发文本。
  • QQ:通过腾讯开放平台官方 WebSocket 通道收发文本,支持 C2C 私聊 / 群聊。
  • 飞书:通过开放平台官方 API(应用凭证)收发文本,支持 P2P 私聊 / 群聊。

主动推送

dsh-msg-hub 提供主动推送服务 dsh-channels-push

直接向 IM 发送文本:

push({ channel, peerId, text })

唤醒渠道 agent 执行任务,并回传 AI 回复:

task({ channel, peerId, prompt })

该能力可配合 dsh-toolbox-web 的定时心跳等场景使用。卸载 dsh-msg-hub 后,dsh-toolbox-web 的定时心跳 IM 渠道推送自动不可用,其余功能不受影响。

远程监控

dsh-msg-hub 支持远程监控能力,包括:

  • 审批远程批准
  • turn 状态推送
  • 会话命令

会话命令如下:

/sessions
/bind <会话ID>
/status

审批推送后,可回复:

批准

或:

拒绝

微信长消息分段

微信长消息会自动分段发送,分段上限可配置,默认 1200 字符/条。

可修改配置文件 state/weixin/config.json,例如:

{"segmentLimit": 1200}

扩展新 IM 渠道

dsh-msg-hub 提供适配器注册表,用于扩展新的 IM 渠道。第三方插件可以通过该注册表接入新渠道,例如注册 telegram 示例渠道。

环境要求

使用 dsh-msg-hub 前,需要满足以下条件:

  • dsh 运行时,即 cordis 插件,需在 dsh web profile 注册
  • Node.js ≥ 22.13
  • 微信需要扫码登录
  • QQ 需要 AppID 与 AppSecret
  • 飞书需要 AppID 与 AppSecret

凭证保存在插件 state/ 目录,已加入 gitignore,不要提交。

安装

在 web profile 中安装:

dsh plugin --profile web add dsh-msg-hub

dsh plugin add 会自动将插件加入 profile 的 dsh.profile.bundles,并挂载插件自带 cordis.patch.yml 注册行,无需手动改配置。

也可以从 GitHub 仓库安装:

dsh plugin --profile web add github:AbcdefgXW/dsh-msg-hub

不要在 profile 的 cordis.patch.yml 手动 insert 本插件,否则可能导致 duplicate loader entry id 启动崩溃。

典型用法

连接微信

执行微信登录脚本:

node scripts/weixin-login.mjs login

然后按终端提示完成扫码登录。

连接 QQ

使用 QQ 开放平台凭证连接:

node scripts/qq-login.mjs --appid <AppID> --secret <AppSecret>

QQ 主动消息需在开放平台申请「主动消息权限」。未开通时,主动推送会静默失败,被动回复不受影响。

连接飞书

使用飞书开放平台应用凭证连接:

node scripts/feishu-login.mjs --appid <AppID> --secret <AppSecret>

飞书使用开放平台官方 API,合规无风险。

配置微信长消息分段

如果需要调整微信消息分段上限,可修改 state/weixin/config.json

{"segmentLimit": 1200}

使用会话命令

在已接入的 IM 会话中可使用:

/sessions
/bind <会话ID>
/status

处理审批

当收到审批推送后,可回复「批准」或「拒绝」。

卸载

从 web profile 中移除插件:

dsh plugin --profile web remove dsh-msg-hub

卸载后,dsh-toolbox-web 的定时心跳 IM 渠道推送自动不可用,其余功能不受影响。

适用场景与注意

dsh-msg-hub 适合需要把 dsh agent 会话接入常用 IM、做主动推送和远程监控的开发者。

由于插件以当前 dsh 进程权限运行,安装前应检查源码与 MIT 许可证。

需要注意以下渠道风险:

  • 微信(ilinkai)为模拟网页协议,非官方 API。主动频繁发消息存在账号风控风险,建议低频推送,例如定时任务间隔 ≥ 15 分钟。
  • QQ 主动消息需在开放平台申请「主动消息权限」。未开通时,主动推送会静默失败,被动回复不受影响。
  • 飞书为官方 API,合规无风险。
  • 凭证保存在插件 state/ 目录,已 gitignore,不要提交。

结尾

dsh-msg-hub 的价值在于把微信、QQ、飞书消息桥、主动推送、远程监控收敛到一个 DSH 插件中,适合需要在 IM 侧处理 dsh agent 会话的开发者。

已核实资料未给出目录页 URL;项目仓库地址为:

https://github.com/AbcdefgXW/dsh-msg-hub
羽毛球分组比赛记分
小程序二维码

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

Xiaoye