概览
@hawk2048/oh-my-dsh
README / ZH
插件文档
oh-my-dsh
面向 DeepSeek Harness (DSH) 的多智能体编排层 —— 把 oh-my-claudecode 的编排模式,映射到 DSH 原生原语(workflow / subagent / ralph / goal)之上。
两种触发方式:自然语言(29 个随 preset 打包的编排 skill,代理自动加载)+ 斜杠命令(12 条,敲
/omd即弹出候选)。启动一次会话,编排能力就位。
English | 中文
快速开始
一条命令装好全部 29 个 skill + 12 条 /omd-* 命令(等价 OMC 的插件市场安装):
dsh plugin --profile web add github:hawk2048/oh-my-dsh
或从 npm 安装(等价 OMC 的 npm i -g):
dsh plugin --profile web add @hawk2048/oh-my-dsh
装完重启 profile,敲 /omd 弹出命令候选;或直接用自然语言(「先规划一下」「autopilot 搭个 API」)触发对应 skill。
要求
- DeepSeek Harness(
dshCLI) - pnpm(
dsh plugin底层转发给 pnpm)
为什么用 oh-my-dsh
- 零配置——一条
dsh plugin add装好全部;bundle 自注册,无需安装向导。 - Team 优先编排——Team 是标准分阶段流水线(
team-plan → team-prd → team-exec → team-verify → team-fix),构建在 DSH 原生workflow上。 - 自然语言交互——说清需求即可,29 个
omd-*skill 自动加载,无需记命令。 - 自动并行——复杂任务扇出到并行
subagent。 - 持久执行——Ralph / Autopilot / Ultragoal 不达验证完成不罢休(原生
ralph循环 +goal跨轮目标)。 - 零运行时开销——不引入新宿主工具或运行时,只是 DSH 原生原语之上的 skill,保留 DSH 自己的模型路由与沙箱。
- 从经验中学习——
omd-skillify提取可复用 skill;omd-remember跨会话持久记忆。 - 实时可见——内联 HUD 渲染实时
dsh-ui进度仪表盘。
与 oh-my-claudecode 的对应关系
对齐 OMC v5.3.0 的命令面(核心流水线 plan → execute → review → verify + 保留模式):
| OMC 工作流 | oh-my-dsh skill | DSH 原生载体 |
|---|---|---|
| Plan(规划) | omd-plan |
只读探索 + subagent 并行调研 |
| Execute(执行) | omd-execute |
subagent 并行 + todo_write |
| Review(评审) | omd-review |
subagent_fork 独立评审 |
| Verify(验证) | omd-verify |
pwsh/bash 测试 + subagent 复核 |
| Team(分阶段流水线) | omd-team |
workflow + subagent |
| Autopilot(自动驾驶) | omd-autopilot |
goal + todo + subagent |
| Ralph(持久验证循环) | omd-ralph |
ralph + goal 验证循环 |
| Deep Interview(需求澄清) | omd-deep-interview |
ask_user_question |
| Ralplan(共识规划) | omd-ralplan |
并行 subagent 草案 + 仲裁收敛 |
| Research(有据调研) | omd-research |
web_search/web_fetch + 并行 subagent |
| Autoresearch(评估驱动改进) | omd-autoresearch |
goal + 评估子代理循环 |
| Ultragoal(持久多目标) | omd-ultragoal |
goal + todo_write + checkpoint 工件 |
| HUD(状态栏) | omd-hud |
dsh-ui 内联仪表盘(genui) |
提示词触发 + 工具 skill(自然语言触发,无独立斜杠命令):
| OMC 触发 | oh-my-dsh skill | DSH 原生载体 |
|---|---|---|
| tdd(测试驱动) | omd-tdd |
pwsh/bash 测试 + red-green-refactor |
| deepsearch(代码检索) | omd-deepsearch |
grep/glob/read 本地定位 |
| deep-analyze(深度分析) | omd-deep-analyze |
并行 subagent 多视角 |
| ultrathink(深度推理) | omd-ultrathink |
纯推理(先不动工具) |
| ai-slop-cleaner(去废话) | omd-ai-slop-cleaner |
review/edit 精简 |
| omc-doctor(自检) | omd-doctor |
安装/挂载诊断 |
| debug(调试) | omd-debug |
复现→定位→最小修复→回归 |
| release(发布) | omd-release |
git + 测试 + changelog + tag |
| remember(跨会话记忆) | omd-remember |
工作区记忆文件 |
| cancel(取消模式) | omd-cancel |
goal pause + interrupt_agent + job_kill |
| minimal-code-discipline(最小改动) | omd-minimal-code-discipline |
YAGNI 阶梯 |
| external-context(外部上下文) | omd-external-context |
web_fetch/read |
| visual-verdict(视觉 QA) | omd-visual-verdict |
read_image 对比 |
| skillify(提取 skill) | omd-skillify |
写 SKILL.md |
| wiki(知识库) | omd-wiki |
工作区 markdown |
| omc-help(使用指南) | omd-help |
实时列 skill/命令索引 |
ultrawork已退役:OMC 在 5.0.0 删除了ultrawork(以及ultraqa/swarm/pipeline等),oh-my-dsh 同步移除;其"最大并行扇出"能力已并入execute/team/ralph的内部并行纪律。
关键差异:OMC 的 HUD 是 CLI 状态栏,而 oh-my-dsh 的 HUD 是内联在回答正文里的 dsh-ui 仪表盘(stat/progress/timeline/table),因为 DSH 的 Web GUI 本身就在渲染结构化 UI。
目录结构
oh-my-dsh/
├── package.json # dsh.bundle manifest(组合包安装入口)
├── cordis.patch.yml # 组合包 patch 层(全局命令 + 全局 skill 挂载)
├── index.js # 组合包模块入口
├── agent.cordis.yml # agent preset 组合文件(= standard + persona + skill + 命令)
├── preset.yml # preset 显示元数据
├── install.ps1 / install.sh # preset 手动安装脚本
├── LICENSE
├── commands/
│ └── omd-commands.mjs # 斜杠命令生产者(ESM 插件)
├── skills/
│ ├── omd-plan/SKILL.md
│ ├── omd-execute/SKILL.md
│ ├── omd-review/SKILL.md
│ ├── omd-verify/SKILL.md
│ ├── omd-team/SKILL.md
│ ├── omd-autopilot/SKILL.md
│ ├── omd-ralph/SKILL.md
│ ├── omd-deep-interview/SKILL.md
│ ├── omd-ralplan/SKILL.md
│ ├── omd-research/SKILL.md
│ ├── omd-autoresearch/SKILL.md
│ ├── omd-ultragoal/SKILL.md
│ ├── omd-tdd/SKILL.md
│ ├── omd-deepsearch/SKILL.md
│ ├── omd-deep-analyze/SKILL.md
│ ├── omd-ultrathink/SKILL.md
│ ├── omd-ai-slop-cleaner/SKILL.md
│ ├── omd-doctor/SKILL.md
│ ├── omd-debug/SKILL.md
│ ├── omd-release/SKILL.md
│ ├── omd-remember/SKILL.md
│ ├── omd-cancel/SKILL.md
│ ├── omd-minimal-code-discipline/SKILL.md
│ ├── omd-external-context/SKILL.md
│ ├── omd-visual-verdict/SKILL.md
│ ├── omd-skillify/SKILL.md
│ ├── omd-wiki/SKILL.md
│ ├── omd-help/SKILL.md
│ └── omd-hud/SKILL.md
└── docs/
├── ARCHITECTURE.md
└── RELEASE.md
安装 / 使用
两种安装方式,任选其一即可(bundle 装全局、preset 按会话选)。
方式 A:组合包 bundle(主要,等价 OMC 的插件市场安装) —— 全局装好 /omd-* 命令与 29 个 skill,profile 里所有会话可见:
# git 源码安装(纯 JS/Markdown,零构建,无需 allowBuilds 授权;用 @<tag> 可锁定版本)
dsh plugin --profile web add github:hawk2048/oh-my-dsh
# 或从 npm 安装(等价 OMC 的 npm i -g)
dsh plugin --profile web add @hawk2048/oh-my-dsh
装完重启 profile 即可。用户全程只敲一条命令,由 pnpm 拉取,不手动下载压缩包。
方式 B:agent preset(可选,按会话选择) —— 含 persona 与编排工具集的全量会话:
# Windows
.\install.ps1
# macOS / Linux
./install.sh
然后在 DSH 里新建会话时选择 "oh-my-dsh 编排" preset(或把它设为 agent-presets.default)。详见 docs/RELEASE.md。
怎么用(会话内)
两种方式,效果一样:
方式一:自然语言(代理自动加载对应 skill)
先规划一下怎么实现 X→omd-plan按计划实现→omd-execute评审一下刚才的改动→omd-review验证一下,测试要全绿→omd-verify用 team 做一个任务管理应用→omd-teamautopilot:搭一个 REST API→omd-autopilotralph 重构认证,必须测试全绿→omd-ralph先深度访谈,我想做个 xx→omd-deep-interviewralplan:多角度论证一下这个架构选型→omd-ralplan调研一下 X 的最佳实践,要带来源→omd-researchautoresearch:把这份报告打磨到达标→omd-autoresearchultragoal:这个长期目标拆成子目标推进→omd-ultragoaltdd:先写失败测试再实现→omd-tdddeepsearch:定位谁调用了这个函数→omd-deepsearchdeep-analyze:深度分析一下这块架构→omd-deep-analyzeultrathink:想清楚再动手→omd-ultrathink去 AI 废话,精简这段→omd-ai-slop-cleaner自检一下 oh-my-dsh 装好没→omd-doctordebug:排查这个报错→omd-debug发布 v1.2,写 changelog→omd-release记住这个决定,下个会话还要用→omd-remember停掉正在跑的 autopilot→omd-cancel最小改动,别过度设计→omd-minimal-code-discipline看下这个 issue/链接→omd-external-context对比这两张截图→omd-visual-verdict把这段流程沉淀成 skill→omd-skillify记到知识库/更新文档→omd-wikiomd 能做什么 / 有哪些命令→omd-help
方式二:斜杠命令(在输入框敲 /omd 弹出候选)
| 命令 | 等价 skill |
|---|---|
/omd-plan <任务> |
omd-plan |
/omd-execute <任务> |
omd-execute |
/omd-review <任务> |
omd-review |
/omd-verify <任务> |
omd-verify |
/omd-team <任务> |
omd-team |
/omd-autopilot <目标> |
omd-autopilot |
/omd-ralph <目标> |
omd-ralph |
/omd-deep-interview <主题> |
omd-deep-interview |
/omd-ralplan <描述> |
omd-ralplan |
/omd-research <问题> |
omd-research |
/omd-autoresearch <任务> |
omd-autoresearch |
/omd-ultragoal <目标> |
omd-ultragoal |
代理会加载对应的 skill,按该模式编排,并用 HUD 实时汇报进度。
为什么是 skill + bundle/preset,而不是新工具
DSH 的原生多智能体原语(workflow 的流水线/并行、subagent 的扇出、ralph 的 fresh-agent 循环、goal 的跨轮目标)已经覆盖了 OMC 的编排语义。oh-my-dsh 因此不引入新的宿主工具或运行时,而是把「什么时候用哪个原语、怎么编排、怎么收尾」沉淀成可复用的 skill。
分发也复用 DSH 原生机制:cordis.patch.yml + package.json 的 dsh.bundle manifest 让 dsh plugin add 装成组合包(全局命令 + 全局 skill),agent.cordis.yml 让它作为agent preset 按会话挂载(persona + 命令 + skill)。斜杠命令的 commands/omd-commands.mjs 是一个 ESM 插件,注入 DSH 自带的 commands 服务注册命令——零运行时风险,升级 DSH 不受影响。
扩展
- 加模式:在
skills/下新增omd-xxx/SKILL.md(YAML frontmatter 写name+description)。 - 加命令:在
commands/omd-commands.mjs的MODES数组里追加一条。 - 改 persona:编辑
agent.cordis.yml顶部的persona行。 - 把 skill 做成全局:走 bundle(
dsh plugin add),见上文方式 A;或把skills/*复制到${DSH_HOME}/skills/。
许可
MIT。灵感来自 oh-my-claudecode。
