dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
dsh plugin --profile <name> add dsh-reachEnglish | 简体中文 | Español | Português | हिन्दी
Multi-channel decision & remote-control bridge for DeepSeek Harness (DSH): pushes any workspace's approval/question cards to IM channels (WeChat iLink, Telegram, Feishu — plus QQ/DingTalk/WeCom v2 drop-in foundations) and answers them from chat, with a session console, per-channel security, and an open push service.
Status: Phase 1–3 complete (WeChat + Telegram + Feishu channels, v0.1.23); v2 channel foundations (QQ/DingTalk/WeCom) on the open `reachChannels` registry.
The design plan, competitor research, official contract verification, and
phased roadmap live in
docs/design/03-rebuild-direction-and-plan.md.Release (GitHub repo + npm publish) follows in a dedicated session.
📖 Ecosystem knowledge base — measured data, not marketing: plugin development guide · plugin-selection data · maintenance criteria.
dsh plugin --profile web add github:PerryLink/dsh-reach# npm channel (published releases)
dsh plugin --profile web add dsh-reach
# git channel (latest main)
dsh plugin --profile web add github:PerryLink/dsh-reach
# alternates
npx @deepseek-ai/dsh plugin --profile web add dsh-reach
dsh1024 plugin --profile web add dsh-reachRestart DSH after installation (bundle patches apply at startup).
这个插件是 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.
Full evidence, including the host-version compatibility matrix: dsh-plugin-supersession-review-20261005.md.
*Workflow overview: install → open panel → act. The examples below use the real command surface.*
Frozen on 2026-10-05. No new features. This package still works, and it is not retired — but it no longer receives feature work. Only a genuine breakage will be fixed.
Maintainers treat this capability as one where better-adopted alternatives now exist, so effort has moved elsewhere. The comparison below was measured on 2026-10-05 and is recorded so nobody has to redo it.
· package · weekly downloads this package · dsh-reach · 600 better-adopted alternative · @xmanrui/dsh-im · 17,384
Why the alternative leads. @xmanrui/dsh-im provides ten channels — WeChat, Feishu, WeCom, DingTalk, QQ, Telegram, WhatsApp, Slack, Discord and Matrix.
Compatibility. declares no dsh peers, so the compatibility guard never blocks it.
What this package still does that the alternatives do not. this package's differentiator was that the same bridge carried approvals and questions back into chat; the rival is far broader in channel coverage
👉 For new work, prefer @xmanrui/dsh-im. Existing installs keep working unchanged; nothing is being removed.
*Full evidence, including the host-version compatibility matrix: dsh-plugin-supersession-review-20261005.md.*
Surface · Status Harness · DeepSeek Harness dsh-v0.2.1-alpha.1 (GitHub tag). Peer range >=0.1.2-rc.1 =0.1.5-alpha.1 =0.1.6-0 =0.1.7-0 =24.0.0
are mirrored to WeChat (iLink/ClawBot) with stable #token ids and P{n} numbering; reply 1/2, P1=1 P2=2, P1=Q1=2, or /rp /rq — answered through the native pending waterfall (first reply wins with the GUI).
deny everyone; unknown senders are audited and never answered.
/next /help` plus native DSH command passthrough.
reach_send tool with an outbound file fence; ratebudget + FIFO re-queue; silent mode; background completion notices.
re-scan/logout).
ctx.get('reachChannels').registerChannel({ id, adapter, priority, ownsChatId, startMonitor }); routing, outbound, and monitor lifecycle are all bridge-owned (QQ/DingTalk/WeCom ride this same path).
These are the plugin's real entry points; install once, then call one.
Command
~~~sh /rp ~~~
Output
~~~text 已拒绝 2 张权限卡。 ~~~
*Observed from tests/bridge.spec.ts:167-174; src/bridge.ts:594-598*
Input
~~~text /rp while 2 approval cards are pending ~~~
Output
~~~text 已拒绝 2 张权限卡。 ~~~
*Observed from plugins/dsh-reach/tests/bridge.spec.ts:167-174; plugins/dsh-reach/src/bridge.ts:594-598; plugins/dsh-reach/README.md:121-136*
/rqThe profile row accepts these keys (Schemastery-validated; invalid values fail the load loudly):
Key · Default · Description crossSessionNotify · true · Push decision cards from ANY workspace/session (master switch) notifyTaskEvents · false · Background task finished/errored notifications cardTimeoutSec · 1800 · Decision-card soft timeout in seconds (0 = wait forever) approvalOnTimeout · delegate · Timed-out card policy: delegate (GUI chain) / reject / wait textChunkLimit · 4000 · Long reply chunk limit per message, in characters silent · false · Only final replies, no per-step streaming cwd · '' · Default working directory for new IM sessions ('' = host cwd) baseUrl / cdnBaseUrl / botType · iLink defaults · WeChat gateway, media CDN, bot type allowFrom · [] · Sender allowlist (empty = fail-closed; first sender = owner) queueMode · queue · Busy delivery: queue or steer maxQueue / sendBudget / windowSec · 50 / 10 / 60 · Queue cap, per-window send budget, window seconds denyUnauthorized · false · Silently ignore (true) or notice (false) unknown senders 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
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 packAll PerryLink plugins are browsable in the built-in DSH Desktop Market: Market → Sources → add source → paste https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → select it. Installation still goes through the Market's npm-identity verification and your confirmation.
Verified against DSH `0.2.0-rc.2` (the runtime this README ships for) and the high-star plugin set surveyed on 2026-10-05.
This plugin does not interfere with other plugins, including the widely installed high-star ones:
reach, reachChannels, reachPush; those keys are not a built-in seam and are not provided by any surveyed high-star plugin.shadows-shipped-ui seat.webServer prefix.inserts its own row; it never overrides a built-in row's config.process.env, or replace the global fetch dispatcher.Shared event listeners are non-interfering by construction. It observes the ordering-sensitive events approval/request, user-questions/request with ctx.on() — Cordis's broadcast registration, where every listener runs and none can starve another. Every listener here delegates through `next()`, so the chain is never short-circuited, and a mutation is applied to the value next() produced rather than returned in its place:
Static evidence: dsh-plugin-doctor K10–K13 report pass for every check on this repository.
This project is part of the DeepSeek Harness plugin family from PerryLink. The roster stays collapsed below so every README keeps a short first screen; expand it to see every row and its status.
Expand all plugins
Plugin · Status dsh-aqua-input-check · dsh-archive-check · dsh-auto-review · dsh-autotier · dsh-bid-ca-precheck · dsh-bid-qual-check · dsh-cert-mcp · dsh-checkpoint-rewind · dsh-click · dsh-composer-history · dsh-contract-stance · dsh-customs-doc-check · dsh-data-quality · dsh-demurrage-ledger · dsh-doublecheck · dsh-drill-script-check · dsh-eia-guide-check · dsh-emergency-plan · dsh-essay-rubric-check · dsh-evidence-check · dsh-export-ctl-check · dsh-fast · dsh-fmea-table-check · dsh-forecast-penalty · dsh-fund-research · dsh-github · dsh-gongwen-flow-check · dsh-gongwen-word-check · dsh-guard-plan-qc · dsh-hazchem-check · dsh-hazplan-check · dsh-hidden-risk-map · dsh-hs-classify · dsh-icd-rule-check · dsh-industry-research · dsh-lawcite-adapter · dsh-laya · dsh-lc-doc-check · dsh-learning-gap-check · dsh-library · dsh-local-ai · dsh-lsp-actions · dsh-mask · dsh-mcp-panel · dsh-medrec-qc · dsh-memento · dsh-nsfc-form-check · dsh-nurse-record-check · dsh-observe · dsh-origin-rvc-check · dsh-ota-review-check · dsh-output-styles · dsh-paper-doc-adapter · dsh-permission-rules · dsh-permit-report-check · dsh-pipeline-check · dsh-pleading-draft · dsh-plugin-doctor · dsh-plugin-guide · dsh-plugin-kit · dsh-plugin-upgrade · dsh-policy-brief-draft · dsh-power-loss-split · dsh-power-ticket-check · dsh-ppap-check · dsh-protest-deadline · dsh-railway-window · dsh-repair-order-qc · dsh-research-report · dsh-review-reply-check · dsh-rulefile-check · dsh-safety-brief-check · dsh-score · dsh-session-sync · dsh-site-log-check · dsh-skill-pack-security · dsh-soe-decision-check · dsh-soilwater-check · dsh-sop-sync-check · dsh-spc-gbt-adapter · dsh-talk · dsh-tender-extract · dsh-tender-matrix · dsh-test-drive · dsh-ticktick · dsh-translate · dsh-warranty-calc · dsh-budget · 🧊 FROZEN — see the repo README dsh-claude-move · 🧊 FROZEN — see the repo README dsh-defend · 🧊 FROZEN — see the repo README dsh-draw · 🧊 FROZEN — see the repo README dsh-reach · 🧊 FROZEN — see the repo README dsh-background-agents · 🚫 RETIRED — see the repo README dsh-session-pin · 🚫 RETIRED — see the repo README dsh-team-rooms · 🚫 RETIRED — see the repo README
Apache-2.0. Third-party notices in THIRD_PARTY_NOTICES.md.