前言¶
DSH 的理念是“一切皆插件”。如果开发者希望把 IM 文本消息接入 harness agent session,而不是只在本地界面里操作,可以把 IM 网关作为一个插件挂到 profile 上。dsh-im-gateway 就是做这件事的:它把 messenger 桥接到 DeepSeek Harness 的 agent sessions,并支持 slash commands 控制会话。
这是什么¶
dsh-im-gateway 由 jelech 维护,许可证是 MIT。
它的定位是:An IM gateway for the DeepSeek Harness: bridge messengers into harness agent sessions and control them with slash commands.
也就是说,它把 WeChat 等 IM 消息接到 harness agent,同时提供一组 slash commands 来管理会话和模型。
核心功能¶
WeChat 接入¶
- 使用 Tencent’s official iLink Bot transport。
- 登录方式为 QR login。
- 连接方式使用 long-poll。
Slash commands¶
当前支持以下命令:
/help/new/sessions/status/model
会话隔离¶
插件为每个 peer 维护一个 agent session,保持会话隔离。
浏览器 IM 网关设置区¶
可选的浏览器设置区提供:
- QR login
- status
- test
HTTP bridge¶
当 profile 提供 webServer 时,插件会暴露 /im-gateway/* routes。
安装与启用¶
先通过 GitHub 地址把插件加入 web profile:
dsh plugin --profile web add github:jelech/dsh-im-gateway
如果从本地目录安装,可以使用:
dsh plugin --profile web add file:/absolute/path/to/dsh-im-gateway
安装后需要重启 harness;composition 在启动时读取。
典型用法¶
登录微信时,可以打开浏览器的:
设置 → IM 网关 → 扫码登录微信
也可以调用:
gateway.login()
然后在 host 控制台扫描二维码并确认。登录 token 保存在内存中,持续整个进程生命周期。
接入后,普通文本消息会由 harness agent 回答;以 / 开头的消息按命令处理。
常用命令如下:
1、/help:列出命令。
2、/new 或 /reset:归档当前会话,并开始新会话。
3、/sessions:列出当前 peer 的当前会话和已归档会话。
4、/status:显示连接、模型和当前会话。
5、/model [provider:model]:查看当前模型,或切换到指定 provider:model 并进入新会话。
适用场景与注意¶
适合想把 IM 文本消息接到 harness agent session,并用 slash commands 管理会话的开发者。
需要注意:
- 当前只支持文本;媒体(image/voice/file)需要走 iLink CDN AES-128-ECB path。
- iOS 需要 WeChat ≈ 8.0.70;Android 可能会先提示更新 WeChat。
- 浏览器面板在 host 本地渲染登录 QR:通过 qrcode npm 包,并以 SVG 从
/im-gateway/qrcode提供。 /im-gateway/*HTTP bridge 会在 harness web server 上注册 raw routes;如果部署环境在路由层之上强制 HTTP auth,需要在lib/http.js中添加。- 插件运行在 DSH 进程中,会拥有该进程可访问的模型、文件和网络权限。安装前应检查源码与许可证(MIT)。
链接¶
- GitHub:jelech/dsh-im-gateway
- 目录页:jelech/dsh-im-gateway