前言¶
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 試跑一輪。