@huiliyi37/dsh-base
English | 中文
The shared dsh core as a profile bundle: [cordis.patch.yml](cordis.patch.yml) inserts every base plugin row — model adapters, the shared [agent-default-model](../../core/agent-default-model/README.md) selection, tools, persistence, policy, settings/credentials, repository Plugins, telemetry — over the empty profile root, as the first layer of every profile's dsh.profile.bundles list. Later bundle layers (e.g. [dsh-web-app](../web-app/README.md)) and the user's profile cordis.patch.yml override these rows by id; a patch replaces a row's whole config, so mode-specific values live in mode bundles, not here. The package has no runtime API; the profile composer resolves the patch through the dsh.bundle.patch manifest field, never through code.
The base row for [/next-workflow](../../workflow/next-workflow/README.md) has no config, so every profile exposes the command once while package defaults keep verifyCommand unset. VERIFY reports unverified unless a later profile layer replaces the row with deployment-specific gate configuration.
The row set and its rationale are documented inline in the patch file; the [generated composition graph](../../../apps/cli/composition.md) renders it.
Model Experience
Indirectly, through the inserted rows: this bundle selects the shipped persona-less prompt base, tool set, and DeepSeek adapter that mode bundles specialize, and contributes no model-visible text of its own.
#### KV Cache effect
None directly; each inserted row's package owns its effect.
Known Limitations and Deferred Work
- A patch replaces whole row configs — profile overrides must restate every field a row keeps; there is no deep-merge layer.