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.

Subagent Fork Lite — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
S

dsh-subagent-fork-lite

Subagent Fork Lite

In-process DeepSeek Harness subagent provider that seeds a child with only the last N completed parent turns (fork-lite), leaving official fork untouched.

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

npx -y @deepseek-ai/dsh plugin --profile web add github:aleskxyz/dsh-subagent-fork-lite#57262a04a61baefd52ba6e51313cc7ab309a53b9
READMECompatibilityVersions

Compatibility and provenance

Subagent Fork Lite is published as dsh-subagent-fork-lite and currently resolves to version 0.1.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
9/17/2026

Versions

0.1.1stable
9/17/2026
0.1.0stable
9/16/2026

Related plugins

Loading related plugins…

Latest
0.1.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
Apache-2.0
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/16/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 Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI pluginsSubagent Codex@deepseek-ai/dsh-subagent-codexOne-shot Codex subagent provider over the official app-server protocolSubagent Claude Code@deepseek-ai/dsh-subagent-claude-codeOne-shot Claude Code subagent provider over the official Agent SDK

README

dsh-subagent-fork-lite

In-process DeepSeek Harness subagent provider that seeds each child with a bounded window of the parent’s completed conversation — the last N finished turns — instead of the entire transcript.

Registered by default as fork-lite on ctx.subagents.

Support matrix

Harness tagnpm package lineTypecheckUnit testsNotes
dsh-v0.1.2-rc.10.1.2-rc.1passpasssourceEventSeqs remapping uses a version-safe read
dsh-v0.1.5-rc.20.1.5-rc.2passpassPrimary dev/CI pin
dsh-v0.1.6-alpha.10.1.6-alpha.1passpasssession.snapshotEvents() deprecated but still used (same as stock fork)

No native harness seed-window API exists on these lines — this plugin remains the bounded-seed provider.

Features

  • Turn-window seed — configure how many completed parent turns the child inherits (maxCompletedTurns)
  • Stable mid-session cuts — the open (in-flight) parent turn is never seeded; only balanced history through the last turn/end
  • Valid session seeds — window events are renumbered so seq is contiguous from 0 (including remapped sourceEventSeqs)
  • In-process child — depth limit, tool filter, persona, structured output, and per-start agentOptions
  • Context inheritance flag — advertises inheritsParentContext: true when a seed is used
  • Named presets — mount multiple instances with different providerName / maxCompletedTurns values

Quick start

# git channel (latest main)
dsh plugin --profile web add "github:aleskxyz/dsh-subagent-fork-lite#main"

# or from npm (when published)
dsh plugin --profile web add dsh-subagent-fork-lite

# restart the profile, then verify the row
dsh --profile web --dump-config | grep -A6 'id: subagent-fork-lite'

Start a child with provider name fork-lite (see Usage).

Install & uninstall

  • git channel (latest main): dsh plugin --profile web add "github:aleskxyz/dsh-subagent-fork-lite#main" — the package prepare script builds with production dependencies; approve esbuild (and any other keys the CLI prints) if install stops on ERR_PNPM_IGNORED_BUILDS.
  • npm channel (published releases): dsh plugin --profile web add dsh-subagent-fork-lite.
  • tarball channel: pnpm pack in this repo, then dsh plugin --profile web add ./dsh-subagent-fork-lite-<version>.tgz.
  • uninstall: dsh plugin --profile web remove dsh-subagent-fork-lite (or remove the row from the profile patch).

Or insert the package into your profile patch (see cordis.patch.yml).

Configuration

All tunables are Schemastery Config fields (changeable from cordis.yml). An id-targeted override replaces the whole config row — restate every key you need.

FieldDefaultMeaning
providerNamefork-liteName registered on ctx.subagents
maxCompletedTurns2Number of completed parent turns to seed; 0 seeds nothing
- insert:
    - id: subagent-fork-lite
      name: dsh-subagent-fork-lite
      config:
        providerName: fork-lite
        maxCompletedTurns: 2

Multiple budgets

Seed size is fixed per mounted instance. For different windows, mount more than one row:

- insert:
    - id: subagent-fork-lite-2
      name: dsh-subagent-fork-lite
      config:
        providerName: fork-lite-2
        maxCompletedTurns: 2
    - id: subagent-fork-lite-5
      name: dsh-subagent-fork-lite
      config:
        providerName: fork-lite-5
        maxCompletedTurns: 5

Then start with the provider name you need.

Usage

const run = await ctx.subagents.start('fork-lite', {
  parent,
  prompt: [{ type: 'text', text: 'Your task for the child…' }],
  signal,
  // optional per-start route overrides:
  agentOptions: { provider: 'deepseek-official', model: '…' },
  // optional: toolFilter, persona, outputSchema, maxDepth, label
})

const result = await run.result
await run.dispose()

Omit agentOptions to inherit the parent’s LLM provider and model.

Tools & surfaces

SurfaceKindNotes
fork-lite (configurable)subagent providerRegistered on ctx.subagents; used via subagents.start(providerName, …)
cordis.patch.ymlbundle patchDefault insert row for profile install

No commands, session projections, or client UI.

How seeding works

  1. Read the parent session log through the last turn/end (completed-turn prefix).
  2. Keep only the last maxCompletedTurns of those turns.
  3. Renumber event seq values to 0…k so the child session accepts the seed.
  4. Hand the seed to the in-process run driver; the child’s first user message is your prompt.

The child then runs in its own session. Later parent turns are not shared live — the seed is a one-time snapshot at start.

What the seed contains

Within the kept turns, the child receives the parent’s logged events (user/assistant messages, tool calls/results, turn markers, and other events in that window). Surface history derived from those events is what the model sees.

What it does not contain

  • Parent turns older than the window
  • The parent’s current open turn
  • Custom or synthetic messages defined outside the parent log

Capabilities

CapabilitySupported
agentOptionsyes
outputSchemayes
depthLimityes
toolFilteryes
personayes
Continuable prep (prepareContinuable)yes (seed captured once at creation)

Known limitations

  • Seed policy is Cordis config only — not a field on each start() call. Use multiple mounted provider names for discrete budgets.
  • Window size is measured in completed turns, not characters or tokens.
  • A window that includes surface replaces whose sourceEventSeqs point outside the window cannot be renumbered and will fail seed construction.
  • On 0.1.6-alpha.1+, synchronous session.snapshotEvents() is deprecated; this provider still uses it (same deferred migration as stock fork).
  • Fresh AGENTS.md / runtime injects after start are separate from the seed (agent/pre-step); callers that need isolation must filter those themselves.

License

Apache-2.0