前言¶
在 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 段包含:
enabledmaxRoundsdefaultModepauseOnPageLeave
maxRounds、defaultMode、pauseOnPageLeave 为 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