dsh-reach
消息通讯 活跃维护

dsh-reach

PerryLink/dsh-reach

作为多渠道决策与远程控制桥接工具,默认优先支持微信iLink渠道推送任意工作空间的审批、提问类卡片,用户无需跳转工作台即可在即时通讯端直接完成回复处理,操作更便捷。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
TypeScript
主要语言
Apache-2.0
开源协议
504 KB
仓库大小
11 天前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:PerryLink/dsh-reach
git clone https://github.com/PerryLink/dsh-reach.git
git clone git@github.com:PerryLink/dsh-reach.git
README.md main

dsh-reach

License
DSH plugin
dsh-doctor
Gitee
CI
Version
npm version
npm downloads

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.7); 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.

Compatibility

Surface Status
Harness DeepSeek Harness dsh-v0.1.5-rc.1 (GitHub tag). npm dependency line: @deepseek-ai/dsh 0.1.5-rc.1 (peers >=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0). Verified 2026-09-10 against the dsh-v0.1.5-rc.1 master checkout (full gate chain + profile install smoke).
Node ^22.19.0 \|\| >=24.0.0

Features (Phase 1)

  • Cross-session decision push: approval/question cards from ANY workspace
    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).
  • Fail-closed security: first sender becomes the owner; empty allowlists
    deny everyone; unknown senders are audited and never answered.
  • Session console: /status /silent /notify /tasks /enter /history /stop /next /help plus native DSH command passthrough.
  • Proactive push: the reach_send tool with an outbound file fence; rate
    budget + FIFO re-queue; silent mode; background completion notices.
  • Settings tab: Settings → Plugins → IM Bridge (status, switches,
    re-scan/logout).
  • Open channel registry: third-party plugins register a channel via
    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).

Install

npx @deepseek-ai/dsh plugin --profile web add dsh-reach
dsh1024 plugin --profile web add dsh-reach

Restart DSH after installation (bundle patches apply at startup).

Configuration

The 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

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

Install from the DSH Desktop Market

All 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.

PerryLink DSH Plugin Family

This project is one of the 37 DeepSeek Harness plugins maintained by PerryLink. If this one helps you, the others likely will too:

Plugin One-liner
dsh-auto-review Second-model auto-review on the approval chain, fail-closed by default
dsh-background-agents Durable background child agents with a Web UI sidebar, messaging and interrupt
dsh-budget Cost governance for DeepSeek Harness: budgets, carbon, and latency in one panel.
dsh-checkpoint-rewind Claude Code /rewind-equivalent: snapshots, session forks, one-shot restore
dsh-claude-move Migrate Claude Code sessions, memory, skills and CLAUDE.md into DSH
dsh-click Cross-platform native desktop control for DeepSeek Harness — Windows first.
dsh-composer-history Terminal-style input history for the web composer: arrows, Ctrl+R search
dsh-data-quality Dataset quality checks and citation cross-checks (the optional numeric bridge consumed here)
dsh-defend Prompt-injection, jailbreak, and secret-leak defense for DeepSeek Harness.
dsh-doublecheck Engineering-discipline guard: requirements grill, test gates, adversary review
dsh-draw Unified static-image generation routing for DeepSeek Harness.
dsh-fast Read-only performance diagnostics for DeepSeek Harness.
dsh-fund-research Deterministic research reports for Chinese public mutual funds
dsh-github GitHub PR/issues integration for DSH, every write gated by approval
dsh-industry-research Industry research orchestration that seals its deliverables through this plugin's ctx.researchReport.assemble
dsh-library Local document knowledge base for DeepSeek Harness.
dsh-local-ai Local-model (Ollama) integration for DeepSeek Harness.
dsh-lsp-actions LSP diagnostics, formatting, completion, code actions and rename over language servers
dsh-mask PII masking middleware: anonymize at the model boundary, restore at the display layer
dsh-mcp-panel Read-only MCP runtime panel: /mcp command + Settings tab with status, tools and errors
dsh-memento Approval-gated cross-session memory: ctx.memory seam + SQLite + memory tool
dsh-observe OpenTelemetry and Langfuse observability exporter for DeepSeek Harness.
dsh-output-styles Claude Code outputStyles-equivalent runtime style switching
dsh-permission-rules Claude Code-style declarative allow/deny/ask permission rules with audit
dsh-personal-directive Personal directive injector with top-bar toggle (framework edition)
dsh-plugin-guide Plugin-development knowledge base as an on-demand agent skill
dsh-research-report Verifiable research-report engine: content-addressed evidence ledger and sealed versions
dsh-score Multi-dimensional quality scoring for DeepSeek Harness plugins.
dsh-session-pin Pin sessions in the Web sidebar with durable ordering
dsh-session-sync Cross-device session sync for DeepSeek Harness — a dedicated git mirror of your session store.
dsh-skill-pack-security Security-audit skill pack: secret scan, dependency and supply-chain review
dsh-talk Voice-first session loop for DeepSeek Harness: talk to it, hear it answer.
dsh-test-drive Isolated install-and-smoke test drives for DeepSeek Harness plugins.
dsh-translate Vendor parameter translation and deterministic JSON repair for DeepSeek Harness.
dsh-ticktick TickTick/Dida365 task bridge: session-header panel + 11 tools
dsh-wechat WeChat ↔ DSH bridge (Tencent iLink bot): text/image/file/voice, approvals in chat

Install from the DSH Desktop Market

All 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.

License

Apache-2.0. Third-party notices in THIRD_PARTY_NOTICES.md.