把 DSH 的审批卡与提问卡推送到 IM 渠道(先支持微信),可在聊天里直接作答,带会话控制台、逐渠道安全与开放推送服务。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-reach
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:PerryLink/dsh-reach
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
English | 简体中文 | Español | Português | हिन्दी
dsh plugin --profile <name> add dsh-reach
面向 DeepSeek Harness(DSH)的多渠道决策与远程控制桥:把任意工作区的审批/提问卡推送到 IM 通道(微信 iLink、Telegram、飞书——另含 QQ/钉钉/企微 v2 drop-in 基座),并可在聊天中直接答复;附带会话控制台、每通道安全策略与开放推送服务。
状态:Phase 1–3 完成(微信 + Telegram + 飞书通道,v0.1.22);v2 通道基座(QQ/钉钉/企微)基于开放
reachChannels注册表落地。 设计计划、竞品调研、官方契约核实与分阶段路线见docs/design/03-rebuild-direction-and-plan.md。
📖 生态实测知识库(实测数据,不是营销):插件开发指南 · 选型实测数据 · 维护取舍判据。
Install
dsh plugin --profile web add github:PerryLink/dsh-reach
npx @deepseek-ai/dsh plugin --profile web add dsh-reach
dsh1024 plugin --profile web add dsh-reach
安装后需重启 DSH(bundle 补丁在启动时生效)。
What is dsh-reach?
完整证据(含宿主版本兼容矩阵)见 dsh-plugin-supersession-review-20261005.md;英文版见 README.md 的 Maintenance status: 🧊 FROZEN 一节。
工作流概览:安装 → 打开面板 → 操作。下面的示例使用实际命令面。
同一次运行,动图版。
维护状态:🧊 已冻结
2026-10-05 起冻结,不再新增功能。 本包仍可正常使用,没有退役——但不再投入功能开发,只有真实故障才会修复。
维护者判定该能力面已出现采用度更高、更值得推荐的替代方案,因此把精力移到了别处。
| 包 | 周下载量 | |
|---|---|---|
| 本包 | dsh-reach |
600 |
| 更值得推荐的替代品 | @xmanrui/dsh-im |
17,384 |
为什么替代品更强。 @xmanrui/dsh-im 覆盖十个通道——微信、飞书、企微、钉钉、QQ、Telegram、WhatsApp、Slack、Discord、Matrix。
本包仍然独有的能力。 this package's differentiator was that the same bridge carried approvals and questions back into chat; the rival is far broader in channel coverage
👉 新工作请优先使用 @xmanrui/dsh-im。 已安装的照常可用,没有任何东西被移除。
完整证据(含宿主版本兼容矩阵)见 dsh-plugin-supersession-review-20261005.md;英文版见 README.md 的 Maintenance status: 🧊 FROZEN 一节。
⭐ 如果它帮到了你
这个插件是 DSH 插件家族的一员(95 个,全部 Apache-2.0)。如果你在用,给个 star —— 它不会解锁任何功能,但会让下一个人在搜索里更容易找到它。
English: part of a 95 plugin family for DeepSeek Harness. If it is useful, a star helps the next person find it — nothing is gated behind it.
兼容性
| 方面 | 状态 |
|---|---|
| Harness | DeepSeek Harness dsh-v0.2.1-alpha.1(GitHub tag)。peer 区间 >=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0;dev/test 钉号刻意留在已发布的 0.1.7-rc.2 线——那正是 typecheck:ci 尺子所量的面(typecheck 尺子则经 tsconfig.json 的 paths 量 checkout 面)。已于 2026-09-24 跑完整门禁链核验;裸装 + scratch profile + keyless 冒烟由 Compat 工作流在每个 PR 上执行。 |
| Node | ^22.19.0 || >=24.0.0 |
Features (Phase 1)
- 跨会话决策推送:任意工作区的审批/提问卡镜像到微信(iLink/ClawBot),带稳定
#token卡号与P{n}编号;回复1/2、P1=1 P2=2、P1=Q1=2或/rp/rq——经原生 pending 瀑布应答(与 GUI 谁先回复谁生效)。 - 安全默认 fail-closed:首位发送者成为 owner;白名单为空拒绝所有人;陌生发送者只审计不回复。
- 会话控制台:
/reach /help /status /silent /notify /tasks /enter /workspace /session /preset /model /perm /history /stop /next+ DSH 原生命令透传。 - 主动推送:
reach_send工具(出站文件围栏)、限流预算 + FIFO 补发、静默模式、后台完成通知。 - 设置页:设置 → 插件 → IM 桥接(状态、开关、重新扫码/退出登录)。
- 开放通道注册表:第三方插件通过
ctx.get('reachChannels').registerChannel({ id, adapter, priority, ownsChatId, startMonitor })挂载通道;路由、出站与监视器生命周期全部由桥接层托管(QQ/钉钉/企微走同一路径)。
示例
以下为插件真实入口;安装后调用一个即可。
详细示例
命令
/rp
输出
已拒绝 2 张权限卡。
来源 tests/bridge.spec.ts:167-174; src/bridge.ts:594-598
失败分支
输入
/rp while 2 approval cards are pending
输出
已拒绝 2 张权限卡。
来源 plugins/dsh-reach/tests/bridge.spec.ts:167-174; plugins/dsh-reach/src/bridge.ts:594-598; plugins/dsh-reach/README.md:121-136
简短示例
/rq
Configuration
profile 行支持以下键(Schemastery 校验,非法值加载期响亮失败):
| 键 | 默认值 | 说明 |
|---|---|---|
crossSessionNotify |
true |
推送任意工作区/会话的决策卡(总闸) |
notifyTaskEvents |
false |
后台任务完成/报错通知 |
cardTimeoutSec |
1800 |
决策卡软超时(秒;0 = 永久等待) |
approvalOnTimeout |
delegate |
超时策略:delegate(交回 GUI)/ reject / wait |
textChunkLimit |
4000 |
长回复单条消息分段上限(字符) |
silent |
false |
静默模式:只发最终回复 |
cwd |
'' |
新 IM 会话默认工作目录('' = 宿主 cwd) |
baseUrl / cdnBaseUrl / botType |
iLink 默认 | 微信网关 / 媒体 CDN / bot 类型 |
allowFrom |
[] |
发送者白名单(空 = 全部拒绝;首位发送者 = owner) |
queueMode |
queue |
繁忙投递:queue 排队 / steer 插话 |
maxQueue / sendBudget / windowSec |
50 / 10 / 60 |
排队上限、窗口发送预算、窗口秒数 |
denyUnauthorized |
false |
未授权发送者:静默忽略(true)或友好提示(false) |
authCode |
'' |
Shared secret the IM side must present before a message is accepted |
digestSec |
300 |
Digest window in seconds (0 disables the digest) |
pushToken |
'' |
Token for the open push service (reach_send HTTP surface) |
telegramToken |
'' |
Telegram bot token for the Telegram channel |
Development
pnpm install
pnpm run typecheck && pnpm run typecheck:ci && pnpm test
pnpm run build && pnpm run verify:self-contained && pnpm run verify:artifacts
pnpm run check:readmes && pnpm pack
从 DSH Desktop 市场安装
所有 PerryLink 插件均可在 DSH Desktop 内置市场中浏览:市场 → 来源 → 添加来源 → 粘贴 https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → 选中。安装仍需通过市场的 npm 身份校验与你的确认。
Interoperability with other DSH plugins
已对照 DSH 0.2.0-rc.2(本 README 面向的运行时)与 2026-10-05 实测的高星插件集验证。
本插件不干扰其他插件,包括广泛安装的高星插件:
- 无工具名冲突。 所有工具都带命名空间,不占用任何已被内置工具或其他插件持有的裸名。
- 无服务键冲突。 只提供
reach,reachChannels,reachPush;该键既不是内置 seam,也没有被任何已调研的高星插件提供。 - 无 slot 冲突。 不注册客户端 slot key,因此不参与
shadows-shipped-ui座位争抢。 - 无 HTTP 路由冲突。 不注册任何
webServer前缀。 - 无 patch 层冲突。 组合包 patch 只
insert自己那一行,从不覆写内置行的config。 - 无全局改写。 不改原型、不改写
process.env、不替换全局 fetch dispatcher。
共享事件监听器在构造上就不互相干扰。 它用 ctx.on() 监听顺序敏感事件 approval/request, user-questions/request —— Cordis 的广播语义:每个监听器都会运行,任何一个都无法饿死其他监听器。此处每个监听器都通过 next() 委托,因此链条绝不会被短路;改写作用在 next() 产出的值上,而不是用它顶替返回:
静态证据:dsh-plugin-doctor 的 K10–K13 在本仓全部为 pass。
PerryLink DSH Plugin Family
本项目是 PerryLink 维护的 DeepSeek Harness 插件家族成员。完整名单默认折叠,避免每个 README 的首屏被长表淹没;点击展开可查看每一行及其状态。
License
Apache-2.0。第三方声明见 THIRD_PARTY_NOTICES.md。
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-remote-web-ui★ 8835
手机/PC 远程操控 dsh web 工作区:扫码配对、令牌门控通道、SSE 实时同步,提供移动端与完整桌面 GUI 两种远程形态。
zhu1090093659/dsh-web#packages/dsh-ssh★ 8835
SSH 远程运维面板:Web 终端、SFTP 传输、本地端口转发与一条命令并发集群执行,Agent 与面板共用同一份主机配置。
saya-ch/dsh-mobile★ 479
通过 Android App 或手机浏览器访问 DeepSeek Harness,支持安全局域网连接、远程访问、持久设备配对和可自定义移动界面。
liguobao/ds-harness-remote★ 345
DeepSeek Harness 多端远程访问:从手机、平板、浏览器或另一台电脑继续进行中的会话,端到端加密通道(Noise IK + 自适应 Relay/WebRTC 传输),设备授权管理;远程端仅开放 ApiProxy 能力,支持 dsh-file-viewer 只读文件预览,不提供 Shell、远程桌面或写入权限。
ZSeven-W/dsh-ios★ 326
在对话里直接操作 iOS 模拟器或 USB 连接的 iPhone:22 个 Agent 工具用于启动、构建、按无障碍标识或 OCR 文本驱动 UI、列表行操作与 SwiftUI 预览热重载,并附带可点击拖拽的流式侧边栏面板。
wenbin-wb/dsh-bridge★ 199
DeepSeek Harness 远程与移动端接入插件:提供局域网扫码直连、Cloudflare 与自建公网隧道,以及微信、QQ、飞书、Telegram 机器人交互,内置安全认证与访问控制。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。