dsh-meeting-coordinator: Equipping Agents with Persistent Meeting Rooms and Mutual Session Wake-up

In the multi-agent collaboration scenarios of DeepSeek Harness (DSH), a single agent running for a long period can easily cause context pollution, get stuck in dead loops, or lose sight of the global goal. dsh-meeting-coordinator is designed to give these long-running agents the ability to use a “meeting room” and “wake each other up.” Based on the dsh-std meta-protocol, it provides a persistent multi-agent collaboration solution.

Core Concepts: Persistent Meeting Rooms and Membership

The core of this plugin is not simple broadcasting, but creating persistent entities.

  1. Persistent entities and membership
    A meeting room is a persistent entity, not created temporarily for each meeting. Membership is a permission boundary: only sessions that have joined the meeting room have the right to “invoke a meeting” and are eligible to be invoked by others. Sessions that have not joined can neither convene a meeting nor be mistakenly summoned.

  2. Cross-workspace and explicit joining
    Members can join the same meeting room from different workspaces. A session must explicitly join the meeting room; on entry, a Prompt is pre-injected that explains the agenda, the present members, and the speaking rules. After the meeting, each session individually compresses the meeting context, retaining only the parts relevant to itself, to avoid context pollution.

State Transitions and Session Invocation

The plugin defines three states: working, idle-waiting, and done, with explicit transition logic.

  1. Entry mechanism

    • working state: A session that is outputting or calling a tool first enters awaiting-entry. The host allows it to enter only after the current work unit finishes (for example, after a tool call returns), so it does not interrupt the task in progress.
    • idle-waiting / done states: A session that has no work unit waiting can enter directly.
  2. Emergency stop and restoration
    When the meeting ends, all members are restored to their states before being summoned. A running task continues running, a waiting-for-reply state continues waiting, and a completed state remains completed. The plugin provides a complete emergency-stop mechanism loop, ensuring that agents do not become disabled after the meeting due to state inconsistency.

Moderator Control and Context-Free Design

To prevent control logic from being biased by the context of other agents, the plugin adopts a unique moderator design.

  • Context-free moderator: The moderator is played by the invoker’s model, but it has no private context. It can only see the group chat history, the member list, and who has not yet spoken.
  • Control authority: The moderator controls the meeting through JSON-formatted control decisions (such as invite or adjourn). If parsing fails, it falls back to a safe rotation mode to ensure that the meeting does not get stuck.

Engineering Constraints and Data Isolation

At the implementation level, the plugin enforces several key invariants to ensure system stability.

  1. Reject truncation; enforce hard budget limits
    For the character count of a single utterance, a hard budget strategy is used. If the count exceeds the limit, the utterance is rejected outright rather than truncated. This avoids the risk of an agent assuming its request has been conveyed when it has actually been truncated.

  2. Data root independence
    By default, the data storage root directory does not depend on the process cwd (unless configured), avoiding data loss or misplacement caused by different startup directories.

  3. Isolation
    When entering a meeting room, what is injected is a length-limited projection of memory, not the full context. After entry, private context does not flow between sessions, ensuring that each agent sees only the parts relevant to itself.

Usage

The plugin provides several demo scripts for verifying the core mechanisms.

pnpm run demo:room
pnpm run demo
pnpm run demo:briefing-exchange

Status and Dependencies

  • Dependency: Based on the dsh-std meta-protocol (Community v0.15).
  • Current status: Early stage. The core mechanism has been validated, with 215 tests, but it has not yet been run for a long period in real production scenarios.
  • License: MIT.

This plugin provides a structured solution for multi-agent collaboration in the DSH ecosystem, and is suitable for scenarios that require continuous collaboration and strict control of context pollution.

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

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

Xiaoye