@hawk2048/oh-my-dsh 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 oh-my-dsh contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,206 @@
1
+ # oh-my-dsh
2
+
3
+ **面向 DeepSeek Harness (DSH) 的多智能体编排层** —— 把 [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode) 的编排模式,映射到 DSH 原生原语(`workflow` / `subagent` / `ralph` / `goal`)之上。
4
+
5
+ > 两种触发方式:**自然语言**(29 个随 preset 打包的编排 skill,代理自动加载)+ **斜杠命令**(12 条,敲 `/omd` 即弹出候选)。启动一次会话,编排能力就位。
6
+
7
+ ## 快速开始
8
+
9
+ 一条命令装好全部 29 个 skill + 12 条 `/omd-*` 命令(等价 OMC 的插件市场安装):
10
+
11
+ ```sh
12
+ dsh plugin --profile web add github:hawk2048/oh-my-dsh
13
+ ```
14
+
15
+ 装完重启 profile,敲 `/omd` 弹出命令候选;或直接用自然语言(「先规划一下」「autopilot 搭个 API」)触发对应 skill。完整说明见下方[安装 / 使用](#安装--使用)。
16
+
17
+ ## 与 oh-my-claudecode 的对应关系
18
+
19
+ 对齐 OMC **v5.3.0** 的命令面(核心流水线 `plan → execute → review → verify` + 保留模式):
20
+
21
+ | OMC 工作流 | oh-my-dsh skill | DSH 原生载体 |
22
+ |-----------|-----------------|--------------|
23
+ | Plan(规划) | [`omd-plan`](skills/omd-plan/SKILL.md) | 只读探索 + `subagent` 并行调研 |
24
+ | Execute(执行) | [`omd-execute`](skills/omd-execute/SKILL.md) | `subagent` 并行 + `todo_write` |
25
+ | Review(评审) | [`omd-review`](skills/omd-review/SKILL.md) | `subagent_fork` 独立评审 |
26
+ | Verify(验证) | [`omd-verify`](skills/omd-verify/SKILL.md) | `pwsh`/`bash` 测试 + `subagent` 复核 |
27
+ | Team(分阶段流水线) | [`omd-team`](skills/omd-team/SKILL.md) | `workflow` + `subagent` |
28
+ | Autopilot(自动驾驶) | [`omd-autopilot`](skills/omd-autopilot/SKILL.md) | `goal` + `todo` + `subagent` |
29
+ | Ralph(持久验证循环) | [`omd-ralph`](skills/omd-ralph/SKILL.md) | `ralph` + `goal` 验证循环 |
30
+ | Deep Interview(需求澄清) | [`omd-deep-interview`](skills/omd-deep-interview/SKILL.md) | `ask_user_question` |
31
+ | Ralplan(共识规划) | [`omd-ralplan`](skills/omd-ralplan/SKILL.md) | 并行 `subagent` 草案 + 仲裁收敛 |
32
+ | Research(有据调研) | [`omd-research`](skills/omd-research/SKILL.md) | `web_search`/`web_fetch` + 并行 `subagent` |
33
+ | Autoresearch(评估驱动改进) | [`omd-autoresearch`](skills/omd-autoresearch/SKILL.md) | `goal` + 评估子代理循环 |
34
+ | Ultragoal(持久多目标) | [`omd-ultragoal`](skills/omd-ultragoal/SKILL.md) | `goal` + `todo_write` + checkpoint 工件 |
35
+ | HUD(状态栏) | [`omd-hud`](skills/omd-hud/SKILL.md) | `dsh-ui` 内联仪表盘(genui) |
36
+
37
+ **提示词触发 + 工具 skill**(自然语言触发,无独立斜杠命令):
38
+
39
+ | OMC 触发 | oh-my-dsh skill | DSH 原生载体 |
40
+ |----------|-----------------|--------------|
41
+ | tdd(测试驱动) | [`omd-tdd`](skills/omd-tdd/SKILL.md) | `pwsh`/`bash` 测试 + red-green-refactor |
42
+ | deepsearch(代码检索) | [`omd-deepsearch`](skills/omd-deepsearch/SKILL.md) | `grep`/`glob`/`read` 本地定位 |
43
+ | deep-analyze(深度分析) | [`omd-deep-analyze`](skills/omd-deep-analyze/SKILL.md) | 并行 `subagent` 多视角 |
44
+ | ultrathink(深度推理) | [`omd-ultrathink`](skills/omd-ultrathink/SKILL.md) | 纯推理(先不动工具) |
45
+ | ai-slop-cleaner(去废话) | [`omd-ai-slop-cleaner`](skills/omd-ai-slop-cleaner/SKILL.md) | `review`/`edit` 精简 |
46
+ | omc-doctor(自检) | [`omd-doctor`](skills/omd-doctor/SKILL.md) | 安装/挂载诊断 |
47
+ | debug(调试) | [`omd-debug`](skills/omd-debug/SKILL.md) | 复现→定位→最小修复→回归 |
48
+ | release(发布) | [`omd-release`](skills/omd-release/SKILL.md) | git + 测试 + changelog + tag |
49
+ | remember(跨会话记忆) | [`omd-remember`](skills/omd-remember/SKILL.md) | 工作区记忆文件 |
50
+ | cancel(取消模式) | [`omd-cancel`](skills/omd-cancel/SKILL.md) | goal pause + interrupt_agent + job_kill |
51
+ | minimal-code-discipline(最小改动) | [`omd-minimal-code-discipline`](skills/omd-minimal-code-discipline/SKILL.md) | YAGNI 阶梯 |
52
+ | external-context(外部上下文) | [`omd-external-context`](skills/omd-external-context/SKILL.md) | `web_fetch`/`read` |
53
+ | visual-verdict(视觉 QA) | [`omd-visual-verdict`](skills/omd-visual-verdict/SKILL.md) | `read_image` 对比 |
54
+ | skillify(提取 skill) | [`omd-skillify`](skills/omd-skillify/SKILL.md) | 写 `SKILL.md` |
55
+ | wiki(知识库) | [`omd-wiki`](skills/omd-wiki/SKILL.md) | 工作区 markdown |
56
+ | omc-help(使用指南) | [`omd-help`](skills/omd-help/SKILL.md) | 实时列 skill/命令索引 |
57
+
58
+ > **`ultrawork` 已退役**:OMC 在 5.0.0 删除了 `ultrawork`(以及 `ultraqa`/`swarm`/`pipeline` 等),oh-my-dsh 同步移除;其"最大并行扇出"能力已并入 `execute`/`team`/`ralph` 的内部并行纪律。
59
+
60
+ 关键差异:OMC 的 HUD 是 CLI 状态栏,而 oh-my-dsh 的 HUD 是**内联在回答正文里的 `dsh-ui` 仪表盘**(stat/progress/timeline/table),因为 DSH 的 Web GUI 本身就在渲染结构化 UI。
61
+
62
+ ## 目录结构
63
+
64
+ ```
65
+ oh-my-dsh/
66
+ ├── package.json # dsh.bundle manifest(组合包安装入口)
67
+ ├── cordis.patch.yml # 组合包 patch 层(全局命令 + 全局 skill 挂载)
68
+ ├── index.js # 组合包模块入口
69
+ ├── agent.cordis.yml # agent preset 组合文件(= standard + persona + skill + 命令)
70
+ ├── preset.yml # preset 显示元数据
71
+ ├── install.ps1 / install.sh # preset 手动安装脚本
72
+ ├── LICENSE
73
+ ├── commands/
74
+ │ └── omd-commands.mjs # 斜杠命令生产者(ESM 插件)
75
+ ├── skills/
76
+ │ ├── omd-plan/SKILL.md
77
+ │ ├── omd-execute/SKILL.md
78
+ │ ├── omd-review/SKILL.md
79
+ │ ├── omd-verify/SKILL.md
80
+ │ ├── omd-team/SKILL.md
81
+ │ ├── omd-autopilot/SKILL.md
82
+ │ ├── omd-ralph/SKILL.md
83
+ │ ├── omd-deep-interview/SKILL.md
84
+ │ ├── omd-ralplan/SKILL.md
85
+ │ ├── omd-research/SKILL.md
86
+ │ ├── omd-autoresearch/SKILL.md
87
+ │ ├── omd-ultragoal/SKILL.md
88
+ │ ├── omd-tdd/SKILL.md
89
+ │ ├── omd-deepsearch/SKILL.md
90
+ │ ├── omd-deep-analyze/SKILL.md
91
+ │ ├── omd-ultrathink/SKILL.md
92
+ │ ├── omd-ai-slop-cleaner/SKILL.md
93
+ │ ├── omd-doctor/SKILL.md
94
+ │ ├── omd-debug/SKILL.md
95
+ │ ├── omd-release/SKILL.md
96
+ │ ├── omd-remember/SKILL.md
97
+ │ ├── omd-cancel/SKILL.md
98
+ │ ├── omd-minimal-code-discipline/SKILL.md
99
+ │ ├── omd-external-context/SKILL.md
100
+ │ ├── omd-visual-verdict/SKILL.md
101
+ │ ├── omd-skillify/SKILL.md
102
+ │ ├── omd-wiki/SKILL.md
103
+ │ ├── omd-help/SKILL.md
104
+ │ └── omd-hud/SKILL.md
105
+ └── docs/
106
+ ├── ARCHITECTURE.md
107
+ └── RELEASE.md
108
+ ```
109
+
110
+ ## 安装 / 使用
111
+
112
+ 两种安装方式,**任选其一即可**(bundle 装全局、preset 按会话选)。
113
+
114
+ **方式 A:组合包 bundle(主要,等价 OMC 的插件市场安装)** —— 全局装好 `/omd-*` 命令与 29 个 skill,profile 里所有会话可见:
115
+
116
+ ```sh
117
+ # git 源码安装(纯 JS/Markdown,零构建,无需 allowBuilds 授权;用 @<tag> 可锁定版本)
118
+ dsh plugin --profile web add github:hawk2048/oh-my-dsh
119
+
120
+ # 或从 npm 安装(等价 OMC 的 npm i -g)
121
+ dsh plugin --profile web add @hawk2048/oh-my-dsh
122
+ ```
123
+
124
+ 装完重启 profile 即可。用户全程只敲一条命令,由 pnpm 拉取,**不手动下载压缩包**。
125
+
126
+ **方式 B:agent preset(可选,按会话选择)** —— 含 persona 与编排工具集的全量会话:
127
+
128
+ ```sh
129
+ # Windows
130
+ .\install.ps1
131
+ # macOS / Linux
132
+ ./install.sh
133
+ ```
134
+
135
+ 然后在 DSH 里**新建会话时选择 "oh-my-dsh 编排"** preset(或把它设为 `agent-presets.default`)。详见 [docs/RELEASE.md](docs/RELEASE.md)。
136
+
137
+ ## 怎么用(会话内)
138
+
139
+ 两种方式,效果一样:
140
+
141
+ **方式一:自然语言**(代理自动加载对应 skill)
142
+
143
+ - `先规划一下怎么实现 X` → `omd-plan`
144
+ - `按计划实现` → `omd-execute`
145
+ - `评审一下刚才的改动` → `omd-review`
146
+ - `验证一下,测试要全绿` → `omd-verify`
147
+ - `用 team 做一个任务管理应用` → `omd-team`
148
+ - `autopilot:搭一个 REST API` → `omd-autopilot`
149
+ - `ralph 重构认证,必须测试全绿` → `omd-ralph`
150
+ - `先深度访谈,我想做个 xx` → `omd-deep-interview`
151
+ - `ralplan:多角度论证一下这个架构选型` → `omd-ralplan`
152
+ - `调研一下 X 的最佳实践,要带来源` → `omd-research`
153
+ - `autoresearch:把这份报告打磨到达标` → `omd-autoresearch`
154
+ - `ultragoal:这个长期目标拆成子目标推进` → `omd-ultragoal`
155
+ - `tdd:先写失败测试再实现` → `omd-tdd`
156
+ - `deepsearch:定位谁调用了这个函数` → `omd-deepsearch`
157
+ - `deep-analyze:深度分析一下这块架构` → `omd-deep-analyze`
158
+ - `ultrathink:想清楚再动手` → `omd-ultrathink`
159
+ - `去 AI 废话,精简这段` → `omd-ai-slop-cleaner`
160
+ - `自检一下 oh-my-dsh 装好没` → `omd-doctor`
161
+ - `debug:排查这个报错` → `omd-debug`
162
+ - `发布 v1.2,写 changelog` → `omd-release`
163
+ - `记住这个决定,下个会话还要用` → `omd-remember`
164
+ - `停掉正在跑的 autopilot` → `omd-cancel`
165
+ - `最小改动,别过度设计` → `omd-minimal-code-discipline`
166
+ - `看下这个 issue/链接` → `omd-external-context`
167
+ - `对比这两张截图` → `omd-visual-verdict`
168
+ - `把这段流程沉淀成 skill` → `omd-skillify`
169
+ - `记到知识库/更新文档` → `omd-wiki`
170
+ - `omd 能做什么 / 有哪些命令` → `omd-help`
171
+
172
+ **方式二:斜杠命令**(在输入框敲 `/omd` 弹出候选)
173
+
174
+ | 命令 | 等价 skill |
175
+ |------|-----------|
176
+ | `/omd-plan <任务>` | `omd-plan` |
177
+ | `/omd-execute <任务>` | `omd-execute` |
178
+ | `/omd-review <任务>` | `omd-review` |
179
+ | `/omd-verify <任务>` | `omd-verify` |
180
+ | `/omd-team <任务>` | `omd-team` |
181
+ | `/omd-autopilot <目标>` | `omd-autopilot` |
182
+ | `/omd-ralph <目标>` | `omd-ralph` |
183
+ | `/omd-deep-interview <主题>` | `omd-deep-interview` |
184
+ | `/omd-ralplan <描述>` | `omd-ralplan` |
185
+ | `/omd-research <问题>` | `omd-research` |
186
+ | `/omd-autoresearch <任务>` | `omd-autoresearch` |
187
+ | `/omd-ultragoal <目标>` | `omd-ultragoal` |
188
+
189
+ 代理会加载对应的 skill,按该模式编排,并用 HUD 实时汇报进度。
190
+
191
+ ## 为什么是 skill + bundle/preset,而不是新工具
192
+
193
+ DSH 的原生多智能体原语(`workflow` 的流水线/并行、`subagent` 的扇出、`ralph` 的 fresh-agent 循环、`goal` 的跨轮目标)**已经覆盖了 OMC 的编排语义**。oh-my-dsh 因此不引入新的宿主工具或运行时,而是把「什么时候用哪个原语、怎么编排、怎么收尾」沉淀成可复用的 skill。
194
+
195
+ 分发也复用 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 不受影响。
196
+
197
+ ## 扩展
198
+
199
+ - **加模式**:在 `skills/` 下新增 `omd-xxx/SKILL.md`(YAML frontmatter 写 `name` + `description`)。
200
+ - **加命令**:在 `commands/omd-commands.mjs` 的 `MODES` 数组里追加一条。
201
+ - **改 persona**:编辑 `agent.cordis.yml` 顶部的 `persona` 行。
202
+ - **把 skill 做成全局**:走 bundle(`dsh plugin add`),见上文方式 A;或把 `skills/*` 复制到 `${DSH_HOME}/skills/`。
203
+
204
+ ## 许可
205
+
206
+ MIT。灵感来自 [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode)。
@@ -0,0 +1,141 @@
1
+ // oh-my-dsh 斜杠命令生产者。
2
+ // 注册 plan/execute/review/verify/team/autopilot/ralph/deep-interview/ralplan/research/autoresearch/ultragoal 十二条人类命令。
3
+ // 每条 handler 把任务作为一条用户消息提交给模型(唤醒模型并让它加载对应
4
+ // omd-* skill),然后返回一条直接 UI 确认(不进入模型请求)。
5
+ //
6
+ // 说明:本文件作为 preset 内置插件被 Loader 以 ESM 方式加载;为避免依赖
7
+ // harness 内部包(本地 preset 目录无法走 node_modules 向上解析),这里手工
8
+ // 构造 UserMessage,而不是 import createUserMessage。
9
+
10
+ export const name = 'omd-commands'
11
+ export const inject = ['commands']
12
+
13
+ let seq = 0
14
+ function messageId() {
15
+ seq += 1
16
+ return 'omd-' + Date.now().toString(36) + '-' + seq.toString(36) + '-' + Math.random().toString(36).slice(2, 10)
17
+ }
18
+
19
+ function userMessage(text) {
20
+ return {
21
+ role: 'user',
22
+ source: { kind: 'user' },
23
+ content: [{ type: 'text', text }],
24
+ id: messageId(),
25
+ }
26
+ }
27
+
28
+ const MODES = [
29
+ {
30
+ name: 'omd-plan',
31
+ description: '规划:先探索,产出带依赖与验收标准的实现计划(不写代码)',
32
+ hint: '<任务>',
33
+ label: '规划',
34
+ skill: 'omd-plan',
35
+ build: (t) => `请加载 omd-plan skill,对以下任务先探索再产出带依赖与验收标准的实现计划(不写代码),并用 HUD 输出计划概览:${t}`,
36
+ },
37
+ {
38
+ name: 'omd-execute',
39
+ description: '执行:按计划实现,多文件改动委托并行子代理,琐碎改动直接做',
40
+ hint: '<任务>',
41
+ label: '执行',
42
+ skill: 'omd-execute',
43
+ build: (t) => `请加载 omd-execute skill,按已确认的计划实现以下任务(多文件改动委托并行 subagent,琐碎改动直接做),并用 HUD 输出进度:${t}`,
44
+ },
45
+ {
46
+ name: 'omd-review',
47
+ description: '评审:独立评审改动,产出缺陷清单(不自我背书)',
48
+ hint: '<任务>',
49
+ label: '评审',
50
+ skill: 'omd-review',
51
+ build: (t) => `请加载 omd-review skill,对以下改动作独立评审(用评审 subagent 产出 issues 清单,不自我背书),并用 HUD 输出评审结果:${t}`,
52
+ },
53
+ {
54
+ name: 'omd-verify',
55
+ description: '验证:跑测试/构建,对照验收标准收集证据,失败则迭代',
56
+ hint: '<任务>',
57
+ label: '验证',
58
+ skill: 'omd-verify',
59
+ build: (t) => `请加载 omd-verify skill,对以下任务跑测试/构建并对照验收标准收集证据(失败则回 execute/review 迭代),并用 HUD 输出验证结果:${t}`,
60
+ },
61
+ {
62
+ name: 'omd-team',
63
+ description: '团队分阶段流水线(规划→规格→实现→验证→修复)',
64
+ hint: '<任务>',
65
+ label: '团队流水线',
66
+ skill: 'omd-team',
67
+ build: (t) => `请加载 omd-team skill,用 Team 分阶段流水线编排完成以下任务,各阶段用 HUD 输出进度:${t}`,
68
+ },
69
+ {
70
+ name: 'omd-autopilot',
71
+ description: '自动驾驶:单个主控代理把目标持续做到已验证完成',
72
+ hint: '<目标>',
73
+ label: '自动驾驶',
74
+ skill: 'omd-autopilot',
75
+ build: (t) => `请加载 omd-autopilot skill,用 Autopilot 模式把以下目标持续做到已验证完成,并用 HUD 输出进度:${t}`,
76
+ },
77
+ {
78
+ name: 'omd-ralph',
79
+ description: '拉夫持久验证循环:完整完成并验证到全绿,不留静默半成品',
80
+ hint: '<目标>',
81
+ label: '拉夫循环',
82
+ skill: 'omd-ralph',
83
+ build: (t) => `请加载 omd-ralph skill,用 Ralph 持久验证循环完成以下目标直到全绿,并用 HUD 输出进度:${t}`,
84
+ },
85
+ {
86
+ name: 'omd-deep-interview',
87
+ description: '深度访谈:写代码前用苏格拉底式追问澄清需求',
88
+ hint: '<主题>',
89
+ label: '深度访谈',
90
+ skill: 'omd-deep-interview',
91
+ build: (t) => `请加载 omd-deep-interview skill,对以下想法做深度访谈澄清需求,先收敛出规格再动手:${t}`,
92
+ },
93
+ {
94
+ name: 'omd-ralplan',
95
+ description: '共识规划:多视角并行规划 + 结构化审议,收敛出共识计划',
96
+ hint: '<描述>',
97
+ label: '共识规划',
98
+ skill: 'omd-ralplan',
99
+ build: (t) => `请加载 omd-ralplan skill,对以下描述做多视角并行规划 + 结构化审议,收敛出共识计划,并用 HUD 输出草案/分歧/裁决概览:${t}`,
100
+ },
101
+ {
102
+ name: 'omd-research',
103
+ description: '调研:查证一个开放问题,返回有来源依据的结论',
104
+ hint: '<问题>',
105
+ label: '调研',
106
+ skill: 'omd-research',
107
+ build: (t) => `请加载 omd-research skill,对以下问题做有据调研(并行研究子代理 + 每条结论标注来源),并用 HUD 输出调研结论与来源:${t}`,
108
+ },
109
+ {
110
+ name: 'omd-autoresearch',
111
+ description: '自动调研改进:评估器驱动的有界改进循环,持续改进到达标',
112
+ hint: '<任务>',
113
+ label: '自动调研',
114
+ skill: 'omd-autoresearch',
115
+ build: (t) => `请加载 omd-autoresearch skill,对以下任务做评估器驱动的有界改进循环直到达标,并用 HUD 输出轮次/评分/差距:${t}`,
116
+ },
117
+ {
118
+ name: 'omd-ultragoal',
119
+ description: '持久多目标:拆解多子目标,带 checkpoint 工件与台账,可恢复可审计',
120
+ hint: '<目标>',
121
+ label: '持久目标',
122
+ skill: 'omd-ultragoal',
123
+ build: (t) => `请加载 omd-ultragoal skill,把以下大目标拆成多子目标、带 checkpoint 工件与台账持续推进,并用 HUD 输出子目标进度:${t}`,
124
+ },
125
+ ]
126
+
127
+ export function apply(ctx) {
128
+ for (const mode of MODES) {
129
+ ctx.commands.register({
130
+ name: mode.name,
131
+ description: mode.description,
132
+ input: { hint: mode.hint },
133
+ handler: (invocation) => {
134
+ const task = (invocation.rawInput || '').trim()
135
+ if (!task) return { kind: 'error', text: `用法:/${mode.name} ${mode.hint}` }
136
+ invocation.agent.followup(userMessage(mode.build(task)))
137
+ return { kind: 'success', text: `${mode.label}已启动:${task}` }
138
+ },
139
+ })
140
+ }
141
+ }
@@ -0,0 +1,20 @@
1
+ # oh-my-dsh bundle patch: the composition layer this bundle contributes when a
2
+ # profile lists it. `dsh plugin add` appends this layer after @deepseek-ai/dsh-base
3
+ # and before the user's own overrides.
4
+ #
5
+ # - command-omd (insert) registers the 12 /omd-* slash commands into the host
6
+ # `commands` registry, so every session in the profile sees them.
7
+ # - skill-filesystem (override by id) adds this package's `skills/` to the base
8
+ # host skill-filesystem via customSkillDirs and re-enables the row (the Web app
9
+ # ships the base row disabled because presets own local discovery). Overriding
10
+ # by id keeps a single "filesystem" provider; customSkillDirs is additive over
11
+ # the default roots, so project and user skills keep working alongside omd's.
12
+ - insert:
13
+ - id: command-omd
14
+ name: '@hawk2048/oh-my-dsh/commands'
15
+
16
+ - id: skill-filesystem
17
+ disabled: false
18
+ config:
19
+ customSkillDirs:
20
+ - !!js "process.getBuiltinModule('node:url').fileURLToPath(new URL('skills/', baseUrl))"
package/index.js ADDED
@@ -0,0 +1,8 @@
1
+ // oh-my-dsh bundle entry.
2
+ //
3
+ // The bundle is a composition layer (`cordis.patch.yml`), not a top-level
4
+ // plugin; its capability modules live under ./commands and its skills under
5
+ // ./skills. This entry exists so the package resolves as a module for the
6
+ // patch rows that reference `oh-my-dsh/commands`; it intentionally exports
7
+ // nothing.
8
+ export {}
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@hawk2048/oh-my-dsh",
3
+ "version": "0.2.0",
4
+ "description": "oh-my-dsh: DeepSeek Harness multi-agent orchestration layer — OMC-style workflow skills, slash commands, and an agent preset.",
5
+ "type": "module",
6
+ "main": "index.js",
7
+ "exports": {
8
+ ".": "./index.js",
9
+ "./commands": "./commands/omd-commands.mjs"
10
+ },
11
+ "files": [
12
+ "index.js",
13
+ "commands/",
14
+ "skills/",
15
+ "cordis.patch.yml"
16
+ ],
17
+ "dsh": {
18
+ "bundle": {
19
+ "patch": "./cordis.patch.yml"
20
+ }
21
+ },
22
+ "license": "MIT",
23
+ "keywords": [
24
+ "dsh-plugin",
25
+ "deepseek-harness",
26
+ "orchestration",
27
+ "multi-agent",
28
+ "workflow",
29
+ "agent-preset"
30
+ ],
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "https://github.com/hawk2048/oh-my-dsh"
34
+ }
35
+ }
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: omd-ai-slop-cleaner
3
+ description: "AI-slop-cleaner: strip AI-generated filler, boilerplate, redundant comments, and vague prose from code or text. Use when the user says ai-slop / 去废话 / 精简 / 去水 / 太啰嗦 / 去AI味, or wants output tightened."
4
+ ---
5
+
6
+ # oh-my-dsh · AI-slop-cleaner 去废话
7
+
8
+ 删除 AI 生成的冗余、套话、废话注释与空洞措辞,让代码/文本**精炼、具体、像人写的**。对应 OMC 的 `ai-slop-cleaner` 提示词触发模式(其内部转 `review`)。
9
+
10
+ ## 何时用
11
+
12
+ - 用户嫌输出啰嗦、有「AI 味」、要精简。
13
+ - 清理冗余注释、无意义样板、`In conclusion` 式套话。
14
+
15
+ ## 清理纪律
16
+
17
+ 识别并移除这些典型 slop:
18
+
19
+ | 类型 | 例子 | 处理 |
20
+ |------|------|------|
21
+ | 复述注释 | `// set x to 1` 紧跟 `x = 1` | 删注释,代码自明 |
22
+ | 废话样板 | "In today's fast-paced world…" | 整段删 |
23
+ | 空洞形容词 | "robust, scalable, cutting-edge" | 换成具体事实 |
24
+ | 冗余总结 | 结尾把上文再讲一遍 | 删,留结论 |
25
+ | 无意义占位 | TODO 永不实现、`pass` 式填充 | 删或落实 |
26
+
27
+ 原则:**保留含义,删掉水分**。改完让输出更短、更具体,但不丢信息。
28
+
29
+ ## 与其它模式的关系
30
+
31
+ - 清理完交给 `omd-review` 复核,确认没误删语义。
32
+ - 清理的是「写得啰嗦」,不是「逻辑有错」——后者走 `omd-debug` / `omd-review`。
33
+ - 用于生成时,把它当 `omd-execute` 的输出后置滤网。
34
+
35
+ ## 收尾:HUD
36
+
37
+ 用 `omd-hud` 输出清理对照:删除条目 + 前后字数 + 类型分布。让「删了什么、精简多少」一眼可见。
38
+
39
+ ## 反模式
40
+
41
+ - 别为精简牺牲准确性或可读性。
42
+ - 别把有信息量的注释当 slop 删掉(`为什么` 的注释要留)。
43
+ - 别只删不改——该重写的句子要重写成具体措辞。
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: omd-autopilot
3
+ description: "Autopilot: one lead agent (you) drives a single objective to verified completion across goal rounds, delegating via subagents and tracking with todo_write. Use for end-to-end autonomous feature work with minimal ceremony, or when the user says autopilot/自动驾驶/自主执行/自动驾驶式."
4
+ ---
5
+
6
+ # oh-my-dsh · Autopilot 自动驾驶
7
+
8
+ 一个主控代理(你)把一个目标从模糊一路推到「已验证完成」。对应 OMC 的 Autopilot 模式:**单领导、自主执行、持续到底**。
9
+
10
+ ## 何时用
11
+
12
+ - 用户给了一个明确的最终目标:"搭一个 REST API""重构认证模块"。
13
+ - 不想走 Team 的完整五阶段仪式,但目标要真正跑完、验证过。
14
+ - 用户说"autopilot""自动驾驶""自主执行""一路做完"。
15
+
16
+ ## 核心:goal 工具循环
17
+
18
+ Autopilot 的地基是 DSH 的 goal 工具——一个**跨多轮持续到完成**的目标,不是单轮内做完。
19
+
20
+ ```
21
+ create_goal(objective) → [每一轮] todo_write 推进 → subagent 委托 → update_goal 推进 → 完成
22
+ ```
23
+
24
+ 1. **建目标**:`create_goal(objective, { max_goal_rounds })`。objective 写成"可验收的完成目标",不是任务描述——"通过 npm test 的认证模块重构"优于"重构认证"。
25
+ 2. **拆计划**:立刻用 `todo_write` 列出实现步骤,每步一条;并行步骤可同时 `in_progress`。
26
+ 3. **每轮推进**:本轮该做的做(`subagent` 委托独立子任务、读代码、改文件),做完就把对应 todo 置 `completed`,用 `update_goal` 保持目标推进。
27
+ 4. **持续到完成**:跨轮继续,别在单轮里硬塞。每个长目标都属于 goal 工具,不属于一次回答。
28
+ 5. **委托**:能独立、能并行的子任务用 `subagent`(后台并行),不要把上下文全烧在主控里。
29
+ 6. **收尾**:只有「验证通过、验收标准满足」才 `update_goal complete`;用 `get_goal` 读当前 revision 再更新。
30
+
31
+ ## 目标状态纪律
32
+
33
+ - `complete`:目标**真正达成**才标。别因为"做完了主要部分"就提前标。
34
+ - `blocked`:**同一阻塞条件持续至少 3 个 goal 轮**才标,并在 `blocked_reason` 里写明具体条件。"难/不确定/还有活"不算 blocked。
35
+ - 目标在会话恢复或 fork 后会解除武装:用户说"继续/接着做"时用 `update_goal resume` 重新武装。
36
+
37
+ ## 与 Team / Ralph 的边界
38
+
39
+ - **Team**:多子系统、要分阶段规格。Autopilot 是单领导直推,不搞 prd 仪式。
40
+ - **Ralph**:要"每个完成都必须验证、不许静默半成品"的强验证循环,或用户明说 fresh-agent 迭代。
41
+ - Autopilot 内部可以顺手并行 `subagent`,但主控权始终在你这一个代理手里。
42
+
43
+ ## 收尾:HUD
44
+
45
+ 每轮结束按 `omd-hud` 输出内联仪表盘:目标 + 轮次 + todo 进度 + 子代理状态。让用户始终看到"现在到哪了、还差什么"。
46
+
47
+ ## 反模式
48
+
49
+ - 别在单轮里试图一次做完整个目标——goal 工具就是为"跨轮持续"设计的。
50
+ - 别把 goal 用在琐碎的单轮任务上。
51
+ - 别静默交付半成品——收尾前必须验证。
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: omd-autoresearch
3
+ description: "Autoresearch: a bounded evaluator-driven improvement loop — produce a version, an evaluator subagent scores it against the target criteria, then improve, repeat until it meets the bar or the round cap. Use when the user asks to autoresearch/自动调研改进/边做边评/持续打磨到达标."
4
+ ---
5
+
6
+ # oh-my-dsh · Autoresearch 评估器驱动的改进循环
7
+
8
+ 不是单趟调研,而是**「产出 → 评估打分 → 按差距改进 → 再评估」的有界循环**,直到达标或达到轮次上限。对应 OMC 的 `autoresearch`。
9
+
10
+ ## 何时用
11
+
12
+ - 产出物有明确的"达标标准",但第一版通常不够好,需要迭代打磨(调研报告、设计文档、方案对比)。
13
+ - 用户说"autoresearch""自动调研改进""边做边评""持续打磨""做到达标为止"。
14
+
15
+ ## 有界循环
16
+
17
+ ```
18
+ create_goal(达标目标) → 产出当前版 → 评估子代理打分/找差距 → 按差距改进 → 再评估 → 达标或达上限即停
19
+ ```
20
+
21
+ 1. **定达标标准**:`create_goal` 写一个可验收的 objective("有 3 个以上来源、覆盖性能与安全两个维度、无未决存疑项的报告"优于"好好调研一下")。
22
+ 2. **产出当前版**:先出一版(可并行 `subagent` 分工)。
23
+ 3. **评估**:派评估子代理**独立**对照达标标准打分,返回「差距清单」(哪里不达标、差在哪、怎么改),只允许"达标 / 具体差距",不允许"差不多"。
24
+ 4. **改进**:按差距清单修,回到第 3 步。
25
+ 5. **有界退出**:达标 → `update_goal complete`;达到轮次上限仍未达标 → 显式报告剩余差距,别装作完成。
26
+
27
+ ## 状态与可恢复
28
+
29
+ - 用 goal 工具承载循环状态,跨轮持续。
30
+ - 每轮把「当前版 + 评估结论」写进工作区文件(如 `AUTORESEARCH.md`),保证会话恢复后能接着改。
31
+
32
+ ## 与其它模式的关系
33
+
34
+ - `research` = 单趟查证;`autoresearch` = research + 评估循环,目标是"持续改进到达标"。
35
+ - 评估是**独立评估**,别让产出代理自我打分。
36
+
37
+ ## 收尾:HUD
38
+
39
+ 用 `omd-hud` 输出:轮次 + 评分趋势 + 差距清单(未达标项)。让"离达标还差什么"始终可见。
40
+
41
+ ## 反模式
42
+
43
+ - 别无界循环——必须有轮次上限 + 明确的达标退出条件。
44
+ - 别把"评估分数"当最终结论——评估也是证据之一,最后仍要独立核验。
45
+ - 别把评估做模糊("还行")——要具体到差距项。
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: omd-cancel
3
+ description: "Cancel: stop an in-flight orchestration mode — halt goal rounds, interrupt background subagents, kill jobs — and leave a clean checkpoint. Use when the user says cancel / 停止 / 停下 / 取消 / 别跑了 / stop / abort."
4
+ ---
5
+
6
+ # oh-my-dsh · Cancel 取消进行中模式
7
+
8
+ 干净地停掉正在跑的编排,留下可恢复的检查点。对应 OMC 的 `cancel` skill(触发词 stop/cancel/abort)。
9
+
10
+ ## 何时用
11
+
12
+ - 用户说「停」「取消」「别跑了」。
13
+ - 一个 autopilot/ralph/team/ultragoal 跑偏了,需要中断。
14
+
15
+ ## 取消纪律
16
+
17
+ 1. **盘点**:先搞清楚现在有什么在跑——`goal`(`get_goal` 查当前目标)、后台 `subagent`(`list_agents`)、后台 `job`(`job_list`)。
18
+ 2. **停目标**:`update_goal` 用 `pause`(或 `blocked`)停掉跨轮目标,别让它继续自动续轮。
19
+ 3. **停子代理/任务**:对还在跑的子代理 `interrupt_agent`,对后台命令 `job_kill`。
20
+ 4. **留检查点**:用 `remember` 或写文件记下「进行到哪、下一步从哪续」,别让进度白费。
21
+ 5. **报告**:说清停了什么、还留着什么、怎么恢复。
22
+
23
+ ## 与其它模式的关系
24
+
25
+ - 取消不是删除:用 `cordis_stop`/`update_goal pause` 保留定义与进度,别 `undefine`/`complete` 式永久清掉(除非用户明确要删)。
26
+ - 取消后要重来,从检查点接续;方向都变了就先 `omd-plan` 重新规划。
27
+
28
+ ## 收尾:HUD
29
+
30
+ 用 `omd-hud` 输出取消结果:`table`(对象/动作/结果)+ `callout`(恢复方式)。让「停了什么、怎么续」一眼可见。
31
+
32
+ ## 反模式
33
+
34
+ - 别只说「已停止」却不真正调停对应机制——goal 会继续续轮、子代理会继续跑。
35
+ - 别把取消做成不可逆删除。
36
+ - 别不留检查点就停,否则前功尽弃。
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: omd-debug
3
+ description: "Debug: reproduce the failure, isolate the cause with evidence, fix minimally, and lock it with a regression test. Use when the user says debug / 调试 / 报错 / 崩溃 / 为什么失败 / 修 bug / 排查."
4
+ ---
5
+
6
+ # oh-my-dsh · Debug 结构化调试
7
+
8
+ 按「复现 → 定位 → 最小修复 → 回归验证」排查故障,每一步都留证据。对应 OMC 的 `debug` 工具 skill。
9
+
10
+ ## 何时用
11
+
12
+ - 有报错/崩溃/异常行为,需要找出根因并修掉。
13
+ - 用户说「修一下」「为什么失败」「排查这个 bug」。
14
+
15
+ ## 调试纪律
16
+
17
+ 1. **复现**:先用 `pwsh`/`bash` 拿到**确切的**报错信息(命令 + 完整 stderr + 退出码),别凭记忆。
18
+ 2. **定位**:二分缩小范围——`read` 读相关代码、`grep` 追调用链、加日志/断点式打印,把根因锁定到具体 file:line。
19
+ 3. **最小修复**:只改必要的,别顺手重构(配合 `omd-minimal-code-discipline`)。
20
+ 4. **回归验证**:补/跑一条测试证明修好了,再确认没引入新问题。
21
+
22
+ ## 与其它模式的关系
23
+
24
+ - 定位「在哪里」用 `omd-deepsearch`;理解「为什么这么设计」用 `omd-deep-analyze`;`debug` 专注「为什么坏了 + 修好」。
25
+ - 修完交给 `omd-review` 复核;需要反复验证的交给 `omd-verify`。
26
+
27
+ ## 收尾:HUD
28
+
29
+ 用 `omd-hud` 输出排查轨迹:`timeline`(复现→定位→修复→验证)+ `table`(根因/文件:行/修复/回归测试)。让「坏了什么、改了什么、怎么证明好了」一眼可见。
30
+
31
+ ## 反模式
32
+
33
+ - 别没复现就改——那是猜,不是 debug。
34
+ - 别只看第一处报错就下结论,追到根因。
35
+ - 别修完不验证就宣称「已修好」。