Introduction

DeepSeek Harness (DSH) adopts a plugin-based architecture. In multi-agent collaboration, task flow and state tracking between independent windows can easily become chaotic. dsh-flat-teams is a workflow plugin that provides DSH with leaderless flat team capabilities, supports cross-window dispatch of structured tasks, and provides a recorder service and a Web dashboard.

What Is This

dsh-flat-teams: Leaderless flat agent teams for DeepSeek Harness. It manages flat teams through tools such as team_create/team_join/team_leave/team_roster, uses task_dispatch for structured task dispatch and state-machine management, has a built-in recorder service to maintain progress.json, and provides a Web dashboard for viewing the main table and secondary tables.

  • Maintainer: whateverboy2333
  • License: MIT
  • Category: Workflow

Core Features

Flat Team Management

The plugin provides basic team management capabilities:
* team_create: Create a team, with optional preset member specifications.
* team_join: Existing windows can self-register to join.
* team_leave: Leave a team.
* team_roster: View the roster (members/areas/online status).

Structured Task Dispatch

  • task_dispatch: Assign work by member name or responsible area.
  • State machine: Task state transitions are pending → delivered → claimed → in_progress → completed | failed | cancelled.
  • Delivery mechanism: Tasks are first persisted and written to the recipient member’s inbox, then a best-effort real-time wake-up is attempted. Tasks delivered to offline recipients remain in delivered status and persist in the inbox.

Recorder Service and Web Dashboard

  • Recorder: Subscribes to the event stream to maintain progress.json, and can be rebuilt at any time from events.jsonl.
  • Web dashboard: After installing to the web profile, a “Team Dashboard” overlay appears in the upper-right corner of the browser. It provides a main table (member count/online count/in-progress count) and secondary tables (roster/task board/progress timeline).
  • Query interface: The Web dashboard retrieves data via GET /plugins/flat-teams/state (5s polling).

Installation and Enablement

  1. Install the plugin:
    Use the officially recommended command:
    dsh plugin --profile <name> add dsh-flat-teams
Or use the git form:
    dsh plugin --profile <name> add github:whateverboy2333/dsh-flat-teams
*Note: The local path form is for development and debugging.*
  1. Restart the Profile:
    After installation, the profile must be restarted for the change to take effect.

  2. Verify the installation:
    Check whether the plugin loaded successfully through the configuration:

    dsh --profile <profile> --dump-config
The configuration tree should include a `flat-teams` line.

Tool Quick Reference

Tool Purpose
team_create / team_join / team_leave / team_roster Create / join / leave / view roster
task_dispatch Dispatch tasks, supports member name or area
task_claim / task_complete / task_fail Recipient-driven states: claim / completion callback / failure explanation
task_list / task_status Task queries (supports member filtering)
task_cancel Cancel a task (dispatcher only)
team_status Query structured progress maintained by the recorder
flat_teams_ping Plugin self-test

Notes and Limitations

  1. Runtime environment:

    • DSH 0.1.0-rc.6 or later is required.
    • Node 22.19 or Node 24+ is required.
  2. Process restrictions:

    • Same-process cross-session only: All member windows must be within the same DSH process.
    • Cross-workspace: Cross-workspace collaboration within the same process is supported.
  3. State persistence:

    • Member windows do not automatically revive after restart: Member windows created programmatically are held by the plugin fiber; they are destroyed when the process exits or the plugin is unloaded. The windows must be recreated.
    • No automatic redelivery for offline delivery: If the target is offline and cold recovery fails, the task remains in delivered status and must be manually triggered after the target comes online.
    • Cancellation does not withdraw: task_cancel only changes the state; messages already delivered to the recipient window are not withdrawn.
  4. Permissions and rules:

    • Area does not enforce exclusivity: Area is only a routing reference; multiple members are allowed, and the member name must be specified during dispatch.
    • Permissions are enforced: Cancellation is limited to the dispatcher; claim/complete are limited to the designated recipient.
  5. Data directory:

    • Team state is stored at the DSH_HOME level, under <DSH_HOME>/flat-teams/<teamId>/, including team.json, tasks/, events.jsonl, inbox/, progress.json.

Short Conclusion

dsh-flat-teams provides DSH users with a lightweight flat team collaboration solution. Through structured task dispatch and a recorder service, it addresses state synchronization issues in multi-window collaboration. It is suitable for developers who need multi-agent collaboration within a single process.

Ecosystem Context: The DSH philosophy is “everything is a plugin”; the community catalog is an independent site and has no official affiliation with DeepSeek / High-Flyer.

Links:
* Plugin Catalog
* GitHub Repository