@ljwei-stak/dsh-model-router 0.15.0 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dsh-plugin/client.js +701 -180
- package/.dsh-plugin/index.mjs +126 -25
- package/.dsh-plugin/shared/adaptive-feedback.mjs +272 -0
- package/.dsh-plugin/shared/assignment-solver.mjs +86 -0
- package/.dsh-plugin/shared/dynamic-data-view.mjs +120 -0
- package/.dsh-plugin/shared/dynamic-data.mjs +372 -0
- package/.dsh-plugin/shared/harness-plan.mjs +5 -2
- package/.dsh-plugin/shared/livebench.mjs +57 -20
- package/.dsh-plugin/shared/model-profiles.mjs +7 -1
- package/.dsh-plugin/shared/official-tools-remote.mjs +3 -1
- package/.dsh-plugin/shared/router-state.mjs +140 -38
- package/.dsh-plugin/shared/router.mjs +115 -152
- package/.dsh-plugin/shared/run-ledger.mjs +37 -11
- package/CHANGELOG.md +29 -0
- package/INSTALLATION_GUIDE.zh.md +21 -15
- package/README.md +14 -6
- package/README.zh.md +14 -6
- package/docs/ROUTING_ADAPTIVE_LEARNING.zh.md +153 -0
- package/docs/ROUTING_DERIVATION_EXPERIMENTS.zh.md +684 -0
- package/docs/ROUTING_LIVEBENCH_DATA_SEARCH.zh.md +74 -0
- package/docs/ROUTING_LIVEBENCH_VALIDATION.zh.md +154 -0
- package/docs/ROUTING_MATURITY.zh.md +76 -0
- package/docs/ROUTING_RESEARCH.zh.md +59 -0
- package/docs/ROUTING_SELFTEST_STEPS.zh.md +192 -0
- package/docs/WORKBENCH_USER_GUIDE.zh.md +25 -3
- package/package.json +19 -2
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# 模型路由工作台:配置、规划与实际执行
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
适用版本:正式版 `@ljwei-stak/dsh-model-router@0.16.0`;声明兼容 DeepSeek Harness Desktop `0.2.0-rc.1 / 0.2.0-rc.2`。安装与开发见[中文 README](../README.zh.md),旧包迁移见[迁移说明](../MIGRATION.md)。
|
|
4
4
|
|
|
5
5
|
0.15.0 新增四页布局、规划后直接展示路由建议、执行输入变化时丢弃旧预览,以及历史裁剪和重试后的费用累计保留。源码中的独立 UI 预览使用模拟数据,用于组件检查,不代表真实账号调用或桌面端到端验收。
|
|
6
6
|
|
|
7
|
+
0.16.0 加入可选动态公开能力/价格快照,以及分任务类型的持续反馈学习。公开数据默认关闭;反馈只调整本地主观效用,不改公共能力评分或质量门槛。本版发布验证见[更新记录](../CHANGELOG.md),不把模拟数据测试视作真实付费调用或桌面端到端验证。
|
|
8
|
+
|
|
7
9
|
工作台分成四页:**任务与执行、模型配置、官方工具、预算与安全**。顶部概览显示模型路线、工具检测与今日已记录 API 费用。切换页面保留面板状态;已有安装任务和终端会话不会因切页重新创建。
|
|
8
10
|
|
|
9
11
|
## 第一次使用
|
|
@@ -27,6 +29,7 @@
|
|
|
27
29
|
| 缓存价 | 可选缓存读取/写入单价;应与相应供应商计费口径一致。 |
|
|
28
30
|
| 擅长方向 | 英文小写标签,逗号分隔,例如 `code, reasoning`。 |
|
|
29
31
|
| 官方 CLI 模型名 | 仅填厂商 CLI 已验证接受的名称;不等同于 Harness 模型 ID。ZCode 不支持逐次换模型。 |
|
|
32
|
+
| LiveBench 准确模型名称 | 可选的显式基准映射,须确认模型版本与推理档位一致;不自动猜测别名,也不证明实际执行参数。 |
|
|
30
33
|
| 执行方式 | `auto`、`official` 优先适用的官方工具;`api` 只走模型目录 API。 |
|
|
31
34
|
| 计费方式 | 默认 `subscription-first`;也可指定 `api-only` 或 `subscription-only`。 |
|
|
32
35
|
| 订阅来源 | 自动识别,或显式 `cli-login`、`plan-key`、`none`。 |
|
|
@@ -57,9 +60,11 @@
|
|
|
57
60
|
|
|
58
61
|
点击**生成路由建议**。建议直接显示在规划卡片之后,不需要先越过模型档案。这一步在本机完成,不读取工作区文件、启动 CLI 或向模型发送任务。
|
|
59
62
|
|
|
63
|
+
启用动态公共数据后,生成前读取 Host 的当前账本/快照;到达检查间隔时会请求公开源,但不把任务、回答或用户反馈发送给该源。公开源开关关闭时不进行这些远程刷新。
|
|
64
|
+
|
|
60
65
|
查看推荐路线、复杂度、估算成本、路由方案与执行渠道;团队结果还包括目标、依赖、难度、费用和验收清单。**价格待配置**表示缺少可靠单价;质量约束放宽或图像包无法分配时应先检查资料。**官方 CLI**是计划的渠道提示,不代表该账号一定有调用权限;**模型目录 API**也不代表该路线能进入 CLI 团队执行器。
|
|
61
66
|
|
|
62
|
-
|
|
67
|
+
修改任务、模式、预算、档案、目录或学习/数据设置后重新生成建议。数据或反馈版本变化会使旧建议失效;陈旧异步回包不会替换新的输入。路由算法的实现与假设见 [README](../README.zh.md#路由算法从输入到分配)。
|
|
63
68
|
|
|
64
69
|
## 在工作台执行:预览后确认
|
|
65
70
|
|
|
@@ -85,7 +90,8 @@
|
|
|
85
90
|
- **可编辑团队失败**:符合条件时在新独立工作树中套用此前改动后续跑;要求原仓库干净且仍在原基线。已经整合或等待人工整合的运行不能任意单步重跑。
|
|
86
91
|
- **单工具调用失败**:重新执行原调用,生成关联的新运行;可编辑模式仍需审批。
|
|
87
92
|
- **订阅普通失败**:默认显示**等待确认**,可选择**改用 API 重试、重试订阅、取消**。API 重试会需要确认,登录问题可先重新登录再重试。
|
|
88
|
-
-
|
|
93
|
+
- **评价**:成功结果上的 👍/👎 是你的明确评价,再点已选按钮可撤回;按准确路线、任务类型和结果完成时间形成衰减、向零收缩的主观偏好效用。默认最大调整 ±0.04,可配置到不超过 ±0.1;不改变客观质量分或公共质量门槛。重跑替换结果后旧评价清除,旧页面上的评价请求会被拒绝,需刷新。
|
|
94
|
+
- **复核**:强模型抽查由预算页的质量回路控制,会产生额外真实调用;复核分不作为人工反馈。通过官方会话的 `model_router_rate` 保存评价需要用户审批,Agent 不能给自己评分;来源标记是审计信息,不是独立的人类身份认证。
|
|
89
95
|
|
|
90
96
|
保存的任务文本最多 20,000 字符,单个回答最多 4,000 字符;历史不是完整交付文件的替代,重跑可能使用截断后的上下文。
|
|
91
97
|
|
|
@@ -126,6 +132,22 @@ API 花费计入预算;订阅显示按 API 价折算的参考费用,不计
|
|
|
126
132
|
|
|
127
133
|
0.15.0 会保留裁剪详细历史及重试前的费用累计,避免超过 200 条历史或重跑步骤后预算漏算。此前旧版本已丢弃的消费记录无法恢复。
|
|
128
134
|
|
|
135
|
+
### 持续反馈与本地偏好
|
|
136
|
+
|
|
137
|
+
在**预算与安全 → 成本控制与路由方案 → 持续反馈与本地偏好**设置**启用用户反馈学习**、半衰期(默认30天)、收缩强度(默认3)和最大偏好效用调整(默认0.04,允许0–0.1)。较旧结果权重更低,少量评价被收缩到接近零;没有评价不等于失败或满意,执行成功也不自动计为好评。查看有效反馈数、有效权重和策略版本后重新规划。
|
|
138
|
+
|
|
139
|
+
学习限定在同一个本地 **DSH_HOME 工作室共享**、最近 **200 次运行**,不按账号隔离,也不无限保存学习记忆;未核验实际模型的 CLI 默认结果不会训练推荐模型。启停不删除评价。“从现在重新学习”会先请求确认,再将学习起点移到当前时间;此前结果不再参与调整,但执行历史和费用累计保留。本版不为学习自动探索或增加付费模型调用。
|
|
140
|
+
|
|
141
|
+
### 动态公共数据
|
|
142
|
+
|
|
143
|
+
在相邻的**动态公共数据**区域明确启用开关。默认关闭;启用后按**公共快照检查间隔**(默认1440分钟)在打开/刷新账本及执行前检查公开源。LiveBench 默认官方站点;自定义 JSON 镜像必须明确 `scoreScale: 1` 或 `100`,准确模型身份与分值须通过校验,不能用高推理档位成绩冒充其他动作。
|
|
144
|
+
|
|
145
|
+
**价格快照公开源**可留空。配置时只接受不含认证、查询参数或片段的公开 HTTPS 地址;该数据是按官方文档策展、带来源与时间版本的严格 JSON,不是通用厂商价目表抓取器。当前仅支持准确 `provider/model` 的 USD/百万 token 固定输入/输出及可选缓存价;复杂阶梯、时段或非 token 计费不支持此格式。填写来源链接不代表插件已认证价目内容。人工配置单价优先,缺价仍保持未知。
|
|
146
|
+
|
|
147
|
+
查看 LiveBench / 价格快照的状态、版本与校验时间;更新失败保留最近有效数据并标记状态,过期数据不能当作最新价格。清空价格源或关闭公开数据开关会停止使用对应动态数据,而不删除可恢复的历史快照。执行记录保存当次实际采用的费率和数据/策略版本,新价格不会回算旧费用。公开源不接收任务和反馈;真实执行仍会发送所选任务给相应模型/CLI。
|
|
148
|
+
|
|
149
|
+
推导、快照协议与机制实验见[动态数据与持续反馈说明](ROUTING_ADAPTIVE_LEARNING.zh.md)。这些机制实验没有证明实际质量—成本收益,也没有验证所有模型的实际推理档位。
|
|
150
|
+
|
|
129
151
|
**安全边界**显示各路线可读/写范围与沙箱。模型 API 没有本地进程文件访问;可编辑 CLI 要求 Harness 沙箱和独立 Git 工作树。缺少沙箱时可编辑托管执行被拒绝。交互终端始终在沙箱外运行。
|
|
130
152
|
|
|
131
153
|
## 从官方会话启动任务
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ljwei-stak/dsh-model-router",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Model Router for official DeepSeek Harness Desktop: cost-aware task routing, dependent work packages and official vendor CLI discovery, installation and execution. GAL is available separately as @ljwei-stak/dsh-galgame.",
|
|
6
6
|
"repository": {
|
|
@@ -44,6 +44,10 @@
|
|
|
44
44
|
".dsh-plugin/shared/harness-plan.mjs",
|
|
45
45
|
".dsh-plugin/shared/model-profiles.mjs",
|
|
46
46
|
".dsh-plugin/shared/router.mjs",
|
|
47
|
+
".dsh-plugin/shared/assignment-solver.mjs",
|
|
48
|
+
".dsh-plugin/shared/adaptive-feedback.mjs",
|
|
49
|
+
".dsh-plugin/shared/dynamic-data.mjs",
|
|
50
|
+
".dsh-plugin/shared/dynamic-data-view.mjs",
|
|
47
51
|
".dsh-plugin/shared/livebench.mjs",
|
|
48
52
|
".dsh-plugin/shared/official-tool-registry.mjs",
|
|
49
53
|
".dsh-plugin/shared/official-tools-runtime.mjs",
|
|
@@ -69,6 +73,13 @@
|
|
|
69
73
|
"README.md",
|
|
70
74
|
"README.zh.md",
|
|
71
75
|
"docs/WORKBENCH_USER_GUIDE.zh.md",
|
|
76
|
+
"docs/ROUTING_RESEARCH.zh.md",
|
|
77
|
+
"docs/ROUTING_DERIVATION_EXPERIMENTS.zh.md",
|
|
78
|
+
"docs/ROUTING_LIVEBENCH_VALIDATION.zh.md",
|
|
79
|
+
"docs/ROUTING_LIVEBENCH_DATA_SEARCH.zh.md",
|
|
80
|
+
"docs/ROUTING_SELFTEST_STEPS.zh.md",
|
|
81
|
+
"docs/ROUTING_ADAPTIVE_LEARNING.zh.md",
|
|
82
|
+
"docs/ROUTING_MATURITY.zh.md",
|
|
72
83
|
"docs/assets/workbench-task-preview.jpg",
|
|
73
84
|
"docs/assets/routing-workflow.svg",
|
|
74
85
|
"docs/assets/desktop-official-tools-0.9.0.png",
|
|
@@ -84,7 +95,13 @@
|
|
|
84
95
|
"build:client": "node scripts/build-client.mjs",
|
|
85
96
|
"check:client": "node scripts/build-client.mjs --check",
|
|
86
97
|
"preview:ui": "node scripts/workbench-preview.mjs",
|
|
87
|
-
"
|
|
98
|
+
"eval:routing": "node scripts/evaluate-routing.mjs",
|
|
99
|
+
"experiment:routing-search": "node scripts/routing-search-experiment.mjs",
|
|
100
|
+
"experiment:routing-regression": "node scripts/routing-regression-study.mjs",
|
|
101
|
+
"experiment:routing-summary": "node scripts/summarize-routing-search.mjs",
|
|
102
|
+
"experiment:routing-adaptive": "node scripts/adaptive-routing-study.mjs",
|
|
103
|
+
"audit:livebench": "node scripts/livebench-aggregate-audit.mjs",
|
|
104
|
+
"test": "node --test tests/adaptive-*.test.mjs tests/dynamic-data.test.mjs tests/router.test.mjs tests/routing-optimizer.test.mjs tests/routing-evaluation.test.mjs tests/routing-paired-statistics.test.mjs tests/routing-selftest-tools.test.mjs tests/livebench-aggregate-audit.test.mjs tests/livebench-prior-study.test.mjs tests/routing-search-experiment.test.mjs tests/routing-regression-study.test.mjs tests/routing-search-summary.test.mjs tests/harness-*.test.mjs tests/official-tools.test.mjs tests/official-team-runtime.test.mjs tests/model-profiles.test.mjs tests/model-profile-editor.test.mjs tests/tool-install-state.test.mjs tests/vendor-adapters.test.mjs tests/desktop-compat.test.mjs tests/plugin-split.test.mjs tests/task-executors.test.mjs tests/roadmap.test.mjs tests/insights-state.test.mjs tests/billing-team-ledger.test.mjs tests/subscription-billing.test.mjs tests/subscription-host.test.mjs tests/test-pass-regressions.test.mjs tests/roadmap-gaps.test.mjs tests/cordis-inject.test.mjs tests/cli-terminal.test.mjs tests/cli-terminal-gateway.test.mjs tests/latest-versions.test.mjs",
|
|
88
105
|
"prepack": "node scripts/prepack.mjs",
|
|
89
106
|
"pack:local": "npm pack --pack-destination dist"
|
|
90
107
|
},
|