在 DSH 的开发场景中,多个 AI 角色协作或模拟群组对话时,通常需要频繁切换主会话或手动管理上下文。localsummer/dsh-group-chat 插件提供了一个多模型角色群组对话面板。它允许将不同的 provider 和 model 绑定到群组内的角色上,并在群内共享对话记录。
该插件由 localSummer 维护,基于 MIT 许可证开源。
安装与启用¶
安装前需确保环境满足要求:dsh >= 0.2.0-rc.2,Node 版本需在 ^22.19.0 或 >=24 之间。
- 执行安装命令:
dsh plugin --profile web add github:localSummer/dsh-group-chat#main
也可以使用本地路径开发:
dsh plugin --profile web add link:$(pwd)
*注:本地路径安装后修改源码需重建产物,通常需要重启 `dsh web`。*
-
安装完成后,必须重启
dsh web(或dsh --profile web)以加载插件。 -
确认挂载成功。运行以下命令查看配置:
dsh --profile web --dump-config
在输出中应能看到 `# == @roaming-ai/dsh-group-chat` 层,且包含 `id: group-chat`。
核心功能¶
群组与会话管理¶
- 群组管理:支持新建、重命名和删除群组。删除操作需确认,且系统至少保留一个群组。左栏提供搜索框,可按群组名或会话名过滤。
- 会话目录树:每个群组下包含多个会话,以“群组 → 会话”的树形结构展示。会话行名称前有状态点:进行中、等待确认(命令闸门)、已完成、已出错。打开会话会清空“输出完毕”标记。
角色与对话¶
- 角色-模型绑定:群组内每个角色可绑定不同的 provider/model。配置项包括人设、标识色、Temperature、深度思考开关及推理级别。角色配置通过右侧滑出抽屉进行。
- 群内共享对话:所有消息对全群共享。发言以“【角色名】内容”形式注入每个角色的上下文(最近 40 条原文),并流式显示。
- 会话标题与主题:每轮结束后,后台会用默认模型生成标题(格式:类别 emoji + 对象|目标)和一句话摘要。手动改名或改主题后,该字段不再自动修改。
- 约束备忘:超过 40 条窗口后,旧消息后台折叠为“已定 / 否决 / 未决”卡片,作为结论备忘插入消息流折点。
- 多轮对话:发送前通过 chips 选择本轮参与角色。发送后按顺序自动多轮(1–10 轮),轮数有动画展示。发送过程中下方显示发言计划进度轨道。
消息交互与渲染¶
- 渲染:支持 DSH 同款 Markdown 渲染(标题、列表、表格、代码块、公式)。开启“深度思考”的角色发言带有可折叠行,流式时实时跟随。
- 操作:用户/角色消息悬停可复制、表情回应(胶囊常驻、点击取消)。角色消息操作组末尾显示总耗时。发言失败会保留失败卡,支持重试(原地覆盖同一条)。
- 图片输入:支持上传、粘贴截图或拖拽图片(PNG/JPEG/WebP/GIF)。文本框上方显示缩略图,发送后在气泡外展示。图片走 DSH 的 durable attachment 通道,仅存储引用,不占用群聊存储空间。
- @点名:输入
@弹出成员候选。@后继续键入可在群工作区检索文件,插入@path芯片。
工作台与工具¶
- 三区工作台:左栏为导航(搜索+目录树),中栏为会话流(含色环头像、模型徽章、绝对时钟),右栏为上下文(角色卡+工作区目录)。左右栏可经接缝钮收起。
- 群组工作区目录:每个群组可指定一个目录(群级、全会话共享)。角色发言时自动读取根下一层文本文件(白名单扩展名,最多 20 个,单文件 16k/总量 48k)注入系统提示词的“共享资料”块。
- 工具执行:设置工作区后,角色可调用
read_file/list_dir。权限档位分为三档:- 仅可查看(默认)
- 工作区内修改
- 完全权限
工作区内修改档需逐条确认 shell 命令,完全权限档免确认执行。
卸载¶
dsh plugin --profile web remove @roaming-ai/dsh-group-chat
卸载后,dsh web 需重启。插件会话数据保留在 ~/.dsh/storages/group-chat/ 目录中,卸载操作不会删除这些数据。
数据存储¶
数据存储在 ~/.dsh/storages/group-chat/。目录结构包含:
* ledger.json:群组与会话的索引清单。
* <group-id>/:群组专属数据,包含 workspaceDir、roles.json 及 sessions/ 目录。
* 会话文件为自包含结构,支持原子写入与损坏恢复。图片附件仅存储 durable 引用,实际文件存储在 harness attachment 服务中。