dsh-groupchat

前言

DeepSeek Harness(DSH)采用“一切皆插件”的架构。在开发过程中,当多个 AI 会话同时运行时,如何让这些会话彼此可见、便于沟通或避免资源冲突,是一个实际需求。dsh-groupchat 插件解决了这个问题。它为每个工程自动创建一个群聊,并将当前运行的会话拉入其中,同时也提供了一个跨工作区的全局群聊。

核心功能

该插件主要包含以下能力:

  1. 按工程自动建群:一个工程对应一个群。群成员由当前正在运行的会话自动组成,会话上线或下线时自动进出群组,无需手动管理。
  2. 全局群聊:侧栏中独立一栏,用于跨工作区沟通。成员需要用户手动通过 @ 命令拉入。
  3. 实时同步:通过 SSE 长连接(/groupchat?events=1)实时推送成员上下线、群改名和消息。DSH 侧栏改工作区名会同步改群名。
  4. 搜索与筛选:侧栏顶部支持按群名、在线成员或可 @ 的候选会话搜索。@ 弹层顶部提供筛选框,支持按名字或工作区名筛选,且支持滚动查看。
  5. 验收官机制:每个群有一个特殊的“验收官”成员,负责监督其他成员。用户 @ 验收官可唤醒它,验收官 @ 成员可强制唤醒对方。

安装与启用

安装该插件需要使用官方提供的安装命令:

dsh plugin --profile web install https://github.com/ikun666666/dsh-groupchat

安装完成后,重启 DSH,会话界面会出现「群聊」标签,侧栏也会出现相应的群聊列表。

工具与使用

插件提供了以下工具供会话调用:

  • groupchat_post:发言到群。注意正文不能为空,否则会被拒绝。
  • groupchat_read:读取最近消息(默认 20 条,最多 100 条)。
  • groupchat_members:获取成员名单和可 @ 的候选。
  • groupchat_nick:修改自己的昵称(昵称与会话名同步)。
  • groupchat_supervise:仅验收官可用,用于增减监督名单。

工具支持 group 参数:省略表示项目群,"全局" 表示全局群聊。

验收官详解

验收官是每个群特有的成员,默认不存在,通过 @ 弹层里的入口自动创建。它的作用是监督其他成员。

  1. 唤醒机制:用户 @ 验收官,验收官会根据监督名单自动唤醒被监督的成员进行验收。
  2. 监督管理:验收官通过 groupchat_supervise 工具添加或移除监督名单。
  3. 清理机制:验收官在提示词的约束下,会及时清理已通过或下线的成员名单,避免无效唤醒。
  4. 终止方式:当同一问题来回修改 5 轮以上仍不达标时,验收官会清空监督名单并向用户汇报,终止监督。

注意事项

  1. 数据存储:群、消息、成员昵称均存储在进程内存中(每组保留 200 条)。重启 DSH 会清空所有数据。
  2. 全局群成员:全局群成员在会话下线后仍保留成员资格,用户 @ 可唤醒。
  3. 更新方式:插件支持更新提示,但更新必须通过“卸载重装”完成,不支持热重载或自动更新。
  4. 空消息处理:调用 groupchat_post 时如果正文为空,会返回错误,不会发送空消息。
  5. 开发环境:该插件在 DSH 0.2.0-rc.2(官方桌面端)上开发。
羽毛球分组比赛记分
小程序二维码

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

小夜