Oh My CoHarness:一個 Preset,角色可跑 DSH 原生或外部 AI 編程 CLI

前言

在 DeepSeek Harness(DSH)裏做多角色協作,常見做法是主控加若干子 Agent,各自用同一套模型與工具。若你還本機安裝了 Codex、Gemini CLI、Claude Code 等編程 CLI,往往會遇到另一層問題:專業分工(Oracle、Explorer、Fixer 等)和「用哪條 CLI 執行」被拆成兩個插件或兩套配置,交接靠複製粘貼,會話也難以按項目與 Lane 續接。

Oh My CoHarness(OMC)由社區維護者 PengYangchao0808 發佈,歸類爲工作流插件。它把 Orchestrator 與專業角色保留在一個 Bundle、一個默認 Preset 裏,同時讓每個角色通過 role.execution 選擇 DSH 原生子 Agent 或已安裝的外部 Harness。下文介紹其定位、已覈實能力、安裝方式與典型用法。

這是什麼

OMC 當前倉庫版本爲 0.5.0-alpha.2-practice.5(package.json 中 private: true,屬 0.X 內部驗證階段,首次 npm 公開發布規劃在 1.X)。一句話定位:Install once and let the AI coding CLIs you already use work together inside DeepSeek Harness——裝一個插件,在 DSH 內統一編排;外部 CLI 由 OMC Provider 發現與派發,並配合 Doctor 做可覈對診斷。

合併後用戶只需安裝 oh-my-coharness,不再需要同時掛載 oh-my-dsh-slim 與 oh-my-coharness。未配置外部 CLI 時,原生角色行爲與 OMD v0.8.6 一致。

架構與設計原則

DSH Desktop / Web / CLI 加載插件後,主控 Orchestrator 調度 Oracle、Explorer、Fixer、Designer、Librarian 及 Council(alpha / beta / gamma + 原生 synthesizer)。每個角色可選:

  • DSH Native:spawn / fork,受 DSH 權限與子 Agent 生命週期約束;
  • External:omc:<harness>,Provider 固定只讀(Designer 外部爲 patch 模式,產出 diff 由原生 Fixer 落地)。

六條原則在 README 中寫得很清楚:Runtime 歸 DSH;只有一個 Orchestrator;角色與 Harness 解耦;交接一律經主控、無 Agent 消息總線;前端仍是一套設置卡,只增加執行後端選擇。

核心功能(資料已覈實部分)

角色與執行後端

角色 默認後端 可切外部 CLI 說明
oracle / explorer native 是 只讀分析與偵察
fixer / librarian / council 合成器 native 否 寫入或 MCP 依賴須留在 DSH
designer native 是(patch) 外部只返回 unified diff
councillor-* native(默認關) 是 Council 獨立席位

backend 僅 native 與 omc;harness 爲 CLI id(如 codex、gemini、antigravity、opencode、kimi、claude、glm)。fallback 默認 fail,Provider 缺失時工具顯式失敗,不靜默回退 native。

外部只讀分 enforced、advisory、unsupported 三檔;advisory 需配置 allowAdvisory: true 纔可用於只讀角色。

v0.5:任務交接、會話與效率

  • Handoff:委派 Brief 攜帶 taskId、projectId、laneId、變更文件與驗收條件,不含完整對話;帶進程內 HMAC,防止僞造續接。
  • Session Registry:會話鍵保存在 ~/.dsh/oh-my-coharness-sessions.json,由 project、Lane、角色、Harness、模型、工作區、端點等共同決定;/coharness sessions 查看引用,--clear 僅清除 OMC 引用。
  • practice.5 增量(2026-11-03):跨進程請求預算閘門、原生子 Agent 綁定工作圖節點、會話續接/排隊/壓縮策略日誌;外部 CLI 按 dispatch 入賬,到額在啓動 CLI 前拒絕;設置卡可編輯 efficiency(模式、請求/任務/費用上限與強制執行)。practice.5 爲實踐增量,非完整 alpha.2 發佈閘門。

原生多模型 Demo(不接外部 CLI)

重啓 DSH 後可用(插件每宿主進程只加載一次):

/coharness fleet            # 預覽角色 → provider/model
/coharness fleet --apply    # 寫入配置(先備份)
/coharness demo             # 應用 fleet + 生成 demo 工作區 + 打印 prompt
/coharness status           # 覈對 native 角色釘住的模型與腳註(閘門、預算等)

診斷與遷移

/coharness doctor   # 不聯網、不調模型;CLI 發現、Provider、只讀等級、是否仍掛舊 OMD
/coharness status   # 角色 → 後端映射
/coharness migrate  # 預覽舊配置遷移

coharness 工具還提供 tasks/result/cancel、持久化編排(graph、send/inbox 等),契約見倉庫 docs/。

安裝與啓用

要求:Node ≥ 20,DSH >=0.2.1-rc.2 且 <0.3.0-0(見 package.json 的 engines.dsh)。

場景 做法
DSH Desktop Plugins 界面安裝 oh-my-coharness,或本地安裝插件目錄
有 dsh CLI 見下方命令
本地開發 通過 plugin_manager 的 install_bundle,target 爲倉庫絕對路徑

CLI 安裝命令(摘自 GitHub README「安裝」一節):

dsh plugin --profile add oh-my-coharness@0.5.0-alpha.2-practice.1

裝完後必須重啓 DSH。升級前應先卸載舊版 oh-my-dsh-slim,避免兩套角色入口同時掛載;v0.4 Doctor 會報告 legacy preset: oh-my-dsh-slim is STILL mounted。

典型配置

配置文件路徑:~/.dsh/oh-my-coharness.json,或在 設置 → Oh My CoHarness 編輯(保存走 OMD 原有 revision 衝突保護)。

角色 execution 示例:

{
  "roles": {
    "oracle": {
      "execution": { "backend": "omc", "harness": "codex", "fallback": "fail" }
    },
    "explorer": {
      "execution": { "backend": "native" }
    },
    "fixer": {
      "execution": { "backend": "native" }
    }
  }
}

會話策略示例(同 README):

{
  "sessions": {
    "enabled": true,
    "resumePolicy": "auto",
    "maxTurns": 24,
    "idleTtlMs": 604800000,
    "allowUnverified": false
  }
}

第一次使用建議先執行 /coharness doctor,再按需改角色後端或跑 /coharness fleet 原生演示。

適用場景與注意

適合誰: 已在 DSH 中使用或計劃使用 OMD 式多角色工作流,並希望在同一 Preset 裏把部分只讀角色交給本機 AI 編程 CLI,同時保留 Fixer 等在 DSH 內寫入;需要 Lane 級會話續接與 Handoff,而不是手工拷貝上下文。

務必知曉:

  • 插件以當前 DSH 進程權限運行;外部 CLI 不在 DSH sandbox/approval 之內,enforced 只讀依賴 CLI 自身沙箱,advisory 僅爲約定。
  • 安裝前應閱讀倉庫源碼與 MIT 許可證(LICENSE),以及 docs/DSH-CONTRACT-LIMITS.zh-CN.md 中的宿主契約限制。
  • 0.X 爲內部技術驗證路線,能力以 README 與 docs/REMAINING-AUDIT.zh-CN.md 爲準,路線圖不構成未實現能力的承諾。
  • 社區目錄 SkillHub 插件頁 與 GitHub 無 DeepSeek / 幻方官方從屬關係;DSH 生態遵循「一切皆插件」理念。

結尾

經過上面的步驟,可以把「誰來做」(Orchestrator 與專業角色)和「在哪做」(DSH Native 或 omc:* CLI)收攏到一個插件裏,並用 Doctor、status 與預算閘門做可覈對的運行態。

  • 目錄頁:https://www.skillhub.cn/plugins/PengYangchao0808/oh-my-coharness
  • 源碼與文檔:https://github.com/PengYangchao0808/oh-my-coharness
羽毛球分组比赛记分
小程序二维码

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

小夜