dsh-auto-model-routing 0.3.0 → 0.4.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.
Files changed (57) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +82 -24
  3. package/README.zh.md +82 -24
  4. package/docs/architecture-v2.en.json +26 -0
  5. package/docs/architecture-v2.en.svg +637 -0
  6. package/docs/architecture-v2.zh.json +281 -0
  7. package/docs/architecture-v2.zh.svg +637 -0
  8. package/docs/feedback-evaluation.md +18 -0
  9. package/docs/host-capability-report.md +91 -0
  10. package/docs/jev-policy-v2-validation.md +37 -0
  11. package/docs/magpie-live-acceptance.md +27 -0
  12. package/docs/policy-v2-development.md +68 -0
  13. package/docs/policy-v2-real-evaluation-plan.md +32 -0
  14. package/docs/routing-community-research-2026-10-24.md +98 -0
  15. package/docs/routing-intent-and-gaps.md +56 -0
  16. package/docs/routing-strategy-plan.md +101 -0
  17. package/lib/client/control.d.ts +9 -1
  18. package/lib/client/control.js +16 -1
  19. package/lib/client/index.d.ts +2 -0
  20. package/lib/client/index.js +2 -2
  21. package/lib/client/label.d.ts +4 -0
  22. package/lib/client/label.js +24 -8
  23. package/lib/client/settings-section.js +53 -3
  24. package/lib/client/settings-ui.d.ts +1 -1
  25. package/lib/client/strategy-details.d.ts +4 -0
  26. package/lib/client/strategy-details.js +8 -0
  27. package/lib/client.js +332 -47
  28. package/lib/decision-service.d.ts +39 -0
  29. package/lib/decision-service.js +28 -0
  30. package/lib/endpoints.d.ts +2 -1
  31. package/lib/endpoints.js +22 -1
  32. package/lib/feedback.d.ts +95 -0
  33. package/lib/feedback.js +67 -0
  34. package/lib/hints.js +1 -1
  35. package/lib/index.js +29 -7
  36. package/lib/jev.d.ts +27 -1
  37. package/lib/jev.js +51 -23
  38. package/lib/policy-host.d.ts +68 -0
  39. package/lib/policy-host.js +274 -0
  40. package/lib/policy-store.d.ts +96 -0
  41. package/lib/policy-store.js +60 -0
  42. package/lib/policy-v2-rubric.json +21 -0
  43. package/lib/policy-v2.d.ts +20 -0
  44. package/lib/policy-v2.js +53 -0
  45. package/lib/settings-contract.d.ts +4 -1
  46. package/lib/settings-contract.js +1 -1
  47. package/lib/settings-host.d.ts +2 -2
  48. package/lib/settings-host.js +26 -14
  49. package/lib/settings.js +14 -1
  50. package/lib/subagent-tool.js +32 -5
  51. package/lib/usage-report.d.ts +59 -0
  52. package/lib/usage-report.js +332 -0
  53. package/package.json +3 -3
  54. package/skills/auto-model-routing-report/SKILL.md +50 -0
  55. package/skills/subagent-model-routing/SKILL.md +15 -0
  56. package/lib/selection-projection.d.ts +0 -8
  57. package/lib/selection-projection.js +0 -7
@@ -0,0 +1,281 @@
1
+ {
2
+ "schema_version": 1,
3
+ "diagram_type": "architecture",
4
+ "meta": {
5
+ "title": "AUTO 自动资源选配",
6
+ "output": ".archify/architecture-auto-routing-20261026-014646/auto-routing.zh.html",
7
+ "locale": "zh-CN",
8
+ "quality_profile": "showcase",
9
+ "repository": {
10
+ "url": "git@github.com:prgrmrwy/ohmydsh.git",
11
+ "revision": "79f9eab467047e054a2d66f8bce060834a261a2a",
12
+ "link_mode": "local-only"
13
+ }
14
+ },
15
+ "components": [
16
+ {
17
+ "id": "turn",
18
+ "type": "frontend",
19
+ "label": "AUTO 用户回合",
20
+ "sublabel": "主模型保持不变",
21
+ "pos": [
22
+ 40,
23
+ 80
24
+ ],
25
+ "size": [
26
+ 190,
27
+ 68
28
+ ],
29
+ "sources": [
30
+ {
31
+ "path": "packages/auto-model-routing/src/policy-host.ts",
32
+ "line": 68,
33
+ "end_line": 88
34
+ }
35
+ ]
36
+ },
37
+ {
38
+ "id": "judge",
39
+ "type": "cloud",
40
+ "label": "所选 Jev 决策服务",
41
+ "sublabel": "能力与投入独立判断",
42
+ "pos": [
43
+ 360,
44
+ 80
45
+ ],
46
+ "size": [
47
+ 220,
48
+ 68
49
+ ],
50
+ "sources": [
51
+ {
52
+ "path": "packages/auto-model-routing/src/decision-service.ts",
53
+ "line": 1,
54
+ "end_line": 23
55
+ },
56
+ {
57
+ "path": "packages/auto-model-routing/src/policy-host.ts",
58
+ "line": 81,
59
+ "end_line": 88
60
+ }
61
+ ]
62
+ },
63
+ {
64
+ "id": "route",
65
+ "type": "backend",
66
+ "label": "校验后的资源分配",
67
+ "sublabel": "模型目录 / 允许列表 / 投入上限",
68
+ "pos": [
69
+ 710,
70
+ 80
71
+ ],
72
+ "size": [
73
+ 220,
74
+ 68
75
+ ],
76
+ "sources": [
77
+ {
78
+ "path": "packages/auto-model-routing/src/policy-host.ts",
79
+ "line": 122,
80
+ "end_line": 150
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ "id": "child",
86
+ "type": "backend",
87
+ "label": "fresh 子任务绑定",
88
+ "sublabel": "精确 child 身份; 尊重显式选择",
89
+ "pos": [
90
+ 360,
91
+ 270
92
+ ],
93
+ "size": [
94
+ 220,
95
+ 68
96
+ ],
97
+ "sources": [
98
+ {
99
+ "path": "packages/auto-model-routing/src/policy-host.ts",
100
+ "line": 94,
101
+ "end_line": 132
102
+ }
103
+ ]
104
+ },
105
+ {
106
+ "id": "request",
107
+ "type": "backend",
108
+ "label": "官方模型请求",
109
+ "sublabel": "主 effort / 子完整路线",
110
+ "pos": [
111
+ 710,
112
+ 270
113
+ ],
114
+ "size": [
115
+ 220,
116
+ 68
117
+ ],
118
+ "sources": [
119
+ {
120
+ "path": "packages/auto-model-routing/src/policy-host.ts",
121
+ "line": 138,
122
+ "end_line": 160
123
+ }
124
+ ]
125
+ },
126
+ {
127
+ "id": "persist",
128
+ "type": "database",
129
+ "label": "持久化子路由",
130
+ "sublabel": "恢复保持初始配置",
131
+ "pos": [
132
+ 40,
133
+ 270
134
+ ],
135
+ "size": [
136
+ 220,
137
+ 68
138
+ ],
139
+ "sources": [
140
+ {
141
+ "path": "packages/auto-model-routing/src/policy-host.ts",
142
+ "line": 132,
143
+ "end_line": 160
144
+ }
145
+ ]
146
+ },
147
+ {
148
+ "id": "evidence",
149
+ "type": "backend",
150
+ "label": "请求匹配证据",
151
+ "sublabel": "配置匹配才标记已应用",
152
+ "pos": [
153
+ 710,
154
+ 460
155
+ ],
156
+ "size": [
157
+ 220,
158
+ 68
159
+ ],
160
+ "sources": [
161
+ {
162
+ "path": "packages/auto-model-routing/src/policy-host.ts",
163
+ "line": 178,
164
+ "end_line": 201
165
+ }
166
+ ]
167
+ },
168
+ {
169
+ "id": "feedback",
170
+ "type": "frontend",
171
+ "label": "决策与回复反馈",
172
+ "sublabel": "只观察分配; 不自动训练",
173
+ "pos": [
174
+ 360,
175
+ 460
176
+ ],
177
+ "size": [
178
+ 220,
179
+ 68
180
+ ],
181
+ "sources": [
182
+ {
183
+ "path": "packages/auto-model-routing/src/policy-host.ts",
184
+ "line": 162,
185
+ "end_line": 174
186
+ }
187
+ ]
188
+ },
189
+ {
190
+ "id": "snapshot",
191
+ "type": "database",
192
+ "label": "绑定决策快照",
193
+ "sublabel": "元数据与身份; 无任务正文",
194
+ "pos": [
195
+ 40,
196
+ 460
197
+ ],
198
+ "size": [
199
+ 220,
200
+ 68
201
+ ],
202
+ "sources": [
203
+ {
204
+ "path": "packages/auto-model-routing/src/policy-host.ts",
205
+ "line": 167,
206
+ "end_line": 172
207
+ }
208
+ ]
209
+ }
210
+ ],
211
+ "connections": [
212
+ {
213
+ "id": "main-judge",
214
+ "from": "turn",
215
+ "to": "judge",
216
+ "label": "投入"
217
+ },
218
+ {
219
+ "id": "judge-route",
220
+ "from": "judge",
221
+ "to": "route",
222
+ "label": "决策"
223
+ },
224
+ {
225
+ "id": "child-judge",
226
+ "from": "child",
227
+ "to": "judge",
228
+ "label": "任务",
229
+ "fromSide": "top",
230
+ "toSide": "bottom"
231
+ },
232
+ {
233
+ "id": "child-store",
234
+ "from": "child",
235
+ "to": "persist",
236
+ "label": "绑定"
237
+ },
238
+ {
239
+ "id": "route-request",
240
+ "from": "route",
241
+ "to": "request",
242
+ "label": "应用"
243
+ },
244
+ {
245
+ "id": "request-match",
246
+ "from": "request",
247
+ "to": "evidence",
248
+ "label": "请求头"
249
+ },
250
+ {
251
+ "id": "match-feedback",
252
+ "from": "evidence",
253
+ "to": "feedback",
254
+ "label": "匹配"
255
+ },
256
+ {
257
+ "id": "feedback-snapshot",
258
+ "from": "feedback",
259
+ "to": "snapshot",
260
+ "label": "绑定回复"
261
+ }
262
+ ],
263
+ "cards": [
264
+ {
265
+ "dot": "cyan",
266
+ "title": "决策服务",
267
+ "items": [
268
+ "OpenRouter / TypeSafe / Concentrate / 自定义 System One",
269
+ "不自动切换服务或重试"
270
+ ]
271
+ },
272
+ {
273
+ "dot": "amber",
274
+ "title": "支持边界",
275
+ "items": [
276
+ "MANUAL 不做新判断; 保留显式约束",
277
+ "fork 暂不支持; 已应用不等于任务成功"
278
+ ]
279
+ }
280
+ ]
281
+ }