@peterwangze/claude-trigger-router 1.5.0 → 1.7.0
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/README.md +22 -6
- package/dist/cli.js +7593 -7063
- package/dist/cli.js.map +4 -4
- package/docs/configuration-guide.md +11 -4
- package/docs/release-notes-v1.6.0.md +36 -0
- package/docs/release-notes-v1.7.0.md +36 -0
- package/docs/releasing.md +5 -5
- package/docs/server-maintainer-guide.md +20 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,11 +11,11 @@ Claude Trigger Router 是给 Claude Code 用的本地路由代理。
|
|
|
11
11
|
- 想在 Claude Code 外层增加配置校验、健康检查、治理观测和 UI 工作台
|
|
12
12
|
- 想从 `claude-code-router` 迁移到更清晰的 `Models + Router` 配置心智
|
|
13
13
|
|
|
14
|
-
## v1.
|
|
14
|
+
## v1.7.0 发布定位
|
|
15
15
|
|
|
16
|
-
`v1.
|
|
16
|
+
`v1.7.0` 是远程服务与模型池安全体验版。它把已有 server deploy、managed key、quota、remote forward、registration model pool 和 pool health 基础收口成更安全、更可运营的自托管服务路径。
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
这个版本新增 server profile 默认安全策略、managed key 轮换、模型池主动健康探测、成本/速率元数据,以及 round-robin / health-aware / cost-aware 调度策略。它不把完整 cloud 托管控制面、节点集群编排或 agent 平台化纳入发布承诺。完整发布边界见 [docs/release-notes-v1.7.0.md](docs/release-notes-v1.7.0.md)。
|
|
19
19
|
|
|
20
20
|
## 版本路线
|
|
21
21
|
|
|
@@ -24,8 +24,8 @@ Claude Trigger Router 是给 Claude Code 用的本地路由代理。
|
|
|
24
24
|
- `v1.3.0`:基础路由常用体验,已收口 `Router.default` / `think` / `longContext` / `background` / `webSearch` 五槽位、doctor 诊断、UI 路由解释和 packaged smoke。
|
|
25
25
|
- `v1.4.0`:SmartRouter 常用体验,已收口规则模板、候选模型配置向导、路由决策解释、切换体感摘要和配置路径级调优建议。
|
|
26
26
|
- `v1.5.0`:入口基础功能稳定与易用性巩固,已补 packaged entry smoke、remote/server setup slice、UI DOM smoke 和配置保存安全线。
|
|
27
|
-
- `v1.6.0
|
|
28
|
-
- `v1.7.0
|
|
27
|
+
- `v1.6.0`:多模型收益运营化,已补 benchmark history、人工校准 UI、核心路由场景任务集和评测/真实 trace 统一解释。
|
|
28
|
+
- `v1.7.0`:服务化与模型池安全体验,已补服务端安全默认值、密钥轮换、主动 pool health、成本/速率元数据和更多调度策略。
|
|
29
29
|
|
|
30
30
|
完整版本计划见 [docs/superpowers/plans/2026-05-07-core-routing-version-plan.md](docs/superpowers/plans/2026-05-07-core-routing-version-plan.md)。
|
|
31
31
|
|
|
@@ -71,7 +71,7 @@ npm 包也随附可复制部署模板:
|
|
|
71
71
|
- 服务提供者/维护者:[docs/server-maintainer-guide.md](docs/server-maintainer-guide.md)
|
|
72
72
|
- 远程服务使用者:[docs/remote-client-guide.md](docs/remote-client-guide.md)
|
|
73
73
|
|
|
74
|
-
这些模板仍以 `ctr deploy init --target server`
|
|
74
|
+
这些模板仍以 `ctr deploy init --target server` 生成的配置为起点。生成的 server profile 会写入 `Runtime.security` 默认策略:公网监听必须有鉴权、bootstrap key 只用于 admin、远程客户端使用 managed `client + read-only` key,公网部署前应放在 HTTPS 反向代理或内网之后。`GET /api/service-info` 会返回同一策略和部署 checklist,方便 `/ui`、`ctr status` 和维护脚本复核。
|
|
75
75
|
|
|
76
76
|
生成后确认或调整的最小结构如下:
|
|
77
77
|
|
|
@@ -110,6 +110,10 @@ ctr start --daemon
|
|
|
110
110
|
- `operator` key 用于日常运维写操作,例如重启、治理指标快照/定时快照、异常阈值和归档删除;它不能读取配置、保存配置或管理 auth key。
|
|
111
111
|
- managed key 支持过期、撤销和 `quota.request_limit` / `quota.token_limit` / `quota.window_seconds`;窗口配额会持久化到本地状态文件,超限时 429 会返回 `quota.windowResetAt` 和 `Retry-After`。
|
|
112
112
|
- `GET /api/service-info` 会返回脱敏的 `auth` / `security` 摘要和 quota 用量;`GET /api/auth/audit` 可用 admin key 查看最近鉴权允许/拒绝记录。
|
|
113
|
+
- `POST /api/auth/keys/:id/rotate` 会生成替代 managed key、只返回一次新 secret,并立即吊销旧 key;用于定期轮换、交接和疑似泄漏处置。
|
|
114
|
+
- `POST /api/models/pool-health/probe` 可由 operator/admin 触发主动 pool 探测,用轻量 `HEAD` 检查 enabled endpoint 可达性,并把成功延迟或失败写入现有 pool health。
|
|
115
|
+
- `Registration.models[].metadata` 可声明成本和速率限制:`cost_per_1m_input_tokens`、`cost_per_1m_output_tokens`、`cost_currency`、`rate_limit_rpm`、`rate_limit_tpm`,这些字段会进入 compiled model pool 和 `/api/models/pool-health`。
|
|
116
|
+
- `Registration.strategy` 支持 `priority`、`least-latency`、`round-robin`、`health-aware`、`cost-aware`,active endpoint 和 fallback candidate 使用同一排序口径。
|
|
113
117
|
- 公网入口仍建议放在 HTTPS 反向代理之后;远程浏览器访问 UI 时建议使用本地隧道、内网访问,或由反向代理处理认证。
|
|
114
118
|
|
|
115
119
|
## 安装
|
|
@@ -405,6 +409,7 @@ ctr eval --tasks
|
|
|
405
409
|
ctr eval --input results.json
|
|
406
410
|
ctr eval --run --models "sonnet;haiku"
|
|
407
411
|
ctr eval --run --models "sonnet;haiku" --judge-model sonnet
|
|
412
|
+
ctr eval --history
|
|
408
413
|
```
|
|
409
414
|
|
|
410
415
|
输入文件可以是数组,也可以是 `{ "results": [...] }`:
|
|
@@ -428,6 +433,16 @@ ctr eval --run --models "sonnet;haiku" --judge-model sonnet
|
|
|
428
433
|
|
|
429
434
|
如果你已经有人工复核或外部 LLM 裁判结果,可以在输入里补 `humanScore` / `judgeScore`,范围是 `0..1`。报告会生成 calibration summary,并标出 deterministic rubric 与人工/裁判结果差异较大的任务,帮助维护者判断某个模型组合是否真的带来质量提升。
|
|
430
435
|
|
|
436
|
+
如果想把多次评测变成可比较的历史趋势,给离线或自动评测追加 `--save-history`:
|
|
437
|
+
|
|
438
|
+
```bash
|
|
439
|
+
ctr eval --input results.json --save-history --history-label baseline
|
|
440
|
+
ctr eval --run --models "sonnet;haiku" --save-history --history-label smart-router-candidates
|
|
441
|
+
ctr eval --history
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
benchmark history 默认保存到 `~/.claude-trigger-router/benchmark-history.json`,只保存摘要、模型均分、best run 和趋势指标,不保存原始模型输出。需要放到别的位置时可以用 `--history-file path/to/history.json`。
|
|
445
|
+
|
|
431
446
|
也可以让 CTR 自动调用一个裁判模型:
|
|
432
447
|
|
|
433
448
|
```bash
|
|
@@ -535,6 +550,7 @@ GET /api/auth/audit
|
|
|
535
550
|
| `ctr eval --input results.json` | 离线固定任务集评测 |
|
|
536
551
|
| `ctr eval --run --models "sonnet;haiku"` | 自动调用 CTR 后评测固定任务集 |
|
|
537
552
|
| `ctr eval --run --models "sonnet;haiku" --judge-model sonnet` | 自动执行并追加 LLM 裁判校准 |
|
|
553
|
+
| `ctr eval --history` | 查看已保存 benchmark 历史趋势 |
|
|
538
554
|
| `ctr ui` | 打开本地 UI 工作台 |
|
|
539
555
|
| `ctr version` | 查看版本 |
|
|
540
556
|
| `ctr upgrade` | 升级 |
|