前言¶
DeepSeek Harness(DSH)原生 Goal 模式适合「持续推进」类任务:模型按轮次执行,直到达成目标或耗尽预算。但当任务跨越多次会话、需要依赖排序、委派子任务、留存证据,并在结束时做显式验收时,单靠 Goal 往往缺少持久计划、恢复机制与完成门禁。
Oh My DSH(亦称 DSH Autopilot,npm 包名 dsh-autopilot)是社区维护的工作流插件,在 DSH 之上补一层控制面:持久任务图、有界 worker、固定完成检查、故障恢复与最终报告。本文基于仓库 README 与 package.json(版本 0.1.0-alpha.3)整理安装与用法;SkillHub 目录页当前未展示独立安装说明,以下命令以 GitHub 文档为准。
这是什么¶
Oh My DSH 由 LiuMengxuan04 维护,仓库地址 liumengxuan04/oh-my-dsh,在 SkillHub 归类为「工作流」。项目采用 MIT 许可证,是独立于 DeepSeek 的社区实现,受 oh-my-codex (OMX) 启发,面向 DSH 的 Goal、Agent、session、storage、subagent、Skill 与 Cordis 公开接口做组合编排。
一句话定位:为 DSH 长时间开发任务提供 durable、bounded 的自主编排层——计划可跨重启存活,执行有租约与上限,完成须经冻结检查与只读评审,状态无法安全调和时进入 needs-attention 而非猜测继续。
当前为开发者预览版 0.1.0-alpha.3;公开 API、插件组合、配置与存储状态可能在预发布版本间不兼容变更。DSH 本体仍在积极开发中。
核心功能¶
下面按 README 列出的能力归纳,均可在一次 Autopilot run 中获得。
租约与预算¶
每次运行持有持久租约,限制轮次、活跃时长、验证次数、动态包、子 agent 启动数,以及单次托管派发或评审扇出规模。默认 profile 为 1,024 Goal 轮次与七天活跃期;部署上限为 4,096 轮与 30 活跃天。暂停期间不计入活跃租约。
需求访谈与三角色计划评审¶
启动后先做需求访谈并记录答案,再生成带依赖关系的任务图(DAG),并经过固定的三角色计划评审后才开始执行。
持久 DAG 与有界 worker¶
任务图持久保存依赖、尝试次数、阻塞项与证据。执行侧支持托管一次性委派、可延续的 Team worker、有界 Ralph 循环、固定 Workflow 与 Mission 队列。每个已完成任务须附带证据。
冻结检查与只读完成评审¶
项目检查的发现是有限的、基于 manifest 的;选定检查项、工作区与相关根 manifest 哈希在运行期间冻结。若根 manifest 变更,验证会报告漂移,而非静默切换检查集。完成策略冻结后运行选定项目检查,再由全新的只读评审者检视结果;未通过则进入修复循环,通过则完成精确 Goal 并交付最终报告。
恢复、管控与审计¶
支持在 compaction、Agent 错误、插件重载与进程重启后恢复。提供暂停、恢复、停止、审计与完成记录。文本 dashboard 展示 Goal、DAG、worker、验证、预算与清理状态。
安全边界(摘要)¶
- 不替代 DSH 权限或原生 Goal 所有权;客户端 Cordis 代码仍走 DSH 原生审批流。
selfModification默认off。host-onlyCordis 在 DSH 进程内运行,VM 非安全沙箱,仅应在可信、可丢弃、无凭证环境或 OS 隔离后启用。- 清理债务会阻塞后续模型工作,直至托管资源成功移除。
- Delivery 准备有界本地 worktree 与命令计划,不会静默 commit、push、开 PR 或合并。
启用 Host 自修改、外部通知、MCP、浏览器访问或 delivery 集成前,应阅读仓库内 Autonomy and security。
环境与依赖¶
在隔离 profile 中安装,并固定以下支持版本:
- DeepSeek Harness
0.1.0-rc.6 - Cordis
4.0.1 - Node.js
^22.19.0 || >=24.0.0
安装与启用¶
下面在名为 web 的 DSH profile 中安装预发布包,导出配置并做健康检查:
dsh plugin --profile web add dsh-autopilot@next
dsh --profile web --dump-config
dsh plugin --profile web exec dsh-autopilot doctor --profile web
在项目目录打开顶层 DSH 会话后即可启动运行。卸载示例:
dsh plugin --profile web remove dsh-autopilot
dsh --profile web --dump-config
移除包不会删除已有 DSH 转录或 Autopilot 存储记录。
插件以当前 dsh 进程权限运行;安装前应阅读源码与 MIT 许可证,在隔离 profile 中试用,并对重要工作做备份。
典型用法¶
启动一次 Autopilot 运行¶
在 DSH 会话中显式调用 start;裸 /autopilot 不是 status 或 start 的别名:
/autopilot start --rounds 256 --duration 2d Implement the requested change, add focused tests and documentation, run the repository checks, and report file-and-command evidence.
查看状态与管控¶
/autopilot status
/autopilot dashboard
/autopilot audit --limit 20
/autopilot pause
/autopilot resume [--duration 1d]
/autopilot stop
pause 保留运行但解除其 Goal 与运行时武装;resume 需人工触发。stop 撤销运行并清除匹配的原生 Goal,不删除 DSH 转录或 Autopilot 审计历史。
需要完整机器可读运行视图时用 status;audit --json 可能包含目标、证据、发现与受信 Host 源码,应谨慎使用。
查看任务图¶
Dashboard 为文本快照,非自定义 Web 图:
/autopilot dashboard
快照包含任务依赖与状态,以及 Goal、worker、验证结果、预算与待清理项;仅在请求时生成,运行结束不会自动弹出。
正常流程概览¶
- Autopilot 访谈需求并记录答案。
- 写入依赖图,计划经三角色固定评审。
- 就绪任务本地或通过托管 worker 执行,完成项附带证据。
- 冻结完成策略,运行选定的项目检查。
- 只读评审者检查结果;失败则修复循环,通过则完成 Goal 并交付最终报告。
适用场景与注意¶
适合: 跨多轮、多会话的仓库改动;需要可恢复计划、依赖排序、证据链与显式完成门禁的团队或个人;已在 DSH 0.1.0-rc.6 上验证插件工作流的用户。
不太适合: 单次短任务(原生 Goal 更轻);不愿接受预发布 API 变更或无法提供隔离 profile 的环境。
务必注意:
- 这是社区项目,非 DeepSeek 官方产品;SkillHub 为独立社区目录,与 DeepSeek / 幻方无从属关系。
- 预发布版本可能破坏兼容;请使用隔离 profile、备份重要工作,并锁定文档所列版本。
- 状态无法安全调和时运行停在
needs-attention,需人工介入。 - 从源码构建可参考 README 中的
pnpm install、pnpm run check与pnpm pack流程;日常安装以 npm 包dsh-autopilot@next为准。
结尾¶
Oh My DSH 在 DSH「一切皆插件」生态中,把长时间自主开发所需的持久图、有界执行、冻结验证与恢复能力收成一层可编排工作流。若你正在 DSH 上处理跨会话、需证据与完成门禁的开发任务,可先按上文命令在隔离 profile 安装 dsh-autopilot@next,用 /autopilot start 试跑一轮。