DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@playform/hook-dsh-test-suggester

Hook Dsh Test Suggester

The test-suggester hook: 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 deterministica

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add @playform/hook-dsh-test-suggester@0.2.1
READMECompatibilityVersions

Compatibility and provenance

Hook Dsh Test Suggester is published as @playform/hook-dsh-test-suggester and currently resolves to version 0.2.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
11/4/2026

Versions

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

Related plugins

Loading related plugins…

Latest
0.2.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
47.2 kB
Files
44
Surface
any
License
CC0-1.0
Source
npm
GitHub
★ 2
Weekly downloads
304
Security scan
✓ v0.2.1 scan passed
Last push
11/4/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in developer-tools.

Better Sidebardsh-better-sidebarBetter Sidebar for DSH — file tree, editor, changes, tasks and side chat in one column, separate for every conversation. Also exposes a service other plugins use to register sidebar tabs and file viewers.Client Ui Git Graph@linxin666/dsh-client-ui-git-graphExternal dsh web GUI plugin: a blank-session git branch selector + Git graph, with real host-side git operations and guards, as a dsh profile bundleSsh@linxin666/dsh-sshRemote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executiUpdate@linxin666/dsh-updateSelf-update plugin for the dsh web GUI: probes npm for newer family releases and runs the owning profile's pnpm update in place, from a sidebar trigger beside the settings seat with a release-notes panel

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, or 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.

The surfaces

  • The tools/post-execute waterfall listener (plain registration, after the ccr's {prepend: true} listener) adds one additionalContexts notice and never a content replacement.
  • The agent/pre-step listener resets the note counter for each turn.
  • There is no tool and no provided service, and the reconciliation is read-only (node:fs reads, never a write).

How it works

  1. The post-execute listener.

    The tools/post-execute listener (waterfall, plain registration, runs 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 (this monorepo's default) lives in @playform/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 package's smoke claims are reconciled with the tree it actually has (the completion spec's wave 2c re-spec, 03-SUGGESTERS.md): each Source/Test/<Folder>/README.md's ## Expected count, the folders that exist, each folder's Test.ts, the aggregate runner's roster (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, or 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 (the build mirror is generated, 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, and the built-in default is Documentation/ARCHIVE-STYLE.md) logs abstained foreign-workspace and emits nothing, while a target absent from the workspace is dropped before the gate (abstained no-companions when the intent's whole target set is gone).

Every activation, refusal, and suggestion is a ledger line in the hook's own ledger (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 plan §10.3 kill criterion) before it is trusted.

The build and the tests

The build is pnpm prepublishOnly (Source/prepublishOnly.sh): the plugin build (ESM Target/, Test tree excluded), the Test build, the harness selfcheck, and the Test type-check.

The smoke folders are Loader-And-Activation, Pack-Driven, Pipeline-And-Gates, Reconciliation, and Workspace-Gate.

The plan

  • SEARCH-SUGGESTER-PLUGIN - sections 3, 4, 8, the test consumer.
  • Completion-Spec/03-SUGGESTERS - the wave 2c re-spec (the reconciliation).
  • The package, the Source, the smoke suites (five folders), and the build pass are complete, and the reconciliation landed.
  • 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).

License

CC0-1.0.