用 dsh-im 4.15.0 把 DeepSeek Harness 接入消息平台

按 DeepSeek Harness(DSH)0.1.2-rc.1 与 dsh-im 4.15.0 说明飞书扫码接入、微信与 Telegram 差异、访问模式、工作区、长任务补发及退出清理。

社区整理已复核原始来源
DSH
0.1.2-rc.1
系统
Windows / macOS / Linux
风险
high
本页目录(14)
对应插件dsh-im

先查看功能、兼容性、权限和同类选择,再按本文操作。

查看插件详情 →

dsh-im 4.15.0 把九种消息渠道接入 DSH,新增默认关闭的飞书分步直推、渠道标题标识,并修复文件回传与旧投递目标加载。

如果你的目标是把飞书、微信、Telegram 等消息平台安全接入 DSH 并限制远程权限,本教程会说明如何在 DeepSeek Harness(DSH)中准备、安装、配置、验证和回退 dsh-im。本文锁定作者仓库提交 e4b501377901;已复核固定提交的原始资料,未进行运行实测。

对应插件:查看 dsh-im 的功能、权限与兼容性说明。先确认它适合你的工作流,再执行安装。

新版候选复核(2026-09-12)

4.20.0 暂缓替换安装目标。 4.20.0 增加会话专属工作区;跨项目路由与重启恢复尚未验收。

群线程和私聊如何选择工作区

候选 4.20.0 新增 /conv:为当前对话设置显式工作区,清除后跟随 bot 默认;/workspace 仍管理 bot 默认。不要把修改 bot 默认理解为只影响当前群线程。

固定源码将 conversationWorkspaces 持久化,并保存切换代际;显式 Session 绑定、异步选模和旧菜单都需要围绕有效工作区核对。试验时应使用两个合成项目,验证切换后新消息不会进入旧项目,并检查写入失败和重启后的实际归属。本站没有执行这些渠道试验。

精确 npm 包 integrity 通过,本轮抽取的 334 个文本文件与固定 tag 一致(不代表独立重建编译产物)。包的兼容表仍未列 0.1.5-rc.1,这不是已证实不兼容;真实宿主和飞书、Telegram、微信等渠道仍待验收。微信错误分类与诊断改进来自候选发行说明,不把旧安装版本说成已经具备。

保留 DSH 0.1.2-rc.1 + IM 4.15.0 原安装组合和允许用户/工作区限制,不将生产 Bot 用于排障试验。

候选固定源码:证据 1(外部链接,在新标签页打开)、证据 2(外部链接,在新标签页打开)、证据 3(外部链接,在新标签页打开)、证据 4(外部链接,在新标签页打开)。以下安装步骤继续对应 4.15.0。

先选渠道,再准备账号

DSH IM 把手机消息转交给运行在电脑上的 DSH。电脑、DSH Host 和对应渠道连接需要持续运行;关掉 Host 后,手机上的 Bot 不能替它执行任务。本教程完整展开飞书扫码路径;微信与 Telegram 提供接入差异,均以 DSH 0.1.2-rc.1 + IM 4.15.0 为依据,以下“预期结果”不是本站实测。

渠道账号与凭据消息交互开始前确认
飞书能完成应用创建/授权的飞书账号;扫码创建或已有应用的 App ID + App Secret长连接、流式卡片、问题与审批租户允许创建或安装应用;审核所申请权限;本页按扫码流程
微信微信扫码绑定的腾讯 iLink Bot 会话长轮询、正在输入提示、最终文本分段以当前账号扫码引导是否可完成为准,不承诺所有账号可接入;这不是企业微信
Telegram从 BotFather 获取 Bot TokenBot API 长轮询;私聊草稿预览,平台不支持时回退文字本机能访问 Bot API;兼容模式默认接受私聊,首次应切到安全模式并配置数字 User ID

企业微信是另一条渠道,使用企业微信智能机器人的 Bot ID + Secret 与 WebSocket,不能把它填进微信 iLink 或飞书字段。飞书、Lark 同类插件也不等于本插件,安装前核对包名 @xmanrui/dsh-im。

先完成一个私聊任务,再决定是否开放群聊、上下文增强、文件回传或双向同步。工作区绑定帮助选择任务目录,但不代替 DSH 的工具与文件权限控制。

先确认是否适合你

  • 分类:通知远程
  • 风险等级:high
  • 核验证据:source_reviewed
  • 兼容性边界:4.15.0 要求 Node.js >=22.19,清单列出 DSH 0.1.2-rc.1、0.1.3-alpha.1 等 Web 组合,未列 alpha.2;本站固定 rc.1 静态审阅,未运行真实渠道或模型任务。
  • 主要权限关注:需要平台凭据和远程会话访问权;逐 Bot 核对私聊/群聊白名单、特权绑定账号、命令权限与工作区。Telegram 兼容模式默认允许私聊。附件发送可读取 Harness 可读文件,插件不额外提供工作区路径隔离;管理 RPC 默认 loopback。 分步直推会发送工具参数摘录与错误片段,截断不等于脱敏;飞书群内其他 Bot 的明确 @ 可进入访问策略检查。

如果你准备在重要工作区使用,先阅读插件详情页的权限和数据流说明;“源码已审阅”或“资料已整理”都不等于安全认证。

安装前准备

本页 DSH 命令版本: 0.1.2-rc.1。4.15.0 要求 Node.js >=22.19,清单列出 DSH 0.1.2-rc.1、0.1.3-alpha.1 等 Web 组合,未列 alpha.2;本站固定 rc.1 静态审阅,未运行真实渠道或模型任务。

  • 测试 Bot:只使用单个平台的测试 Bot、测试联系人和可撤销凭据。
  • 隔离工作区:准备不含生产代码与秘密的独立工作区。
  1. 安装 Node.js 22.19、Node.js 24 或项目当前声明支持的更高版本,并确认 pnpm 可用。
  2. 使用独立的 web Profile 和可丢弃测试工作区,不直接连接生产目录。
  3. 备份当前 Profile 配置,并记录安装前的 --dump-config 输出。
  4. 核对固定来源中的外部服务、账号、运行时和平台限制。
  5. 需要凭据时只准备测试凭据;本页识别到的候选变量包括 DSH_IM_INTERACTION_CARDS。

安装 dsh-im

52DSH 使用目录中记录的精确安装目标,避免直接跟随可能变化的默认分支:

npx --yes @deepseek-ai/[email protected] plugin --profile web add @xmanrui/[email protected]

GitHub 源码插件如果被 pnpm 拦截构建脚本,先检查终端提示的具体包和脚本。只在 web Profile 中放行确实需要的构建项,不要全局放行未知依赖。

插件专属配置

配置目标

  • profiles/web:加载 dsh-im 4.15.0;管理 RPC 保持默认 loopback。
  • DSH Web → 设置 → IM机器人:选择飞书渠道,添加 Bot,再逐 Bot 设置工作区与访问模式。

环境变量

  • DSH_IM_INTERACTION_CARDS(可选):设为 0 可关闭飞书交互卡片并使用纯文本流程。

固定版本安装与配置检查

证据:固定来源(外部链接,在新标签页打开)。将路径、账号和凭据占位符替换为测试值。

npx --yes @deepseek-ai/[email protected] plugin --profile web add @xmanrui/[email protected]
npx --yes @deepseek-ai/[email protected] --profile web --dump-config

安装后设置

  1. 安装后重启 DSH Web,进入“设置 → IM机器人”;先只接入一个飞书测试 Bot。
  2. 完成下方飞书路径后再启用其他渠道;上下文增强和双向同步先保持关闭。
  3. 模型和 Agent preset 改动只作用于新 Session;用 /new 后发送普通消息创建新会话,再检查实际模型。

飞书最小接入路径

  1. 准备平台账号与测试目录。 选择你能管理应用的飞书租户,准备不含密钥的可丢弃目录。没有应用创建/安装权限时,先由租户管理员按组织流程处理,不跳过平台审批。
  2. 进入准确入口。 重启本页版本的 DSH Web,打开“设置 → IM机器人 → 飞书”,点击“扫码接入机器人”。使用飞书扫码,核对租户、应用与权限再确认;保持设置页打开,等待新机器人的长连接就绪。
  3. 已有应用走另一条绑定入口。 “使用 App ID 和 App Secret 绑定飞书机器人”接收飞书开放平台中的这两个字段;不要填写 Telegram Token 或群自定义机器人的 Webhook。本页完整示例采用扫码自动创建;手动应用的消息事件与权限应按插件内置引导核对,不照搬一个公网回调 URL。
  4. 核对平台权限。 新建扫码流程会申请消息和卡片能力。读取用户消息内的图片/文件需要 im:message:readonly(平台显示“获取单聊、群组消息”),上传文件需要 im:resource,原生命令面板涉及 application:app_slash_command:read / write,交互卡片涉及 card.action.trigger 回调。已有应用缺项时使用 Bot 的“补全权限”或私聊 /repair,看清增量申请项并完成平台要求的审批;不为文本试用额外开启群内全部消息接收。
  5. 限定访问。 在 Bot 的访问设置中分别检查“私聊”“群聊”,选择白名单模式;本例只允许测试私聊,群聊不新增用户。用户字段是该应用对应的“飞书 Open ID”,不能用显示名代替。绑定的 owner 账号另有特权识别,即使普通白名单为空也不代表它已被禁用。需要 /new、/stop 等命令时,仅给相应测试用户命令权限。
  6. 绑定工作区。 在该 Bot 卡片选择测试目录;新 Bot 默认工作区来自 Host 启动目录,必须主动核对。保持上下文增强与 Session 双向同步关闭,用 /new 后发送普通消息创建新 Session,避免沿用原会话目录。
  7. 检查连接与消息链。 等待 Bot 长连接显示就绪,再从允许账号发下方最小任务。在 DSH 中查看对应 Session、目录和任务状态,最后对照飞书回复。只出现“在线”说明连接已建立,不能证明任务或回传完成。

本机 Host 默认直接复用 DSH 内部服务,不要求开放公网端口或另配远程 Harness 地址。管理 RPC 保持 loopback;trusted-host 只复用 Host/Origin 防护,不提供用户认证。

依据:飞书设置入口与权限补全(外部链接,在新标签页打开)、访问模式字段(外部链接,在新标签页打开)及特权账号与初始化策略(外部链接,在新标签页打开)。

微信与 Telegram 的配置差异

项目微信 iLinkTelegram
入口与必需字段“IM机器人”的微信渠道,按二维码绑定;不填 App ID/SecretTelegram 渠道填 BotFather 的 Bot Token
首次访问约束核对实际绑定账号及逐 Bot 访问设置;不沿用企业微信账号概念主动启用安全模式(私聊白名单),数字 User ID 每行一个;空名单拒绝全部入站
群聊与命令不把其他平台群聊/Topic 行为推导给 iLink安全模式忽略群聊;兼容模式群聊需提及或回复 Bot
长任务与重连4.15.0 另存按凭据关联的 context token,仍需平台允许回传先确认 Bot API 网络可达,不用反复重新生成 Token 代替排障

飞书网络若依赖代理,源码长连接读取 HTTPS_PROXY(兼容小写与 HTTP_PROXY 回退),不读取 ALL_PROXY / NO_PROXY;修改后重启 Host。Telegram 代理条件与 Node 版本另见固定 README,不把两渠道代理规则混用。

飞书分步直推与新增权限

在“设置 → IM机器人 → 飞书”的对应 Bot 卡片开启“分步直推”;默认关闭,按 Bot 保存并即时应用,不需要重连。首次只在测试私聊开启,用无敏感的目录概括任务查看工具过程与最终回复。关闭后恢复原有流式卡片路径。

过程消息可能包含工具参数前 400 字符和错误片段。截断不是脱敏,不要把含凭据、客户路径或私密内容的任务用于测试。每轮最多 200 条计数过程消息,并有 250ms 最小发送间隔;达到上限仍会尝试最终回答,不代表平台必定接收。

4.15.0 的扫码新建和“补全权限”//repair 增量申请 im:message.group_at_msg.include_bot:readonly,用于接收群内其他机器人明确 @ 当前机器人的消息。仍需通过群聊访问策略和命令权限;未明确 @、自发消息与机器人私聊继续忽略。首次保持群聊关闭或严格白名单,不要为了看到过程开放全部群消息。

配置验证与成功结果

先导出配置,再启动同一版本的 DSH Web:

npx --yes @deepseek-ai/[email protected] --profile web --dump-config
npx --yes @deepseek-ai/[email protected] web
  1. 使用授权测试账号发送下方只读目录请求,依次对照平台消息、DSH Session 和最终回复。

    期望结果:三个位置对应同一次请求,目录与 Bot 绑定一致;仅显示已连接不算任务完成。

  2. 在受控测试中用未列入白名单、也不是绑定特权账号的账号发送普通消息。

    期望结果:请求不进入 DSH Session;若进入,立即停用 Bot 并重新检查私聊与群聊策略。

  3. 若确需双向同步,仅对当前 Host 的测试私聊开启,从 Web 发一条不含敏感信息的文字,再关闭。

    期望结果:只有指定私聊收到同步文本;关闭后停止新增同步,不把群聊、Topic/Thread 或远程 harness 当作覆盖范围。

第一次使用

  • 在可丢弃目录放入一个自己创建的 notes.txt;从允许账号发送:“只读取当前工作区第一层的文件名称与类型,用三行概括。不要递归、修改、下载、执行脚本或发送附件。”
  • 记录输入时间、Bot、工作区、DSH Session、最终回复;如果出现写入或审批请求,拒绝并停止,保留错误原文后排查。

长任务、停止与双向同步

情况4.15.0 的行为你需要做什么
前台回复等待超时为原路由、Session、Turn、prompt 保存补发记录,后台继续检查原任务,不重新提交请求先在 DSH 看原 Session,不重复发送相同任务
原任务完成尝试把终态文字送回原目标;不补发附件、问题或审批交互对照 Session 完整产物,必要时单独处理附件
使用 /stop对待补发任务核对原始身份后尝试取消;Host 不支持该安全取消路径时提示人工处理检查 Session 已结束;“发过 stop”不等于已停止
换绑或清理会话投递前重新核对绑定,旧任务结果不会因此转发到新绑定在旧 Session 核对任务是否仍运行,换绑本身不是取消任务
正常重启 Host保存补发记录,重启后继续检查不把重启当作清空队列
网络失败或崩溃有界重试;不确定是否已送达时不自动反复重发,仍有崩溃后重复投递窗口对照原回复与 Session,不能依赖“恰好一次”保证

每条会话路由最多保留 4 条待补发记录,更多记录可能挤掉最旧项;不应把 Bot 当作可靠任务队列。补发机制依据固定版本设计与边界(外部链接,在新标签页打开)。

双向同步是另一个功能。 默认关闭;开启后会把 Web 侧用户文本和完成的助手文本发送到所选 IM 私聊。它限当前 Host 的私聊文本,不覆盖群聊、Topic/Thread、显式远程 Harness,也不等同于 IM 发起任务的正常回复。关闭同步后 Bot 仍可能接收新任务或完成旧任务。

渠道标识和文件回传怎样验证

本机 IM 会话标题可出现“飞书 · 标题”等渠道前缀,兼容的 Web 列表用渠道图标展示;不识别的页面结构保留文字。标题由 Host 追加 session/title 事件,保持原有标题来源,不等同于调用手动重命名锁定标题。显式远程 harnessBaseUrl 连接需在目标 Host 安装插件。卸载会撤销浏览器图标样式,不会自动删除已保存的标题前缀事件。

用自己创建的无敏感小文件测试 dsh_im_return_file,同时核对当前 Session、当前 Turn 和平台附件。新版优先从 snapshotEvents() 找当前回合,并保留旧 events 路径;该修复不扩大文件系统隔离能力,也不保证所有 alpha.2 组合可用。

数据、权限与凭据

**数据流:**平台文本、引用与附件 → 本机渠道 Host → 访问策略、工作区与 DSH Session → 工具及模型 Provider → 文本、审批卡片和文件返回平台。超时补发会持久化路由、Session、Turn、原始 prompt 标识;微信另存按凭据关联的 context token 缓存。 分步直推将工具参数和助手过程文本发送到飞书;渠道标识通过追加 session/title 事件持久化,浏览器图标只是展示层。

**权限关注:**需要平台凭据和远程会话访问权;逐 Bot 核对私聊/群聊白名单、特权绑定账号、命令权限与工作区。Telegram 兼容模式默认允许私聊。附件发送可读取 Harness 可读文件,插件不额外提供工作区路径隔离;管理 RPC 默认 loopback。 分步直推会发送工具参数摘录与错误片段,截断不等于脱敏;飞书群内其他 Bot 的明确 @ 可进入访问策略检查。

**数据存储:**平台保存消息;DSH 保存 Session 和凭据,插件按渠道、Bot 保存配置、工作区绑定及补发状态。默认渠道根目录在 DSH Home 的 integrations 下,例如 dsh-feishu、dsh-weixin,显式 dataDir 可改变位置。微信 context token 缓存与凭据 hash 关联,不能把状态文件当作完全无敏感信息。入站附件另有 TTL,默认 168 小时,0 为回合结束、-1 为永久;不保证清理未知旧目录或外发文件。 渠道标题前缀可进入 Session 日志,过程消息保存在飞书;插件卸载不自动撤回这些内容。

真实 Token、API Key、Cookie 和账号 ID 不应写进 Git 仓库、网页截图或公开 Issue。测试结束后撤销临时凭据。

卸载、回退与清理

停止 DSH 后,从同一个 Profile 移除包:

npx --yes @deepseek-ai/[email protected] plugin --profile web remove @xmanrui/dsh-im
  1. 关闭 Session 双向同步只停止 Web → IM 的新增同步,Bot 仍可接收入站消息;要停止远程任务须停用/断开该 Bot,必要时停止 DSH Host。
  2. 先在原会话处理 /stop 与待补发记录,核对任务确已结束,再断开 Bot。普通 Host 重启会保留补发记录;不要把重启当作取消。
  3. 停止 DSH 后按上方命令从同一 web Profile 移除包,重启核对 Bundle 与插件设置入口;再按实际 dataDir 定位附件、状态与缓存,备份后选择性清理。
  4. 到平台撤销或轮换 App Secret、Bot Token、扫码会话;核对本机凭据引用及其他 Bot 是否共用,单独处理平台留存。卸载依赖不会完成这些撤销。
  5. 回退时恢复升级前 Profile、锁文件、插件版本及匹配状态副本。程序和数据的处理见 更新与卸载指南。
  6. 分步直推关闭不撤回平台已发送的过程消息;回退到 4.13.0 前恢复匹配 Profile 与状态备份,并单独处理新增飞书授权。

按症状排查

症状按顺序检查预期现象与停止条件
完全收不到消息Bot 是否连接 → 发件账号/私聊群聊模式 → 平台安装与消息权限允许消息进入对应 Session;身份不明时停用 Bot,不直接改开放模式
已连接但不回复Session 是否收到 → Provider/模型错误 → 平台回传权限与网络同一请求有终态与回复;出现鉴权错误先修对应凭据
执行目录不对Bot 工作区 → 原 Session 绑定 → /new 后新请求新任务使用测试目录;目录异常立即停止任务
等待审批在 DSH 核对具体工具、路径与请求 → 飞书卡片权限/回调 → 命令权限仅处理自己发起的请求;不认识的操作拒绝,不关闭全部审批
长任务一直没结果原 Session 状态 → 是否进入补发 → Host 在线与当前绑定 → 平台发送错误先核对原任务,不重复提交;需要结束时 /stop 后复查
更新后设置入口消失固定版本组合 → 同一 Profile 的 Bundle → 重启 Host仍失败就恢复升级前完整备份,不通过增加权限修复

排查时保留脱敏错误原文、Bot 与 Session 对应关系。凭据、二维码和包含个人消息的状态文件不进入公开工单。

有过程消息却没有最终回答

先查看同一 Session 的任务终态,再查飞书发送失败与权限。长回答按富文本 JSON 字节分段,失败从失败分段恢复,另有文字降级路径;不要把看到工具消息当成最终投递成功。群聊已有话题内的回复按真实话题结构投递,“群话题回复”开关只决定普通群消息是否新建话题。

常见问题

飞书白名单为空,为什么绑定账号仍可操作?

绑定的 owner Open ID 属于特权账号,源码在普通访问策略之外识别它;空白名单不是停用 Bot。要完全停止访问,应断开 Bot 并按需撤销凭据。

机器人可以回答文本,为什么附件仍需谨慎?

文件回传对已连接 Bot 默认可用;插件不额外限制 Harness 可读的文件路径。允许用户与工作区绑定不等于文件系统沙箱,应同时核对 DSH 的工具权限与可读目录。

分步消息出现了,最终结果却没收到

核对 Session 终态和飞书投递错误;过程成功不等于最终成功,不重复提交原任务。

卸载后渠道文字前缀还在

图标样式与持久化标题事件不同;卸载不撤销已追加的 session/title,不手工删除会话日志。

安装成功但页面或命令没有出现

先运行 --dump-config 确认 Bundle 已进入 web Profile,再重启 DSH Web 并硬刷新浏览器。不要通过反复扩大权限来解决加载问题。

插件运行后没有得到预期结果

把问题缩小到本页的最小验证任务,检查作者文档要求的变量、外部服务和平台限制。保存终端错误原文,并核对当前安装目标是否仍对应本页固定提交。

作者固定资料中未识别到独立故障章节。遇到插件特有错误时,应先停止 DSH、保留日志并回退插件。

固定来源证据

以下资料是本文配置结论的依据:

继续查看:返回 dsh-im 插件详情页,重新核对兼容性、权限、同类插件和来源状态。

来源与维护信息

本文根据以下原始资料整理。版本变化后,请以官方资料和页面标注的验证日期为准。

完成当前任务后

按结果继续,不要停在文章末尾

已成功

继续完成配置、验证或下一阶段任务。

继续下一步 →
仍未解决

保留现象和错误原文,再进入对应排障路径。

DSH 安装 Git 插件被 allowBuilds 阻止怎么办 →安装和管理 DeepSeek Harness(DSH)插件 →