Fishsb/dsh-plugin-roundtable ↗★ 0
dsh-plugin-roundtable
RoundTable for DeepSeek Harness: turn one session into a visualized round-table meeting — expert nodes on a ring, directed edges, an aggregation gateway, proxy thinking for black-box worker models, and a live topology tab in the web GUI. Includes 针锋相对 (adversarial review): red-team experts attack a settled plan and you endorse real flaws. 适合需要多专家节点协同、对抗性评审等复杂决策任务的用户。
설치
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Fishsb/dsh-plugin-roundtable⚙️ 配置
Profile 可覆盖(默认开箱即用):
- id: roundtable
name: 'dsh-plugin-roundtable'
config:
stateDir: .roundtable # 会议状态目录(工作区下)
memberProvider: spawn # 专家节点子代理后端(spawn / fork)
maxNodes: 8 # 单场会议专家上限
defaultMode: orchestrated # 默认协作模式
memberMaxDepth: 1 # 专家再委派深度上限
promptSectionOrder: 116 # 使用策略提示段顺序
运行时偏好在「设置 → 圆桌会议」中修改,持久化到 settings.yaml:
| 偏好 | 默认 | 说明 |
|---|---|---|
| 默认协作模式 | orchestrated | 主持人统筹 / 多模型平等 / 针锋相对 |
| 最大轮数 / 最大 Token | 10 / 200000 | 会议预算,超限闭麦 |
| 互通开关 | 开 | 只看当前对话会议 / 看全部 |
| 专家每轮输出上限(token) | 0(不限制) | 专家组模型 max_tokens |
| 专家每轮最多意见数 | 0(不限制) | 专家 prompt 约束 |
| 反馈开关 | 开 | 结束后是否询问 1 键有用度 |
| skill 传递方式 | 主持人中转 relay | 主持人读后转交 / 专家自行用 skill 工具 |
| 右栏面板显示 | 全开 | 专家 / 分工 / 知识库 / 已选 skill / 发言记录 / 分针记录 / 产出文件 |
⚠️ 使用边界与注意事项
- 一个主持人同一时间只能带一场活动会议:新开会前先
roundtable_close - 专家是回合制子代理:消息唤醒 → 干一整轮 → 空闲;「辩论」是消息驱动的异步轮流对话,不是实时并发
- 子代理的最终回复不可被程序直接读取:专家必须经
roundtable_speak写入记录——这是协议约束,不是 bug - 设置卡片没有富表单:原生
userQuestions只有「选项列表 + 一个自由文本框」,所以「可改全部」是靠自由文本 + 回流重建实现(写明改动 → 主持人重出草案再确认) - skill 由 DSH 原生发现:插件不做导入动作,只读
ctx.skills;导入 = 把 skill 文件放进官方目录。宿主未挂载 skill 服务时清单为空,direct模式自动降级 - 会议已选 skill 在创建时固化:中途无法改会议 skill 清单,需要新资料时走
relay路径 - 人类决策依赖
userQuestions服务:缺失时卡片返回decision="unavailable",主持人改用文字确认 - 状态为文件级持久化:单 DSH 进程内串行操作;多进程同时改同一会议不保证一致
- 讨论模式状态不落盘:重启 DSH 或热重载插件后回到「关」,重新打开「圆桌会议」Tab 或再敲一次
/roundtable即可恢复 - 删会议 = 删整个
.roundtable//目录:不可恢复 - 群聊里的发言不可编辑/撤回:
transcript.jsonl是 append-only 追加日志,本版不做改写语义(撤销需求请走会议导出后的文本处理) - 群聊数据源是会议发言,不是真实 QQ 群:
ChatView是纯展示组件、取数在父级,将来接真 QQ(OneBot/NapCat 一类协议端)时界面层不需返工 - 第三方模型要显式指定:拉 zai / GLM 等厂商专家时写明 provider/model(如
zai/glm-5.2),否则可能路由失败
已知限制
| 限制 | 影响 | 现状 |
|---|---|---|
| 跨 Session 越权 | RPC 通道不暴露调用者 session 身份,同进程内其他会话知道会议 id 理论上即可调用其读写端点。现有防线是「归属校验 + 状态机校验」,不是身份校验 | 本版接受现状:单人 / 单工作区无实际影响。多人共用同一实例时请视为同一信任域 |
| Host 侧并发写竞态 | 插件生命周期事件与会议文件写并发时理论上可能交错 | 已知风险暂缓;单进程内写操作已由 withMeetingLock 串行化 |