deepseek-harness/packages/bundle
imccyu 1646b7617e fix(bundle): exclude product subagents from base
The Codex and Claude Code subagent providers were production dependencies of
@deepseek-ai/dsh-base and mounted by its Cordis composition, so every install of
the base bundle carried two providers that only some products want.

Drop both from the base bundle's dependencies and composition. The examples keep
them as explicit dependencies, base's tests lock their absence, and the product
preset e2e mounts the providers it needs explicitly.

Cherry-picked from #2387 (two commits squashed into one).
2026-08-13 14:05:46 +08:00
..
base fix(bundle): exclude product subagents from base 2026-08-13 14:05:46 +08:00
headless Adopt MIT for DSH packages 2026-08-13 13:07:24 +08:00
web-app Adopt MIT for DSH packages 2026-08-13 13:07:24 +08:00
README.i18n.yaml fix(headless): dsh run is a direct core front door 2026-08-09 13:44:44 +08:00
README.md fix(headless): dsh run is a direct core front door 2026-08-09 13:44:44 +08:00
README.zh.md fix(headless): dsh run is a direct core front door 2026-08-09 13:44:44 +08:00

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.

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>.