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.

Exec Extension — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
E

dsh-exec-extension

Exec Extension

Official-pattern dsh bundle: replace headless-startup with per-invocation CLI flags without writing settings

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

npx -y @deepseek-ai/dsh plugin --profile web add dsh-exec-extension@0.1.3
READMECompatibilityVersions

Compatibility and provenance

Exec Extension is published as dsh-exec-extension and currently resolves to version 0.1.3. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
8/20/2026

Versions

0.1.3stable
8/20/2026

Related plugins

Loading related plugins…

Latest
0.1.3
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
199.7 kB
Files
25
Surface
any
License
MIT
Source
npm
GitHub
★ 1
Weekly downloads
0
Last push
8/27/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 developer-tools.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Sdk Minimal@deepseek-ai/dsh-sdk-minimalThe standalone minimal SDK profile bundle: JSON-RPC, one DeepSeek adapter, persistent shell, and JSONL sessionsSdk App@deepseek-ai/dsh-sdk-appThe dsh SDK profile bundle: stdio JSON-RPC serving and process lifecycle over dsh-baseSubagent Codex@deepseek-ai/dsh-subagent-codexOne-shot Codex subagent provider over the official app-server protocol

README

dsh-exec-extension

npm · 中文文档

A DeepSeek Harness bundle for one-shot exec, in the same shape as official surface plugins (dsh.bundle.patch + parseCmdline + commander). Stock headless-startup only declares [task...]; this bundle disables that row and inserts a replacement that still provides headlessStartup.task for unmodified headless-runner.

The CLI follows OpenCode run and Pi -p: piped stdin is merged into the prompt, @file / -f attaches files, --format json streams session events, --dir sets cwd, --yolo skips permission prompts (it does not disable the sandbox). Model overlay is in-process (Rust WASM) and never writes $DSH_HOME/settings.yaml.

Install

dsh plugin --profile exec add @deepseek-ai/dsh-headless@$(npm view @deepseek-ai/dsh version)
dsh plugin --profile exec add dsh-exec-extension
dsh --profile exec --help

Follow the same npm latest channel as the dsh CLI (npx @deepseek-ai/dsh / npm install --global @deepseek-ai/dsh). Do not use @next unless you installed dsh@next. @deepseek-ai/dsh-headless has a stale latest tag, so the first line takes the CLI's latest version instead of headless's own. dsh-exec-extension uses its own latest. Freeze with @<version> only when you need a snapshot. npm install does not need a prepare allowlist.

Git fallback: dsh plugin --profile exec add github:LvDAO/dsh-exec-extension

Dedicated profile only. Stock dsh --profile headless --model x "t" must still fail.

CLI

dsh --profile exec [options] [--] [task|-]
cat README.md | dsh --profile exec "summarize this"
dsh --profile exec @notes.md --full-auto "use the notes"
FlagMeaning
-m, --modelThis-process model (never part of the task)
--effort, --reasoning-effortoff|high|max
--thinkingPi thinking tiers; xhigh/max → max, minimal/low/medium/high → high
--providerThis-process provider
-C, --cwd / --cd / --dirWorking directory (published on headlessStartup.cwd)
--timeout <seconds>appExit(1) after N seconds
-s, --sandbox / --permission-moderead-only | workspace-write | danger-full-access
--approval ask|never|allowask fail-closes without a UI; never auto-denies; allow auto-grants
--full-autoworkspace-write + auto-allow (CI)
--yolo / --dangerously-skip-permissionsSkip permission prompts (auto-allow). Does not set danger-full-access; default sandbox stays workspace-write. Unrestricted access is --sandbox danger-full-access
--tools-mode native|code|bothTools presentation
-f, --file / @pathAttach file text into the task
--output-schema <path>Prompt-level JSON Schema constraint (not constrained decode)
-o, --output-last-message <path>Also write the final assistant text
--format text|json / --mode jsonjson is session-event JSONL
-c, --config key=value

Unknown flags error. Overlay never calls saveSelection().

--output-schema is a prompt constraint, not constrained decoding. --approval allow and --yolo install a process-local auto-grant because dsh never auto-denies and headless has no UI. --yolo does not set danger-full-access; use --sandbox danger-full-access for unrestricted tools.

headlessStartup is { task, cwd, permissionMode, approvalPolicy, autoApprove, toolsMode?, format }. sandbox-policy, approval, and tools inject that service (!!js ctx.headlessStartup.*). Stock headless-runner still only reads task.

Non-goals

MCP, Host, HTTP, resume, --image, forking headless-runner. Put MCP on the profile patch + process env, not on this CLI.

Develop

Node ≥ 22.19. WASM is committed; prepare skips rustc.

npm test
DSH_BIN=/path/to/dsh npm run acceptance
Repeatable this-process overlay
--env KEY=VALUE / --api-keyProcess env only (not written to disk)
--print-selectionPrint overlaid selection JSON and exit