Introduction

In daily conversations within DSH, there is often a need for different AI roles to express opinions on a specific issue: requirements boundaries, code layering, solution preferences, security and privacy, etc. dsh-round-table adopts the @ mention paradigm: create roles in the left sidebar, input @ in the main input box to select a role. For a single role, it answers directly as that role; for multiple roles, it conducts a serial discussion round in independent Agent sessions, finally converged by the moderator on consensus points, divergence points, and action suggestions.

What is this

vuchisu069-source/dsh-round-table is an official DSH bundle format plugin with an MIT license. It declares the web client platform in package.json.

It integrates the role library into DSH’s main input box, supporting role creation, @ candidate selection, single role answering, multi-role relay discussion, host tool invocation, and role state persistence.

Core Features

Role Library

The left sidebar provides a “+ New Role” entry, opening the New Agent modal, where you can configure:

  • Image
  • Name
  • Title
  • Description
  • System Prompt
  • Personality parameters
  • Advanced area SOUL.md persona document

SOUL.md has a hard limit of 2000 characters; overly long text will be truncated.

Role data is persisted to:

~/.dsh/data/round-table/state.json

Persistence uses atomic writes and persists across restarts.

@ Input and Candidates

The plugin registers the role candidate source via the official @ input trigger pipeline. After typing @ in the main input box, role candidates pop up. Upon selection, @RoleName is inserted.

@ parsing supports exact matching and deduplication, excluding @ from emails and URLs. A single discussion can involve at most 4 roles.

Single Role Mode

After sending @RoleName, the main session answers in the first person as that role.

When @ a role, DSH host’s built-in tools can be used, for example:

  • Read file
  • Search
  • Execute command

Multi-Role Mode

When multiple roles are @, each role conducts a serial relay discussion in independent Agent sessions. Each role gets only one turn to avoid infinite loops. After the discussion concludes, the moderator converges on:

  • Consensus points
  • Divergence points
  • Action suggestions

The tool usage is disabled/cleared during the coordination waiting phase of the multi-role discussion; role independent sessions and single role mode are not subject to this restriction.

Timeout protection is:

  • Single role speech: 90 seconds
  • Overall discussion: 120 seconds

Automatically advances or ends after timeout.

Installation and Enablement

Installation command:

dsh plugin --profile web add "github:vuchisu069-source/dsh-round-table#main"

After installation, the web needs to be restarted. The plugin is managed by profiles, and the bundle layer is synthesized at startup, so it takes effect after restart.

Typical Usage

First create at least one role, then use @ in the main input box.

Single role example:

@架构师 看看这个项目的 lib/src 结构,评估一下分层是否合理
@安全专家 这段话有没有泄露隐私的风险

Multi-role example:

@架构师 @产品经理 一句话:导出功能该不该做?
@产品经理 @架构师 @安全专家 讨论新功能的需求边界

If the role does not trigger as expected after @, check if the role name matches the candidate, because @ performs exact matching by name. Multi-role discussion has 90 seconds single role timeout and 120 seconds overall timeout protection.

Configuration

Configuration is located at:

<dshHome>/settings.yaml

The round-table section contains:

  • enabled
  • maxRounds
  • defaultMode
  • pauseOnPageLeave

maxRounds, defaultMode, pauseOnPageLeave are legacy configs from the v1 room paradigm; under the v2 @ paradigm, discussion is fixed to one round.

Use Cases and Notes

Suitable for DSH users or agent developers to perform role-based reviews, solution comparisons, code structure checks, and security/privacy checks in daily conversations.

Need to note:

  • When @ a role, all DSH host tools can be used, including host capabilities like executing commands
  • The plugin runs with the permissions of the current dsh process; you should check the source code and license before installing
  • Max 4 roles per single @
  • Multi-role discussion is fixed to one round
  • Single role speech 90s timeout, overall discussion 120s timeout
  • SOUL.md has a hard limit of 2000 characters
  • Role data is saved in ~/.dsh/data/round-table/state.json

Closing

dsh-round-table integrates role discussion into DSH’s main input box: directly roleplay for a single role, or conduct a serial relay discussion with convergence for multiple roles.

Community directory page not provided; repo address:

https://github.com/vuchisu069-source/dsh-round-table