跳到主内容

headless 使用指南

DSH 一次性任务运行包:在命令行提交一句任务,启动 Agent 执行后把最终答案打印到 stdout 退出。

本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。

本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。

快速上手

deepseek-harness-studio(headless 包)

— 源: plugin_wiki.wiki_content

安装与验证

dsh plugin --profile web add @deepseek-ai/dsh-headless

复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。

— 源: plugins.install

关键要点

  • Electron 桌面端:提供应用窗口、系统托盘、单实例运行、外部链接处理和安全的 preload 通信接口。
  • 本地 Harness Host:桌面主进程启动 dsh web,等待本地服务就绪,并在应用退出时关闭 Host 进程。
  • Web 工作区:保留 DeepSeek Harness 的会话、工作区、模型、工具、Skills 和插件运行能力。
  • 插件发现与推荐:自动读取在线目录,通过精选、最近更新、生态热门、场景分类和搜索,帮助用户快速找到值得尝试的插件。
  • Agent 智能找插件:用一句自然语言描述需求,Agent 自动检索公开 dsh-plugin 目录、筛选相关候选并说明推荐理由。

— 源: plugin_wiki.readme_zh (fallback readme_raw)

常见问题

这个包和官方 dsh web 界面是一回事吗?

不是。headless 是不带 Host/HTTP/浏览器的 CLI 直接驱动入口;它跑完即退出,没有 Web UI、不会监听端口。Web 体验请用 packages/bundle/web-app 或带桌面的发行版(README.md:5 / cordis.patch.yml:1-5)。

必须通过 dsh launcher 启动吗?

必须。runner 显式依赖 ctx.appExit 这个由 launcher 提供的主机钩子来请求退出;在 dsh 启动器之外直接挂载会立刻抛 'the launcher must provide ctx.appExit'(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:91-97)。

进程退出码怎么映射?

最终 turn/end 的 reason.kind 为 'completed' 时退出码 0;其它情况(包括 aborted / error)退出码 1;终止原因为 error 时,错误 code 与 message 会额外写到 stderr(src/index.ts:129-133 / tests/headless.spec.ts:146-173)。

会把任务结果持久化到磁盘吗?

会。runner 在退出前调用 ctx.sessions.flush 把会话事件落盘,Session 文件由 dsh-base 的 session-persistence-jsonl 行写到 dshHome/sessions/ 目录下;headless 只复用这一既有路径,本身不再额外存数据(src/index.ts:127 / packages/bundle/base/cordis.patch.yml:98-101)。

能在一次调用里连续追问吗?

不能。runner 没有交互式后续入口;它只提交一次任务,等 Agent 自然回到 idle 后取最后一个非空 assistant 消息就退出(README.md:18-19 / src/index.ts:120-129)。

我能换底层模型吗?

task 来自命令行,模型走 dsh-base 的 agent-default-model(默认 deepseek-official / deepseek-v4-flash),通过 dsh settings 文档(llm-deepseek / llm-pi-ai 段)改 runtime 选择,不需要在 headless 包内配置(packages/bundle/base/cordis.patch.yml:63-67, 78-79)。

— 源: plugin_wiki.faq_json

兼容性

  • DSH: 0.1.0-rc.8
  • Node: ^22.19.0 || >=24.0.0

— 源: plugin_wiki.compatibility_json

踩坑提醒

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

— 来源:通用规则