Skip to main content
H

My-Power-Dsh

haroldz32/my-power-dsh

A DeepSeek Harness plugin bundle: eleven specialist roles usable as one-shot consults or as team members, a team plane with a plan, a shared board and a dependency graph, a durable workmate library, a memory engine, and a verification plane that refuses a PASS unless a different agent records the verdict against gate evidence. Installs as one package with a dsh.bundle patch; also ships a native dshGo panel interface and a conformance gate pinned to a dsh-Go protocol v1 spec commit (d5ad25c).

Install

dsh plugin --profile web add github:haroldz32/my-power-dsh

README

my-power-dsh

English | 中文

Version npm License: MIT DeepSeek Harness Platforms Runtime Gates Docs

my-power-dsh is a plugin bundle for the DeepSeek Harness (DSH). One install turns a plain DSH setup into a working environment for real coding work: a main agent that reads your project rules, eleven specialists you can consult or delegate to, a library of durable "workmate" agents that remember what they learned, multi-agent teams that run on this bundle's own team record, a served skill corpus, MCP servers for code intelligence, and an extension interface other packages can contribute to.

The bundle runs on two surfaces. Everything below exists in the DSH Web GUI and in the DSH-TUI terminal edition, with the same install, the same .mpd/ state, the same tools and the same mpd preset. The terminal surface runs on dsh-TUI, whose site is dshtui.com. Nothing is forked, and a capability is not absent from the terminal just because it has no pixels there.

The bundle is the package @mpd-dsh/mpd; this repository root is that package. One command installs it, and one command removes it without leaving residue.

The same bundle on both surfaces, side by side: on the left the DSH Web GUI with the bundle's own Team view showing a populated roster and a frosted-glass task graph with a hover card in the sidebar; on the right the DSH-TUI running the same team as a full-screen terminal scene.

The same bundle, the same run, the same state: the Web GUI on the left, the DSH-TUI terminal edition on the right. Every screenshot here is a real capture of the shipped bundle, produced by the Docker lanes under docker/ui/: the Web tiles by headless Chromium driving the real app, the terminal tiles by rasterizing the bytes the real TUI emitted on a real PTY (tmux capture-pane -e, carrying the TUI's own colours) at the grid tmux computed. The TUI localizes its command descriptions and its status line but not its scene bodies, so the terminal scene tiles read the same in both languages.

One plugin, two surfaces

One install puts the bundle into either profile, or both. The two surfaces share one state root (<workspace>/.mpd/), one set of tools and one mpd preset. Only the rendering differs.

What you want to doDSH Web GUIDSH-TUI (terminal)Parity
See the team: id, name, phase, statusthe Team view in a sidebar, served by this bundle (/plugins/mpd-team/state)/mpd team, a full-screen scenesame facts
Read the roster: members, model routes, per-member task countsthe Team view's member cardsthe same rows inside /mpd teamsame facts
Read the task graph: id, kind, status, owner, attempt, round, dependenciesthe Team view's dependency graph; hover lights a chain, click pins a nodethe same rows as boxes and box-drawing edgessame facts
Watch a wave that has gone quietthe Team watchdog sidebar tab: the hold, the escalation banner and the incident replaythe team-hold held (…) row plus the incident replay dialogsame facts
Review a staged plan before any work startsthe Team view renders the staged plan and the phrase that approves it/mpd plan: read it, type approve plan-…, then Ctrl+Xthe same plan; approving is an agent_teams_plan tool call on both
Browse the workmate librarythe Workmates sidebar tab: listing, persona / memory / note/mpd workmates, the listing onlyTUI is listing-only; mutations are Web-only
Tune the bundle's knobsSettings → MPD section/settings → the MPD sectionsame knobs, same restart caveat
See plan / boulder / workmate progress while you typethe sidebar and the settings cardthe keyed status line above the promptTUI-native surface
Stay on the keyboardno equivalent (pointer, plus the panel below)the status line, the /mpd command tree, the alt+a merged panelTUI-native surface
See the roster and board the harness shipsthe Agent Teams panel in the conversation header, a different, read-only surface (it spawns, renames and deletes nothing)nonenot this bundle's surface
Look at an archived team?archived=1 on the Agent Teams panelnot projected; the TUI reads the newest live recordWeb-only
Drag and resize the panelthe Agent Teams panel is a floating panela terminal scene has no geometrynot applicable

Two Web surfaces are easy to confuse, so the table names them apart: the Agent Teams panel in the conversation header belongs to the harness's own client and is read-only, while the Team and Team watchdog views are this bundle's own pages, served from its routes and rendered in whichever sidebar host the composition provides.

The table is backed by a ledger. docs/tui-parity.md lists every row with its evidence and records each deviation that is still open. Rows above whose two columns are not the same sentence are exactly those recorded deviations; read the ledger before you rely on the TUI for a Web capability.

The Team view in the DSH Web GUI: the team header and progress, the roster with each member's model route, and the nested task graph: a subcell drawn as the subcell-auth FRAME (a .mpd-dag-group box) with a dependency arriving on its border and its own four-card DAG inside it, while the parent's tasks flow around it.

The DSH-TUI's full-screen team SCENE for the same nested team, the /mpd team scene rather than the DAG page, with the subcell-auth group frame in the second border-glyph family (╔ ╗ ╚ ╝ ║ ═), a ╧ port where the outside dependency attaches, and the subcell's own cards drawn inside the frame, above the scene's legend and key hints. The window runs from the scene's own top border row to its bottom border row and stops at 102 of its 158 columns, which keeps one character cell at least 8 px wide at this page's display width.

Features

  • A main agent that reads your rules. The bundle's one preset, mpd, carries the project-instruction convention: every session attempts AGENT.md, then AGENTS.md, then CLAUDE.md, from the project root down to the working directory.
  • Eleven specialists, consulted or delegated. Architect, Researcher, Planner, Deep Worker, Senior Engineer, Lead, Explorer, Reviewer, Plan Reviewer, Vision Analyst, Junior Engineer. Each is a teammate template with its own model route, and the read-only ones are denied write tools mechanically rather than by convention.
  • A workmate library that accumulates. Instantiate a specialist as a durable agent under ~/.mpd/workmate/; it self-summarizes after each session, evolving its own persona and memory.
  • Real multi-agent teams. The team plane is the mpd RECORD (.mpd/team/teams/<id>.json, served as mpdTeams), executed by the adapter's native TeamExecutor backend by DEFAULT; mpd rows drive it through the agent_teams_plan door and the agent_teams_task / agent_teams_dispatch board, and the official authoring verbs (spawn_teammate, team_task_*) are REFUSED at the tool boundary. The official dsh.team* service is only the contained FALLBACK for a composition that runs the official executor (its rows are disabled in a TUI composition). A durable mailbox, a Web panel and a TUI scene read the same live record.
  • A durable plan ledger. Autoproject rounds with per-criterion PIN → RED → GREEN → SURFACE → CLEAN, a boulder ledger anchored to a plan file, and a persisted goal that survives across sessions.
  • Memory and edits that hold up. A VCS-backed memory store with a reflection state machine, plus hash-anchored editing, a write guard and a declaration-comment gate.
  • Verification with teeth. The code one agent writes is verified by a different agent, from a frozen contract, with a recorded verdict and gate evidence.
  • Code intelligence and extensibility. MCP servers for AST search (ast-grep), a code knowledge graph, a language server and git-bash; plus an extension interface other packages contribute skills, flows, MCP servers and specialists through.
  • A skill corpus that knows the project shape. 19 skills served by reference from <bundle>/skills, the repository's own dsh-qa among them. cordis-dev loads itself on detection (cordis.patch.yml or presets/*.patch.yml, a manifest carrying dsh.bundle / dsh.client, dsh-plugin.json, a packages/*/src/index.ts exporting apply, or an extensions/* manifest), so Cordis / DSH plugin work starts from this repository's own rules.
  • Bilingual by policy. Every human-facing document ships an English file and a 简体中文 twin; a gate reddens when one falls behind.

Install

Requires Node.js ≥ 22.18 and pnpm on PATH, and a DSH install with a web or headless profile. The bundle never configures model keys for you.

# Web GUI profile
dsh plugin --profile web add @mpd-dsh/mpd

# DSH-TUI profile: the same bundle, the terminal surface
dsh plugin --profile dsh-tui add @mpd-dsh/mpd

Then restart dsh and start a session on the MPD (Main Working Agent) preset. To uninstall:

dsh plugin --profile web remove @mpd-dsh/mpd

The package declares no cordis dependency and no preinstall/install/postinstall/prepare script, so installing it runs no code from the package. Its rows reach the harness only through cordis.patch.yml and the profile mechanism, and it overrides no host row: the mpd preset is added additively, and it becomes your default through your action, never the bundle's.

The Plugins page of the DSH Web GUI after the one install command: @mpd-dsh/mpd listed under Installed with its toggle on.

To track the repository instead of the npm release, or to pin a revision, install from a checkout:

git clone https://github.com/HaroldZ32/My-Power-Dsh.git && cd My-Power-Dsh
bun install                                       # materialize the declared runtime dependencies
dsh plugin --profile web add .

The user guide covers the packed artifact, the dsh-tui launcher, the dependency closure and what the install mounts.

Version compatibility

Each row is the host pair a release was built and verified against: the Docker real-machine lanes run the install and the mount on exactly that pair. The harness pin lives in package.json (the three @deepseek-ai/dsh-experimental-* dependencies) and the DSH-TUI pin in dsh-plugin.json compat.hosts plus the host-tui ref in dsh-distribution.json. A newer host is not claimed until a release row names it; pin both.

The newest row is the version this package publishes; the rows below it are the pins of earlier releases, kept as history.

@mpd-dsh/mpdDeepSeek HarnessDSH-TUINotes
0.18.10.2.2-rc.10.19.0the current release
0.18.00.2.2-rc.10.19.0previous
0.17.50.2.1-rc.50.18.0previous
0.17.40.2.1-rc.50.18.0previous
0.17.30.2.1-rc.50.18.0previous
0.17.20.2.1-rc.50.18.0previous
0.17.10.2.1-rc.50.18.0previous
0.17.00.2.1-rc.50.18.0previous
0.16.40.2.1-rc.30.17.0previous
0.16.30.2.1-rc.30.17.0previous
0.16.20.2.1-rc.30.17.0previous
0.16.10.2.1-rc.30.17.0previous
0.15.40.2.1-rc.20.16.1previous
0.15.20.2.1-rc.20.16.1previous
0.15.10.2.1-rc.20.16.1previous
0.15.00.2.1-rc.20.16.1previous
0.14.00.2.1-rc.20.16.1previous (the harness-0.2.1 adaptation release)

The newest row is that pair: 0.18.1 ships against harness 0.2.2-rc.1 and DSH-TUI 0.19.0. The older hosts stay supported: engines.dsh spans >=0.2.1-rc.2 <0.3.0-0, and 0.18.1 carries 0.18.0's compatibility rows, which both mount and run on 0.2.1-rc.5. 0.19.0's peer lists add 0.2.2-rc.1 while keeping 0.2.1-rc.4/0.2.1-rc.5, and its admission chain is byte-identical to 0.18.0's. The pins live in package.json and dsh-plugin.json compat.hosts (which lists both TUI hosts); the rows below it record what earlier releases actually pinned. The full matrix is docs/compatibility.md.

Quick start

  1. Install, restart dsh, and start a session on the MPD (Main Working Agent) preset.
  2. Ask for something real. The agent has bash / read / edit plus the MCP code tools. Drop an AGENT.md in your project to steer it; the file is read automatically at session start.
  3. Consult a specialist. mpd_roles_list shows the roster, then mpd_role_spawn { role: "Architect", task: "review the module boundaries in src/" }.
  4. Keep the good one. mpd_workmate_init { base: "Architect", name: "system-architect" }, then reuse it with mpd_workmate_spawn { name: "system-architect", task: "…" }.
  5. Scale to a team. Ask for one, or describe work that warrants one: the captain stages a plan with agent_teams_plan (add_member → create_task, each task declaring its dependency answer, blocked_by or independent: true, → approve), then drives the board with agent_teams_task and agent_teams_dispatch plus send_message / wait_agent; the official spawn_teammate / team_task_* verbs are REFUSED at the tool boundary. Watch the roster and the shared board in this bundle's Team sidebar view, or in the TUI's /mpd team scene.
  6. Teach it a capability. Put an extension directory into <workspace>/.mpd/extensions/ and check it with mpd_ext_list.

Two commands worth knowing from the first minute:

/autoproject  <objective>     drive a long objective to done, in rounds, with gates
/mpd  team            open the team scene (DSH-TUI)

Or just ask. Reach for a specialist when you want a scoped second pair of eyes:

use the Architect to review the retry logic in src/queue.ts

A strip of the DSH-TUI's keyed status line: the mpd row naming the team and its progress, boulder, plans and workmates.

The status line, the /mpd command tree and the /settings section are terminal-native surfaces; their Web counterparts are the bundle's Team / Team watchdog views, the Workmates tab and Settings → MPD.

Usage

The bundle's work happens through tools and commands, the same ones on both surfaces. The short version:

You want to…Reach forDetail
Work with an agent that knows your project rulesthe mpd presetuser guide §2
Get a scoped second opinionthe specialist roster, mpd_role_spawnuser guide §4
Keep a specialist that accumulates knowledgethe workmate library, mpd_workmate_*user guide §5
Run a real multi-agent workflowteam mode, agent_teams_plan → agent_teams_task / agent_teams_dispatch (the official spawn_teammate / team_task_* verbs are REFUSED)user guide §6
Drive a long objective to donethe autoproject loop, /autoprojectuser guide §13.2
Track a multi-step plan durablythe boulder ledger, mpd_boulder_*user guide §13.6
Remember facts across sessionsthe memory engine, mpd_memory_*user guide §13.7
Edit files without line-drift mistakeshash-anchored editing, mpd_hashline_*user guide §13.5
Understand an unfamiliar codebasethe MCP servers: ast-grep, LSP, CodeGraphuser guide §3
Teach the bundle a new trickthe extension interface, mpd_ext_*user guide §10
Drive it all from a terminalthe DSH-TUI editionuser guide §7

The MPD section of the DSH settings panel, showing the bundle's knobs with a Reset to the file value button on each.

The Agent presets settings page: the MPD (Main Working Agent) preset listed under CUSTOM, while the New task default badge sits on the host's Standard mode: the deployment default is the host's to choose, and the bundle never overrides it.

Configuration is JSONC and layered: <workspace>/.mpd/mpd.jsonc over $DSH_HOME/mpd.jsonc, per key, project wins. Your state lives in <workspace>/.mpd/. The one exception is the workmate library, which is HOME-scoped at ~/.mpd/workmate/. See user guide §9 and §14.

The DSH-TUI workmate listing, showing the library's instances with their base and use count.

Status and known limitations

  • Built and verified against a prerelease harness. The bundle is tested against 0.2.2-rc.1, and the older 0.2.1-rc.5 still mounts and runs. Expect breakage while upstream stabilizes, and pin the harness version you use.
  • One capability is missing on the older harness. list_agents is not mounted on 0.2.1-rc.5: the newer harness removed the subpath export the row needed, and a single preset cannot straddle both. See docs/compatibility.md §2.
  • The TUI surface trails the Web surface in a few named places. The rows of the table above that do not read "same facts" are open deviations, each recorded with its evidence in docs/tui-parity.md.
  • The bundle is a package, not a fork. It ships no harness change and edits no DSH source. If the harness renames a seam, this bundle absorbs it in one adapter file.
  • A preset default is yours to choose. The bundle overrides no host row, so mpd becomes the default only through your own action: docs/preset-default.md.
  • A saved setting takes effect after a restart. The plugins capture their configuration when they mount, so mpd_config_get proving a new value is not proof that the running plugin acts on it.
  • The screenshots are headless captures. Web tiles are Chromium at a fixed viewport, driven by Playwright; terminal tiles are the TUI's own ANSI byte stream rasterized at tmux's character grid. A different browser size or terminal will lay out differently: the facts on screen are the claim, not the pixels.
  • License: MIT. This repository's own code is MIT (LICENSE.md, Copyright (c) 2026 HaroldZ32); third-party material keeps its own licence, recorded per component in LICENSE-NOTICES.md.

Documentation

Contributing

CONTRIBUTING.md carries the setup, the build and gate commands, and the branch model. This repository is developed against a gate suite rather than a review convention: a change without evidence on disk is not done. Both the human-facing docs and the pull-request description are bilingual (English and 简体中文).

Changelog

Release notes live in CHANGELOG.md, newest first, one section per released version (the current release is v0.18.1). Annotated tags are listed under Releases.

Acknowledgements

The third-party work this bundle ships, and the licence it travels under, is recorded in LICENSE-NOTICES.md. In short:

  • the served skill corpus (MIT) is re-sourced from code-yeongyu/lazycodex;
  • the eleven roster persona texts are re-sourced from permissively licensed public agent prompts;
  • the Workmates tab mounts the community sidebar bundle dsh-better-sidebar;
  • the optional comment checker is @code-yeongyu/comment-checker (MIT);
  • everything else composes over the harness's own official packages.

No entry describes something this repository does not ship.

License

MIT: see LICENSE.md, Copyright (c) 2026 HaroldZ32. Third-party components keep their own licences; the complete notices are in LICENSE-NOTICES.md.

Related plugins