dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
OMC 风格的多智能体编排层:29 个 omd-* skill + 12 条 /omd-* 命令,覆盖 plan-execute-review-verify 流水线与 team/autopilot/ralph 等模式。
A multi-agent orchestration layer for DeepSeek Harness (DSH) — ports oh-my-claudecode's orchestration modes onto DSH's native primitives (workflow / subagent / ralph / goal).
Two ways to trigger: natural language (30 skills, auto-loaded by the agent) + slash commands (13 /omd-* commands). Start a session, orchestration is ready.One command installs all 30 skills + 13 /omd-* commands (the OMC plugin-marketplace equivalent):
dsh plugin --profile web add github:hawk2048/oh-my-dshOr from npm (the npm i -g equivalent):
dsh plugin --profile web add @hawk2048/oh-my-dshRestart the profile, type /omd to see command candidates, or use natural language ("plan this", "autopilot, build a REST API").
dsh CLI)dsh plugin forwards to pnpmdsh plugin add installs everything; the bundle self-registers, no setup wizard.team-plan → team-prd → team-exec → team-verify → team-fix), built on DSH's native workflow.omd-* skills auto-load, nothing to memorize.subagents.ralph loops + goal cross-turn objectives).omd-skillify extracts reusable skills; omd-remember persists durable notes across sessions.dsh-ui progress dashboards.Aligned to OMC v5.3.0 (the plan → execute → review → verify pipeline + retained modes):
OMC workflow · oh-my-dsh skill · DSH primitive Plan · omd-plan · read-only exploration + parallel subagent Execute · omd-execute · parallel subagent + todo_write Review · omd-review · subagent_fork independent review Verify · omd-verify · pwsh/bash tests + subagent re-check Team · omd-team · workflow + subagent Autopilot · omd-autopilot · goal + todo + subagent Ralph · omd-ralph · ralph + goal verify loop Deep Interview · omd-deep-interview · ask_user_question Ralplan · omd-ralplan · parallel subagent drafts + arbitration Research · omd-research · web_search/web_fetch + parallel subagent Autoresearch · omd-autoresearch · goal + evaluator loop Ultragoal · omd-ultragoal · goal + todo_write + checkpoint artifacts HUD · omd-hud · inline dsh-ui dashboard (genui)
Prompt-trigger + utility skills (natural-language only, no slash command):
OMC trigger · oh-my-dsh skill · DSH primitive tdd · omd-tdd · pwsh/bash tests + red-green-refactor deepsearch · omd-deepsearch · grep/glob/read local lookup deep-analyze · omd-deep-analyze · parallel subagent multi-angle ultrathink · omd-ultrathink · pure reasoning (no tools first) ai-slop-cleaner · omd-ai-slop-cleaner · review/edit tightening omc-doctor · omd-doctor · install/mount diagnostics debug · omd-debug · reproduce→isolate→fix→regress release · omd-release · git + tests + changelog + tag remember · omd-remember · workspace memory file cancel · omd-cancel · goal pause + interrupt_agent + job_kill minimal-code-discipline · omd-minimal-code-discipline · YAGNI ladder external-context · omd-external-context · web_fetch/read visual-verdict · omd-visual-verdict · read_image comparison skillify · omd-skillify · write SKILL.md wiki · omd-wiki · workspace markdown omc-help · omd-help · live skill/command index
New in this plugin (no OMC counterpart):
Capability · oh-my-dsh skill · DSH primitive Pyramid structured expression (conclusion-first + MECE) · omd-pyramid · pure expression discipline + dsh-ui hierarchy mapping (genui)
`ultrawork` is retired — OMC removed it in 5.0.0 (along withultraqa/swarm/pipeline); oh-my-dsh removed it too, folding its "maximum parallel fan-out" intoexecute/team/ralph.
Key difference: OMC's HUD is a CLI status line, while oh-my-dsh's HUD is an inline `dsh-ui` dashboard in the reply (stat/progress/timeline/table), because DSH's Web GUI already renders structured UI.
oh-my-dsh/
├── package.json # dsh.bundle manifest (bundle install entry)
├── cordis.patch.yml # bundle patch layer (global commands + skills)
├── index.js # bundle module entry
├── agent.cordis.yml # agent preset composition (= standard + persona + skills + commands)
├── preset.yml # preset display metadata
├── install.ps1 / install.sh # preset manual install scripts
├── LICENSE
├── commands/
│ └── omd-commands.mjs # slash-command producer (ESM plugin)
├── 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-pyramid/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.mdTwo forms — pick one (bundle for global, preset for per-session).
Form A: bundle (primary, the OMC plugin-marketplace equivalent) — installs the 13 /omd-* commands and 30 skills globally, visible to every session in the profile:
# git source (pure JS/Markdown, zero build, no allowBuilds needed; pin with @<tag>)
dsh plugin --profile web add github:hawk2048/oh-my-dsh
# or npm (the npm i -g equivalent)
dsh plugin --profile web add @hawk2048/oh-my-dshRestart the profile. One command, pulled by pnpm — no manual tarball download.
Form B: agent preset (optional, per-session) — full session with persona and the orchestration toolkit:
# Windows
.\install.ps1
# macOS / Linux
./install.shThe installer is non-destructive: it never deletes the preset directory, keeps skills you added locally, and backs up any local edit it would overwrite as .bak-. Re-running is safe and reversible.
Then create a session and pick the "oh-my-dsh 编排" preset (or set it as agent-presets.default). See docs/RELEASE.md.
Two equivalent ways:
Way 1: natural language (the agent auto-loads the matching skill)
plan how to implement X → omd-planexecute the plan → omd-executereview my changes → omd-reviewverify — tests must pass → omd-verifyteam, build a task-management app → omd-teamautopilot: build a REST API → omd-autopilotralph the auth refactor until green → omd-ralphdeep interview me — I want to build X → omd-deep-interviewralplan this architecture decision → omd-ralplanresearch X best practices, with sources → omd-researchautoresearch this report to passing → omd-autoresearchultragoal: break this long goal into subgoals → omd-ultragoalstructure this as a pyramid / conclusion first / MECE → omd-pyramidtdd: failing test first → omd-tdddeepsearch: who calls this function → omd-deepsearchdeep-analyze this architecture → omd-deep-analyzeultrathink before acting → omd-ultrathinkstrip the AI slop → omd-ai-slop-cleanerself-check the install → omd-doctordebug this error → omd-debugrelease v1.2 with changelog → omd-releaseremember this decision → omd-rememberstop the running autopilot → omd-cancelminimal change, no over-engineering → omd-minimal-code-disciplineread this issue/link → omd-external-contextcompare these screenshots → omd-visual-verdictturn this flow into a skill → omd-skillifywrite this to the wiki → omd-wikiwhat can omd do → omd-helpWay 2: slash commands (type /omd for candidates)
Command · Equivalent 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 /omd-pyramid · omd-pyramid
The agent loads the matching skill, runs that mode, and reports progress via the HUD.
DSH's native multi-agent primitives (workflow pipelines/parallel, subagent fan-out, ralph fresh-agent loops, goal cross-turn objectives) already cover OMC's orchestration semantics. oh-my-dsh therefore adds no new host tools or runtime — it distills "which primitive to use, when, how to orchestrate, and how to close out" into reusable skills.
Distribution reuses DSH's native mechanisms: cordis.patch.yml + the dsh.bundle manifest make dsh plugin add install a bundle (global commands + skills), and agent.cordis.yml makes it an agent preset (per-session persona + commands + skills). The slash-command commands/omd-commands.mjs is an ESM plugin that injects DSH's built-in commands registry — zero runtime risk, survives DSH upgrades.
skills/omd-xxx/SKILL.md (YAML frontmatter with name + description).MODES array in commands/omd-commands.mjs.persona row at the top of agent.cordis.yml. Keep the prefix: key the row's schema requires, and reference only registered prompt variables — {{provider}} / {{model}} today. The working directory is injected as its own runtime-context section, so a {{cwd}} reference fails prompt assembly for every turn (guard: tests/preset-contract.test.mjs).dsh plugin add) or copy skills/* to ${DSH_HOME}/skills/.MIT. Inspired by oh-my-claudecode.