跳到主内容

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

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则