Skip to content
View PerryLink's full-sized avatar
🏠
Working from home
🏠
Working from home

Block or report PerryLink

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
perrylink/README.md

Hi, I'm PerryLink 👋

GitHub stars GitHub followers GitHub repos merged upstream repositories where a merge is credited actively maintained plugins compliance checkers
npm names npm downloads 30d npm provenance license node
dsh host corridor OpenSSF Scorecard — dsh-auto-review Glama (flagship MCP server jevcore) certified (flagship dsh-auto-review) MCP Registry
plugin index Gitee mirror dshfind downloads across the family DSH Desktop Market source Zenodo DOI

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.

▶ Start here

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

🦭 Phocinae — a 144.3M typed decision model

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.

🧭 dsh-score — public evidence for good plugins

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 / without bench results are the only path to a quality slot. Repo rename to dsh-score-index pending.
  • 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-bench

🔧 Upstream & community contributions

Every 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 by ReneWerner87.
  • ioredis — an auto-pipelining fix, merged by PavelPashov.
  • nuxt/content — generateItemSurround dropped the previous item whenever before was larger than the item's index, instead of returning a shorter window; approved and merged by farnabaz minutes apart.
  • MMKV — the Win32 flag mapper put the creation disposition into dwDesiredAccess, so restoring over an existing mapped file failed; it now goes to dwCreationDisposition, with a test that does the restore. Merged into dev by lingol, so no commit of this account sits on master.
  • 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 by markjschreiber with two approvals.
  • Tencent BrowserSkill — merged by iuyo5678 with 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_tags actually remove think blocks; merged by NVIDIA's rapids-bot.
  • jc — a Windows platform-name fix; it started counting when master caught 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.

📦 The rest of the family

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

🪦 Retired & frozen (2026-10-05)

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

🌍 Where the plugins live

  • 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 perrylink npm account holds 107 names and 1,601 versions; 95 of them carry a SLSA provenance attestation on at least one version, 75 on the current latest.
  • 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.json under 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-mcp and laya-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-plugin topic; 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.

Popular repositories Loading

  1. dsh-auto-review dsh-auto-review Public

    Second-model AI auto-review for DeepSeek Harness approval requests: a read-only reviewer subagent returns structured allow/deny verdicts with reasons, fail-closed by default, fully auditable from t…

    TypeScript 234 3

  2. dsh-industry-research dsh-industry-research Public

    Industry and company research domain pack for DeepSeek Harness: methodology skills, industry chain mapping, public-source policy/news tracking, company research cards, and auditable research report…

    TypeScript 214 1

  3. dsh-research-report dsh-research-report Public

    Verifiable research-report engine for DeepSeek Harness: content-addressed evidence ledger (claim-snapshot binding, tamper-evident) plus versioned sealed reports with per-claim verification verdicts…

    TypeScript 213 1

  4. dsh-memento dsh-memento Public

    Bounded, layered, approval-gated, auditable cross-session memory for DeepSeek Harness: a ctx.memory capability seam with a zero-dependency SQLite provider, a memory tool, and frozen snapshot inject…

    JavaScript 138 3

  5. dsh-permission-rules dsh-permission-rules Public

    Claude Code-style declarative permission rules for DeepSeek Harness: ordered allow/deny/ask rules with tool-name, argument (glob/regex), and workspace-path matching on the tools/pre-execute waterfa…

    TypeScript 126 3

  6. jevcore jevcore Public

    TypeSafe Jev for DeepSeek Harness, the Model Context Protocol, and plain Node: typed judgments instead of prose, offline by default.

    TypeScript 110 1