把任务分派给不同模型执行并统一评审结果
30.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dippingOrange/dsh-conductor该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · model
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 10 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 26 处,展示前 19 条)
- 写入本地文件dsh-conductor/index.js:760
mkdirSync(dirname(path), { recursive: true }) - 读取本地文件dsh-conductor/index.js:796
const text = readFileSync(handoffFilePath(task), 'utf8') - 写入本地文件dsh-conductor/index.js:922
mkdirSync(directory, { recursive: true }) - 写入本地文件dsh-conductor/index.js:934
writeFileSync(file, JSON.stringify(payload, null, 2), 'utf8') - 读取本地文件dsh-conductor/index.js:953
if (!existsSync(sessionsRoot)) { - 读取本地文件dsh-conductor/index.js:959
for (const entry of readdirSync(directory, { withFileTypes: true })) { - 删除本地文件递归dsh-conductor/index.js:970
rmSync(target, { recursive: true, force: true }) - 写入本地文件dsh-conductor/index.js:2400
mkdirSync(dirname(file), { recursive: true }) - 写入本地文件dsh-conductor/index.js:2408
appendFileSync(file, `${JSON.stringify(entry)}\n`, 'utf8') - 读取本地文件dsh-conductor/index.js:2416
if (!existsSync(file)) return [] - 读取本地文件dsh-conductor/index.js:2418
const lines = readFileSync(file, 'utf8').trim().split(/ ? /).filter(Boolean) - 读取本地文件dsh-conductor/index.js:2502
if (existsSync(file)) { - 写入本地文件dsh-conductor/index.js:2517
mkdirSync(dirname(file), { recursive: true }) - 发起网络请求dsh-conductor-ui/client.js:347
const response = await fetch( - 发起网络请求dsh-conductor-ui/client.js:380
const response = await fetch('/conductor/boards', { - 发起网络请求dsh-conductor-ui/client.js:411
const response = await fetch('/conductor/notifications', { - 发起网络请求dsh-conductor-ui/client.js:434
await fetch('/conductor/notifications/read', { - 发起网络请求dsh-conductor-ui/client.js:445
const response = await fetch('/conductor/action', { - 发起网络请求dsh-conductor-ui/client.js:631
const response = await fetch(
扫描于 2026/11/1(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
为 DeepSeek Harness 做多模型任务分发,并提供 Web 任务看板。
README
由 DeepSeek 最新模型翻译生成Conductor for DeepSeek Harness
为 DeepSeek Harness(DSH)提供多模型任务分发:旗舰模型负责拆解、评审、整合,实现类工作交给用户配置的执行器角色。每个任务都作为真正的 DSH 子代理运行,拥有完整工具集,因此能读代码、改文件、跑测试,再把结果报回来。
项目包含两个 DSH 包:
- dsh-conductor —— 宿主插件:dispatch_tasks、wait_tasks、task_result、task_followup、cancel_task、list_executors;角色持久化;供 UI 使用的同源 HTTP 桥。
- dsh-conductor-ui —— Web UI:输入框工具栏启动器、右侧栏任务板标签页、完整的原生任务板页面,以及执行器与发布者编辑器。
为什么需要它
在强规划模型和更便宜的执行模型之间手工搬运工作,既慢又容易出错。Conductor 让主模型留在对话里,执行器去干活,并且由用户——而不是模型——决定每个角色用哪个模型。
- 默认只按角色路由:旗舰模型只能分发给已配置的角色,不能自己编造服务商/模型路由。
- 发布者(旗舰)需显式选定,可应用为 DSH 新会话的默认模型。
展开完整文档(README 剩余 1 节)
Conductor for DeepSeek Harness 为 DeepSeek Harness(DSH)提供多模型任务分发:旗舰模型负责拆解、评审、整合,实现类工作交给用户配置的执行器角色。每个任务都作为真正的 DSH 子代理运行,拥有完整工具集,因此能读代码、改文件、跑测试,再把结果报回来。 项目包含两个 DSH 包: - dsh-conductor —— 宿主插件:dispatch_tasks、wait_tasks、task_result、task_followup、cancel_task、list_executors;角色持久化;供 UI 使用的同源 HTTP 桥。 - dsh-conductor-ui —— Web UI:输入框工具栏启动器、右侧栏任务板标签页、完整的原生任务板页面,以及执行器与发布者编辑器。 为什么需要它 在强规划模型和更便宜的执行模型之间手工搬运工作,既慢又容易出错。Conductor 让主模型留在对话里,执行器去干活,并且由用户——而不是模型——决定每个角色用哪个模型。 - 默认只按角色路由:旗舰模型只能分发给已配置的角色,不能自己编造服务商/模型路由。 - 发布者(旗舰)需显式选定,可应用为 DSH 新会话的默认模型。 - 结果由主模型收集(wait_tasks),对照验收标准评审,再通过 task_followup 纠正——执行器保留之前的对话。 - 完整任务板以原生面板形式存在于 DSH Web UI 中(不用 iframe,不用单独服务器)。 功能 - 分发单个或多个任务,可指定角色、上下文、约束、验收标准,以及必需的返回格式。 - 固定的执行器角色:id + name + provider + model + description,可在 Web UI 中编辑。 - 角色持久化在 $DSH_HOME/conductor/roles.json(该文件不含 API 密钥)。 - 严格只按角色路由:除非用户显式启用临时路由,否则 inherit: true 和临时服务商/模型路由一律拒绝。角色变更审计写入 $DSH_HOME/conductor/role-audit.jsonl,并通过 GET /conductor/roles/audit 暴露。 - 全局上限 5 个活跃子代理,覆盖 Conductor 任务和原生子代理。 - 每个会话有右侧栏任务板,从输入框工具栏打开;另有全局整页任务板,分进行中/已完成/失败三列。 - 按执行器统计上下文:使用百分比、距上次压缩的轮数,任务结束后在模型上下文窗口的 40% 处自动压缩。新任务仍然从零开始,任务隔离不受影响。每个角色可覆盖该阈值。 - 压缩后,Tasks 图标和 Executors 标签页上显示绿色未读角标。 - 跟进任务在任务板中显示为返工中/运行中,子代理不活跃后回到已完成。 - 执行器完成时,以子代理后台通知的形式送达发布者,即使发布者已经回复过用户。 - 看板快照与恢复:GET /conductor/export 和 POST /conductor/import 在插件重载后保留终端任务与报告。 - 执行器失败(例如 max-tokens 或收尾报告为空)会作为任务错误暴露出来。 - 执行器报告只陈述事实:不包含整份文件、完整 diff 或生成的产物;也不给建议或下一步提示。决策由 lead 做;报告只保留关键事实,结尾可以给一句简短结论。 - 发布者任务指引优先使用文件路径和简短的 context;长文档和代码放进执行器能读到的文件里。 - ptc 预设中禁用了原生 subagent / subagent_fork 派生工具;发布者只能通过 dispatch_tasks 委派任务。list_agents 仍可用于诊断,maxActiveSubagents: 5 安全上限保持不变。 - 可以从 UI 或模型工具中取消任务、追问、查看完整报告。 - 无构建步骤,无 npm 运行时依赖;UI 只用浏览器 React 模块表。 环境要求 - DeepSeek Harness(已在 0.2.1-rc.2 上测试)。 - 在 Settings → Models 中至少配置一个模型服务商,凭据由 DSH 保存。 - 一个能安装本地 bundle 的 DSH 配置档(默认的 Desktop 配置档可以)。 安装 从 npm 安装两个 bundle,用 DSH 的 Plugin Manager (Settings → Plugins → install bundle)或命令行: dsh plugin install @dippingorange/dsh-conductor dsh plugin install @dippingorange/dsh-conductor-ui 本地开发时,改为安装本地检出: git clone https://github.com/dippingOrange/dsh-conductor.git dsh plugin install /path/to/dsh-conductor/dsh-conductor dsh plugin install /path/to/dsh-conductor/dsh-conductor-ui 安装后刷新一次 Web UI。两个插件可以独立启用或禁用。 上下文预算与压缩 执行器任务保持隔离:每次 dispatch_tasks 调用都会新建子会话,所以新任务不会继承其他任务的上下文。唯一复用的上下文是 task_followup。 任务结束后(包括追问),Conductor 读取子会话最后一次请求的用量和模型上下文窗口。如果用量达到 40%(默认值,按 DeepSeek 观察到的质量下降调校),就恢复子会话,调用 Host 压缩服务(与 /compact 同一后端),记录压缩后的用量,然后释放会话。下次追问会冷恢复压缩后的历史。新任务从全新子会话开始,因此没有上下文需要压缩。 每个执行器最近一次任务会在 Executors & publisher 和任务卡片上报告上下文百分比,以及距上次压缩的轮数。压缩成功后,左侧 Tasks 图标和 Executors & publisher 标签页上会出现绿色未读圆点;打开这些视图后圆点清除。 配置项: | 键 | 默认值 | 含义 | | contextCompactionPercent | 40 | 上一次请求用掉窗口的这个百分比时执行压缩;角色可以覆盖该值 | | contextWindowTokens | 128000 | 服务商未上报上下文窗口时的回退值 | | contextWindowMax | 0 | 百分比计算的可选上限;0 表示使用上报的窗口 | | compactionTimeoutMs | 30000 | 压缩尝试超过这个时长就中止 | bundle 会重新启用宿主压缩后端(compaction-basic / command-compact),因为 Web 应用默认把它交给预设处理。这样普通聊天里也能用 /compact。 配置 1. Settings → Models — 添加你要用的服务商(OpenAI 兼容中转、Anthropic 兼容中转、OpenCode Zen、Command Code,或自建的 vLLM/Ollama 端点)。 2. 从左侧边栏打开 Tasks 面板,或点击输入框工具栏左侧的 ▦ 按钮。 3. 切换到 Executors & publisher: - 选择 publisher(旗舰)模型; - 添加执行器角色,为每个角色固定服务商/模型; - 保持 Allow ad-hoc provider/model 关闭,让路由只走角色; - 保存。 4. 让旗舰模型按角色派活,例如: Split this feature by module. Implement with coder, review with reviewer, and give every task acceptance criteria and a return format. Collect the reports and check them. 工作原理 user ──chat──▶ flagship (publisher) │ dispatch_tasks(role + task + acceptance + return format) ▼ ┌────────┴────────┐ │ executor role A │ real DSH child agent (tools, cwd, permissions) │ executor role B │ fixed provider/model chosen by the user └────────┬────────┘ │ report ▼ flagship reviews and may task_followup - 子代理以 delivery: 'caller' 启动,所以结果汇总由主控负责,而不是每个子代理都发一条聊天通知。 - 子代理完成后释放激活槽位;task_followup 会冷恢复同一个会话。 - Web UI 通过同源 /conductor/ 端点与 Host 通信。 安全 - /conductor/ 端点同源且不鉴权,和本地 DSH Web UI 的其余部分一样。不要把 DSH Web 端口暴露到不可信网络。 - 服务商 API key 存放在 DSH 的凭据存储里;roles.json 只包含服务商/模型选择和显示名。 - 任务报告可能包含工作区里的代码和文件路径;看板的私密程度取决于它运行所在的 DSH Web UI。 - 漏洞上报见 SECURITY.md。 仓库结构 dsh-conductor/ Host plugin: tools, role store, HTTP bridge dsh-conductor-ui/ Client bundle: toolbar launcher, right-sidebar board, full page, roles editor 开发 不需要构建步骤。Node.js 20+ 就够跑检查: npm run check # syntax-check Host and Client bundlesbash npm test # 用模拟上下文跑宿主插件冒烟测试 贡献指南见 CONTRIBUTING.md。详细中文文档在 dsh-conductor/README.md 和 dsh-conductor-ui/README.md。 许可证 MIT — 见 LICENSE。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
dippingOrange/dsh-conductor
把任务分派给不同模型执行并统一评审结果
相关插件 · 模型接入
API 中继安全审计toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
★ 897已汉化DSH
69.4
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个给…
★ 761已汉化DSH
68.7
免费联网搜索liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
★ 863已汉化DSH
68.5
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 379已汉化DSH
67.8
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1