工程纪律守门:动笔前审讯需求,红绿测试证据门,交付后对抗评审,并汇总交付报告与逐维度核对。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-doublecheck
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:PerryLink/dsh-doublecheck
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
dsh-doublecheck
- 1024 商店渠道:先
npm i -g dsh1024,再dsh1024 plugin --profile web add dsh-doublecheck(计入 deepseek1024.com 安装排行)。
DeepSeek Harness 的交付质量门禁:先拷问需求,再测试实现,最后证明交付——并用「可交付 / 需要返工」的裁决来把关交接。
需求在第一次改动之前就被拷问清楚;交付是被证明的,而不是被口头宣称的。
English · 简体中文 · Español · Português · हिन्दी
⭐ 如果它帮到了你
这个插件是 DSH 插件家族的一员(40+ 个,全部 Apache-2.0)。如果你在用,给个 star —— 它不会解锁任何功能,但会让下一个人在搜索里更容易找到它。
English: part of a 40+ plugin family for DeepSeek Harness. If it is useful, a star helps the next person find it — nothing is gated behind it.
兼容性
| 方面 | 状态 |
|---|---|
| Harness | DeepSeek Harness dsh-v0.1.7-rc.2。已于 2026-09-24 核验(双 typecheck 尺子 + 全量测试绿);peer 区间接纳 0.1.2-rc.1、0.1.5-alpha.1、0.1.5-rc.2、0.1.6-alpha.2、0.1.7-alpha.1 与 0.1.7-rc.2,不丢任何已支持宿主线。 |
| Node | ^22.19.0 || >=24.0.0 |
| 平台 | 全部(纯宿主;无原生代码,自身无直接网络请求) |
| 模型 | 任意(守卫本身从不调用模型;评审与批评阶段作为宿主 subagent 运行) |
你会得到什么
dsh-doublecheck 安装两个插件行,它们读取并执行同一份持久会话日志:
doublecheck-grill—— 需求熔炉:内置的grill-requirements技能,加上面向模型的doublecheck_skills、doublecheck_spec、doublecheck_report工具,以及按维度执行的验证工作流。doublecheck-guard—— 纪律守卫:grill 门禁、红/绿证据门禁、对抗式评审、/doublecheck与/gate命令、实时的gate设置卡片,以及四阶段交付门禁。
两者共同执行纪律闭环 —— grill → design → red → green → review → verify:
grill ──▶ design ──▶ red ──▶ green ──▶ review ──▶ verify
│
└─ 六个需求维度、共识门禁,
结构化 spec 提交到会话 + 工作区
| 阶段 | 含义 |
|---|---|
| grill | 拷问六个需求维度;在达成共识之前拒绝实现。 |
| design | 通过 doublecheck_spec 提交已确定的 spec。 |
| red | 在实现改动之前,用一次失败的测试运行来证明差距。 |
| green | 改动之后一次通过的测试运行闭合闭环。 |
| review | 一个分叉的对抗式批评者对照 spec 审计交付。 |
| verify | doublecheck_report + 按维度的验证工作流证明交付。 |
快速开始
# 1. install the bundle into your profile
dsh plugin --profile web add "github:PerryLink/dsh-doublecheck#main"
# or from npm (published releases)
dsh plugin --profile web add dsh-doublecheck
# 2. restart and verify the row
dsh --profile web --dump-config | grep -E -A3 'id: doublecheck-(grill|guard)'
两个行(doublecheck-grill 和 doublecheck-guard)随配置文件自动激活。
安装与卸载
- git 渠道(最新
main):dsh plugin --profile web add "github:PerryLink/dsh-doublecheck#main"——prepare脚本只使用生产依赖进行构建。 - npm 渠道(发布版本):
dsh plugin --profile web add dsh-doublecheck。 - tarball 渠道:在本仓库中执行
pnpm pack,然后dsh plugin --profile web add ./dsh-doublecheck-<version>.tgz。 - 卸载:
dsh plugin --profile web remove dsh-doublecheck(或从配置文件补丁中移除这些行)。
如需零配置的严格模式(每个门禁都以 block 强度开启、要求门禁覆盖率),在捆绑补丁之上应用随附的覆盖层:dsh --profile web --patch ./node_modules/dsh-doublecheck/strict.patch.yml。
配置
所有可调项都是 Schemastery 的 Config 字段(可在 cordis.yml 中修改)。按 id 定位的覆盖会替换整行——请重新声明你需要的每一个键。cordis.patch.yml 逐键内联说明;Schema 默认值是调优默认值的唯一来源。
| 键 | 默认值 | 含义 |
|---|---|---|
specFile |
'doublecheck-spec.md' |
已提交 spec markdown 的工作区文件(grill 行)。 |
reportFile |
'doublecheck-report.md' |
交付报告的工作区文件(grill 行)。 |
reportVerify |
true |
默认运行验证工作流(grill 行)。 |
verifyProvider |
'fork' |
各维度检查器运行的 subagent 提供者(grill 行)。 |
verifyMode |
'all' |
all = 每个维度一个并行检查器;single = 一个合并检查器(grill 行)。 |
intensity |
'remind' |
grill、红/绿和评审门禁的执行强度(remind / warn / block)。 |
enableByDefault |
true |
没有 /doublecheck on|off 记录的会话的主开关。 |
language |
'en' |
注入的提醒/拒绝/评审/门禁文案语言(en / zh)。 |
guardTools |
['edit', 'write'] |
两个门禁监视的修改工具名称。 |
vagueTaskMaxChars |
200 |
超过此长度的任务绝不会被视为模糊。 |
remindOnce |
true |
每个提醒每会话最多注入一次(跨重启持久)。 |
testToolNames |
['bash', 'pwsh'] |
可以运行测试的 shell 工具名称。 |
testCommandPatterns |
(pnpm/npm/yarn/bun test、pytest、go/cargo/make test、node --test、deno test、uv run pytest) | 命令必须匹配才能计为一次测试运行的正则。 |
testFilePatterns |
(测试目录、*.test.* / *.spec.*) |
识别测试文件的正则——始终可编辑,免于红门禁。 |
modules.grill |
true |
关闭则禁用 grill 门禁。 |
modules.tdd |
true |
开启则启用红/绿证据门禁。 |
modules.adversary |
false |
开启则在绿色后启用分叉批评者评审。 |
adversaryModel |
null |
批评者模型路由;null = 主模型自评。 |
adversaryProvider |
'fork' |
批评者运行的 subagent 提供者。 |
adversaryMaxFindings |
5 |
注入会话的发现上限(1–20)。 |
adversaryTools |
['read', 'glob', 'grep'] |
批评者工具允许列表;请保持只读。 |
adversaryTimeoutMs |
120000 |
一次批评者运行的硬性时间预算。 |
gate.enabled |
true |
门禁面板与回合边界红色通知的主开关。 |
gate.planSuggestion |
true |
在红色报告中附加计划模式复查建议。 |
gate.reportFile |
'gate-report.md' |
门禁报告的工作区文件。 |
gate.requirements.checklist |
(六个 spec 维度问题) | 可插拔的关键问题清单:{ id, question, specDimension, required }。 |
gate.requirements.minConfirmed |
6 |
必须通过的最少必答问题数(1..必答数量)。 |
gate.requirements.interrogateTool |
'ask_user_question' |
其调用计为询问证据的工具名称。 |
gate.tests.requirePassingRun |
true |
最近一次测试运行未通过(或缺失)即为红灯。 |
gate.tests.allowFailingRuns |
0 |
最近一次绿色之后允许的失败运行次数,超过则红灯。 |
gate.tests.requireCoverage |
false |
开启则要求在测试输出中有覆盖率证据。 |
gate.tests.minCoveragePct |
80 |
最低覆盖率百分比(0–100)。 |
gate.tests.evalReports.enabled |
false |
开启则把 dsh-eval 报告(dsh-auto-review 的评测引擎)并入测试证据。 |
gate.tests.evalReports.dir |
'.eval-reports' |
存放引擎报告的工作区相对目录。 |
gate.tests.evalReports.file |
'report.json' |
目录内的报告文件名。 |
gate.tests.evalReports.required |
false |
为 true 时缺失报告即为红灯(否则跳过)。 |
gate.consistency.* |
provider: 'fork'、model: null、tools: ['read','glob','grep']、timeoutMs: 120000、maxFindings: 5 |
本地一致性评审者的旋钮(model: null = 主模型)。 |
gate.review.engine |
'auto' |
auto = 存在时使用 dsh-auto-review 的裁决记录,否则使用本地评审者;local = 始终使用本地评审者。 |
gate.review.provider |
'fork' |
本地评审评审者的提供者(其 model/tools/timeoutMs/maxFindings 与 gate.consistency.* 相同)。 |
上表中每个 gate.* 键都属于同一个活动字段:守卫行把整个 gate 块标记为 .volatile(),因此它就是该行的可编辑设置卡片(表单命名空间即该行的 profile 条目 id)。其余键是来自 profile patch 的普通 composition 配置。该块在加载时读取一次,所以编辑在下次加载生效——gate.enabled 决定回合边界的红灯提示是否安装。若宿主的 schemastery 早于 .volatile(),本行照旧挂载:没有卡片,该块仍取自 profile patch。
配置错误会在加载时大声失败:无效的正则、空或重复的名称列表、越界阈值、重复的清单 id 都会抛错,而不是悄无声息地什么都不做。strict.patch.yml 是全门禁阻断覆盖层,以 intensity: block 重新声明守卫行,开启所有模块并要求覆盖率。
工具与界面
| 界面 | 类型 | 说明 |
|---|---|---|
doublecheck_skills |
工具 | 通过技能注册表接口列出并加载包内四个内置技能。 |
doublecheck_spec |
工具 | 将拷问得出的六维 spec 提交到会话日志和工作区 markdown 副本。 |
doublecheck_report |
工具 | 将纪律证据折叠为交付报告(可选的按维度验证工作流)。 |
/doublecheck status|report|on|off |
命令 | 开关、模块、强度、阶段事实、折叠报告,以及持久的开/关覆盖。 |
/gate status|run|config |
命令 | 实时清单进度、已确定的可交付/返工报告,以及生效配置。 |
grill-requirements、red-green-tdd、delivery-review、delivery-proof |
技能 | 覆盖全部六个闭环阶段的内置纪律技能。 |
gate |
活动配置字段 | 可插拔清单是守卫行唯一的 .volatile() 字段:从该行的设置卡片编辑(命名空间 = 该行的 profile 条目 id),在加载时读取一次。 |
strict.patch.yml |
覆盖层 | 一个补丁层内以 block 强度开启每个门禁并启用覆盖率要求。 |
dsh-doublecheck/invariant |
伴生行 | 通过宿主 invariants 注册表报告包自有写路径矛盾。 |
门禁阶段
交付门禁把会话的持久证据聚合为可配置的四阶段清单,并确定一个 可交付 / 需要返工 的裁决。每个阶段只折叠会话日志(重放即状态),因此一次运行在恢复或分叉后会得到相同的结果。
| 阶段 | 检查 | 证据来源 | 模型成本 |
|---|---|---|---|
| 需求询问 | 逐项确认的关键问题清单(默认六个 spec 维度问题) | 已提交的 doublecheck_spec + ask_user_question 调用 |
无 |
| 测试证据 | 最近运行颜色、绿色后的失败运行、可选覆盖率阈值、可选 dsh-eval 报告 | 会话日志中的 shell 测试运行([exit code: N]、覆盖率百分比);开启 gate.tests.evalReports.enabled 时的 dsh-eval 报告文件 |
无 |
| 实现一致性 | 差异 ↔ 需求映射:每次改动都必须服务于某个 spec 维度 | 本地分叉评审者(结构化发现、只读工具) | 一个 subagent |
| 评审结论 | 交付裁决;engine: auto 在存在时消费 dsh-auto-review 的持久裁决记录,否则使用本地评审者 |
autoReview/verdict / autoReview/rejection 事件,或本地分叉评审者 |
一个 subagent(本地) |
红灯是失败的检查(缺失 spec、最近运行失败、覆盖率低于下限、未映射的改动、blocker/major 发现)——每一项都附带返工建议。警告与跳过永远不会翻转裁决。门禁将 dsh-auto-review 作为弱依赖集成:review.engine: auto 在存在时折叠其裁决记录,否则降级到本地评审者;gate.tests.evalReports.enabled 把其评测引擎的 dsh-eval 报告(prompt 回归 / 压测 / 公平性套件)并入测试证据,并在报告不存在时如实跳过。门禁从不合成审批请求。
示例报告
/gate run 返回这份 markdown——可直接粘贴到 PR 描述中:
# Delivery gate report
> **Verdict: rework required** — 2 red item(s)
> The gate is red. Re-open the work in plan mode to re-check the open items before delivering.
## 1. Requirements interrogation — PASS
- [✔] **What outcome must the delivery produce?** — spec dimension "goal" committed
- [✔] **What is in scope, and what is out of scope?** — spec dimension "scope" committed
- [✔] **Which observable checks prove the work is done?** — spec dimension "acceptanceCriteria" committed
- [✔] **What can go wrong, and what is the correct behavior in each case?** — spec dimension "failureModes" committed
- [✔] **What is traded when goals conflict; what is optional?** — spec dimension "priorities" committed
- [✔] **What does the user explicitly not want?** — spec dimension "nonGoals" committed
## 2. Test evidence — FAIL
- [✔] **passing test run** — latest test run passed
- [✔] **failing cases after green** — 0 failing run(s) after green (allowed: 0)
- [✖] **coverage evidence** — 61% coverage below the 80% minimum — rework: raise coverage above the configured minimum
## 3. Implementation consistency — WARN
- [⚠] **[minor] src/telemetry.ts touched without a requirement** — [minor] the edit adds a metric no spec dimension covers
## 4. Review conclusion — PASS
- [✔] **dsh-auto-review conclusion** — 3 call(s) approved by dsh-auto-review (latest risk: low)
## Red items
1. **tests/coverage** — 61% coverage below the 80% minimum — *rework: raise coverage above the configured minimum*
2. **consistency/finding-1** — [minor] the edit adds a metric no spec dimension covers — *rework: src/telemetry.ts touched without a requirement*
## Audit
- review engine: dsh-auto-review
- generated at: 2026-08-14T12:00:00.000Z
- counts, ids, and verdicts only: no file contents or session text are embedded, and recognized secrets are redacted.
CI 输出
/gate run 还会写一个 gate-report.json(与无损 JSON 相同的已定状态,位于 gate-report.md 旁边)。doublecheck-gate CLI 把该文件转成可供 GitHub Actions 使用的机器可读输出:
# JSON(PR 评论 / 状态载荷)
doublecheck-gate --format json --input gate-report.json
# SARIF 2.1.0(code-scanning 上传 / 状态检查)
doublecheck-gate --format sarif < gate-report.json
CLI 只序列化已定的 GateState —— 它从不重新运行四阶段门禁或证据折叠。其退出码映射裁决:0 = 可交付,1 = 返工,2 = 用法/解析错误。
权限与数据
- 读取:仅进程内读取会话日志(
tool/call/tool/result/tool/ptc-dispatch、注入的user/message来源,以及外部的autoReview/*裁决记录);可选的计划模式服务状态。V3 改名前的宿主用旧标签tool/code-dispatch记录 PTC 子调用;两个标签折叠结果完全一致。注入的提示携带本包自有的dsh-doublecheck消息来源 kind;该 kind 出现之前记录的日志会以plugin:dsh-doublecheck(宿主 V3→V4 迁移对已发布的 catch-all 包装所做的改写)或已发布的plugin包装抵达,三种形态折叠结果一致。 - 写入:会话工作区中的
doublecheck-spec.md、doublecheck-report.md和gate-report.md(路径可配置),通过ctx.fs接口;持久的doublecheck/state和doublecheck/gate会话事件。 - 模型调用:门禁的一致性阶段和本地评审阶段(每次
/gate run各一个 subagent)、可选的对抗式评审,以及doublecheck_report验证工作流会启动 subagent 运行;除此之外不调用模型或网络。 - 绝不触碰:凭据、环境变量,或会话工作区之外的任何文件。workshop 清单只声明
filesystem:read和filesystem:write。门禁报告只携带计数、id 和裁决;评审文本中被识别的机密在存储或显示之前会被脱敏。
安全边界
- 模型可见 ⟺ 已记录。 每条注入的提醒、评审和门禁通知都经由标准通道并落入会话日志;持久的 spec/state/gate 事实经由工具结果或
SessionEventMap成员。 - 失败关闭 / 大声失败。 守卫和门禁配置在
apply中校验(断言抛错);无法运行的评审者或对抗式接口会退化为诚实的 "unavailable"/跳过通知,而非伪造裁决。 - 审计安全报告。 门禁和交付报告只记录计数、id 和裁决——不含文件内容或会话文本——模型生成的发现文本在存储或显示之前会经过机密脱敏器。
- 自身无网络。 该插件不发起直接网络请求;批评者和评审者 subagent 经由宿主的 subagent 接口运行。
- 对 dsh-auto-review 的弱依赖。 它从不被 import 或硬性要求;门禁折叠其持久裁决记录并降级到本地评审者,且从不合成审批请求。
已知限制
- 持久写入。
/doublecheck on\|off→doublecheck/state与/gate run→doublecheck/gate需要宿主的ignorable追加接口(rc.6 之后至0.1.1-rc.2)。在无此接口的宿主上(rc.6/rc.8,以及移除该信封的0.1.2-alpha.1——0.1.2-rc.1仅恢复存量日志读取兼容字段、仍无法盖章),写入被跳过、开关保持进程内状态。 0.1.2-rc.1(2026-09-02 已适配):会话信封保留 ignorable 字段但仅用于存量日志读取兼容——Session.append 仍无法盖章,门控行为不变。 0.1.5-alpha.1(2026-09-09 已适配):会话格式 V3 把持久子调用事件tool/code-dispatch改名为tool/ptc-dispatch(载荷不变;两个标签折叠结果一致)。Session.append 仍无ignorable写入通道,写入继续跳过、开关保持进程内——行为不变。(该条引入的doublecheck-gate设置命名空间已在 0.1.7-alpha.1 随宿主删除命名空间注册表一并移除。) 0.1.5-rc.1(2026-09-10 已适配):依赖钉号移至已发布的 0.1.5-rc.1 线;无接口变更影响本插件行为。 0.1.5-rc.2(2026-09-11 已适配):依赖钉号移至已发布的 0.1.5-rc.2 线;无接口变更影响本插件行为。 0.1.7-alpha.1(2026-09-22 已适配):宿主删除了共享的 catch-allplugin消息来源 kind(提示改携本包自有的dsh-doublecheckkind,remindOnce折叠仍能读取持久日志可能持有的两种升级前形态),并用SettingsForms取代了设置命名空间注册表(doublecheck-gate命名空间消失;门禁清单改为守卫行唯一的.volatile()字段,仍在加载时读取一次)。@deepseek-ai/cordis与@deepseek-ai/schemastery的 dev/test 钉号移至^4.0.3/^3.18.3,即Volatile与.volatile()首次出现的版本;peer 区间仍为^4.0.2/^3.18.2,且活动字段能力在加载时探测,因此更早的宿主线仍能挂载本行(只是没有设置卡片)。除设置存储位置外无行为变更。 - 可选接口。 挂载设置服务时会出现守卫行自己的设置卡片;该卡片就是本行自己的 Config(命名空间 = 其 profile 条目 id),
gate块在加载时读取一次,因此其取值在下一次加载时作用于/gate面板与红灯提示。活动字段能力在加载时探测:若宿主的 schemastery 早于.volatile(),本行照旧挂载——没有卡片,gate块仍取自 profile patch。/gate status的计划模式行读取可选的ctx.planMode(没有则显示unknown);对抗式评审需要ctx.subagents;验证需要workflowEngine。 - 本地降级。 当 dsh-auto-review 缺失或本会话没有裁决记录时,
gate.review.engine: auto会降级到本地评审者——报告会写明原因,而不是捏造裁决。 - dsh-eval 证据基于文件。 dsh-auto-review 评测引擎(
dsh-eval)把其 prompt 回归 / 压测 / 公平性结果写入工作区报告文件,而非会话日志。gate.tests.evalReports.enabled折叠该文件(默认关闭;缺失时跳过),折叠出的计数随持久doublecheck/gate记录保存,使已定的运行仍可重放。
开发
pnpm install # node ^22.19 || >=24
pnpm run build # tsc --noEmitOnError (lib/ is committed)
pnpm run prepare # tsc --noEmitOnError (git-install channel)
pnpm run prepublishOnly # build + full test suite
pnpm run typecheck # tsc --noEmit + tests tsconfig
pnpm run lint # eslint src tests
pnpm test # vitest run
pnpm run test:coverage # vitest run --coverage
pnpm run pack:check # build + pack the tarball
主题
dsh, dsh-plugin, deepseek-harness, engineering-discipline, requirements, guard, skill, quality-gate, delivery-gate
贡献者
- @PerryLink —— 创建者与维护者:grill → design → red → green → review → verify 纪律闭环、四阶段交付门禁、五语言文档,以及 CI/发布流水线。
PerryLink DSH Plugin Family
This project is one of the 45 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-autotier | Automatic strong/cheap model-tier routing with deterministic risk guards and a /tier command |
| 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-catalog | DSH Desktop Market standard catalog source for the PerryLink family |
| dsh-cert-mcp | Read-only MCP server exposing the certification registry: grades, snapshots and five-dimension evidence |
| 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-laya | Laya typed decisions (noul/choice/score) as a first-class Cordis service and model-visible tools |
| 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-plugin-certification | Community certification registry with repro-checkable grades and badges |
| dsh-plugin-doctor | Zero-dependency static + sandbox smoke detector for DSH plugins |
| dsh-plugin-guide | Plugin-development knowledge base as an on-demand agent skill |
| dsh-plugin-kit | Shared zero-runtime-dependency toolkit for the PerryLink DSH plugins |
| dsh-plugin-upgrade | One-package, one-corridor-index plugin upgrade skill: routes a repository to the matching closed corridor card |
| dsh-plugin-upgrade-015 | Merged 0.1.3-alpha.1 → 0.1.5-rc.1 upgrade corridor card plus a zero-dependency seam scanner |
| dsh-reach | Multi-channel approval/question bridge: WeChat/Telegram/Feishu, session console |
| 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-team-rooms | Cross-session team rooms: shared message bus, task board and timeline |
| dsh-test-drive | Isolated install-and-smoke test drives for DeepSeek Harness plugins. |
| dsh-ticktick | TickTick/Dida365 task bridge: session-header panel + 11 tools |
| dsh-translate | Vendor parameter translation and deterministic JSON repair for DeepSeek Harness. |
从 DSH Desktop 市场安装
所有 PerryLink 插件均可在 DSH Desktop 内置市场中浏览:市场 → 来源 → 添加来源 → 粘贴 https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → 选中。安装仍需通过市场的 npm 身份校验与你的确认。
许可证
Apache License 2.0 © 2026 dsh-doublecheck contributors
链接
同类插件
Q00/ouroboros#integrations/dsh-plugin★ 6118
通过 DSH MCP 客户端挂载 Ouroboros 的纯配置包,在 DSH 中提供 36 个涵盖需求访谈、Seed、执行、评估与演化流程的工具。
loopx-project/loopx#dsh-loopx-plugin★ 6072
LoopX——面向长周期 Agent 的提供商中立、本地优先状态内核与控制平面:在 DeepSeek Harness 执行层之上持久化 Goal、Todo、门禁、证据、配额、恢复与交接状态;插件负责引导安装 CLI 与技能、准入有界的同会话续跑,并为精确绑定的工作循环提供本地 GoalBar。
chuspeeism/dashi-taskboard#deepseek-harness★ 3244
把当前已安装并运行中的 Codex Taskboard 嵌入 DeepSeek Harness 侧边栏,并通过 Launcher 运行时描述文件连接,而不是使用固定端口。
NanmiCoder/dsh-agent-teams★ 1829
AgentTeams 多智能体团队。
EthanYoQ/AI-Novel-Writer#dsh-ai-novel-writer★ 1149
安装专用 AI 小说创作预设与工作台:提供带修订号的本地项目资产、紧凑侧边工作台,以及需要原生审批的逐文件变更。
tong-io/tongflow#dsh-tongflow★ 1033
基于 TongFlow 的“片场”插件,用于图片、配音、音乐与视频制作:agent 为每个资产生成 TongFlow 工作流文件(.tongflow.json)并通过 TongFlow 插件执行,内嵌工作流画布,按镜头/角色/take 组织项目,附漫剧模板;以 @tongflow 开头的会话进入 Studio 界面。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。