🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

多模型圆桌 valarjin01/dsh-ai-roundtable

DeepSeek Harness
valarjin018 天前有提交已提供中文文档扫描:含敏感能力

让多个 AI 围绕同一议题展开辩论,并汇总分歧

30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add valarjin01/dsh-ai-roundtable
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · chat
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 9 处,展示前 9 条)
  • 写入本地文件
    lib/index.js:107
    mkdirSync(join(homedir(), '.dsh'), { recursive: true })
  • 写入本地文件
    lib/index.js:108
    appendFileSync(join(homedir(), '.dsh', 'roundtable-boot.log'), `${new Date().toISOString()} host apply() ran\n`)
  • 写入本地文件
    lib/index.js:139
    appendFileSync(join(homedir(), '.dsh', 'roundtable-boot.log'), `${new Date().toISOString()} routes registered on webServer\n`)
  • 发起网络请求
    lib/client.js:84
    const res = await fetch('/dsh-roundtable' + path, options)
  • 读取本地文件
    lib/store.js:64
    const raw = readFileSync(STORE_PATH, 'utf8')
  • 写入本地文件
    lib/store.js:74
    mkdirSync(dirname(STORE_PATH), { recursive: true })
  • 写入本地文件
    lib/store.js:76
    writeFileSync(tmp, JSON.stringify(config, null, 2), { encoding: 'utf8', mode: 0o600 })
  • 写入本地文件
    lib/store.js:77
    renameSync(tmp, STORE_PATH)
  • 发起网络请求
    lib/routes.js:35
    const res = await fetch(requestUrl(seat), {
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

多AI模型讨论_圆桌会议:几个 AI 就同一议题展开探讨,首轮互不可见,之后由中立调度员决定谁发言;只摊开角度与分歧,判断留给你。

README

由 DeepSeek 最新模型翻译生成
多 AI 模型讨论_圆桌会议 dsh-ai-roundtable · 一个 DeepSeek Harness 插件。几个 AI 就同一议题展开探讨:首轮互不可见,之后由中立调度员决定谁发言;收场只交三样东西,判断留给你。 界面 这里没有主持人兜底。AI 们会吵架,会互相拆台,最后谁也不服谁。那正好。 dsh-ai-roundtable — a DeepSeek Harness plugin that seats several LLMs at one table. It is built for exploration, not decision-making: - Blind first round. Nobody sees the others before speaking, so answers don't collapse into agreement. - Neutral scheduler. After each turn a moderator model reads the transcript and picks who speaks next — with a stated reason, not round-robin.
展开完整文档(README 剩余 1 节)
多 AI 模型讨论_圆桌会议

dsh-ai-roundtable · 一个 DeepSeek Harness 插件。几个 AI 就同一议题展开探讨:首轮互不可见,之后由中立调度员决定谁发言;收场只交三样东西,判断留给你。

界面

这里没有主持人兜底。AI 们会吵架,会互相拆台,最后谁也不服谁。那正好。

dsh-ai-roundtable — a DeepSeek Harness plugin that seats several LLMs at one table.

It is built for exploration, not decision-making:

- Blind first round. Nobody sees the others before speaking, so answers don't collapse into agreement.
- Neutral scheduler. After each turn a moderator model reads the transcript and picks who speaks next — with a stated reason, not round-robin.
- The human is a member. Interject at any time; every model sees it on the next turn.
- No verdict. It closes with four things only: angles that surfaced, where the real disagreement is, what nobody answered, and what you could ask next. The judgement stays with you.
- Six modes. debate · brainstorm · red team · postmortem · socratic · decision — each rewrites the scheduling rule, the speaking discipline and the closing note.

Install

Plugins → Add plugin → Install third-party plugin → github:valarjin01/dsh-ai-roundtable

Restart DeepSeek Harness, then open Settings → Roundtable, add at least two API keys, and say
"open a roundtable about …" in any session.

Works with any OpenAI-compatible endpoint (DeepSeek, Volcengine Doubao, Zhipu GLM, Qwen, Kimi, OpenRouter, …)
and with Anthropic's Messages API. Keys stay on your machine (~/.dsh/roundtable.json, mode 0600) and are
never echoed back to the settings page.

Requires DeepSeek Harness 0.2.1-rc.3 (tested). Licensed MIT.

它做什么

- 首轮互不可见:每人第一次开口前都看不到别人,避免观点趋同(可关)
- 中立调度员:读完全部记录后决定谁发言,并给出理由,而不是机械轮转
- 人类也是成员:随时插话,下一轮所有模型都会看到并回应你
- 只摊开不裁决:收场交四样东西——出现了哪些角度、真正的分歧、没人回答的问题、你可以接着问的方向
- 六种讨论风格:辩论 / 头脑风暴 / 红队 / 复盘 / 苏格拉底 / 决策

安装

插件 → 添加插件 → 安装第三方插件 → github:valarjin01/dsh-ai-roundtable

装完重启一次,然后 设置 → 多AI圆桌会议 → 填 API key(至少两个席位)。

本地开发用 python3 scripts/install-profile.py(幂等,自带备份;卸载用 scripts/uninstall-profile.py)。

⚠️ 只能装进 DeepSeek Harness。ChatGPT、Claude 的客户端是封闭产品,没有插件机制;想让它俩参与讨论,只能给它们配 API key 当席位。

快速开始

在任意会话里说一句:

开个圆桌,议题是 XXX。跑两轮,每位发言都贴出来,我要能随时插话。

模型会依次调用 open → next → next … → close,每一步贴出一条发言。

配置台(推荐入口)

双击 tools/打开配置台.command(或命令行 node tools/settings-server.mjs),浏览器会自动打开 http://127.0.0.1:8766/。

- 只有本机监听,不上传任何东西
- 改完点保存立即生效,不用重启 DeepSeek Harness(插件每次调用都会重读配置)
- 第一次保存会创建 ~/.dsh/roundtable.json(权限 600),之后它以这个文件为准
- 关掉终端窗口就停止服务

跑起来的样子见 preview-settings-live.png。

为什么不是 DSH 设置里的一个分区:客户端插件那条路试过了,bundle 没被模块系统加载(Console 里没有 [roundtable] client bundle loaded),先不折腾,功能一样。

设置页

侧栏 → 插件 或 设置 → 多AI圆桌会议(重启一次后出现)。能改:
- 席位:名字 / 接口地址 / 模型 / key(只显示掩码)/ 人设 / 思考模式
- 我的席位:称呼、参与方式
- 探讨规则:调度员、轮数
- 讨论风格:六选一,自动带推荐温度
- 预算:字数、温度、超时

保存后立即生效,不用重启。

思考模式

| 值 | 行为 | 什么时候用 |
| auto | 不干预,跟随供应商默认 | 不确定时 |
| on | 强制开启 | 需要深推理的判断 |
| off | 关闭 | 讨论类发言,快 3–4 倍、省一半 token |

实测豆包 doubao-seed-2-1-pro:开启 43.8 秒 / 1325 tokens,关闭 11.7 秒 / 209 tokens。
插件会按供应商翻译成真实参数(火山方舟用 thinking.type,OpenAI 用 reasoning_effort),认不出的网关不猜,留 extraBody 兜底。

配置存在哪

- 用户在设置页保存的东西 → ~/.dsh/roundtable.json(权限 600)
- 一旦这个文件存在,cordis.patch.yml 里的 config 就只当初始种子,后续改动不再生效
- 页面拿到的 key 永远是掩码,明文不出后端

怎么用

对话里直接说」开个圆桌,议题是 XXX「,模型会按这个节奏走:

roundtable({action:"open", topic:"…"}) → roomId
roundtable({action:"next", roomId:"rt-xxxx"}) → 调度员点名 + 该人发言(每次一位)
roundtable({action:"say", roomId:"rt-xxxx", text:"成本呢?"})
roundtable({action:"next", roomId:"rt-xxxx"}) ×3
roundtable({action:"close", roomId:"rt-xxxx"}) → 纪要 + 全文

一次调用只走一步,所以每句发言都能立刻出现在对话里,中途还能插话——这是有意的设计,不要改成"一次跑完"。

讨论风格

配置里的 style 决定三件事:调度员怎么挑人、发言者守什么纪律、纪要长什么样。

| id | 风格 | 适合 | 建议温度 |
| debate | 辩论 | 有明确对立面的决策 | 0.7 |
| brainstorm | 头脑风暴 | 没方向时先要量 | 1.0 |
| redteam | 红队 | 方案已定,先找它怎么死 | 0.8 |
| postmortem | 复盘 | 事后找根因 | 0.6 |
| socratic | 苏格拉底 | 概念混乱、前提可疑 | 0.7 |
| decision | 决策 | 讨论发散太久要收口 | 0.7 |

单场也能覆盖:roundtable({action:"open", topic:"…", style:"redteam"})。

查看当前配置

对话里说「看看圆桌配置」,模型会调 roundtable({action:"config"}),返回席位、key 状态、调度员、风格和预算。

填 key

编辑 ~/.dsh/profiles/desktop/cordis.patch.yml 里 # >>> dsh-ai-roundtable 那段:

- name: ChatGPT
baseUrl: https://api.openai.com/v1
model: gpt-4o
apiKey: 'sk-...' # ← 填这里

三种填法:

| 方式 | 写法 | 适合 |
| 直接写 | apiKey: 'sk-xxx' | 最省事,文件权限 600 |
| 环境变量 | apiKeyEnv: ARK_API_KEY | key 不落盘,但 GUI 启动时要有该环境变量 |
| 换网关 | 改 baseUrl 为 OpenRouter / 302.AI 地址 | 国内直连 OpenAI 不通时 |

席位怎么选:

- 豆包:火山方舟 https://ark.cn-beijing.volces.com/api/v3,有免费额度,模型名填控制台里真实存在的
- DeepSeek:https://api.deepseek.com,deepseek-chat,按量计费很便宜
- ChatGPT:需要 OpenAI API key(订阅不算)

只有两个 key 也能开圆桌,第三个席位会自动跳过。

改完配置:如果 HMR 开着会立即生效;否则重启应用。

代码结构

lib/core.js 纯逻辑:HTTP 调用、调度决策、状态机、JSON 解析。零依赖 lib/index.js Cordis 包装:defineTool 注册、参数校验、错误转人话 test/ 19 个用例,node --test 直接跑 scripts/ 安装 / 卸载 profile 的幂等脚本

跑测试:

node --test test/core.test.mjs test/contract.test.mjs

contract.test.mjs 用 module.registerHooks 把 @deepseek-ai/dsh-tools 换成桩,所以不需要启动 DSH 就能验证工具定义形状(参数 DSL、输出 schema、render 返回内容块)。

已知限制

- 房间状态在进程内:重启应用后房间全丢;多会话共用一个 roomId 会串
- 串行:没标 isConcurrencySafe,同一时刻只能推一场
- 一轮 = 每人各说一次,maxRounds: 2 就是每人最多说两次

卸载

cd <这个目录>
python3 scripts/uninstall-profile.py # 加 --dry-run 先看会改什么

会删依赖、从 bundles 移除、删符号链接、删配置块。备份在 ~/.dsh/profiles/desktop/.roundtable-backup/<时间戳>/。

声明

数据流向、密钥存储、费用、商标与许可条件见 DECLARATION.md。要点:
- 讨论内容只发送到你自己配置的模型服务商,插件不回传任何数据、无遥测
- 密钥存本机 ~/.dsh/roundtable.json(0600),页面只显示掩码
- API 费用由你的账号承担,插件不代收
- 与 OpenAI / Anthropic / 字节 / 深度求索无隶属关系

附:DSH 插件开发要点(来自官方文档)

官方文档没有公开发布,但随应用打包了一份给智能体用的技能: @deepseek-ai/dsh-agent-preset/skills/cordis-plugin-development/(SKILL.md + references/ + templates/)。
GitHub 上也有 deepseek-ai/DeepSeek-Harness 的 docs/user/develop/。

打包一个插件

{
"name": "dsh-ai-roundtable",
"type": "module",
"exports": { ".": "./lib/index.js", "./client": "./lib/client.js", "./locale/.json": "./locale/.json", "./icon": "./icon.svg" },
"dsh": {
"bundle": { "patch": "./cordis.patch.yml" },
"client": { "platform": "web", "immediately": true, "inject": ["@deepseek-ai/dsh-client-connection"] }
}
}

- dsh.bundle.patch 里的 YAML 用 insert 挂插件行;纯 insert 可以热挂载,带 config 必须重启
- dsh.client.immediately: true 才会在启动时加载浏览器半侧(漏了这个,Console 里一行日志都没有)
- 客户端 bundle 必须是 window.__ModuleLoader__.load({ id: <包名>, factory }),id 必须等于包名
- 工厂返回 { name, inject, apply };react 从 factory(require) 拿,不能顶层 import

显示元数据

插件管理器和设置页不激活插件就会读:

- locale/zh.json / locale/en.json 里的 meta.title、meta.description
- 导出的 ./icon(SVG/PNG/JPEG/WebP,≤256 KiB,不能出包目录)

缺了就回退到 package.json 的 name/description。

安装

文档明确要求走 plugin_manager 的 install_bundle,不要手改 profile 的 package.json / cordis.patch.yml。
本项目是用 scripts/install-profile.py 手工装的(等价操作),因为当前会话拿不到 plugin_manager 工具。
预览分享卡片长什么样 ↓valarjin01/dsh-ai-roundtable
分享 · DeepSeek Harness Hub
valarjin01/dsh-ai-roundtable

让多个 AI 围绕同一议题展开辩论,并汇总分歧

这是你的仓库?认领条目

回到顶部