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.

Role Config — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
R

dsh-role-config

Role Config

Role presets and a model pool for dsh: role-routed delegation with capability conditions and priority fallback

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

npx -y @deepseek-ai/dsh plugin --profile web add github:snnh/dsh-role-config#e6aa08c817d2a474f2578e9fa22de075616985df
READMECompatibilityVersions

Compatibility and provenance

Role Config is published as dsh-role-config and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/7/2026

Versions

0.1.0stable
10/7/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 1
Weekly downloads
0
Last push
10/14/2026
View source ↗
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 agents-orchestration.

Headless@deepseek-ai/dsh-headlessThe dsh one-shot bundle: a direct core Agent/Session runner over dsh-base with no Host, HTTP, or browser layerExperimental Ralph Bundle@deepseek-ai/dsh-experimental-ralph-bundleRun explicitly requested repeated work with fresh agents.Hindsight Coding Agents@vectorize-io/hindsight-coding-agentsReflect-only Hindsight long-term memory for coding agents (harness-pluggable: opencode, …), with automatic background ingestion (no setup CLI).Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI plugins

README


description: "Role presets and a model pool for dsh: the model delegates to a role, the operator's rules pick the model, and a failure walks the role's chain."

dsh-role-config

English | 中文

A dsh bundle that gives delegation two ways in and one decision layer:

  • Role presets. The model delegates to a role (role: "premium") and never learns which model serves it. Each role carries a description the model reads, a priority chain, and the operator's own routing rules.
  • Model pool. Models the model may name directly, each with the description the operator wrote for it. A direct route is used as given and never fails over.
  • Routing rules. Before a role's chain head serves, its conditions run in order: prompt substrings, a regular expression, required input modalities, a minimum context window, or the operator's own capability tags. Nothing matched and AI routing is on, one bounded router call decides; if it fails, the chain head serves.
  • Priority failover. A delegated child whose request fails terminally retries the same request on the next member of its role's chain, and the original failure stands once the chain is exhausted.
  • Function bindings. Context compaction and session titles can follow a role instead of the session's route, or keep the harness default.

Install

dsh plugin --profile <profile> add github:snnh/dsh-role-config

The built halves (lib/index.js, lib/client.js, and their declarations) are committed, so a git install needs no build script and no allowBuilds permission; install it and enable the bundle. Rebuild them with npm run build after changing src/.

The one prerequisite

This plugin registers its delegation tool under the official subagent name, which shadows the official tool only while that tool lives in an outer scope. Set modelSelectionSettings: false on the official tool-subagent row (both in the shipped presets and in any preset you added):

- id: tool-subagent
  config:
    provider: spawn
    toolName: subagent
    modelSelectionSettings: false

With model selection on, the official tool registers inside every agent's own scope, where a same-named tool cannot exist: the plugin logs which row to fix and leaves the official tool in place. delegate.toolName renames this plugin's tool instead, if you would rather keep the official configuration.

Configuring over a LAN address

Settings documents are confined to a loopback page by default, so a deployment reached at http://<lan-ip>:<port> shows the model pages and every plugin page as unavailable. To configure this plugin from the address you actually use, restate the client-connection row with its operator surface opened:

- id: connection
  config:
    trustedHosts: !!js ctx.webRuntime.trustedHosts
    operatorSurface: trusted

A patch replaces a row's whole config, so keep trustedHosts in the row. The page is served only after the access token is validated and every request it makes still passes the Host/Origin fence and the session check; what changes is that the settings and plugin pages render at all.

Configure

Open Plugins in the Web sidebar and select Role Config. The page edits one role-config settings section: the pool with its descriptions, the role presets with their chains and rules, the switches (which surfaces exist, failover, AI routing), the function bindings, and the delegation wiring.

What the model sees

SurfaceContentWhen
list_model_rolesRole ids with descriptions, and pool routes with descriptionsOnly when the model calls it
System promptThe same catalog, compactOnly with exposure.sessionStart
subagent (role)Nothing about the chosen modelAlways

A role's members, rules, and the router's answer never reach the model.

Limits

  • A role never fails over for a directly named route, and the main agent's own requests never fail over.
  • Agent-team members inherit the lead's route; this plugin can only fail them over, not choose their model.
  • Function bindings write the target row's configuration and have no failover of their own.