DeepSeek Harness 插件 dsh-ulw-plan:omo explore → plan → execute 工作流

前言

智能体在处理复杂任务时,常常需要在“探索信息”“规划步骤”和“执行落地”之间反复切换。omo(oh-my-openagent)提出了 explore → plan → execute 的三段式工作流,但它的实现与 DeepSeek Harness 的架构差异较大,直接移植会破坏 Host 的运行时契约。

dsh-ulw-plan 把 omo 的这套流程封装为一个 DeepSeek Harness 插件,保留了探索、规划与执行的核心能力,同时适配 DSH 的插件机制、工具面与 guard 逻辑。

这是什么

dsh-ulw-plan 是一个工作流插件,为 DSH 提供 omo 的 explore → plan → execute 流程。插件把 omo 的规划、评审与执行能力映射到 DSH 的指令、只读助手与产物目录中,并提供一个 plan-mode 的写入门禁,避免在规划阶段误改产品文件。

维护者为 beiyanpiki。插件采用零依赖、零构建的 ESM bundle,通过 cordis.patch.yml 挂载到 Host 平面。

核心功能

插件提供两个指令和四个只读助手,以及一套产物目录与 guard 机制。

两个指令

  • /ulw-plan <请求>:进入 plan 模式,助手进行只读探索,产出 decision-complete 的 plan。产物写入 .dsh/ulw/ 下的 drafts 与 plans。
  • /ulw-execute [plan-name]:进入 execute 模式,按 plan 的 checkbox 派发实现者(task(category="…")),用 Boulder / ledger 记录状态。

四个只读助手

助手 用途 工具面
explore 代码库定位、调用点、结构 只读:read / glob / grep + bash
librarian 外部文档、远程仓库、官方链接 上述 + web_search / web_fetch
plan-consultant(别名 metis) 规划前咨询:隐藏意图、歧义、AI 失败点 只读
plan-reviewer(别名 momus / oracle) 严格 plan 评审:只找 blocker 只读

四个助手以 preset 形式注册在 Web 的预设选择器里,名字前缀 omo。它们没有 write / edit 工具,只读是工具面事实。

产物目录

  • .dsh/ulw/drafts/<slug>.md
  • .dsh/ulw/plans/<slug>.md
  • .dsh/ulw/boulder.json
  • .dsh/ulw/ulw-execute/ledger.jsonl

路径与 omo 的 .omo/ 同构,只做了目录改名。

plan-mode 写入门禁

规划期(mode = plan)拒绝 write / edit 写入产品文件,只放行 .dsh/ulw/ 产物;产品文件写入会被 guard 拒绝,并提示退出方式。

显式模式切换

/ulw-mode off|plan|execute 是 omo 没有的逃生口,可以显式切换本会话的 ulw 模式。Web 输入 / 也能看到 /ulw-plan 与 /ulw-execute 的菜单项。

安装与启用

插件是零依赖、零构建的 ESM bundle,通过 npm 分发。

从 npm 安装

在 Web GUI 的 Plugins 页安装 dsh-ulw-plan,或通过 Host 的 plugin_manager:

plugin_manager { "action": "install_bundle", "target": "dsh-ulw-plan" }
plugin_manager { "action": "set_bundle", "target": "dsh-ulw-plan", enabled: true }

也可以从 tarball、GitHub 或本地目录安装:把 target 换成 /绝对路径/dsh-ulw-plan-0.1.0.tgz、github:<owner>/dsh-ulw-plan#<ref> 或(开发时)本仓库的检出目录。

安装后,profile 的 package.json 会把 dsh-ulw-plan 放进 dsh.profile.bundles,cordis.patch.yml 的 insert 行把 dsh-ulw-plan 挂到 Host 平面。不要手动修改 profile 的 package.json / cordis.patch.yml,也不要在 profile 目录跑 pnpm。

完整发布流程见 docs/publishing.md。

典型用法

进入 plan 模式

在一个普通会话里键入 /ulw-plan,技能正文被注入,会话进入 plan 模式。首行必须出现 ULW-PLAN MODE ENABLED!。助手只做只读探索(explore / librarian,以及规划期的 plan-consultant / plan-reviewer),产物只写 .dsh/ulw/。

进入 execute 模式

键入 /ulw-execute [plan-name],技能正文被注入,会话进入 execute 模式。系统按 plan 的 checkbox 派发实现者(task(category="…")),并用 Boulder / ledger 记录状态。

显式切换模式

在任意会话中键入 /ulw-mode off|plan|execute 可以显式切换 ulw 模式。也可以直接敲 /ulw-plan 或 /ulw-execute 自然进入对应模式。

安装后检查清单

安装完成后,可以通过以下命令确认插件已正确挂载:

  1. dsh --profile web --dump-config | grep dsh-ulw-plan —— 至少一行。
  2. cordis_inspect_query Config.listConfigs name=dsh-ulw-plan —— 出现该行且为 active。
  3. cordis_inspect_query Tool.listTools —— 含 task。
  4. skills/list —— 含 ulw-plan、ulw-execute,且 invocation.userInvocable === true。
  5. agentPresets.list() —— 含四个 omo 前缀 preset,均无 broken 字段。
  6. Web 输入 / —— 菜单里能看到 /ulw-plan 与 /ulw-execute。

与 omo 的差异

插件与 omo 的行为差异在 docs/fidelity.md 中有完整清单,要点如下:

  1. task 一律内联;不实现后台投递。
  2. 没有 task_output / task_send / task_cancel;用 DSH 的 send_message / interrupt_agent / 结算通知。
  3. 没有 continuation hook;用 create_goal 承担续跑。
  4. category 不选模型。
  5. plan-gate 的“本会话触碰过 plan”简化为“mode=plan 且产物存在”。
  6. 新增 /ulw-mode。
  7. guard 不管 bash(与 omo 的 prometheus-md-only 一致,否则 scaffold-plan.mjs 无法产出文件)。
  8. 模型用 skill 工具自行加载 ulw-plan 不会切换模式;进入 plan 模式请用 /ulw-plan 或 /ulw-mode plan。

适用场景与注意

适合需要结构化规划与执行落地的 DSH 用户,尤其是希望复用 omo 工作流但又希望在 DSH 平台上运行的场景。

插件以当前 dsh 进程权限运行,安装前建议检查源码与许可证。不要手动修改 profile 的配置文件或目录。

结尾

dsh-ulw-plan 把 omo 的 explore → plan → execute 工作流适配到 DeepSeek Harness,提供了一套可落地的规划与执行机制。如果你在 DSH 上需要更清晰的任务拆解与执行记录,可以尝试这个插件。

目录页:https://www.skillhub.cn/plugins/beiyanpiki/dsh-ulw-plan
GitHub:https://github.com/beiyanpiki/dsh-ulw-plan

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

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

Xiaoye