Introduction

DSH breaks down many capabilities into plugins, and Web client extensions can also access the same profile. When building agent collaboration, the common need is not to create another team dashboard, but to organize several independently running Sessions under a leader Session: messages can be addressed or broadcast, coordination metadata has boundaries, and members’ individual contexts and lifecycles are not merged. dsh-agent-team-room is the DSH plugin designed for this need.

What is This

dsh-agent-team-room is maintained by ishuowang, licensed under MIT, and currently at version v0.6.0. It provides native Rooms for connecting independent Sessions and provider-backed AI members, without bundling built-in roles or scenarios.

It does not provide built-in roles, scenarios, or task boards. The core of a Room is to place multiple members within a leader-authorized collaboration boundary: members retain their own contexts and lifecycles, while the Room core handles direct messages, broadcasts, and recording of bounded coordination metadata, without replicating Session transcripts.

Core Capabilities

Native DSH Web Entry Point

The plugin extends DSH Web via official typed slots conversation.session.header.actions and sidebar.footer.action, and provides a native Room modal. The entry point is integrated within DSH Web and does not rely on a standalone dashboard.

Message Routing and Metadata

The Room core routes direct messages or broadcasts to members’ own providers while recording bounded coordination metadata. It does not replicate Session transcripts.

The Room does not provide the following:

  • role catalogs
  • prompts
  • skills
  • tool policy
  • built-in team scenarios
  • task planning / assignment / completion / kanban state
  • Session transcripts
  • hidden shared context

Native @ Mentions

From the open Room led by the current Session, you can type @ in the native composer, and the Room provides a Room members source. The candidates only include non-removed members in the open Room led by the current Session.

After selecting a member, the message follows the leader-authorized /room send path. Write operations go to /room, and the Host performs leader ownership checks. In v0.6, Room mentions are leading-only.

/room Commands

The plugin supports the Host-native /room command for leader-authorized writes. Examples of provided commands include:

  • /room create
  • /room list
  • /room attach
  • /room send

See the “Typical Usage” section below for specific parameters.

Provider and RoleHub

The plugin supports optional trusted host provider registration and also supports a RoleHub bridge for integrating verified role Sessions. When adding roles, it uses an independent RoleHub bridge rather than building roles into the Room.

Read-Only Snapshot Endpoint

The UI reads a field-whitelisted membership snapshot from a same-origin GET endpoint. This endpoint does not accept mutations and omits provider addresses, profile digests, event history, message bodies, and Session transcripts. All write operations go through /room, and the Host performs leader ownership checks.

Installation and Enabling

Runtime Requirements:

  • Node.js ^22.19.0 || >=24
  • DeepSeek Harness 0.1.0-rc.6

This package is not yet published to npm. The versioned GitHub install command reads the bundle and client manifest from the installed GitHub checkout.

dsh plugin --profile web add github:ishuowang/dsh-agent-team-room#v0.6.0
dsh web

The install command specifies the web profile. After starting dsh web, the Room entry point becomes visible in DSH Web.

Typical Usage

Creating and Viewing Rooms

Rooms do not automatically generate roles or inject prompts. First create a Room, then list existing Rooms:

/room create --name "Release room" --topic "Coordinate the v0.4 release"
/room list

Attaching Existing Sessions

First, use DSH to create a continuable child Session, then attach that existing direct child to the Room:

/room attach <room-id> --session <child-session-id> --name "Reviewer"

Sending Messages

Send a message to a specific member:

/room send <room-id> <member-id> -

Selecting Members in the Input Box

If the current Session leads an open Room, you can start a draft with @ in the native composer and select a member from the Room members source.

Use Cases and Considerations

Who is This For

If you want to place multiple independent DSH Sessions within a leader-authorized collaboration boundary while preserving their individual transcripts and lifecycles, dsh-agent-team-room is a straightforward extension. It is suitable for scenarios that require a native Web entry point, @ member selection, /room write paths, and do not want to introduce built-in roles, scenarios, or task boards.

Versioning and Upgrade Notes

  • v0.4 reset removed built-in scenarios, embedded roles, tracked tasks, and standalone dashboard; role addition uses an independent RoleHub bridge.
  • The Room does not own role catalogs, prompts, skills, tool policy, built-in team scenarios, task planning / assignment / completion / kanban state, Session transcripts, or hidden shared context.
  • The member snapshot endpoint does not accept mutations and omits provider addresses, profile digests, event history, message bodies, and Session transcripts.
  • Room mentions in v0.6 are leading-only.
  • When upgrading from v0.3 or earlier, back up the Room storage file before the first v0.4 start. The schema v1 to v2 migration will delete old task-board records but will not delete the backing DSH Sessions.

Security and Licensing

The plugin runs with the permissions of the current DSH process. Before installation, it is recommended to review the source code, dependencies, and license. This plugin is licensed under MIT.

Links

  • GitHub: https://github.com/ishuowang/dsh-agent-team-room
  • Community Directory: https://awesome-dsh-plugin.com/p/ishuowang/dsh-agent-team-room/

The directory page is a community-maintained independent site and should not be referred to as an official app store.