前言¶
在 DeepSeek Harness(DSH)里,你往往已经配好了多个 Provider 和模型,但让它们围绕同一话题、带着不同人设多轮交锋,并把上下文和评分收口成一份可归档的报告,通常要自己拼调用链、记历史和算花费。下面介绍社区插件 dsh-roundtable-harness(维护者 HSM266,分类为工作流):它把「枚举本机已注册模型 → 共享历史发言 → 六维裁判打分 → 真实账本性价比 → Markdown / docx 战报」做成一条固定流水线,并在设置页与 Agent 工具里共用同一套实现。
这是什么¶
dsh-roundtable-harness 是面向 DSH 的 bundle 插件:自动读取 DSH LLM 服务里所有已注册的 Provider 与模型,由你为每位选手绑定 provider/model 与人设,围绕同一话题进行可控轮数的多轮讨论;每条历史发言会完整打包给下一位发言者。讨论结束后由裁判模型按六个维度加权打分,并单独用 dsh-cost-meter 的真实账本做性价比排行(实验性)。产物包括 Markdown《赛博圆桌战报》和可导出的 docx,已结束的讨论还可「续前讨论」追加轮次。
插件不在自身配置里保存 API 端点或密钥,凭据与 Provider 配置沿用 DSH 本体。当前包版本为 0.3.14(以仓库 package.json 为准),许可证 MIT,声明的 DSH 兼容范围为 >=0.2.0-rc.1 <0.3.0-0,运行环境要求 Node.js >= 20。
目录页:SkillHub 插件页。源码与说明:GitHub — HSM266/dsh-roundtable-harness。
核心功能¶
选手与上下文¶
- 选手数量不限;每位选手独立人设注入 system prompt 高优先级槽位,并镜像到
personas/<id>.md,改文件同样生效。 - 支持形象图(本地路径或
http(s)URL),导出 docx 时用于封面等;远程拉取有超时、大小与私网地址等安全限制。 - 上下文共享是结构性的:每次调用都会带上「话题 + 全部历史发言」。
轮次、预算与裁判¶
maxRounds可在 1–20 之间配置,设置页也可临时覆盖。- 上下文估算超过
tokenBudget时,较早轮次由最便宜模型压成摘要,保留最近 N 轮原文;无法压缩时硬截断并记录。 - 裁判可通过环境变量
JUDGE_MODEL、JUDGE_PERSONA覆盖;未设置时默认解析到 qwen 路由。 - 六维评分:攻击性 / 逻辑 / 人物形象还原度 / 趣味度 / 策略 / 深度,权重可在设置页调整,总分为六维加权平均。
- 若裁判返回的选手 id 均无法匹配,记为降级,战报与 docx 标注「字数估算,非模型评分」;各处均声明 AI 裁判结论非权威。
性价比与战报¶
- 性价比单独一榜:在每次调用前后读取 cost-meter 账本,按
provider:model归因;任一轮归因失败则该选手整人排除,并说明原因。未安装 cost-meter 时退化为按输出 token 的代理口径,战报中会标明。 - 讨论结束自动写出
roundtable-<时间>-战报.md;可导出含封面、形象图、逐轮与异常章节的 docx。 - 内置敏感词过滤(中英文词库 + 自定义词/正则),命中替换;429 / 5xx 终止整场;「终止讨论」通过 AbortSignal 中断在途请求并跳过裁判,已完成发言仍写入战报。
界面与 Agent¶
- 设置入口:设置 → 圆桌会议;另有可拖动的悬浮挂件打开同一面板。
- 可选注册三个 Agent 工具:
roundtable_start、roundtable_status、roundtable_export(由cordis.patch.yml中exposeTools控制)。
安装与启用¶
README 强调:须让 Harness 从 profile 的包作用域解析模块,请用 tarball、npm 或 GitHub 安装,不要使用 dsh plugin add ./dsh-roundtable-harness 这类 link: 本地目录挂载;装完或换版后若出现 failed to import,需重启 dsh web。用 tarball 安装时,profile 会记录 tgz 的绝对路径,勿在安装后删除该文件。
从 GitHub 安装¶
dsh plugin --profile <PROFILE> add github:HSM266/dsh-roundtable-harness
若 pnpm ≥10 拒绝执行 git 依赖的 prepare,按提示在 profile 的 pnpm-workspace.yaml 中加入 allowBuilds: dsh-roundtable-harness: true 后重新 add;建议将版本钉到 commit:github:HSM266/dsh-roundtable-harness#<sha>。
从 npm 安装¶
dsh plugin --profile <PROFILE> add dsh-roundtable-harness
从本地 tarball 安装(自用)¶
在插件源码目录执行 npm install && npm pack 得到 dsh-roundtable-harness-<版本>.tgz 后:
dsh plugin --profile <PROFILE> add ./dsh-roundtable-harness-<版本>.tgz
dsh --profile <PROFILE> --dump-config | grep roundtable
装完重启 dsh web,打开「设置 → 圆桌会议」确认 bundle 生效。
可选依赖:强烈建议同时安装 dsh-cost-meter,以便性价比榜使用真实账本;运行时依赖 docx(导出 docx 时懒加载)。
配置要点¶
主配置文件(无 API Key 字段):
$DSH_HOME/roundtable.json # 设置了 DSH_HOME 时
~/.dsh/roundtable.json # 未设置时的回退
人格镜像目录:$DSH_HOME/roundtable/personas/<id>.md。示例见仓库 examples/roundtable.example.json。
常用环境变量:
| 变量 | 作用 |
|---|---|
JUDGE_MODEL |
覆盖裁判模型(provider/model 等格式);设置后裁判强制启用 |
JUDGE_PERSONA |
覆盖裁判人格 |
ROUNDTABLE_OUTPUT_DIR |
覆盖导出目录 |
ROUNDTABLE_LEDGER_SETTLE_MS |
读账本前等待毫秒数,默认 2200 |
插件行配置片段(cordis.patch.yml):
- id: roundtable-harness
name: 'dsh-roundtable-harness'
config:
exposeTools: true
injectPromptSection: true
promptOrder: 1
典型用法¶
- 在 DSH 中先配置好各 Provider 与模型密钥;按需安装 dsh-cost-meter。
- 按上文方式安装插件并重启
dsh web。 - 打开「设置 → 圆桌会议」:在 Provider 目录中测连通性;在「参赛选手」里为每位选手选 provider/model、填写人设与可选形象图;在「裁判」与「六维权重」中设定裁判与权重;在「讨论参数」中填写话题、轮数、
tokenBudget等。 - 在「开一场」面板输入话题,点击开始;过程中可查看实时发言流与榜单,需要时「终止讨论」或结束后「续前讨论」「导出 docx」「查看战报」。
- 若启用
exposeTools,可在 Agent 侧调用roundtable_start/roundtable_status/roundtable_export,与设置页逻辑一致。
适用场景与注意¶
适合谁:需要在同一 DSH 环境里对比多个已配置模型的观点与文风、并希望产出结构化战报与 docx 归档的开发者或团队;分类上属于「工作流」型插件,而非单点模型封装。
权限与安全:插件以当前 dsh 进程的权限运行,会发起多轮 LLM 调用、读写本地配置与战报、在允许条件下拉取形象图 URL。安装前请阅读源码与 MIT 许可证,确认符合你的合规要求;敏感词与内容过滤能减少部分风险,但不替代业务侧审核。
生态说明:DSH 社区插件目录(如 SkillHub)为独立站点,与 DeepSeek / 幻方无官方从属关系;本文事实以插件 README 与 package.json 为准。
结尾¶
dsh-roundtable-harness 把多模型、共享上下文、六维裁判与 cost-meter 账本串成可复现的圆桌流程,适合在 DSH 里做可控的多轮「同台」对比。进一步了解请访问 SkillHub 目录页 与 GitHub 仓库。