Oh My DSH:爲 DeepSeek Harness 提供有界、可恢復的長時間自主開發

前言

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-only Cordis 在 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 不是 statusstart 的別名:

/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 審計歷史。

需要完整機器可讀運行視圖時用 statusaudit --json 可能包含目標、證據、發現與受信 Host 源碼,應謹慎使用。

查看任務圖

Dashboard 爲文本快照,非自定義 Web 圖:

/autopilot dashboard

快照包含任務依賴與狀態,以及 Goal、worker、驗證結果、預算與待清理項;僅在請求時生成,運行結束不會自動彈出。

正常流程概覽

  1. Autopilot 訪談需求並記錄答案。
  2. 寫入依賴圖,計劃經三角色固定評審。
  3. 就緒任務本地或通過託管 worker 執行,完成項附帶證據。
  4. 凍結完成策略,運行選定的項目檢查。
  5. 只讀評審者檢查結果;失敗則修復循環,通過則完成 Goal 並交付最終報告。

適用場景與注意

適合: 跨多輪、多會話的倉庫改動;需要可恢復計劃、依賴排序、證據鏈與顯式完成門禁的團隊或個人;已在 DSH 0.1.0-rc.6 上驗證插件工作流的用戶。

不太適合: 單次短任務(原生 Goal 更輕);不願接受預發佈 API 變更或無法提供隔離 profile 的環境。

務必注意:

  • 這是社區項目,非 DeepSeek 官方產品;SkillHub 爲獨立社區目錄,與 DeepSeek / 幻方無從屬關係。
  • 預發佈版本可能破壞兼容;請使用隔離 profile、備份重要工作,並鎖定文檔所列版本。
  • 狀態無法安全調和時運行停在 needs-attention,需人工介入。
  • 從源碼構建可參考 README 中的 pnpm installpnpm run checkpnpm pack 流程;日常安裝以 npm 包 dsh-autopilot@next 爲準。

結尾

Oh My DSH 在 DSH「一切皆插件」生態中,把長時間自主開發所需的持久圖、有界執行、凍結驗證與恢復能力收成一層可編排工作流。若你正在 DSH 上處理跨會話、需證據與完成門禁的開發任務,可先按上文命令在隔離 profile 安裝 dsh-autopilot@next,用 /autopilot start 試跑一輪。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜