Oh My CoHarness: A Preset for Roles to Run DSH Native or External AI Coding 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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye