dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH 插件:给「自动开发调度器2.0」用的场景化主备模型切换(场景 TAB、三角色 A/B 两侧模型、失效自动切换顺序、模型变更管控)
给 DSH(the assistant framework)的「自动开发调度器2.0」(dsh-orchestrator2)用的场景化模型切换插件:侧边栏一行按钮 + 一个设置弹窗,把三个子代理角色(研究员 / 审核员 / 开发员)的主 / 备模型做成若干「场景」,点一下就在场景的两侧之间互换。
侧边栏(一行)
[侧 A 名 | 侧 B 名]:点一侧就把当前使用中的场景切到那一侧(主槽指向它)。设置:打开设置弹窗(点这一行的任意空白处也能打开)。设置弹窗
A/B。选中的 TAB 有底栏;「使用中」的场景带红环。✕ 清空该格、选重复自动互换;整轮冷却、每小时上限、模拟限流、重置历史。model-routes.json 被本插件以外的写入(例如预设的 set_role_model)会被检测出来并回滚,同时记一条回滚记录;需要让别的工具改文件时把开关关掉。插件是「宿主半体 + 浏览器半体」两段式,两个半体都要就位:
<DSH_HOME>/plugin-src/orchestrator2-region-switch。cordis.patch.yml(dsh.bundle.patch 层),需要在 profile 的清单里登记为 bundle 依赖,并把包链到 profiles/<profile>/node_modules/orchestrator2-region-switch(junction / symlink 均可)。orchestrator2-region-switch。只登记在用户 patch 层而不进 profile 清单时,宿主半体会加载、浏览器半体不会激活(插件不出现在侧边栏)。这一点写在
cordis.patch.yml的注释里。
全部在 <DSH_HOME>/orchestrator2/ 下,DSH_HOME 缺省是 ~/.dsh:
| 文件 | 说明 |
|---|---|
scenarios.json | 场景表(本插件独占) |
model-routes.json | 预设读的 v1 路由表,由当前使用中场景的主槽派生 |
guard.json | 铁律开关、基线、回滚记录 |
sessions/<会话ID>.json | 预设写;本插件只在「应用 / 覆盖」时改 roles[角色].overrideRoute 一个字段 |
failover-signal.json | 预设的 route-fallback 在限流时写,本插件读它触发顺序切换 |
node tools/selftest-host.mjs # 宿主半体(79 项)
node tools/selftest-failover.mjs # 失效自动切换状态机(144 项)
node tools/simulate-client.cjs # 浏览器半体桩测(假 React + 假 fetch)
node tools/check-contract.mjs # 与 dsh-orchestrator2 的 5 条契约自查
check-contract.mjs 会 import 已安装预设自己的模块(纯函数、无副作用)来核对隐含契约;可用 OR2_PRESET_DIR=<预设包根> 指定别的安装目录。
dsh-orchestrator2 v2.10.3 的契约自查 5/5 通过(路径、路由表形状、会话表形状、失效信号形状、预设是否仍写路由表)。host/ 需要重启 DSH。MIT,见 LICENSE。