替换无界面启动流程,为 dsh headless 运行添加 --model provider/model、--resume <id|latest>、--continue 与 --session-info 标志。
安装
# npm 包(预构建)
dsh plugin --profile web add @dennisrongo/dsh-headless-plus
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:dennisrongo/dsh-plugins#path:/plugins/dsh-headless-plus
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
该插件的 README 只有英文版本。
npm: @dennisrongo/dsh-headless-plus ·
source: dennisrongo/dsh-plugins
Claude Code parity for the DeepSeek Harness headless app: pick a model and continue a conversation from the command line.
The stock headless app runs one task with the default model and forgets it. This replaces it
with one that takes --model, --resume and --continue, so a shell script or an agent can
hold a real conversation across invocations.
Flags
| Flag | Meaning |
|---|---|
--model provider/model |
Override the model for this run. Malformed values fail fast at startup rather than silently falling back. |
--resume <session-id|latest> |
Continue an existing session. |
-c, --continue |
Alias for --resume latest — the most recent session for this directory. |
--session-info |
Print the session id to stderr at exit, so stdout stays clean for piping. |
dsh --profile headless-plus --session-info "reply with the single word ok"
dsh --profile headless-plus --continue "and again"
dsh --profile headless-plus --model deepseek/deepseek-chat "summarise README.md"
Install
dsh plugin --profile headless add @dennisrongo/dsh-headless-plus
Needs a profile built on @deepseek-ai/dsh-base + @deepseek-ai/dsh-headless. The package
mounts itself: its own cordis.patch.yml disables the two stock headless rows and inserts
its replacements. Do not repeat any of that in your profile — a duplicate id is fatal
(duplicate loader entry id: headless-plus-startup).
This is a replacement app, not an addition, which is why it disables another bundle's rows.
Update
dsh plugin --profile headless outdated
dsh plugin --profile headless update @dennisrongo/dsh-headless-plus
dsh plugin forwards to pnpm, so outdated, update and remove all behave normally. A
caret range only moves within its major; cross one with
add @dennisrongo/dsh-headless-plus@latest. There is no build step — lib/ is hand-written
and committed — but the app is a CLI, so changes apply on the next run, not a refresh.
How it works
Two plugins, two rows. lib/startup.js owns the flag family via commander and publishes a
headlessPlusStartup service carrying the parsed task and options; lib/index.js resolves the
session target, applies any model override, runs the agent and prints the result. Each dsh app
owns its own flags, so these do not collide with the launcher's.
Resuming goes through the public ctx.agents.resume(). --resume latest maps the cwd to its
session directory using the same slug rule as dsh-session-persistence-jsonl (separators → -,
wrapped in --); if that upstream convention changes this breaks, and test/smoke.mjs is what
catches it.
commander is a real dependency; every @deepseek-ai/* is a peer supplied by your dsh install.
See AGENTS.md for the mount rows, dev loop and verification recipe.
About the author
Plugins and walkthroughs on YouTube @codingmenace — I build AI coding tools in public, including DeepSeek Harness itself. More at dennisrongo.com.
链接
同类插件
yjh051108/dsh-routing-suite★ 6997
一个仓库三件套:DSH 插件包的运行时注入器(注入、热重载、卸载、开发侧挂区一键转正、路由自愈,外带设置页插件管理:列出、卸载、拖入文件夹内化)、任务感知的思维模式路由 agent 预设(router-standard / router-spec / router-react)、以及分级两级任务协议(commit_star / lock_stage / revise_do / edit_plan / mark_task / redteam_verdict 六个工具,任务状态落盘)。注入器实现直接在库内,安装的是它自己的行为而不是一份依赖清单。
strukto-ai/mirage#dsh★ 3696
把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Slack、Gmail、Notion、Postgres)而非宿主磁盘,支持按挂载点设置读/写/执行模式、按命令选择沙箱(进程内 monty、pyodide、quickjs;远程 docker、e2b、daytona),并可在虚拟终端中安装 CLI(git、gh、slack、linear、ntn、gws,或自行注册的程序树)作为命令头词。
first-fluke/oh-my-agent#dsh★ 1344
在工具执行前后以及尝试结束当前轮次时运行项目 OMA 检查。随插件安装 OMA CLI 依赖,并在首次使用时初始化未配置的项目。需要 Node.js 22+;首次初始化需要网络连接和项目目录写入权限。
hust-open-atom-club/oh-dsh★ 322
社区发行版:TUI、桌面端与 Web UI 统一体验,分层安装、一步到位。
weijiafu14/pi2dsh★ 217
Pi Host ABI 兼容引擎:装一次之后,npm 上的 Pi 扩展原包经 `dsh plugin add <pi-package>` 直接作为 DSH 原生插件挂载。已在官方 DSH 上端到端验证 pi-mcp-adapter(完整 MCP 管理面:OAuth、resources、prompts、MCP Apps、elicitation、sampling)、@tintinweb/pi-subagents、pi-code、pi-hermes-memory、pi-background-tasks;`pi2dsh inspect` 在安装前报告一个包的兼容情况。
Fishquito7/dsh-skill-mcp-panel★ 207
在 DSH Web 设置中管理技能与 MCP 服务器:技能卡片热启停、工作区作用域、分组、批量迁移与拖拽导入,以及 stdio/HTTP MCP 增删改查、连接测试、密钥脱敏,并附带统一 dsh-panel 命令行。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。