DeepSeek Harness plugin

dsh-base

The shared dsh core as a profile bundle: every profile's first patch layer, inserting the base plugin rows over the empty profile root

Jump to install

Source facts

Repository
deepseek-ai/deepseek-harness
Latest update
Aug 21, 2026
Category
Development & Runtime
GitHub stars
183k
Format
bundle
Package path
packages/bundle/base
Catalog evidence
Official repository listing
Checked against
0.1.0-rc.5
Upstream check date
2026-08-13

Catalog inclusion supports discovery only. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/deepseek-ai/deepseek-harness/tree/HEAD/packages/bundle/base
Plugin: dsh-base
Author: deepseek-ai

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only
README language

@deepseek-ai/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, telemetry, and the core spawn/fork subagent providers — over the empty profile root, as the first layer of every profile's dsh.profile.bundles list. The optional Codex and Claude Code providers stay outside this package and its production dependency closure; a Profile installs either [product provider Bundle](../../subagent/README.md) only when needed. The default @deepseek-ai/dsh production closure therefore includes neither product provider, the Claude Agent SDK, nor the Codex wrapper and platform payloads. 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 patch gates both shell stacks by platform on its own rows: bash-sandbox/tool-bash carry disabled: !!js process.platform === 'win32' (bash has no Windows runner), and their twins pwsh-sandbox/tool-pwsh mount on win32 only with the inverted expression — one shared patch file, exactly one shell stack per host. The permission surface stays exactly as on POSIX: sandbox/sandbox-policy enforce the file-effect policy through the Windows ACL restricted-token runner (the win32 chain of dsh-sandbox-local@deepseek-ai/dsh-sandbox-windows-acl), the permission switcher and the approval service run unchanged, and fs-sandbox keeps fencing ctx.fs writes — mounting dsh-fs-local alongside it would double-register ctx.fs and fail the load. A Windows host that prefers the unconfined local pwsh executor or full access overrides these rows through its profile or home cordis.patch.yml (the bash-restore recipe must be complete: disable pwsh-sandbox/tool-pwsh AND re-enable bash-sandbox/tool-bash — both executor families register the same bash service, so an incomplete recipe fails loud at load). POSIX hosts see the pwsh rows disabled.

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.
  • The Windows temp grant is a private per-session subdirectoryworkspace-write confines writes to the workspace plus the session's own temp subdirectory (<temp>\dsh-<hash>, TMP/TEMP rewritten for confined children); read-only grants nothing. See @deepseek-ai/dsh-sandbox-windows-acl.