npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@pure01fx/dsh-subagent-tiers-hu

v0.1.0

Published

Hu's Subagent Tiers for DeepSeek Harness

Readme

Hu's Subagent Tiers

@pure01fx/dsh-subagent-tiers-hu provides provider-neutral, configurable subagent tiers for DeepSeek Harness. The bundle ships two disabled worker templates:

  • subagent_fast: scoped edits, quick repository scans, and concise summaries; max depth 1.
  • subagent_pro: focused review, design evaluation, risk analysis, and final synthesis; max depth 2.

No model provider is required or selected by the package. A tier becomes visible only after the user enables it and selects an exact provider/model route that the current DSH profile can validate.

Install

Add the package to the Web profile, restart the existing Web process, and refresh the GUI:

dsh plugin --profile web add @pure01fx/dsh-subagent-tiers-hu

For local development, the package spec may instead be an absolute checkout path.

Configure in DSH Web

Open Settings → Subagent tiers. Fast and Pro are built-in templates, and New tier creates removable custom tiers with a unique ID and tool name. Every tier provides editable fields for:

  • enabled state, provider, model, reasoning effort, and optional token limit;
  • tool description and worker persona/prompt, with a per-tier prompt reset action;
  • fresh/fork context, continuable/one-shot background mode, background permission, and maximum delegation depth;
  • for custom tiers, a unique tool name and any currently installed non-default mode in which the tool should be visible. New tiers start with no mode selected.

Provider, model, and effort choices come from DSH's live LLM catalog. The host validates the exact route with the owning adapter; catalog membership is advisory, while adapter validation is authoritative. An unconfigured or unavailable tier is not registered, and the built-in generic delegation tools remain available when no replacement tier is active.

Configuration is stored in subagent-tiers.json beside the active profile's cordis.yml (normally $DSH_HOME/profiles/web/subagent-tiers.json). The version-3 file contains worker definitions, custom-tier mode exposure, route identities, and prompts, never credentials. Writes are revision-fenced, cross-process locked, atomically replaced, and mode 0600. If editable state is malformed, tiers fail closed while the settings page remains available to repair it; independently valid historical route revisions are retained during that repair.

The rc.6 Web API does not let third-party plugins expose their own privileged settings namespace, so this package temporarily serves a loopback- and same-origin-only configuration endpoint. Provider credentials continue to use DSH's credentials/settings services and are never accepted by this endpoint.

Architecture

Each exact worker route receives an immutable revision provider name in the durable subagent/descriptor. A root agent/request waterfall resolves that revision from the profile ledger and pins provider, model, effort, and optional token limit. Editing any tier creates a new revision without changing routes used by existing continuable children; malformed, legacy, or missing tier revisions fail closed instead of falling through to a host default.

The plugin wraps DSH's built-in spawn or fork subagent provider. Current revisions own the visible built-in and custom tier tools; historical wrappers remain registered only so durable children can resume. Tools are exposed only after both the LLM route and the matching base subagent provider are available.

Tools are registered in the profile and hidden per live agent with scoped restrictions derived from presetBindings plus custom-tier exposure choices. No shipped or third-party preset files are edited. The mode picker comes from the live agentPresets.list() roster; custom tiers may explicitly opt into a discovered mode, while unselected modes inherit the safe default and expose no custom tier tools.

Background report scheduling

The bundle changes the host tool-subagent-report policy to reportDelivery: quiet for all continuable children in the profile. A child-authored report adds parent context without waking the parent or creating a one-message followup turn; runtime-owned settlement notices remain separate and wake or steer the parent when an Activation ends.

There is no blocking wait tool for an already-started continuable child. The parent should keep doing independent work while children run, then finish only its current response when no independent work remains so settlement can resume it. It must not end or dispose the session. If the current response cannot complete without the child result, start the tier with run_in_background: false instead.

Host configuration

The bundle patch contains disabled Fast/Pro templates and built-in preset bindings. A profile overlay may still override the subagent-tiers Cordis row when deployment-managed defaults are preferred.

workers.<id> accepts:

  • optional enabled, route, persona, and toolFilter;
  • required toolName and description;
  • route.provider, route.model, optional reasoningEffort and maxTokens;
  • execution.contextMode (fresh or fork), backgroundMode, enableRunInBackground, and maxDepth.

A worker with a route and no explicit enabled keeps backward-compatible enabled behavior. An enabled worker must have a route. presetBindings.<preset> accepts an expose list and optional replaceGenericTools. Unknown presets fall back to presetBindings.default; the safe default exposes nothing.

validateRoutesOnStart: true turns an unavailable configured route into a plugin startup failure. The default keeps the settings UI available, marks the route unavailable, and withholds its tier tool until the route becomes valid.

Visibility and cold resume

As configured base providers and LLM adapters change, the plugin reconciles tier availability and live-agent restrictions. Standard, Code, Cordis, and Minimal keep their native/Code Mode wire; only configured, valid tiers appear.

A low-level schemas(standingKeyFor(preset)) query in rc.6 does not include live-agent restrictions. The current Web GUI uses live-agent scopes and does not render catalogs from standing preset keys. If that changes, registration should move into generated preset layers.

Route revisions are append-only because a cold-resumed child's descriptor stores the wrapper provider name. Removing an old revision without proving that no session references it would break cold resume, so automatic garbage collection is intentionally omitted.

Development

npm install
npm run check
npx publint
npx @arethetypeswrong/cli --pack .

The test suite covers configuration/routing, profile persistence, immutable route revisions, provider and tool mounting, preset restrictions, request pinning, foreground execution, and continuable execution. Live-profile verification should additionally cover actual model headers, route edits followed by cold resume, adapter add/remove, and Web settings interaction.