Building the DeepSeek Harness plugin ecosystem: 40 open-source plugins (dsh.bundle plugins) — 45 repos in the family (Apache-2.0) across security, workflows, research, messaging bridges, and developer experience — plus the DSH Desktop Market catalog, a plugin-certification registry, and the dsh-plugin-doctor CI checker. 39 of the 45 repos ship five-language READMEs, and every plugin ships CI, npm provenance, and a Gitee mirror — 63.9k npm downloads in August plus 51.2k in September so far (115.1k over the last 30 days). I also contribute upstream to Cordis, the plugin-core framework DeepSeek Harness itself is built on.
DeepSeek Harness turned "everything is a plugin" into an ecosystem. I build the plugins I wish existed — engineering-discipline guardrails, runtime panels, cross-session memory, and verifiable research engines — and publish them the way production software deserves.
- The whole family moved twice in one day. In the afternoon every plugin repo adopted the
dsh-v0.1.5-rc.2host line — the same two-commit change everywhere (pin@deepseek-ai/dsh-*, refresh the five-language compatibility baseline) — 39 repos migrated and 42 Releases shipped in one pass. In the evening the same fleet ran a second synchronized pass: 42 repos refreshed their five-language READMEs and the shared family roster at once. The day closed at 198 commits across 46 repos and 45 GitHub Releases. - A few releases worth opening — dsh-permission-rules 0.7.1 → 0.7.2 splits the pure allow-host helpers out of the host-only module (PR #24); dsh-team-rooms 1.0.1 is day two of the extracted plugin; dsh-plugin-doctor 0.2.2 stopped passing a stale peer range it merely failed to recognise; dsh-mask 0.2.10 and dsh-auto-review 0.12.4 tightened their docs and tests. Alongside them the usual hygiene batch: restored em dashes and Chinese evidence markers, the byte-order marks the release gate forbids, and two plugins now reading their version from the package manifest instead of a hardcoded string.
- Snapshot — 950★ across the 45 family repos (40
dsh.bundleplugins + 5 support repos) · 40 live repos declaring thedsh.bundlecontract · 44 published npm packages (38 bare + 6 scoped; two are the deprecated legacy names retired by the upgrade-corridor merge) · 679 versions · 63.9k downloads in August plus 51.2k in September so far (115.1k over the last 30 days; npm's published series reaches Sep 10, with Sep 3, 7 and 8 missing registry-wide) · 104 public Gitee repos.
- dsh-team-rooms 1.0.0 — team rooms extracted out of dsh-background-agents into a standalone plugin: cross-session rooms with a message bus, a shared task board, approval-gated handoffs and a timeline that survives restarts.
- dsh-plugin-upgrade-015 0.1.0 and the re-pointed registry — the two upgrade corridors merged into one package (npm rejected the original name, so it ships as
-015), a one-shot workflow deprecated the two retired npm names, and dsh-plugin-doctor moved its verified registry over and enrolled dsh-team-rooms.
| Plugin | What it gives you | Install |
|---|---|---|
| dsh-auto-review | Second-model auto-review on the approval chain, fail-closed by default (158★) | dsh plugin --profile web add dsh-auto-review |
| dsh-permission-rules | Claude Code-style declarative allow/deny/ask rules plus a process-level network policy (114★) | dsh plugin --profile web add dsh-permission-rules |
| dsh-memento | Approval-gated cross-session memory (ctx.memory + SQLite) (85★) |
dsh plugin --profile web add dsh-memento |
| dsh-mcp-panel | MCP management console: /mcp + Settings tab + trial calls (55★) |
dsh plugin --profile web add dsh-mcp-panel |
| dsh-checkpoint-rewind | Claude Code /rewind equivalent: git-first snapshots, session forks, one-shot restore (17★) |
dsh plugin --profile web add dsh-checkpoint-rewind |
| dsh-autotier | Automatic strong/cheap model-tier routing with deterministic risk guards and a /tier command (new) |
dsh plugin --profile web add dsh-autotier |
One-command starter pack: dsh-kit — installs the core family in one command.
| Plugin | What it gives you | npm |
|---|---|---|
| dsh-research-report | Verifiable research reports: content-addressed evidence ledger, manifest seal hash, byte-level citation checks, drift detection, disproof ledger | npm |
| dsh-fund-research | Chinese mutual-fund research with sealed, traceable snapshots — every number traces to a hashed source | npm |
| dsh-industry-research | Industry/company research: chain-map SVG with bottleneck detection, timeline, company cards, adversarial review | npm |
| dsh-data-quality | Deterministic data profiling/cleaning/verification: DAMA scorecard, content-hash dedupe, metric expectations | npm |
| Plugin | One-liner | npm |
|---|---|---|
| dsh-defend | Injection/jailbreak/secret detection + destructive-delete gate | npm |
| dsh-permission-rules | Declarative allow/deny/ask rules + a local HTTP/CONNECT network policy | npm |
| dsh-mask | PII masking/sanitization | npm |
| dsh-skill-pack-security | Security-audit skill pack + supply-chain gate | npm |
| Plugin | One-liner | npm |
|---|---|---|
| dsh-background-agents | Durable background child agents with a Web UI sidebar, messaging and interrupt | npm |
| dsh-team-rooms | Cross-session team rooms: shared message bus, task board, approval-gated handoffs and a timeline that survive restarts | npm |
| dsh-checkpoint-rewind | Snapshots, forks, one-shot restore | npm |
| dsh-github | GitHub PR/issue integration + Action, writes approval-gated | npm |
| dsh-claude-move | Migrate Claude Code/Codex/OpenCode/Hermes into DSH | npm |
| dsh-click | Desktop control tools (Windows/macOS) | npm |
| dsh-session-sync | Git-backed session synchronization | npm |
| dsh-test-drive | Install→smoke→uninstall test driver for plugins | npm |
| Plugin | One-liner | npm |
|---|---|---|
| dsh-composer-history | Terminal-style input history for the web composer | npm |
| dsh-output-styles | Runtime-switchable model output styles | npm |
| dsh-session-pin | Pin sessions in the Web sidebar | npm |
| dsh-memento | Approval-gated cross-session memory protocol | npm |
| Plugin | One-liner | npm |
|---|---|---|
| dsh-auto-review | Second-model auto-review on the approval chain | npm |
| dsh-doublecheck | Engineering-discipline guard: grill, gates, adversary review | npm |
| dsh-score | Plugin quality scoring across git/gh/npm | npm |
| Plugin | One-liner | npm |
|---|---|---|
| dsh-autotier | Automatic strong/cheap model-tier routing with deterministic risk guards | npm |
| dsh-budget | Token/cost metering, budget caps, carbon estimate, latency benchmarks | npm |
| dsh-observe | OTel/Langfuse telemetry export | npm |
| dsh-fast | Performance diagnostics | npm |
| Plugin | One-liner | npm |
|---|---|---|
| dsh-draw | Image-generation routing | npm |
| dsh-translate | Translation + JSON repair | npm |
| dsh-talk | Speech recognition and voice I/O | npm |
| dsh-library | Local knowledge-base RAG | npm |
| dsh-local-ai | Ollama LLM provider and routing | npm |
| Plugin | One-liner | npm |
|---|---|---|
| dsh-lsp-actions | LSP diagnostics/formatting/completion/actions | npm |
| dsh-mcp-panel | MCP management console | npm |
| dsh-plugin-guide | Plugin-dev knowledge base + CLI toolchain + release-engineering guide | npm |
| dsh-plugin-upgrade-015 | Merged plugin-author upgrade corridor (0.1.3-alpha.1 → 0.1.5-rc.1): evidence-bound version card + zero-dependency 20-seam scanner (bundle skill + npx CLI) |
npm |
Support repos: dsh-plugin-kit (review-rule meta package) · dsh-catalog (DSH Desktop Market catalog source) · dsh-cert-mcp (certification MCP server) · dsh-kit (one-command installer) · dsh-plugin-doctor (plugin health checker)
| Plugin | One-liner | npm |
|---|---|---|
| dsh-wechat | WeChat ↔ DSH bridge (Tencent iLink bot): text/image/file/voice, approvals in chat — developed with pan17, who now hosts the repo and publishes the npm package | npm |
| dsh-ticktick | TickTick/Dida365 task bridge: session-header panel + 11 tools | npm |
| dsh-reach | Multi-channel approval/question bridge: WeChat/Telegram/Feishu, session console | npm |
| Plugin | One-liner | npm |
|---|---|---|
| dsh-data-quality | Data profiling/cleaning/verification | npm |
| dsh-fund-research | Mutual-fund research, sealed traceable snapshots | npm |
| dsh-industry-research | Industry/company research domain pack | npm |
| dsh-research-report | Verifiable research-report engine | npm |
- Cordis — the upstream plugin-core framework that powers DeepSeek Harness. Contributor: merged PR #122 (Windows + macOS CI, contributor badge) · 45-patch real-world regression suite + verification for the merged include-journal fix PR #121 · reported issue #112 with an initial fix (PR #116, superseded by #121) · open issue #124 (NodeNext type declarations, evidence + local fix) · open PR #126 (ship
srcin core/loader/timer tarballs, CI green) · 18-item errata for the Cordis paper. - cordiverse/http — open issue #14: the README documents a
Responsewrapper thatctx.http()no longer returns, with repo-verified line references and a README-only fix. - schemastery — the schema framework used across the DSH stack: filed issue #77 (ESM/NodeNext consumption gap, full evidence) and two open PRs — #78 (exports map + dual declarations) and #79 (repair the test-runner flag and a stale i18n expectation).
- dsh-handbook — the official DSH handbook: two merged PRs (#67, #68).
- Security — published advisory GHSA-j922-p6h6-p255 for dsh-permission-rules (medium, patched in 0.6.16).
- Official harness repo — it does not accept external pull requests (verified:
GET /repos/deepseek-ai/deepseek-harness/pullsreturns 404 and CONTRIBUTING.md says so), so that line runs through issues, Discussions (the Show Your Plugins! post #6104) and the plugin ecosystem instead. - Directory & hub submissions — 35 plugins published on DSH Directory (29 submission issues authored via alexchenzl/dsh-plugin-directory) · 149 open [Submission] issues tracked on the omdsh hub · curated entries merged into awesome-dsh-plugin, 0xsline/awesome-deepseek-harness, the AdamPlatin123 radar, and Zhiyuan-Fan's list.
- GitHub (this profile) — source, CI, releases
- Gitee — 104 public repos, with 43 family repos mirrored automatically (branches + tags)
- npm — 44 packages published with CI provenance (38 bare + 6 scoped; two are the deprecated legacy names retired by the upgrade-corridor merge)
- DSH Desktop Market — add the catalog source
https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.jsonunder Market → Sources to browse all 40 family packages in-app (curated summaries + icons, contract-validated, CI-smoked)
Listed on awesome-dsh-plugin (36 entries), DSH Directory (35 published), Awesome DeepSeek Harness, awesome-deepseekharness, Zhiyuan-Fan's list, the AdamPlatin123 radar, dsh-market (via the awesome-dsh-plugin registry), dsh-suite, and ZeroPointRepo's list. Auto-indexed on deepseek1024.com (36 entries). Certification: dsh-plugin-certification.
我在 DeepSeek Harness 上把 Claude Code / Codex 生态里最实用的能力做成了开源插件:检查点回退、声明式权限、输出风格、跨会话记忆、MCP 面板、模型档位路由、微信/TickTick 桥接,以及可验证研究报告 / 基金研究 / 行业研究 / 数据质量「研究四件套」——共 40 个插件(Apache-2.0),全部带五语文档、CI、npm 发布与 Gitee 镜像。一键全家桶:dsh-kit。同时我也是 DeepSeek Harness 上游核心框架 Cordis(cordiverse/cordis)的贡献者:Windows/macOS CI 已合并(#122),为 include-journal 修复(#121)提供了 45 个真实补丁文件的回归套件与验证,tarball 打包修复 PR(#126)与 NodeNext 类型声明 issue(#124)在途,并向 schemastery 提交了 ESM 消费面 issue(#77)与两枚 PR(#78/#79)。
2026-09-12 轮:① 全家族一天两波推进——下午 39 个仓统一迁到 dsh-v0.1.5-rc.2 宿主线(全家族同一套两提交改动:钉 @deepseek-ai/dsh-*、刷新五语兼容基线),42 个 Release 当波发出;傍晚同一批仓再同步刷一遍,42 个仓一次性刷新五语文档与家族名册。全天 46 个仓 198 次提交、45 个 GitHub Release;② 几个值得点开的版本——dsh-permission-rules 0.7.1 → 0.7.2 把纯 allow-host 辅助函数从 host-only 模块拆出(PR #24),dsh-team-rooms 1.0.1 是抽独立后的第二天,dsh-plugin-doctor 0.2.2 不再对"只是没被识别"的 peer range 放行,dsh-mask 0.2.10 与 dsh-auto-review 0.12.4 收紧文档与用例;同批还有例行卫生修复(修回被弄坏的破折号与中文证据标记、清掉发布门禁禁止的 BOM、两个插件改为从 package.json 读版本);③ 快照——家族 950★(45 仓:40 个 dsh.bundle 插件 + 5 个支撑仓)· 40 个存活仓声明 dsh.bundle · npm 44 包(38 裸名 + 6 scoped,其中两个是升级走廊合并后弃用的旧名)· 679 版本 · 8 月 63.9k + 9 月 51.2k(近 30 天 115.1k;npm 已公布序列到 09-10,09-03/07/08 全站缺失)· Gitee 公开仓 104。
2026-09-11 轮:① dsh-team-rooms 1.0.0——从 dsh-background-agents 中抽出成为独立插件:跨会话房间,带消息总线、共享任务板、审批门控的交接与可跨重启存活的时间线;② dsh-plugin-upgrade-015 0.1.0 与 verified 注册表改指——两条升级走廊合并为一个包(npm 拒绝原包名,故以 -015 发布),用一个一次性 workflow 弃用两个退役包名,dsh-plugin-doctor 把 verified 注册表改指过去并纳入 dsh-team-rooms。
待业中。近期考虑给自己安排一次体检。因此最近将减少熬夜,后续的更新迭代节奏会适当放缓。当然,问题和缺陷修复不会停,只是发布频率会降低一些,还请大家谅解。





