README.md

August 29, 2026 · View on GitHub

dsh-plugin-roundtable 圆桌会议

把一个 DeepSeek Harness 会话,变成一场可视化、可辩论、可拍板的圆桌会议。

DeepSeek Harness 插件 v0.2.2 MIT license

一句话

你只负责抛出议题。DeepSeek 成为主持人,在拓扑图上拉起一圈专家节点,用带箭头的连线组织协作,经过汇聚网关汇总,遇到分歧时把决策权交还给你。

特性

会议组织

能力说明
左主持 + 右圆桌拓扑会话视图新增「圆桌会议」Tab:左侧主持人锚点、右侧环形专家节点、中央汇聚网关,连线带方向箭头,开会过程全程可视化。
持久子代理专家每位专家都是独立可续聊的子代理,带着《全局协作总纲》(目标 / 角色边界 / 协作协议 / 安全红线)入会,可指定不同厂商模型。
可视化连线悬停节点拖拽「+」拉出连线;右键连线切换单向/双向通道或删除;双向通道两端各有一个箭头。
厂商 Logo 头像专家头像显示真实厂商 Logo(DeepSeek / GLM / z.ai / Gemini / Claude / Kimi / MiniMax / 千问),未收录厂商自动回退为"品牌色块 + 缩写"。logo 图片可自行替换 src/client/assets/logos/ 后重跑 node scripts/generate-logos.mjs 再构建。
状态呼吸灯专家工作时节点边缘呼吸灯闪烁——纯 CSS 状态反馈,不消耗任何 Token。

协作与辩论

能力说明
双协作模式 + 红队模式「主持人统筹」一切经由主持人转达;「多模型平等」专家直达互辩,超预算自动闭麦;「针锋相对」专家只对定稿方案挑毛病。设置里切换,平等模式强制要求安全限制。
汇聚网关所有发言经过确定性结构化归并,主持人一键拉取摘要,上下文不被十份报告淹没。
代理思考黑盒干活模型(视频/图片生成等)也有透明思考链:导演模型先写 [DeepSeek 代理思考] 再翻译参数,UI 全程标注 [渲染中]
人类决策卡片专家分歧或需要拍板时,主持人发起决策、会议暂停,你来选方案 A / B 或自定义输入。

针锋相对评审

能力说明
评审全流程定稿方案 → roundtable_start_review 记录"问题 + 方案" → 拉红队专家(只挑毛病、不给替代方案)→ roundtable_collect_review 收集观点 → Web 评审弹窗自动打开。
逐条三态表态每个观点独立一张卡片,可单独「支持 / 驳回 / 取消」(三态互切,支持可取消);已认定数只计「支持」,缺陷进入下一轮方案修改,可闭环二次审查。
观点自动拆分专家一条发言自动拆成多条独立观点,每条带维度标签 + 原文引用 + 观点序号;拆分 LLM 优先,失败自动降级为本地按「观点 N」段落结构切分(零 token,不会整段糊在一起)。

成本与状态

能力说明
预算熔断轮数与 Token 双预算,超限自动「闭麦」,可补预算继续或汇总收场。
回答限制专家每轮输出上限(模型 max_tokens)+ 每轮最多意见数;专家 prompt 内置简洁约束(只答相关 / 不用假设 / 不举无关例子 / 无修辞)。
持久化会议状态落盘于 <workspace>/.roundtable/<meetingId>/(meeting.json + transcript.jsonl + review.json + user-actions.jsonl),重启后可恢复拓扑与历史。

界面操作

能力说明
专家管理界面右栏「+」直接加/删专家、从模型下拉选厂商;改动记入 user-actions.jsonl,主持人下一轮自动执行,UI 与主持人认知同步。
知识库(阅览版)填一个文件夹路径即列出文件与格式;专家需要资料时由主持人按需读取转交,不整库搬运,避免 Token 双倍消耗。
会议删除右栏一键删除会议(确认弹窗 + 磁盘彻底删除 + 连带清理专家子代理)。
互通开关设置里可只显示当前对话开的会议,或查看工作区全部会议。

安装

Note

需要已安装 DeepSeek Harness(0.1.1-rc.2+)。

从源码构建

git clone <你的仓库地> dsh-plugin-roundtable
cd dsh-plugin-roundtable
pnpm install
pnpm build
dsh plugin --profile web add .

修改源码后重新执行 pnpm build,本地安装会继续链接当前目录。

npm

dsh plugin --profile web add @huanlin/dsh-plugin-roundtable

安装后重启 DSH、刷新 Web UI。然后在对话里直接用自然语言开会:

开个圆桌会议,评审 v0.5 的架构方案,从性能、安全、成本三个角度各安排一位专家,最后给我一份汇总报告。

或指定平等辩论模式:

用多模型平等模式开一场辩论会,议题是「单体 vs 微服务」,每位专家可以互相反驳,最多 3 轮,最后让我拍板。

或发起红队评审:

方案已定稿,开个针锋相对评审,拉两位红队专家专门挑毛病。

使用界面

  • 聊天/roundtable 议题… 或自然语言直接触发(详见下节命令)。
  • 「圆桌会议」Tab:会话视图顶部切换,实时拓扑图 + 预算进度 + 网关摘要;拖拽连线、右键改通道方向。
  • 设置页:设置 → 圆桌会议,配置默认协作模式与预算默认值。

协作模式

主持人统筹 orchestrated多模型平等 egalitarian针锋相对 redteam
主持人角色决定谁发言、转达观点、语义仲裁退居发牌 + 计时 + 裁判记录议题与方案、收集红队观点
专家之间都经由主持人直达消息互相辩论都经由主持人
连线含义协作关系声明允许互发消息的通道协作关系声明
终止方式主持人判断完成轮数 / Token 预算超限自动闭麦主持人判断完成

选择「多模型平等」时,界面会弹出安全限制设置(最大轮数、最大 Token 量),超限即闭麦暂停。选择「针锋相对」时,charter 自动附加红队评审协议(只挑毛病、不给替代方案)。

配置

默认配置开箱即用。Profile 可覆盖:

- id: roundtable
  config:
    stateDir: .roundtable        # 会议状态目录(工作区下)
    memberProvider: spawn        # 专家节点子代理后端(spawn / fork)
    maxNodes: 8                  # 单场会议专家上限
    defaultMode: orchestrated    # 默认协作模式
    memberMaxDepth: 1            # 专家再委派深度上限
    promptSectionOrder: 116      # 使用策略提示段顺序

运行时偏好(默认模式与预算默认值、专家回答限制)在「设置 → 圆桌会议」中修改,持久化到 settings.yaml

偏好默认说明
默认协作模式orchestrated主持人统筹 / 多模型平等 / 针锋相对
最大轮数 / 最大 Token10 / 200000会议预算,超限闭麦
互通开关只看当前对话会议 / 看全部
专家每轮输出上限(token)0(不限制)专家组模型 max_tokens
专家每轮最多意见数0(不限制)专家 prompt 约束

工具一览(模型可见协议)

工具作用
roundtable_create建会,调用者成为主持人
roundtable_add_node / remove_node增删专家节点(可续聊子代理 + 总纲 persona)
roundtable_connect / disconnect建/删连线(单向 / 双向)
roundtable_speak发言写入会议记录(可定向,不填交网关)
roundtable_send_message直达消息(平等模式专家互辩)
roundtable_summarize拉取汇聚网关结构化摘要
roundtable_request_decision暂停会议、请求人类决策
roundtable_status会议全景(节点活动、连线、预算、待决策、待办行为记录)
roundtable_actions_clear清空用户的待办行为记录(UI 改专家后主持人执行完清空)
roundtable_set_budget调整预算 / 闭麦恢复
roundtable_proxy_think代理思考:导演为黑盒模型做思考铺垫 + 参数翻译
roundtable_start_review发起针锋相对评审:记录用户问题与主持人方案
roundtable_collect_review收集红队专家发言为观点(LLM 拆分,失败本地兜底),打开评审弹窗
roundtable_close结束会议(记录保留)

使用边界与注意事项

  • 一个主持人同一时间只能带一场活动会议:新开会前先 roundtable_close
  • 专家是回合制子代理:消息唤醒 → 干一整轮 → 空闲;「辩论」是消息驱动的异步轮流对话,不是实时并发。
  • 子代理的最终回复不可被程序直接读取:专家必须通过 roundtable_speak 把产出写入会议记录,汇聚网关与主持人从记录读取。这是协议约束,不是 bug。
  • 人类决策依赖 userQuestions 服务(标准 Web profile 自带);其他 profile 若无此服务,决策功能不可用。
  • 状态为文件级持久化:单 DSH 进程内串行操作;多进程同时改同一会议不保证一致,请勿在多个 DSH 实例中开同一场会。
  • 删会议 = 删整个 .roundtable/<id>/ 目录:不可恢复,删除前确认。
  • 第三方模型要显式指定:拉取 zai / GLM 等厂商专家时,在 UI 下拉或消息中说明 provider/model(如 zai/glm-5.2),否则可能路由失败或模型不符。

已知限制(迭代中)

限制影响现状
评审 RPC 权限为「状态机 + 会议归属」校验同进程内其他 Session 理论上可持会议 id 调用评审写接口,跨 Session 越权防护不完整已记录为安全项,待 connection 能力扩展后补 session 校验;单人使用无感
user-actions 清空操作非原子进程恰好在清空时崩溃,可能残留半行 JSON,导致下轮待办解析异常低成本修复已提前排期
Host 侧并发写竞态插件生命周期事件(stop/dispose)与会议文件写操作并发时,理论上可能交错写入/丢行已知风险暂缓;正常使用基本不会触发

开发

pnpm install
pnpm typecheck
pnpm build
node scripts/generate-logos.mjs   # 替换 src/client/assets/logos/ 下图片后重跑,再 pnpm build

许可证

MIT