DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@playform/ets-hook-dsh-test-suggester

Ets Hook Dsh Test Suggester

test-suggester hook:一个 DeepSeek Harness 插件,可根据测试任务意图提供目标集合。当模型搜索证据时(例如 grep 查找 PASS/FAIL/error TS、读取 Test.ts,或执行 bash 错误扫描),该 hook 会以确定性方式对调用进行分类

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @playform/ets-hook-dsh-test-suggester@0.2.1
README兼容性版本

兼容性与来源证明

Ets Hook Dsh Test Suggester 以 @playform/ets-hook-dsh-test-suggester 发布,当前版本为 0.2.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/11/4

版本

0.2.1stable
2026/10/28
0.2.0stable
2026/10/25
0.1.0stable
2026/10/25

相关插件

正在加载相关插件…

最新版
0.2.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
46.7 kB
文件数
44
Surface
any
许可证
CC0-1.0
发布源
npm
GitHub
★ 2
周下载
295
安全扫描
✓ v0.2.1 扫描通过
最近提交
2026/11/4
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

README

@playform/hook-dsh-test-suggester

v0.2.1 - UNPUBLISHED - plan: SEARCH-SUGGESTER-PLUGIN

The role

The test-suggester hook is a DeepSeek Harness plugin that answers the test task intent with a target set.

When the model searches for proof (a grep for PASS/FAIL/error TS, a read of a Test.ts, a bash error sweep), the hook classifies the call deterministically and names the likely targets before the model finishes searching.

It is the test consumer of the suggester family (SEARCH-SUGGESTER-PLUGIN.md, sections 3, 4, 8): a hook with no public API, an embedded pattern pack (the two-consumer extraction rule, with no shared core service until the family proves two consumers), and one delivery surface.

How it works

  1. The post-execute listener.

    The tools/post-execute listener (waterfall, plain registration, running after the CCR's { prepend: true } listener) calls next() first.

    Then the deterministic classifier runs over the call probe (tool name + arguments JSON), the gate applies, and one additionalContexts notice is prepended to the downstream decision.

    Content is never replaced, so a ccr-compressed result is unaffected.

  2. The pre-step listener.

    The agent/pre-step listener resets the note counter each turn when a user message enters.

Every listener is fail-open: on any error a warning is logged and the downstream decision is returned unchanged.

A note never fails a tool call.

The pack

IntentThresholdTrigger shapeTargets
Suite0.75PASS|FAIL|error TS|assert|suite, Source/Test/ pathsSource/Test/<Suite>/Test.ts, the suite README, Maintain/Run-Smokes.mjs, the README badge
Counts0.80N PASS, expected/PASS count, badgeREADME badge, SCHEME.md, the site content counts

Confidence is sigmoid(Σ weights − 0.6) (the plan §3.5).

Every candidate carries a one-phrase reason, and a candidate without a reason is never emitted.

The intents are pack-driven: the built-in pack (the default of this monorepo) lives in @playform/ets-lib-dsh-pack and is projected here as the test/ domain.

A repository that ships .dsh/pack.yml (or a user-layer pack at ~/.dsh/playform/workspaces/<slug>.yml) gets its OWN test/ intents, and a repository without a pack stays silent.

The reconciliation

On a judged call in a package, the smoke claims of the package are reconciled with the tree it actually has (the wave 2c re-spec of the completion spec, 03-SUGGESTERS.md).

The evidence is each ## Expected count of Source/Test/<Folder>/README.md, the folders that exist, each Test.ts of a folder, the roster of the aggregate runner (Target/Test/<Folder>/Test.js), and, when the workspace graph service is present, its Test nodes for the package.

A drift (a folder without a README count, a README count whose Test.ts is gone, a suite the runner never runs, a graph node whose file is gone) emits ONE note naming the drifted files and the expected/actual counts.

It is read-only: node:fs reads, never a write.

A consistent tree logs one clear line per package root and stays silent, and the note is gated exactly like the intent notes (workspace pack, enabled, cooldown, dedupe, per-turn cap).

The noise controls

  • Confidence gate. k ≥ max(threshold, intent threshold) (default 0.75).
  • Cooldown. No second note for the same intent within cooldownCalls (6) judged calls, per agent.
  • Per-turn cap. At most maxNotesPerTurn (3) notes between user turns.
  • Exclusion. Candidates under Target/, node_modules, .git, dist are never suggested, because the build mirror is generated and never edited.
  • Fail-open and abstention. An empty surviving candidate set logs <name>: abstained ambiguous <Intent> <k> and emits nothing.
  • Workspace gate. A call that belongs to another workspace (no pack whose signature matches, with the built-in default Documentation/ARCHIVE-STYLE.md) logs abstained foreign-workspace and emits nothing, and a target absent from the workspace is dropped before the gate (abstained no-companions when the whole target set of the intent is gone).

Every activation, refusal, and suggestion is a ledger line in the own ledger of the hook (one log per module), asserted byte-exactly by the end-phase smokes.

The ledger

test-suggester: activated (bundle 0.2.1, intents 2, threshold 0.75)
test-suggester: disabled (enabled=false)
test-suggester: suggest Suite 0.84 4 candidates call grep
test-suggester: abstained ambiguous Suite 0.62
test-suggester: abstained no-companions Suite 0.62
test-suggester: abstained foreign-workspace Suite 0.62
test-suggester: suppressed cooldown Suite
test-suggester: suppressed cap Suite
test-suggester: reconciliation clear <package> (<e> expected, <a> actual)
test-suggester: reconciliation drift <n> drifts <package> (<e> expected, <a> actual) call <tool>
test-suggester: reconciliation skipped deduped <package>
test-suggester: reconciliation skipped cooldown <package>
test-suggester: reconciliation skipped cap <package>

The configuration

See SCHEME.md for the full table.

Every knob is volatile (hot-editable without remounting).

The hook ships disabled (enabled: false in cordis.patch.yml), because the acceptance rate must be measured (the §10.3 kill criterion of the plan) before it is trusted.

The plan

The package, the Source, the smoke suites (five folders), and the build pass are complete, and the reconciliation landed (the wave 2c re-spec of the completion spec).

The ETS twin and the live activation (the profile row flip and the restart) are the remaining end-phase steps (Documentation/Plans/POC-BRIEF.md section 8).

  • SEARCH-SUGGESTER-PLUGIN - sections 3, 4, 8, the test consumer.

License

CC0-1.0.

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Better Sidebardsh-better-sidebarBetter Sidebar for DSH — 在一列中提供文件树、编辑器、变更、任务和侧边聊天,并为每个对话单独显示。同时提供服务,供其他插件注册侧边栏标签页和文件查看器。Client Ui Git Graph@linxin666/dsh-client-ui-git-graph外部 dsh Web GUI 插件:空会话 Git 分支选择器和 Git 图,包含实际的主机端 Git 操作与防护,作为 dsh 配置文件包Ssh@linxin666/dsh-sshdsh Web GUI 的远程 SSH 操作:主机配置存储(~/.dsh/dsh-ssh.json,可从 ~/.ssh/config 导入)、支持跳板主机的持久化 ssh2 连接池、exec / PTY Web 终端 / SFTP 传输 / 本地端口转发隧道 / 集群执行Update@linxin666/dsh-update用于 dsh Web GUI 的自更新插件:探测 npm 上是否有更新的系列版本,并在原地运行所属配置的 pnpm 更新;可通过设置图标旁侧边栏中的触发器启动,并显示发布说明面板