burns1028/moa-plus: Add a resident Agent coordinator to DSH

Introduction

The philosophy of DSH is “everything is a plugin,” but multi-agent collaboration lacks a native coordination layer out of the box. The usual approach is to open several sub-sessions, have humans monitor the output of each session, and manually aggregate them into the project record. Over time, who did what, what’s next, and which conclusions are reusable get scattered across the conversations.

moa-plus consolidates this into a plugin: placing a persistent Coordinator in the main session, which assigns tasks to Workers, tracks progress, reviews results, and maintains project knowledge. The plugin is named “MoA+ — Make agents work better together. Persistent Coordinator, reusable Workers and shared context for DeepSeek Harness. Unofficial rc.3 preview.” on GitHub, while the README title inside the repository is “Project Mode for DeepSeek Harness”; they are the same project.

The maintainer is Burns1028, categorized as Workflow. Below is an introduction to its capabilities, installation, and usage.

Positioning and Maintenance

Repository URL https://github.com/Burns1028/moa-plus, Directory page https://www.skillhub.cn/plugins/Burns1028/moa-plus. Repository description: Unofficial development preview, current version v0.1.23, license MIT, main language JavaScript, GitHub stars 5.

The plugin’s prerequisites are DSH 0.2.1-rc.3 plus the three compatible extensions listed in the repository:

  1. Agent-local tools.suppress({ deny }), including tools registered on that Agent, destructible.
  2. Per-session conversation.submission.register(sessionId, "steer"), does not change global preferences.
  3. sidebar.workspaces.session.branch, used for native parent-child row rendering, does not replace the workspace browser.

The original rc.3 cannot enable the plugin directly; these three extensions are local compatibility patches, not implying upstream acceptance. Patch files and SHA-256 records before and after changes are recorded in compat/rc3/manifest.json.

Core Capabilities

The official capabilities table lists six items:

Capability Description
Persistent Coordination The same Coordinator session holds the project’s work log and next steps.
Full Worker Control Derive or reuse Workers, steer current work, queue subsequent instructions, view status and history, interrupt or delete.
Shared Project Knowledge Coordinator and Workers jointly maintain an index, progressively loading context as needed.
Automatic Result Return Workers automatically return the complete final AI message after each round for Coordinator review.
Direct User Participation You can open a Worker, steer it yourself, and then return to the Coordinator.
DSH Native Execution Session, Agent Loop, tools, permissions, message delivery, and Stop are all handled by DSH.

Involves division of labor boundaries: The User is responsible for proposing goals, making decisions, and communicating with the Coordinator; the Coordinator is responsible for selecting and guiding Workers, supplying context, reviewing results, maintaining work logs, organizing shared knowledge, and can also handle clarification and summarization; the Worker is responsible for carrying out assigned investigation or execution to the end, supplementing reusable findings, and returning a self-contained final AI message.

At the tool level, the Coordinator provides spawn, list, get, send, history, interrupt, and delete via control_workers; among them, send distinguishes steering the current work (steer) and queueing instructions to be processed after the current turn ends.

Project Memory Persistence

Project records are written under .dsh/project-mode/<project-id>/:

.dsh/project-mode/<project-id>/
├── notes.md                 To-do, division of labor, progress, blockers, and next steps
├── archived.md              Completed or paused work and its results
└── context/
    ├── context.md           Shared index: file paths and brief descriptions
    ├── decisions.md         Reusable decisions and justifications, created on demand
    └── ...                  Other reusable project knowledge

notes.md and archived.md are maintained by the Coordinator. Context is jointly maintained by both sides: the Agent reads context/context.md first, then reads specific files based on the current task; Workers are responsible for supplementing findings with reusable value and updating the index, while the Coordinator is responsible for organizing, merging, and cleaning up obsolete or duplicate content. These files accumulate with the project and use progressive loading, never expanding fully in every request.

Installation and Enablement

For first-time trial, it is recommended to use an independent compatible DSH Web environment. Requires Node 24.9+, npm, and Git:

git clone --branch v0.1.23 https://github.com/Burns1028/dsh-plugin-project-mode.git
cd dsh-plugin-project-mode
node scripts/project-mode.mjs setup
node scripts/project-mode.mjs start

These commands correspond to the Quick Start chapter in the repository README. The clone address in the README points to dsh-plugin-project-mode, which is inconsistent with the current repository name moa-plus; kept as is per the original text. setup installs a locked version of the rc.3 runtime and only applies the three extensions within ~/.dsh-project-mode/rc3; it does not use the daily Desktop app, ~/.dsh, global Agent configuration, or workspaces. After starting, the native Web interface is opened locally; configure the model, create a session, and select Project as the session type before sending the first message.

After preparation, you can check with the diagnostic command:

node scripts/project-mode.mjs doctor

If the environment is already a prepared compatible Desktop or runtime, you can also use the native CLI installation:

dsh plugin --profile desktop add "git+https://github.com/Burns1028/dsh-plugin-project-mode.git#v0.1.23"

The README also states: setup is an explicitly executed script, not an npm install hook, and will not modify an existing Desktop app. When patching manually, you need to explicitly specify a backup directory:

node scripts/apply-native-compat.mjs --dry-run
node scripts/apply-native-compat.mjs --backup /absolute/path/to/native-backup

The patch script will reject unknown versions, unknown bytes, and mixed states. It performs pre-checks before changes, requires explicit backup, and rolls back on failure. There are no lifecycle hooks for install or prepare; after updating DSH, compatibility review needs to be redone. Do not blindly apply the rc.3 patch to other versions.

Typical Usage

To go through the full collaboration workflow in DSH, follow the usage guide in the README:

  1. Hand the goal to the Coordinator; it checks Workers’ status and related project memory, which also includes direct operations the user made in sub-sessions.
  2. It decides whether to reuse an existing Worker or derive a new one, dispatches the goal and context, and then updates notes.md.
  3. When work changes, use steer to guide current work, and use queue to leave instructions for after the current turn ends; interrupt and delete are separate operations.
  4. When a Worker’s round ends, it returns the last complete AI message; rounds without AI messages will also report the Worker identity, round, and result status, and return an empty AI result.
  5. After the Coordinator reviews the results, it continues dispatching work or wraps up, updating the work log and reusable context. Normally, after relevant work and result reception are completed, they are wrapped up within the same native Coordinator turn.

Interface-side operations: Expand Coordinator in the native workspace sidebar to see its Workers; click the Worker capsule in the main session to enter the sub-session. The input box has a Back button to return to the Coordinator. It inherits native derivation permissions and has no independent permission selector. By default, the right side opens both Workers and notes.md tabs simultaneously. The Workers tab displays the raw input, final AI output, and recorded artifacts of each round in reverse chronological order. The body displays at most two lines by default; clicking expands the full Markdown. Both tabs can be closed. Stop remains available and does not automatically stop all Workers.

The README also attaches a reproducible CLI example task: Exporter implements title sorting and adds tests, Docs maintains usage instructions, Coordinator reviews both sides’ results; after the user enters the Exporter session and changes the sorting requirements, the Coordinator picks up the changes, reuses the same Workers and shared context in the next round. The documentation states that this example ultimately passed 9 real-world tests. The waiting process was edited and annotated and does not constitute a “60-second completion” claim.

Applicable Scenarios and Notes

Suitable for those who want to fix multi-agent collaboration for a medium-scale project: using a permanent coordinator to manage dispatch, follow-up, recording, and knowledge accumulation, rather than manually opening sub-sessions and aggregating results every time. Also suitable for developers who want to verify multi-agent coordination models on their own DSH environment and can accept the preview status.

Several premises need to be accepted together:

  • The plugin runs with the permissions of the current DSH process. Worker derivation inherits native derivation permissions from DSH. Credentials and tool permission scopes are consistent with the host process. Before installing, please review the source code and license (MIT) and the patch list under compat/rc3/ to ensure you accept runtime modifications.
  • It is an unofficial developer preview, targeting only DSH 0.2.1-rc.3, and relies on three local compatibility extensions in this repository; the original rc.3 cannot enable the plugin directly. Once DSH is upgraded, plugin compatibility needs to be reconfirmed.
  • Division of labor is judged by the model. The preview version does not guarantee making ideal choices every time, nor will it force dispatching based on task keywords, command counts, or time thresholds.
  • Usage and artifacts (notes.md, archived.md, index in context/) are conventions within the project; the team must align on this recording format before use.
  • Ecosystem background: The directory site is an independent community site with no official affiliation with DeepSeek / Huafan, and this plugin is not an official application.

Conclusion

The value of this plugin lies in converging the scattered coordination work in multi-agent projects onto a persistent Coordinator, combined with Worker control, shared context, and persisted project memory, to make “one project, a team that works continuously” a reality. If you just want to try the effect first, the setup + start process via the independent Web environment described above has the lowest cost.

Directory Page: https://www.skillhub.cn/plugins/Burns1028/moa-plus
Repository: https://github.com/Burns1028/moa-plus

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

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

Xiaoye