DeepSeek Harness 插件

dsh-exec-extension

Official-pattern dsh bundle: replace headless-startup with per-invocation CLI flags without writing settings(英文原文)

跳到安装方式

来源信息

GitHub 仓库
LvDAO/dsh-exec-extension
最近更新
2026年8月20日
分类
工具与能力
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/LvDAO/dsh-exec-extension
插件名:dsh-exec-extension
作者:LvDAO

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

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"

| Flag | Meaning | |------|---------| | -m, --model | This-process model (never part of the task) | | --effort, --reasoning-effort | off\|high\|max | | --thinking | Pi thinking tiers; xhigh/maxmax, minimal/low/medium/highhigh | | --provider | This-process provider | | -C, --cwd / --cd / --dir | Working directory (published on headlessStartup.cwd) | | --timeout <seconds> | appExit(1) after N seconds | | -s, --sandbox / --permission-mode | read-only \| workspace-write \| danger-full-access | | --approval ask\|never\|allow | ask fail-closes without a UI; never auto-denies; allow auto-grants | | --full-auto | workspace-write + auto-allow (CI) | | --yolo / --dangerously-skip-permissions | Skip 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\|both | Tools presentation | | -f, --file / @path | Attach 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 json | json is session-event JSONL | | -c, --config key=value | Repeatable this-process overlay | | --env KEY=VALUE / --api-key | Process env only (not written to disk) | | --print-selection | Print overlaid selection JSON and exit |

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