headless 使用指南
DSH 一次性任务运行组合包:把命令行任务交给 Agent 执行后,把最后一段 assistant 文本写到 stdout 并退出,不开端口、不带 Web UI。
本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。
本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。
快速上手
Deepseek-Harness-Desktop(vendor/deepseek-harness/packages/bundle/headless)
— 源: plugin_wiki.wiki_content
安装与验证
dsh plugin --profile web add @deepseek-ai/dsh-headless
复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。
— 源: plugins.install
关键要点
- 官方界面 — 对话、工具调用、审批就是
dsh web,没有另做一套聊天页。 - Git — 标题栏切分支、提交、推送、开变更请求。
- 文件与终端 —
Ctrl+\打开右栏(Files / Diff / Browser / Agents);Ctrl+`打开底栏终端,选区可送进对话。 - 模型 — 第三方思考强度、识图兜底;最新一条用户消息可改完再发。
- 外观 — 浅色 / 深色主题。壁纸在外观里选或点「浏览」打开图库(分类、搜索、收藏,确认后按窗口比例裁切);毛玻璃和像素化也在外观里调。
— 源: plugin_wiki.readme_zh (fallback readme_raw)
常见问题
这个 bundle 跟 dsh-base 是什么关系?
headless 是叠在 dsh-base 之上的薄补丁(patch over),它本身没有重复注册任何 host/HTTP/Web 能力,只覆写 system-prompt 的 persona、关闭 HMR、转发 tools mode、追加 Code Mode worker 运行时,再插入 headless-startup 与 headless-runner 两个插件。
必须通过 dsh launcher 启动吗?
必须。runner 显式依赖 ctx.appExit 这个由 launcher 提供的进程退出钩子;在 dsh 启动器之外直接挂载会立刻抛 'the launcher must provide ctx.appExit before the tree mounts'(src/index.ts:144-147 / tests/headless.spec.ts:243-245)。
任务里多个单词怎么传?
用位置参数;命令行解析器把多个词按空格拼成单个 task 字符串(src/startup.ts:31-41, 51-55),例如 dsh --profile headless "run the tests" 或 dsh --profile headless run the tests。
不传任务或只传空白会怎样?
进入应用前就被拒绝,输出 usage 错误,进程退出码 1,runner 不会激活(src/startup.ts:52-53 / tests/startup.spec.ts)。
进程退出码怎么映射?
最终 turn/end 的 reason.kind 为 completed 时退出码 0;其它情况(含 aborted / error / 区间内无 turn)退出码 1;终止原因为 error 时,错误 code 与 message 会额外写到 stderr(src/index.ts:129-133 / tests/headless.spec.ts:146-179)。
会把任务结果持久化到磁盘吗?
会。runner 在退出前调用 ctx.sessions.flush 把会话事件落盘;落盘路径与格式由 dsh-base 的 session-persistence 行控制,headless 包本身不再额外存数据(src/index.ts:127)。
能在一次调用里连续追问吗?
不能。runner 没有交互式后续入口;它只提交一次任务消息,等 Agent 自然回到 idle 后取最后一个非空 assistant 消息就退出(README.md:19 / src/index.ts:120-129)。
我能换底层模型吗?
不在 headless 包里配。模型走 dsh-base 的 agent-default-model,key 与选择由 dsh settings(llm-deepseek / llm-pi-ai 段)或对应环境变量提供;headless 只是叠加在最上层(cordis.patch.yml)。
— 源: plugin_wiki.faq_json
兼容性
- DSH: 0.1.0-rc.7+
- Node: >=22.19.0
— 源: plugin_wiki.compatibility_json
踩坑提醒
安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。
— 来源:通用规则