dsh-im:DSH IM 接入插件|扫码接入IM机器人,接入飞书微信钉钉等9大聊天渠道

dsh-im 是一个面向 DeepSeek Harness(DSH)的 IM 接入插件。它解决一个很具体的场景:DSH 默认跑在本机终端里,任务、审批、会话都离不开电脑屏幕。

而装上这个插件后,机器人就住进了你天天打开的聊天软件——在微信里发条消息就能派任务,在飞书里看着它思考、调工具、流式回复,在地铁上用手机 QQ 批准一次工具调用。接入方式有三种:扫码创建机器人、使用 App Manifest、或直接填已有机器人凭据。

功能特点

九个渠道,一套入口

一个插件、一个「IM 机器人」设置页,统一管理九个 IM 渠道和一个 AI Office Connector。左侧用 Logo 直接切换渠道,不设启用/停用开关,界面跟随 Harness 语言设置在中英文之间即时切换。

每个渠道的接入方式和消息机制各不相同,插件都做了原生适配:

  • 飞书:扫码创建机器人,或 App ID + App Secret 手动绑定;长连接收消息,用流式卡片实时显示思考过程、工具进度和回答
  • 微信:扫码绑定,走腾讯 iLink 长轮询收发
  • 钉钉:扫码创建或 Client ID + Client Secret 绑定;钉钉 Stream 长连接,AI Card 流式显示回答
  • 企业微信:App 扫码创建智能机器人,或 Bot ID + Secret 绑定;官方 WebSocket 长连接,原生显示「正在思考中」、工具执行进度和流式回答
  • QQ:手机 QQ 扫码创建或 AppID + AppSecret 绑定;私聊显示「正在输入」和流式回答,群聊被 @ 后才回复
  • Slack:预置 App Manifest 一键创建应用,填 Bot Token(xoxb-)和 App Token(xapp-);Socket Mode 长连接,优先走官方流式消息 API
  • Telegram:@BotFather 生成 Token 即用;默认私聊直答、群聊被提及或回复才响应,还可为每个机器人独立开启私聊白名单安全模式
  • Discord:Developer Portal 生成 Bot Token;Gateway v 10 长连接,编辑消息流式显示回答
  • WhatsApp:手机扫码关联设备,走 WhatsApp Web 长连接,先显示已读和「正在输入」再发最终回答

多机器人独立管理

同一渠道可以接入多个机器人,每个机器人分别保存凭据、连接状态、工作区和聊天会话映射,互不影响。卡片上可单独切换工作区(填绝对路径或目录选择器)、检查连接、重试连接或移除接入。机器人默认继承 Host 当时的工作目录,之后可随时改。

图片与流式回复

九个渠道都支持把 JPEG、PNG、WebP 和以图片文件发送的 GIF 交给 Harness,可附带文字说明;单张上限 5 MB,单条消息图片总量上限 20 MB。回复层面按各平台能力尽力流式:不支持原生流式的平台,会用编辑消息、卡片更新或最终消息补上。

AI Office Connector:反向连出去

这是项目最特别的部分。它让本机 Harness 主动连接公网 Office——本机不需要公网 IP、端口转发或自己搭 WebSocket 服务。连接器通过 POST /api/harness/connector/heartbeat 完成鉴权和能力握手,再用 SSE 建立下行流;Office 发布任务后,本机拉取、校验工作区与 Preset alias、领取 90 秒租约并每 30 秒续租。工具审批和补充问题会进入 Office 的人工面板,批准、拒绝或文字答案再经 SSE 回到原会话,断线时由租约与心跳恢复。

值得注意的设计:连接测试成功的判断标准,是响应必须是 {"ok":true,"protocolVersion":"office-harness.v1"} 这个精确 JSON——证明命中了兼容的 Connector,而不是碰巧返回 200 的网址。

机器人命令与远程审批

12 条斜杠命令覆盖日常管理:/help/new(开新会话)、/status(查连接)、/models/model(查/切模型,如 /model 2/model deepseek-official/deepseek-v4-pro)、/stop(停任务不删排队)、/steer(向运行中任务补指令)、/compact(压缩上下文)、/workspace/workspacelist(切/列工作区)、/sessionlist/session(列/绑定历史会话)。交互式提问可回选项序号或自定义文字,多选用逗号分隔;远程审批直接回「批准/拒绝/同意/不同意/yes/no」。

隐私与安全设计

所有 Secret 和 Token 只提交给本机 Harness Host,写入受保护的凭据存储;状态接口和机器人列表不会回传这些凭据,浏览器只拿到二维码、Manifest 和脱敏状态。IM 管理 RPC 默认仅接受回环浏览器,如需局域网使用要显式配置。Telegram 安全模式下,机器人忽略全部群聊、只接受白名单中的数字 User ID,空白名单会拒绝所有入站消息。README 也明确提醒:命令对任何可见用户开放,/session 等命令能接续会话并触发工具,务必只对可信用户开放。

上手教程

安装

推荐 npm 稳定版:

重启 dsh web,打开「设置 → 插件 → IM 机器人」即可。想试尚未发布的最新代码,可改用 GitHub 源安装器 npx -y github:xmanrui/dsh-im install(pnpm 10 以上可能需先在 profile 的 pnpm-workspace.yaml 中允许构建脚本,普通用户建议用 npm 稳定版)。

接入渠道

进入对应渠道页面,按内置引导操作即可:飞书/钉钉/QQ/企业微信类扫码创建机器人最快;Slack 用预置 Manifest 建应用后填两个 Token;Telegram/Discord 各自从 BotFather 和 Developer Portal 拿 Token;WhatsApp 用手机扫码关联设备。填写的凭据只进本机凭据存储,不会回传浏览器。

日常使用

在机器人聊天里发普通消息即开启会话(默认继承 Harness 的 agent-presets.default)。跑长任务时用 /stop 停、/steer 追加指令;工具要授权时直接在聊天里回「批准」;想接续之前的进度,用 /sessionlist 找到 Session ID 后 /session 绑定。机器人离线时卡片上会出现「重试连接」,不用了可「移除接入」。

我的使用感受

把 Harness 从终端里解放出来这件事,体验比想象中更顺。最打动我的是两点:一是九渠道的适配没有偷懒——企业微信原生「正在思考中」、QQ 的「正在输入」、WhatsApp 的已读回执,每个平台的流式能力都被用上了,而不是统一糊一个「处理中」;二是 AI Office Connector 的「反向连接」思路,让没有公网 IP 的本机也能被远程 Office 调度,配合断线退避重连和租约恢复,设计得很克制。局限也要如实说:命令权限不分管理员和普通用户,开放 /session 前要自己掂量可见范围;Telegram 安全模式这类细粒度管控目前只有部分渠道有;项目迭代很快(v 0.2.0 到 v 0.15.0 只用了五天),接口和配置可能有变动,建议跟 release 走。

官方网站

https://github.com/xmanrui/dsh-im

相关推荐

Avatar photo

JameCling

我是 格律诗的软件世界 的作者,一名专注于软件工具、AI 技术和数字效率领域的独立研究者。
多年来,我持续关注互联网工具的发展趋势,体验不同平台的软件产品,并研究它们如何帮助用户提升效率。
我的工作不仅是整理软件信息,而是通过实际测试、功能分析和使用场景研究,帮助用户判断一个工具是否真正值得使用。
格律诗的软件世界 的每一篇文章都希望提供真实、有价值的信息,包括工具特点、使用方法、优缺点分析以及适合的人群。
我相信,好的工具能够改变工作方式,而准确的信息能够帮助用户做出更好的选择。