DeepSeek Harness 插件:localsummer/dsh-group-chat

在 DSH 的开发场景中,多个 AI 角色协作或模拟群组对话时,通常需要频繁切换主会话或手动管理上下文。localsummer/dsh-group-chat 插件提供了一个多模型角色群组对话面板。它允许将不同的 provider 和 model 绑定到群组内的角色上,并在群内共享对话记录。

该插件由 localSummer 维护,基于 MIT 许可证开源。

安装与启用

安装前需确保环境满足要求:dsh >= 0.2.0-rc.2,Node 版本需在 ^22.19.0 或 >=24 之间。

  1. 执行安装命令:
    dsh plugin --profile web add github:localSummer/dsh-group-chat#main
也可以使用本地路径开发:
    dsh plugin --profile web add link:$(pwd)
*注:本地路径安装后修改源码需重建产物,通常需要重启 `dsh web`。*
  1. 安装完成后,必须重启 dsh web(或 dsh --profile web)以加载插件。

  2. 确认挂载成功。运行以下命令查看配置:

    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。权限档位分为三档:
    1. 仅可查看(默认)
    2. 工作区内修改
    3. 完全权限
      工作区内修改档需逐条确认 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 服务中。

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

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

小夜