把飞书、微信、钉钉接成本地 Agent 的入口(dsh-im)
dsh-im 把飞书、微信、钉钉、企业微信、QQ、Slack、Telegram、Discord、WhatsApp 九类聊天渠道接进 DeepSeek Harness,在聊天窗口里直接驱动 Agent,用 JavaScript 写成,MIT 许可。这篇文章讲清它的安装前提、各渠道绑定凭据、不同渠道的回复呈现差别与配置项,列出用户实际踩过的几个坑,并和同类项目做对比,帮读者判断自己的团队该不该接。
DeepSeek Harness(下文简称 DSH)跑在你自己的机器上,主要交互入口就是电脑前那个界面。dsh-im 要把这块能力挪进手机里已经装好的聊天软件:飞书、微信、钉钉、企业微信、QQ、Slack、Telegram、Discord、WhatsApp 都能接,扫码或者在设置里填机器人凭据完成绑定,之后在聊天窗口发一条消息,等于对 DSH 里的 Agent 说一句话。
dsh-im 是 DeepSeek Harness 的开源插件,用 JavaScript 写成,通过扫码或机器人凭据把 IM 渠道接入本机 Harness,让聊天窗口直接驱动 Agent 会话。
用户是已经在跑 DSH、又不愿意一直守在电脑前的那批人。插件管两头:入站一侧,IM 平台的长连接或 HTTP 回调把消息送进来,转成 DSH 的会话轮次;出站一侧,本机 Harness 主动连出去,接住公网上的 AI Office。同一个渠道下能挂多个机器人,每个机器人的连接状态、工作区、模型和会话绑定各管各的,互不干扰。

五分钟先跑通
前置条件只有一条,绕不过去:本机已经跑起 DeepSeek Harness。dsh-im 是 DSH 插件,脱离 DSH 没有可执行的部分。版本也要跟得上,仓库在 v4.19.0 的兼容公告里写明兼容 DSH v0.1.5-rc.2,此后继续跟进;两边版本对不上时,表现是插件装了但不工作。
安装命令仓库里没有说明这一步。安装章节不在给出的 README 节选范围内,npm 包名在 Issue 与发布说明里写作 @xmanrui/dsh-im。完整安装步骤要查仓库根目录的 README.md(69.8 KB)或 README.en.md(72.3 KB)。
装完在 DSH 的设置面板里找 dsh-im 的设置入口,挑一个渠道,按渠道要求扫码或填凭据。凭据字段各渠道不一样:
飞书 扫码,或 App ID + App Secret
钉钉 扫码,或 Client ID + Client Secret
企业微信 用企业微信 App 扫码,或 Bot ID + Secret
企业微信应用 企业 ID、AgentId、Secret、Token、EncodingAESKey(可选代理地址)
QQ 用手机 QQ 扫码,或 AppID + AppSecret
Slack 用预置 App Manifest 创建应用,再填 Bot Token
想最快看到效果,挑飞书或钉钉,扫码就能创建机器人,不用去开放平台后台翻凭据。微信扫码绑定走腾讯 iLink 长轮询,也是一条短路径。企业微信应用这条最重,要先进管理后台创建自建应用,再回插件里填五项字段。
跑通之后你会得到什么
绑好的机器人会出现在 IM 客户端的会话列表里。给它发消息,回答落回同一个聊天窗口,不同渠道的呈现方式差别不小:钉钉走 Stream 长连接,用 AI Card 流式显示回答;企业微信原生显示「正在思考中」、工具执行进度和流式回答;飞书可以在原生「实时直播」、单张实时过程卡、逐步消息三种过程展示里选;微信在等待 Harness 回答时显示「正在输入」,最终回复按 1,800 字符分段发送;QQ 私聊显示「正在输入」并以单条 Markdown 回复,群聊被 @ 之后只发最终答案。
设置面板里能看到所有已绑机器人的连接状态,每个机器人的工作区、模型、会话绑定可以分别设。插件详情页在支持插件详情操作按钮的 DSH 上多一个「打开 IM机器人」按钮,点进去打开已有的 IM 管理面板,再用「返回插件详情」退回来。
接下来能做的是收紧权限:群里谁能用、私聊谁能用、哪些指令开放,通过白名单控制;飞书和 QQ 上还能用 /permission 和 /permissionlist 查看并切换当前会话权限。另一个方向是主动投递,仓库里的 PROACTIVE_DELIVERY.md 专门讲这件事,让 Harness 侧主动把消息推到 IM,而不是等用户先开口。
主要功能
- 九个渠道一次接齐。内置飞书、微信、钉钉、企业微信、企业微信应用、QQ、Slack、Telegram、Discord、WhatsApp,README 的渠道表还把 iMessage 单列为本机 Messages.app 身份接入的例外。每个渠道的接入方式和消息能力在渠道表里逐行写清。
- 一个渠道挂多个机器人。同一渠道下可以绑定多份凭据,各机器人的连接状态、工作区、模型、会话绑定彼此独立。用一个插件管理一组机器人,是它和单机器人脚本的主要区别。
- 三种绑定方式。扫码创建机器人、用 App Manifest 创建应用、直接填已有机器人凭据。扫码最省事,凭据绑定适合机器人已经存在、不想重建的情况。
- 流式过程展示。钉钉的 AI Card、企业微信的思考与工具进度、飞书的三种过程视图,都把 Agent 的中间过程显示在聊天窗口里,而不是等全部跑完才回一条。
- 语音交互。属于可选渠道能力,默认关闭。开启后语音消息转写成文字走正常流程,答案同时以语音回复。发布说明里目前只提到飞书支持。
- 权限命令与白名单。
/permission与/permissionlist在 v4.34.0 加入飞书和 QQ,可用序号或完整 ID 一步切换当前会话权限,序号绑定最近一次列表及会话,沿用 15 分钟快照。群聊、私聊、指令的白名单来自用户的 feature request,后来落地。 - 同 Host 的 dshIm Service。v4.33.0 为同 Host 的公开
dshImService 加上版本化账号描述和条件纯文本发送,飞书与 Lark 账号由平台认证身份确定,目标以固定内容摘要校验,旧send行为保持兼容,未支持的渠道返回明确错误。 - AI Office Connector。把本机 Harness 主动连到公网 AI Office,与内置 IM 渠道共用一个设置入口。
常用参数与配置
配置主要在 DSH 设置面板的 dsh-im 入口,以及各渠道平台后台。要点如下。
- 渠道凭据:飞书用 App ID + App Secret,钉钉用 Client ID + Client Secret,企业微信用 Bot ID + Secret,QQ 用 AppID + AppSecret,企业微信应用要企业 ID、AgentId、Secret、Token、EncodingAESKey 五项,Slack 先按预置 App Manifest 建应用再填 Bot Token。
- 语音开关:飞书的语音交互默认关闭,要手动打开;开启后语音消息转文字,答案同时语音回复。
- 权限白名单:群聊、私聊、指令或指令组三类可分别设限。Discord 上另有一条规则,已确认的个人应用所有者或团队所有者可在私聊和群聊中访问机器人、执行命令,不受普通用户白名单和命令开关限制;身份只在正常启动、重连或凭据绑定时查询,查询失败保留已保存身份,不阻止机器人启动。
- 工作区目录:每个机器人一份,曾在 native 后端下出现目录选择器报
needs the browse capability的问题,该 Issue 已解决。 - 代理地址:企业微信应用支持填可选的代理地址。
仓库里没有为这些配置项提供一份集中的参数手册,渠道表和各版本的 CHANGELOG 是主要的查阅对象,CHANGELOG.md 有 199.5 KB。
结果在哪里看
最直接的观察点是 IM 客户端的聊天窗口。回答、流式过程、工具执行进度都在那里。失败时也不一定报错到终端,例如飞书侧超时会进入失败处理和文字兜底,最终仍可能以一条纯文本回给你。
DSH 这一侧,设置面板里的 IM 管理面板显示各机器人的连接状态;支持插件详情操作按钮的 DSH 版本上,插件详情页的「打开 IM机器人」按钮能直接跳到这个面板。
排错要看的文件都在仓库根目录:README.md 与 README.en.md 是渠道与配置说明,CHANGELOG.md 记录每个版本的改动与对应 Issue 编号,PROACTIVE_DELIVERY.md 讲主动投递,docs/ 目录放 iMessage 等渠道的补充说明。
实际使用中的坑
仓库当前有 36 个开放 Issue,下面这几条是评论数较高、且已经解决的,碰到同样的报错不必慌。
- 微信授权后保存凭据失败。现象是扫码成功,但提示无法保存凭据或启动消息连接,报
activation-failed;另一条同类反馈是更新后微信登录不了。两条都已解决。 - 引用或回复的消息原文不传给 AI。在 IM 里引用上一条消息再发文字,AI 只看到本次发送的文字。排查结论是九个渠道都不会把被引用原文传进去,入站解析只提取当前消息自身的文本,属于共性缺失而非个别渠道问题。该 Issue 已解决。
- 企业微信回复结束后仍显示「正在整理结果…」。状态卡住不消失,已解决。
- 机器人工作区目录改不了。macOS 下 native 后端的目录选择器报
needs the browse capability,原生选择器回退不触发,已解决。 - QQ 群里机器人不响应非开发者用户。提问的人也不确定是腾讯的限制还是插件设计缺陷。这条已解决,处理结果指向平台侧限制。
选型参考
| 项目 | 适合谁 | 部署方式 | 主要限制 | 什么情况下选它更合适 | 项目地址 |
|---|---|---|---|---|---|
| xmanrui/dsh-im | 已经跑着 DSH、想让团队在飞书或企业微信群里直接用 Agent 的人 | DSH 插件,装进已有的 DSH 环境;插件本身发布到 npm,包名 @xmanrui/dsh-im | 必须先有可用的 DSH 并保持版本兼容;企业微信应用渠道要进平台后台填五项字段;渠道能力受各平台接口限制 | 需要把 Agent 接进 IM 群聊,并按机器人分别管理白名单与权限时 | xmanrui/dsh-im |
| shaobeichen/dsh-pocket | 只想在手机上远程看 DSH 界面、不想注册机器人凭据的人 | 电脑上跑 dsh web,手机扫码访问,局域网或公网 | 仓库没有说明更多部署细节,未逐一核实 | 目标只是手机同屏看电脑上的 DSH,不需要机器人身份时 | shaobeichen/dsh-pocket |
| ningbainb/deepseek-harness-desktop | 需要 Windows 桌面客户端和图形界面的用户 | 面向 Windows 的桌面客户端与 GUI,零配置安装 | 仓库没有说明非 Windows 平台的支持情况,未逐一核实 | 主力环境是 Windows 桌面、希望开箱即用时 | ningbainb/deepseek-harness-desktop |
只想在手机上瞄一眼 DSH 界面,dsh-pocket 的路径更短:不用注册机器人,也不用管凭据、白名单和权限命令,dsh-im 的多机器人管理在这时候是纯负担。主力环境是 Windows、需要图形客户端时,deepseek-harness-desktop 更直接。要把 Agent 接进团队已有的群聊、按机器人分别控制谁能用,这两个项目都做不到,这时才轮到 dsh-im。
什么情况下别用它
没有可用的 DSH 环境,这套插件就没有着落,先去把 DSH 跑起来再说。不接受把聊天内容交给模型处理的团队,也不适合走这条路:消息一旦从 IM 进来,就进入 Harness 的会话流程。只要手机上看一眼界面,dsh-pocket 更省事;只要 Windows 桌面上的图形客户端,deepseek-harness-desktop 更省事。
微信、QQ 这类渠道依赖腾讯侧的长轮询或长连接接口,账号与消息行为受各自平台规则约束,接到对外场景之前,先确认所在组织允许外部模型处理这些对话。插件与 DSH 版本互相绑定,团队里没人愿意跟版本升级时,也可能卡在一个能跑但不再更新的组合上。
仓库地址:https://github.com/xmanrui/dsh-im ,许可证为 MIT License,主要语言 JavaScript(语言占比 100%),当前 Star 1588、Fork 189、开放 Issue 36。
焚评:这个项目的量化评分
本项目的选题来自 焚.com(一个按公开公式给 GitHub 项目打分的站)。焚评当前总分 9.5 分(满分 10)。下表是各维度的得分:
| 评分维度 | 得分 |
|---|---|
| 热度动量(权重 25%) | 10.0 / 10 |
| 开发活跃(权重 25%) | 10.0 / 10 |
| 社区响应(权重 15%) | 7.9 / 10 |
| 文档质量(权重 15%) | 8.5 / 10 |
| 发布节奏(权重 10%) | 10.0 / 10 |
| 风险控制(权重 10%) | 10.0 / 10 |
评分口径、权重与计算方式见焚.com 的评分方法页;数据随 GitHub 指标刷新,具体数值以焚.com 当前页面为准。本文正文为诀.com 独立撰写,评分数据由焚.com 授权引用。
内容核验说明
如果团队已经在跑 DeepSeek Harness,又想让成员在飞书或企业微信群里直接调 Agent,这篇把九个渠道的凭据字段、回复呈现差异、权限命令和版本绑定关系都列了出来,也写清了它和 dsh-pocket、Windows 客户端各自适合什么场景。前提是必须先有可用的 DSH,版本对不上会装而不生效。
Star、Fork、开放 Issue 数及焚评各维度得分均为引用方的公开数据,诀.com 未独立验证;安装命令、各渠道实际回复效果与权限行为,文章未提供本站实测证据,需以仓库 README 与 CHANGELOG 为准。经验型问题描述来自 Issue 提交者,处理结果不保证在其它环境下复现。用户反馈摘要
根据仓库 Issue 来看,反馈集中在渠道稳定性:微信扫码授权成功后保存凭据失败、报 activation-failed,更新后也有登录不了的情况;企业微信回复结束仍停在「正在整理结果」,Telegram 选项卡片会卡住;macOS 下工作区目录选择器报 needs the browse capability。有提交者报告九个渠道都不把被引用消息原文传给模型,属共性缺失。上述 Issue 状态均为已解决。另有提议把配置入口提到设置顶级菜单、增加群聊私聊与指令白名单,并让 Agent 感知渠道来源和用户身份。
基于该仓库公开 Issue 整理,只反映提交者报告的现象与诉求,不代表诀.com 立场,也不代表问题已被确认。项目来源与说明
开源项目:xmanrui(xmanrui)
本文由诀.com 编辑基于该项目的公开信息独立撰写,属原创解读,不是对项目文档的翻译或转载;文中提到的功能与参数以官方仓库为准,代码与文档版权归原作者所有。
查看项目仓库