I fix other people's projects, and I maintain a plugin family for DeepSeek Harness. Independent open-source developer in Beijing — not affiliated with DeepSeek, and not a DeepSeek employee.
Upstream — 416 merged pull requests in 80 repositories that are not mine, from AWS, Apple, Docker, Microsoft, NVIDIA, Redis, Tencent and the vLLM project down to one-person projects. The family — 91 actively maintained Apache-2.0 plugins in a 103-repo family: security, workflows, research, messaging bridges, developer experience, and since 2026-10-08 a set of 53 compliance checkers that read a register or record set against a versioned rule pack and report the differences. Every plugin has one page at perrylink.github.io — 114 pages, complete in the served HTML with no JavaScript rendering them, so a reader who arrives from a search result sees the text rather than a loading state.
| Plugin | What it gives you | Install |
|---|---|---|
| dsh-auto-review | Second-model auto-review on the approval chain, fail-closed by default (234★) | dsh plugin --profile web add dsh-auto-review |
| dsh-research-report | Verifiable research reports: content-addressed evidence ledger, manifest seal hash, byte-level citation checks, drift detection, disproof ledger (213★) | dsh plugin --profile web add dsh-research-report |
| dsh-industry-research | Industry/company research: chain-map SVG with bottleneck detection, timeline, company cards, adversarial review (214★) | dsh plugin --profile web add dsh-industry-research |
| dsh-memento | Approval-gated cross-session memory (ctx.memory + SQLite) (138★) |
dsh plugin --profile web add dsh-memento |
| dsh-permission-rules | Claude Code-style declarative allow/deny/ask rules plus a process-level network policy (126★) | dsh plugin --profile web add dsh-permission-rules |
| dsh-mcp-panel | MCP management console: /mcp + Settings tab + trial calls (77★) |
dsh plugin --profile web add dsh-mcp-panel |
Separate from the harness: I train small language models. Phocinae-Largha-150M-v1 (Apache-2.0) is a typed decision model — no text generation; one forward pass returns a verdict per question with calibrated confidence. GPU 21.0 ms (RTX 5090) p50 per decision, CPU-only 1.64 s per case; English typed-decisions 0.906 (400 cases / 2,000 decisions, re-measured 2026-10-09), Chinese (machine-translated eval set) 0.848. With a τ=0.6 escalate gate, 55.0% of agent decisions stay local (79.6% at τ=0.5) and kept-subset accuracy moves 0.906 → 0.9936 (+0.0876) — the gate makes the system better, not just cheaper. Weights on Hugging Face and ModelScope; server pip install phocinae-server, DSH bundle npm i dsh-phocinae. Reproduction ships with the repo: seeds, row-set hashes, environment and eval scripts.
The family publishes public evidence and scores instead of another star ranking:
- dsh-score — per-surface evidence registry, badges, bench runner and contribution receipts. Live: https://perrylink.github.io/dsh-attention-index/. Prior-only rows are E0 / unrated; paired
with/withoutbench results are the only path to a quality slot. Repo rename todsh-score-indexpending. - dsh-community-bench — the in-app consumer: Settings → Plugins → Community Bench. It reads the public registry; it does not compute a local score.
dsh plugin --profile web add dsh-community-benchEvery repository below is external to PerryLink/*, every row is merged work, and open proposals are
deliberately not listed. ★ re-measured 2026-10-19 for every row; the third column names the party that
owns the project, because the account name alone does not say whether that is a company, a standards body
or one person. Every external repository above 2,500★ that carries merged work is listed.
| Repository | ★ | 项目归属方 |
|---|---|---|
| deer-flow | 84,125 | ByteDance — the official bytedance org |
| ruflo | 76,850 | ruvnet (rUv / Reuven Cohen) — individual maintainer |
| reactive-resume | 44,527 | reactive-resume org — independent open-source project (rxresu.me) |
| fiber | 40,219 | the gofiber project — the official gofiber org (gofiber.io), the Express-inspired Go web framework |
| laya | 33,480 | NandhaKishorM — individual maintainer |
| learn-harness-engineering | 20,856 | walkinglabs community org — the harness-engineering tutorial site |
| awesome-dsh-plugin | 19,477 | awesome-dsh-plugin org — community catalog, no company behind it |
| MMKV | 18,763 | Tencent — the official Tencent org; the key-value store behind WeChat |
| SkillOpt | 18,549 | Microsoft — the official microsoft org |
| ioredis | 15,346 | Redis — the official redis org; the Node.js Redis client |
| FlashMLA | 13,092 | DeepSeek — the official deepseek-ai org |
| txtai | 13,027 | NeuML — the txtai project of NeuML, an independent open-source project |
| mcp | 9,794 | Amazon Web Services (AWS) — the official awslabs org |
| Cordis | 9,257 | cordiverse org — the kernel DeepSeek Harness vendors as @deepseek-ai/cordis |
| BrowserSkill | 9,202 | Tencent — the official Tencent org |
| dsh-web | 9,009 | zhu1090093659 — individual maintainer |
| jc | 8,694 | kellyjonbrazil (Kelly Brazil) — individual maintainer |
| dsh-market | 7,395 | dsh-market org — the community plugin market behind dshmarket.com |
| models.dev | 7,302 | anomalyco org — the model-catalogue site behind models.dev |
| koishi | 6,259 | koishijs org — the cross-platform chatbot framework |
| ouroboros | 6,247 | Q00 (@zep-us) — individual maintainer |
| teamai-cli | 5,565 | Tencent — the official Tencent org |
| go-sdk | 5,247 | the modelcontextprotocol org — the Go SDK for MCP |
| aibrix | 5,151 | the vLLM project — the official vllm-project org |
| embedding-atlas | 4,988 | Apple — the official apple org |
| docker-agent | 4,567 | Docker, Inc. — the official docker org |
| agent-client-protocol | 4,465 | agentclientprotocol org — governed jointly by Zed Industries and JetBrains |
| DSH-better-sidebar | 4,309 | omdsh-dev community org — the DeepSeek Harness sidebar plugin |
| content | 3,672 | Nuxt — the official nuxt org |
| evalscope | 3,560 | modelscope org — the ModelScope model-hub project |
| deepseek-harness-desktop | 3,292 | dsh-tauri community org — self-described non-official and non-commercial |
| fastmcp | 3,275 | punkpeye (Frank Fiegel) — individual maintainer at Glama |
| open5gs | 2,779 | the open5gs 5G core project — community, no company owner |
| claude-agent-acp | 2,661 | agentclientprotocol org — governed by Zed and JetBrains |
| NeMo-Agent-Toolkit | 2,660 | NVIDIA — the official NVIDIA org |
Fifteen of them, briefly — what was broken and who merged it
- deer-flow — a portability fix in a blocking-IO test, merged by
WillemJiang; the largest row in the table. - fiber — an optional path parameter swallowed the
/after it, so/api/:day-:month?-:year?matched one segment too many; merged byReneWerner87. - ioredis — an auto-pipelining fix, merged by
PavelPashov. - nuxt/content —
generateItemSurrounddropped the previous item wheneverbeforewas larger than the item's index, instead of returning a shorter window; approved and merged byfarnabazminutes apart. - MMKV — the Win32 flag mapper put the creation disposition into
dwDesiredAccess, so restoring over an existing mapped file failed; it now goes todwCreationDisposition, with a test that does the restore. Merged intodevbylingol, so no commit of this account sits onmaster. - txtai — cut down over three pull requests after the maintainer asked three times; merged by
davidmezzetti. - AWS
awslabs/mcp— a one-file UTF-8 fix, merged bymarkjschreiberwith two approvals. - Tencent BrowserSkill — merged by
iuyo5678with eight checks green. - Apple embedding-atlas — line-ending normalization in a release script, merged by
donghaoren. - vLLM aibrix — two flaky-test fixes.
- Microsoft SkillOpt — a UTF-8 state-file fix.
- koishi — the maintainer found and fixed a regression in this account's own patch before merging it.
- NVIDIA NeMo-Agent-Toolkit — three review rounds to make
remove_r1_think_tagsactually remove think blocks; merged by NVIDIA'srapids-bot. - jc — a Windows platform-name fix; it started counting when
mastercaught up the next day. - modelscope evalscope — a UTF-8 BOM dataset fix, merged by
Yunnglin.
Seven more repositories between 1,000★ and 2,500★, the long tail below that, the per-merge record behind
the 416, the laya ledger and the deepseek-ai picture are all in PROJECTS.md.
99 repositories declare the dsh.bundle.patch contract and 91 are actively maintained (3 retired, 5
frozen), plus the support repositories — dsh-kit, dsh-catalog, the certification registry and the CI
checker — and one third-party plugin carried as a row. The roster's source of truth is plugins.txt in
dsh-kit, with a parity script holding the family to that file;
the machine-readable catalogue is dsh-catalog, which is
also the DSH Desktop Market source. One line per plugin, with its status and npm name, is in
PROJECTS.md — 94 rows in ten tables.
| # | Some of what is in it | |
|---|---|---|
| 🔒 Security | 4 | dsh-permission-rules · dsh-mask · dsh-defend |
| 🔁 Workflows | 8 | dsh-checkpoint-rewind · dsh-github · dsh-test-drive |
| ✨ Experience & UX | 4 | dsh-memento · dsh-composer-history · dsh-output-styles |
| 🧪 Evaluation | 3 | dsh-doublecheck · dsh-score · dsh-auto-review |
| 📊 Observability & cost | 4 | dsh-observe · dsh-autotier · dsh-fast |
| 🎨 Content & knowledge | 5 | dsh-talk · dsh-translate · dsh-library |
| 🛠️ Developer experience | 6 | dsh-mcp-panel · dsh-plugin-guide · jevcore |
| 📱 Messaging & bridges | 3 | dsh-ticktick · dsh-reach · dsh-wechat |
| 🔬 Research | 4 | dsh-research-report · dsh-industry-research · dsh-fund-research |
| ✅ Compliance checkers | 53 | A register or record set read against a versioned rule pack, ten domains from tendering to litigation — the list is in PROJECTS.md |
A maintainer review against the official harness and the wider ecosystem retired three plugins because
the harness now implements the capability natively — dsh-background-agents
(native continuable subagents), dsh-session-pin (built-in
session pinning) and dsh-team-rooms (Agent Teams) — and
froze six because a better-adopted alternative now exists: dsh-budget, dsh-draw, dsh-claude-move,
dsh-reach, dsh-wechat and dsh-defend.
Retired does not mean broken: compatibility updates stop, existing installs keep working, and the capability is either official now or served better elsewhere. The per-plugin measurements — this repository's weekly downloads against the alternative's, and what each row was retired in favour of — are in PROJECTS.md, under "Retired & frozen — the full tables".
- GitHub (this profile), Gitee and npm — source, CI and releases
here; 99 family repos mirrored to Gitee by a daily job (default branch and all tags). The
perrylinknpm account holds 107 names and 1,601 versions; 95 of them carry a SLSA provenance attestation on at least one version, 75 on the currentlatest. - npm downloads — 228,164 over the trailing 30 days (window 2026-09-19..10-18). dshfind indexes 106 of the family's repositories and publishes a download badge for 9 of them — three at 10k+, two at 5k+, one at 2k+, two at 1k+ and one at 500+ — which add to 44,500+. The badges are rounded tiers, so that is a floor and not a total.
- DSH Desktop Market — add
https://cdn.jsdelivr.net/gh/PerryLink/dsh-catalog@main/deploy/artifacts/v1/plugins.jsonunder Market → Sources to browse the family in-app (99 packages, catalogue generated 2026-10-18). - MCP Registry — three servers, all published from their release workflows over GitHub OIDC:
dsh-cert-mcp,jevcore-mcpandlaya-mcp. - GitHub Actions — dsh-github and
dsh-test-drive also ship composite actions, so they
install as
uses: PerryLink/dsh-test-drive@vX. - Third-party directories — a dozen-plus DSH lists and indexes ingest the
dsh-plugintopic; the family is scored on OpenSSF Scorecard.
中文介绍
独立开源开发者,在北京,与 DeepSeek 无隶属关系。两条线:给别人的项目修 bug(AWS、Apple、Docker、 Microsoft、NVIDIA、Redis、Tencent、vLLM,也包括一个人的小项目),以及给 DeepSeek Harness 维护一套 Apache-2.0 插件生态 —— 安全、工作流、研究、消息桥接、开发者体验,加上一批合规核查插件。
每个插件都有一页静态介绍:perrylink.github.io,正文直接写在 HTML 里,不靠 JavaScript 渲染。也向上游 Cordis(DeepSeek Harness 所基于的 插件内核框架)与 deepseek-ai 提交修复,逐条清单在 PROJECTS.md。
还有一条在别处:一个根本起不来的进程现在能起来了。claude-agent-acp #1146
让 src/index.ts 里那处没有保护的顶层 await 不再因一次瞬时错误就中断模块求值、在发出任何一条 ACP 消息
之前退出。
数字只在上面的英文部分维护一份,逐条清单、名册与退役表在 PROJECTS.md;这里不重复, 以免两处走样。
Measured, not remembered. The full inventory — the merge-by-merge upstream record, the 94-row plugin roster, the retired and frozen tables, and the npm and registry figures with their caveats — is in PROJECTS.md. How every figure is measured is in INSTRUMENTATION.md, and what each round corrected is in CHANGELOG.md.





