DSH Plugins Marketplace

DSH Plugins

Plugins

/

Workflow & Automation

/

dsh-subagent-profile

m

dsh-subagent-profile

Manifest valid★ 5

DeepSeek Harness Sub-Agent Dispatch Plugin: selects the model, reasoning intensity, and tool scope for sub-agents based on each task; saves common combinations as named presets for on-demand reuse; includes built-in safety checks, cost estimation and savings analysis, and a complete dispatch decision ledger.

UI (client)hasBundlePatch

dsh-subagent-profile

子 Agent 派发插件 —— 派发可控 · 成本有数 · 决策留痕

License: MIT npm DSH awesome · DSH plugin
English · 中文

For DeepSeek Harness (DSH).

Dispatch subagents in DeepSeek Harness: pick model, reasoning effort, and tool scope per task; save common combos as named profiles for reuse. Built-in safety checks, cost estimation with savings analysis, and a full decision ledger.

Why this plugin

Built-in subagentdsh-subagent-profile
Per-subtask model / preset✅ optional provider / model / reasoning_effort (after enabling model selection)✅ one profile bundles preset + model + effort + tool scope + budget; overridable per call
Reusable named setups❌✅ profiles
Tool-scope narrowing❌✅ whitelist ∩ parent, run_code always removed
Safety checks❌✅ whitelist / cost / intersection / approval / budget, all recorded
Cost visibility❌✅ per-dispatch estimate + savings comparison
Decision ledger❌✅ full trace: request vs. effective, checks, execution, settlement
GUI management❌✅ settings page + per-session ledger tab
Performance-based suggestions❌✅ confirm to apply, undo anytime
Official model-selection interplay✅ enforced natively once enabled✅ dispatch follows the same whitelist (out-of-range routes are rejected)

Installation

dsh plugin --profile web add dsh-subagent-profile        # published package
dsh plugin --profile web add ./dsh-subagent-profile      # from a local checkout

Restart dsh web. This is a standard bundle plugin: it provides the dispatch tool, the profile provider, the subagent-profiles service, the /subagent-profiles/* loopback management routes, the settings page (「子 Agent 方案」), the per-session ledger tab, and the dispatch tool-call card in the web GUI. On startup it also self-installs an agent preset — orchestrator-v2 (「编排者模式 V2」) — pick it in the new-session preset picker. The sync is idempotent and re-runs on every startup, so upgrading the plugin updates the preset.

Usage

1. Configure sub-agent profiles

Profiles are managed in the settings page — each one bundles preset + model + reasoning effort + tool scope (and optionally a persona), and can be enabled, disabled, edited, or reset individually. Two built-ins ship:

ProfilePurpose
swap-standardswitch the child to the full standard coding toolkit
researcherdeep reasoning off, search-only tools

Profiles live in ~/.dsh/subagent-profiles.json and take effect immediately (edits are made from the settings page).

Built-in profile list — editable, deletable, individually toggleable

Configure profiles — the full settings page with the new-profile form

2. Dispatch per subtask — the dispatch tool

dispatch(
  profile: "researcher",        // preset + model + reasoning effort + tool scope
  prompt: "Survey the DSH plugin ecosystem and compare direct competitors",
  run_in_background: true
)

dispatch tool-call card — every result shows what actually ran

3. Review in the decision ledger

Every session has a ledger tab that records each dispatch decision: what the parent saw and requested, what actually took effect (with ignored-request highlights), which tools were removed and why, how execution went (including stalls and parent interventions), and what it cost. Safety-check failures are surfaced with fix directions.

Safety model

Delegation never lets a subagent gain more power than you already have — this is the default, with no configuration:

  • Tools only shrink. A child's tool set is the intersection of the profile's tools and the parent's tools, and run_code is always removed.
  • Approval is never bypassed. Delegation does not waive the host's approval requirements; operations that need approval are rejected automatically.
  • Cost is capped. Model, reasoning effort, tokens, and recursion depth are all bounded; out-of-range values fail loudly instead of silently downgrading.
  • An escape hatch, explicitly. Non-official presets can be allowed per-preset (default off, each allowance audited).

Observability & notifications

  • Live status. Background dispatches show live phase badges (start / gate / create / running / settled), driven by host job events with polling fallback.
  • Reminder center. Urgent events (escape-hatch allowances, audit degradation, budget anomalies) raise a persistent badge; the notification center keeps every reminder with full context — parent session, child session, task summary, and outcome — plus one-click jumps to the related sessions. Normal orchestration events (e.g. a parent not adopting a child's result) are recorded in the audit ledger without interrupting you.
  • Dispatch suggestions. Based on historical dispatch statistics, the plugin can inject read-only optimization hints for the parent agent (e.g. "this profile has a low recent success rate, consider switching") — hints only, nothing is changed automatically.
  • Subagent header badge. Child sessions show a compact summary badge (e.g. 继承父会话 · 前台 — "inherits the parent session, foreground"); hover for the full detail (model / effort / preset / mode / origin).

Data

  • ~/.dsh/subagent-profiles.json — the profile registry (edited from the settings page).
  • ~/.dsh/subagent-profiles.state.json — the plugin's enable/disable switch (default enabled).
  • ~/.dsh/subagent-profiles.failed-traces.json — the failure ledger (dispatch failure traces).
  • ~/.dsh/subagent-evolution/ — the decision ledger and statistics:
    • dispatch.jsonl — per-dispatch decision records (no prompt content).
    • summaries.json — aggregated per-profile statistics (versioned, rebuilt on corruption).
    • adopted-state.json — adoption verdict state for child results (cross-restart).
    • reminders.json — reminder store (one reminder = one audit record).
  • ~/.dsh/.agent-presets/orchestrator-v2/ — the self-installed orchestrator-v2 agent preset (synced from the bundled presets/orchestrator-v2/ on every startup).

DSH_HOME is respected and defaults to ~/.dsh. Uninstalling the plugin removes the data files above and the self-installed orchestrator-v2 preset directory (other plugins' presets are left untouched); re-installing or re-launching re-syncs the preset and regenerates the data files.

Known limitations

  • Background dispatch requires @deepseek-ai/dsh-jobs and @deepseek-ai/dsh-tool-jobs to be loaded; otherwise it fails with "dispatch: 后台派发不可用:缺少 jobs 服务".
  • Continuable mode goes through the DSH standard composition path, so the preset swap and reasoningEffort are ignored (the child inherits the parent preset at the default reasoning effort).
  • Continuable follow-ups are delivered through the official send_message channel (the plugin drives the child via the official child handle).
  • Official model selection is a web-line feature: the session policy for the built-in subagent tools ships with the web app and is not available in headless deployments. In production it is off by default and must be enabled before it takes effect.
  • Who decides the child's final tool set depends on the mode:
    • Continuable: narrowed by this plugin up front — the child's allow = (parent tool set − run_code − deny) ∩ allow. Assumption: continuable inherits the parent preset, so the child's tool set ≈ the parent's; if dsh's behavior changes so the two differ (e.g. a future preset swap composing a different tool set), tool narrowing fails with a hard error (conservatively safe — never silently granting more), to be replaced with a true parent ∩ child intersection once dsh provides an official seam.
    • One-shot: decided by dsh; the plugin cannot read the final restricted result and the card reports "tools are finally granted by the system".
  • Cost figures are estimates: computed from an average per-dispatch price (measured once per model); fine-grained per-token pricing is on the roadmap. The UI labels estimates as such and shows a note when the sample size is small.

Repository structure

dsh-subagent-profile/
├── index.mjs          # plugin entry: dispatch tool, profile provider, services, HTTP routes
├── lib/
│   ├── client.js      # browser side: settings page, per-session ledger, dispatch tool-call card
│   └── core/          # host-side modules by domain: gates, ledger, evolution, profiles, query, sync
├── presets/           # bundled agent presets (e.g. orchestrator-v2)
├── test/              # node:test suite (pure and junction tiers)
└── docs/              # screenshots

Contributing

Found a bug or have an idea? Open an issue or submit a pull request — all contributions are welcome.

If this plugin has been useful to you, please give it a ⭐ on GitHub — it helps others find it.

Credits

The bundled orchestrator-v2 agent preset was inspired by dsh-liangshen (梁神模式) from dsh-web-ui, licensed under Apache-2.0. Thanks to its author for the great work.

License

MIT — Copyright (c) 2026 muzyLink

Compatibility

DSH 0.2.0-rc.1: failedDSH 0.2.1-alpha.3: failedDSH 0.1.5-rc.2: failed

Versions

Latest versionPublishedSize
0.1.0——
0.2.0——
0.3.0——
0.3.1——
0.3.2——
0.3.3——
0.3.4——
0.4.0——
0.5.0——
0.5.1——

Comments

Loading…

Similar plugins

dsh-dev-crew

by ivanon

按职责把工作分派给绑定了不同模型的子代理的 DeepSeek Harness 插件

Development & InfrastructureManifest valid

★ 0

MIT

TypeScript

Aug 21, 2026

dsh plugin --profile web add dsh-dev-crew

by xiaoxiao-svg

双 Agent 交付协作工作流的 DeepSeek Harness 原生插件。基于 DSH 的 Cordis 插件系统,以 bundle 方式分发,不改动 DSH 源码。

Manifest valid

★ 0

JavaScript

Aug 15, 2026

dsh plugin --profile web add delivery-review-plugin

by KouzakiUmi

DeepSeek Harness 插件:按 Agent preset 限制每个 Agent 可见的工具,保留全局 provider 挂载;基于 agent/created 与 ctx.tools.restrict()。

Manifest valid

★ 0

MIT

JavaScript

Oct 19, 2026

dsh plugin --profile web add dsh-preset-tool-guard

by 121212165

Constrained subagent roster for DeepSeek Harness: one tool per role, each pinning a child system prompt, a capability allow-list, and a model tier. Bulk work vs team work by tool shape. 子代理名册:按角色约束系统提

Tools & CapabilitiesManifest valid

★ 0

MIT

JavaScript

Oct 18, 2026

dsh plugin --profile web add dsh-plugin-subagent-roster

by RaganaBloodedge

DeepSeek Harness 长期记忆插件:分层任务记忆 + 关系图谱 + 索引常驻稳定前缀;零运行时依赖,另附同源的 Agent skill 形态

Manifest valid

★ 0

MIT

TypeScript

Oct 15, 2026

dsh plugin --profile web add dsh-lmmarr

by Lawrence7y

把其他 agent harness(opencode / Antigravity / claude / codex / ZCode / MiMo / Cursor / Qoder …)接入 DeepSeek Harness:作为 DSH 子代理派发任务、指定各家模型,并在设置页查看已配置的 harness

Manifest valid

★ 0

BSD-3-Clause

TypeScript

Oct 19, 2026

dsh plugin --profile web add @dsh-external/dsh-harness-pilot