mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-09-13 04:03:30 +00:00
The boot-time agent-presets overlay replaced the composed roots with the shipped root alone, so roots configured in a profile's cordis.patch.yml vanished from the roster (externally reported in deepseek-ai/deepseek-harness#3636). The overlay also froze the row's boot-time config above every live reload and never reached the config dump, which therefore showed roots the boot dropped. Derive the roster patch from the current layers instead: prepend the shipped root (system trust, wins duplicate ids) to configured roots, share one builder across boot, live user-layer reloads, and --dump-config, and fail loud on a roots value the launcher cannot statically rewrite. Fixes #2863.
bundle/ — profile plugin bundles
English | 中文
Profile bundles: npm packages whose manifest declares "dsh": { "bundle": { "patch": "./cordis.patch.yml" } }, making them installable patch layers for dsh --profile compositions (profile contract). A bundle's substance is its patch list; some also ship runtime glue plugins their patch mounts.
The manifest declaration, not this directory, defines Bundle identity. Domain packages can carry their own optional Profile layer; the Codex and Claude Code subagent packages are directly installable examples.
| Package | Role | ctx key |
|---|---|---|
base/ |
The shared dsh core every profile applies first | — (patch only) |
web-app/ |
Browser surface: web patch layer + runtime glue plugin | mounts rows |
headless/ |
Direct one-shot task mode over base, with no Host or Web layer | mounts headless-runner |
In-box bundles resolve from the dsh installation; out-of-tree bundles install into a profile through dsh plugin --profile <name> add <package>.