DSH 圆桌插件:在 @ 提及中组织多角色讨论

前言

在 DSH 的日常对话中,常需要让不同 AI 角色围绕一个议题发表意见:需求边界、代码分层、方案倾向、安全隐私等。dsh-round-table 采用 @ 提及范式:在左侧边栏创建角色,在主输入框输入 @ 选择角色,单角色直接以该角色身份回答,多角色则以独立 Agent 会话串行讨论一轮,最后由主持人收敛共识点、分歧点和行动建议。

这是什么

vuchisu069-source/dsh-round-table 是 DSH 官方 bundle 格式插件,许可证为 MIT。package.json 中声明 web 客户端平台。

它把角色库接入 DSH 主输入框,支持角色创建、@ 候选、单角色回答、多角色接力讨论、宿主工具调用,以及角色状态持久化。

核心功能

角色库

左侧边栏提供「+ 新建角色」入口,打开 New Agent 模态,可配置:

  • 形象
  • 名称
  • Title
  • 描述
  • System Prompt
  • 性格参数
  • Advanced 区 SOUL.md 人设文档

SOUL.md 有 2000 字符硬上限,超长会截断。

角色数据持久化到:

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

持久化采用原子写,并跨重启保留。

@ 输入与候选

插件通过官方 @ 输入触发管线注册角色候选源。在主输入框输入 @ 后弹出角色候选,选中后插入 @角色名

@ 解析支持精确匹配、去重,并排除邮箱、URL 中的 @。单次讨论最多 4 个角色。

单角色模式

发送 @角色名 后,主会话以该角色身份、第一人称回答。

角色 @ 时可使用 DSH 宿主自带工具,例如:

  • 读文件
  • 搜索
  • 执行命令

多角色模式

多个角色 @ 时,各角色以独立 Agent 会话串行接力讨论。每个角色仅一轮,避免死循环。讨论结束后,主持人收敛出:

  • 共识点
  • 分歧点
  • 行动建议

多角色讨论的协调等待阶段会禁用/清空工具;角色独立会话与单角色模式不受该限制。

超时保护为:

  • 单角色发言 90 秒
  • 整体讨论 120 秒

超时后自动推进或结束。

安装与启用

安装命令:

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

安装后需要重启 web。该插件经 profile 管理,bundle 层在启动时合成,因此重启后生效。

典型用法

先创建至少一个角色,再在主输入框使用 @。

单角色示例:

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

多角色示例:

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

如果 @ 后角色未如预期触发,可检查角色名称是否与候选一致,因为 @ 按名称精确匹配。多角色讨论有 90 秒单角色超时与 120 秒整体超时保护。

配置

配置位于:

<dshHome>/settings.yaml

其中 round-table 段包含:

  • enabled
  • maxRounds
  • defaultMode
  • pauseOnPageLeave

maxRoundsdefaultModepauseOnPageLeave 为 v1 房间范式遗留配置;v2 @ 范式下讨论固定一轮。

适用场景与注意

适合 DSH 用户或智能体开发者在日常对话中做角色化评审、方案对比、代码结构检查、安全隐私检查。

需要注意:

  • 角色 @ 时可使用 DSH 宿主全部工具,包括执行命令等宿主能力
  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证
  • 单次 @ 最多 4 个角色
  • 多角色讨论固定一轮
  • 单角色发言 90 秒超时,整体讨论 120 秒超时
  • SOUL.md 有 2000 字符硬上限
  • 角色数据保存在 ~/.dsh/data/round-table/state.json

结尾

dsh-round-table 把角色讨论并入 DSH 主输入框:单角色时直接扮演,多角色时串行接力讨论并收敛结论。

社区目录页地址未提供;仓库地址:

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

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

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

小夜