Back to home@jiazz197-cmyk

omd-dsh

Multi-mode agent presets for DeepSeek Harness — per-mode model routing + tiered subagent delegation.

Stars
5
Language
TypeScript
Created
Aug 23, 2026
Updated
Aug 29, 2026
GitHub repo

Introduction

omd-dsh

DeepSeek Harness(DSH)的多模式智能体插件 —— 7 个开箱即用的模式,每个模式固定一套能力边界 + 一个模型,omd_task 按 tier 把重复/深度工作委派给不同档位的子代理。

npm version License: MIT


这是什么

omd-dsh 给 DSH 增加 7 个「模式」(agent preset)。每个模式 = 一套固定的工具边界 + 一个模型路由;同一模式内,omd_task 把重复调查/机械活派给便宜模型(fast),把深度推理派给强模型(deep)——「强模型顶层 + 性价比模型做重复工作」。

能力来自 DSH 原生

omd-dsh 不重复造轮子,它是一层很薄的「接线 + 组织」:核心能力大多指向 DSH 原生机制,本插件只负责决定「每个模式用哪些原生能力、配哪个模型」。

omd 特性指向的 DSH 原生能力
自动续跑 / /ulwDSH 原生 goal + goal-round-driver
多智能体 fan-outDSH 原生 workflow
fresh-agent 迭代DSH 原生 ralph
tier 子代理委派DSH 原生 subagentomd_task 只是暴露 per-request 模型/persona 选择)
规划访谈DSH 原生 plan-mode + exit_plan_mode
PTC(Code Mode)DSH 原生 dsh-agent-tool-presentation(mode: code)+ 宿主 dsh-code-runtime
只读/无 shell 边界DSH 原生 preset 工具组合(非自研沙箱)
技能 / MCP / 终端DSH 原生 skills / mcp-client / bash·pwsh

7 个模式

模式定位能力边界
omd-executor全自主执行完整工具集 + goal / ralph / workflow / 委派
omd-ultraworker超能工作者完整工具集 + goal / workflow / 委派 + PTC(Code Mode)
omd-planner规划访谈只读 + 委派(DSH 原生 plan-mode)
omd-reviewer评审只读
omd-explorer代码侦察只读
omd-librarian文献研究只读
omd-chat纯对话无 fs / shell

各模式的模型集中在模型矩阵里:设置页「omd模型分配」(可视化编辑,写入 ~/.dsh/settings.yamlomd-model-allocation 命名空间)或 CLI omd-dsh setup / 手改 ~/.dsh/omd-matrix.json。首次 omd-dsh sync 自动从随包的 deepseek 默认矩阵生成个人矩阵。

安装

前置要求:已装 DeepSeek Harness(dsh)、Node.js ≥ 20。

方式一:dsh plugin(推荐,一键)

dsh plugin --profile web add @carljia/omd-dsh

装完重启 dsh web:插件在启动时自动把 7 个模式写入 ~/.dsh/.agent-presets 并生成模型矩阵,preset 选择器里直接就能选,设置面板出现「omd模型分配」页(可视化编辑模型矩阵,保存后新会话生效),无需再手动 omd-dsh sync

dsh plugin 本质是转发给 pnpm(即从 npm 装包)。本插件声明了 dsh.bundle,因此会被自动登记为 profile 层并在启动时生效(宿主行做幂等同步 + settings 命名空间注册;行模块是自包含 bundle,不依赖任何 harness 路径)。

方式二:npm 全局安装

npm i -g @carljia/omd-dsh
omd-dsh sync   # 手动把 7 个模式写入 ~/.dsh/.agent-presets(bundle 安装时这一步自动完成)

方式三:从源码(GitHub clone)

git clone https://github.com/jiazz197-cmyk/omd-dsh.git
cd omd-dsh
npm install     # 装依赖 + 触发 build
npm link        # 全局 omd-dsh 命令

使用

安装后即可用dsh plugin add 装完重启,7 个模式会自动出现(启动时已同步)。用 npm i -g 安装的,先跑一次 omd-dsh sync 再重启 dsh web。改模型推荐用设置页「omd模型分配」(保存后新会话生效),CLI 如下:

omd-dsh sync    # 手动把 7 个模式写入 ~/.dsh/.agent-presets(bundle 安装时启动已自动执行)
omd-dsh setup   # 交互式:逐模式 / 逐 tier 选模型,再同步(CLI 手改在下次重启被宿主导入)
omd-dsh models  # 列出发现的模型

为什么不需要配置 harness 路径

sync / setup 不需要知道 DSH 装在哪里:.omd-vendor/ 里的行模块是自包含 bundle(构建时把 schemastery / dsh-tools / dsh-llm / dsh-subagent 全部打进模块,见 scripts/postbuild.mjs),不含任何 @deepseek-ai/* 导入,因此不存在"导入指向的 harness 树与运行进程不一致"的问题——无论 DSH 从 npx 缓存、全局 npm 还是 profile bundles 加载 agent 机制,行模块都能挂载。preset 组合里其余的裸包名行(如 @deepseek-ai/dsh-persona)由 harness 自己的 loader 在运行时按宿主 base 解析,天然正确。

(旧版曾有 --harness 参数与"定位 DSH harness"逻辑,用于把行模块导入改写为 harness 树的绝对 URL;自 0.1.8 起改为自包含 bundle 后已移除,再也不用配置。)

同步后启动 dsh web,preset 选择器里就会出现 7 个 OMD 模式,新建会话即可用。

/ulw — 一键 ultrawork

omd-executor 会话里输入:

/ulw <任务>

会为这个任务挂一个 goal 并自动续跑,直到完成——一键触发,不干完不罢休。它等价于「executor 模式 + goal 自动续跑」的组合。

规划 → 执行闭环(planner → start work)

规划访谈(omd-planner)批准计划后,工作流自动收尾:

  1. 计划批准时,计划文件自动落盘到项目根目录的 /.omd/plans/(目录约定由插件代码写死,不出现在任何提示词里);
  2. planner 的最终回复以定死的 Start Work 收尾,给出计划文件名和两种启动方式;
  3. 启动执行二选一:
    • 新开会话:在 omd-executor(或 omd-ultraworker)会话运行 /start-work <计划文件名>,自动挂 goal 并续跑执行;
    • 同一会话:直接运行 /mode omd-executor 切换模式后继续。

/start-work — 按计划文件开工

omd-executor / omd-ultraworker 会话里输入:

/start-work <计划文件名>

解析 /.omd/plans/ 下的计划文件(裸文件名、.md、完整相对路径均可),挂一个 goal 自动续跑,直到计划执行完成。与 /ulw 同一机制,只是任务文本换成「执行某个计划文件」。

/mode — 同一对话内切换模式

所有 7 个模式都注册了 /mode

/mode omd-executor      # 或 /mode executor

它把当前会话重新 compose 到目标 omd preset——包括已经开始对话的会话(工具集、persona、模型路由全部切换,并记录切换事件保证 resume/fork 一致;若计划模式仍开启会自动关闭)。

⚠️ 说明:DSH 官方 API 只允许空会话切换 preset;/mode 在插件层做的是会话内 recompose,并已用「planner 工具目录 ⊆ executor 工具目录」等设计缓解历史渲染问题。切换只允许在 7 个 omd 模式之间进行。

改模型

模型矩阵有两个入口,同一份数据:

  1. 设置页「omd模型分配」(推荐):设置 → 左侧导航 →「omd模型分配」,可视化编辑 7 个模式的 provider/model(含可选 reasoningEffort)与各 tier 的 provider/model(tier 的 hint 只读展示)。保存后写入 ~/.dsh/settings.yamlomd-model-allocation 命名空间,宿主立即重渲染 presets 并把矩阵镜像回 ~/.dsh/omd-matrix.json新会话按新矩阵路由,运行中的会话保持不变。
  2. CLI / 文件omd-dsh setup 逐项改,或直接编辑 ~/.dsh/omd-matrix.jsonomd-dsh sync。宿主运行中直接改文件不会实时生效;下次重启时宿主把文件内容导入命名空间(CLI 与旧版自定义不丢)。

首次 omd-dsh sync 会把随包发布的 deepseek 默认矩阵omd-matrix.default.json)自动复制为你的默认配置(个人模型配置只留在本机,不进 git/npm)。设置页「恢复默认」一键回到该默认矩阵。

⚠️ preset 里 # [omd-dsh:mode:start]# [omd-dsh:mode:end] 之间的区域是自动生成的,不要手改——改模型请走设置页或矩阵后跑 sync。

License

MIT