@peterwangze/claude-trigger-router 1.8.0 → 1.10.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 +52 -50
- package/dist/cli.js +471 -31
- package/dist/cli.js.map +4 -4
- package/docs/cli-test-matrix.md +1 -1
- package/docs/configuration-guide.md +2 -2
- package/docs/configuration-roles.md +3 -3
- package/docs/release-notes-v1.10.0.md +37 -0
- package/docs/release-notes-v1.9.0.md +33 -0
- package/docs/releasing.md +4 -4
- package/docs/remote-client-guide.md +3 -1
- package/docs/server-maintainer-guide.md +6 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,11 +11,54 @@ Claude Trigger Router 是给 Claude Code 用的本地路由代理。
|
|
|
11
11
|
- 想在 Claude Code 外层增加配置校验、健康检查、治理观测和 UI 工作台
|
|
12
12
|
- 想从 `claude-code-router` 迁移到更清晰的 `Models + Router` 配置心智
|
|
13
13
|
|
|
14
|
-
##
|
|
14
|
+
## 5 分钟跑起来
|
|
15
|
+
|
|
16
|
+
安装并确认命令可用:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install -g @peterwangze/claude-trigger-router
|
|
20
|
+
ctr version
|
|
21
|
+
ctr help
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
首次使用最推荐走交互式 setup:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
ctr setup
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
`ctr setup` 会自动处理:
|
|
31
|
+
|
|
32
|
+
- 复用已有 `~/.claude-trigger-router/config.yaml`
|
|
33
|
+
- 探测并迁移旧 `claude-code-router` 配置
|
|
34
|
+
- 在没有可用配置时询问“本地使用”、“连接远程服务”还是“部署为远程服务端”
|
|
35
|
+
- 本地使用时创建最小可用配置
|
|
36
|
+
- 连接远程服务时写入 `Runtime.remote_service`,不要求你先填写本地 provider/model
|
|
37
|
+
- 部署为远程服务端时生成 server profile 和 bootstrap admin `APIKEY`,但不会自动启动服务
|
|
38
|
+
- 本地使用时,引导填写默认模型 ID、接口地址、API Key 和模型名
|
|
39
|
+
- 本地使用时,可选追加复杂任务模型,并生成 SmartRouter 起步模板
|
|
40
|
+
- 保存配置后按角色输出下一步:本地路径提示 `ctr code` 和路由模板,远程客户端路径提示 `ctr doctor` / `ctr status` / 本地代理转发,服务端路径提示 `ctr doctor` / `ctr start --daemon`
|
|
15
41
|
|
|
16
|
-
|
|
42
|
+
本地日常使用路径:
|
|
17
43
|
|
|
18
|
-
|
|
44
|
+
```bash
|
|
45
|
+
ctr status
|
|
46
|
+
ctr doctor
|
|
47
|
+
ctr code
|
|
48
|
+
ctr ui
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
`ctr code` 会带着本地代理环境启动 Claude Code。之后你在 Claude Code 里的请求会经过本地 Trigger Router;`ctr ui` 用于查看当前服务、配置草稿、远程状态、compiled models 和治理摘要。
|
|
52
|
+
|
|
53
|
+
如果 setup 选择的是“连接远程服务”,它会生成远程服务连接配置;先用 `ctr doctor` / `ctr status` 检查远端 ready 状态,再运行 `ctr code`,Claude Code 会继续连接本地 `ctr`,由本地 `ctr` 把模型调用转发到远端 CTR。直接把 Claude Code 指向远端服务仍然可用,但属于可选路径;这时使用 `ANTHROPIC_BASE_URL` 指向远端服务地址,并用 `ANTHROPIC_AUTH_TOKEN` 传服务维护者发放的 managed key。
|
|
54
|
+
|
|
55
|
+
如果 setup 选择的是“部署为远程服务端”,setup 只生成配置,不会自动启动;请先编辑 `Models[].key` / `Models[].model`,再运行 `ctr doctor` 和 `ctr start --daemon`。服务端和远程客户端细节见下方“部署模式与边界”。
|
|
56
|
+
|
|
57
|
+
## v1.10.0 发布定位
|
|
58
|
+
|
|
59
|
+
`v1.10.0` 是智能路由自适应与多模型协同增强版。它把真实 trace 里的质量、失败、延迟、cascade、shadow 和人工校准证据反哺 SmartRouter,让路由不只依赖静态描述,而是能基于候选模型画像、confidence threshold 和 latency budget 选择更合适的 fast/deep/verify/cascade 路径。
|
|
60
|
+
|
|
61
|
+
这个版本不声明完整自动化多 agent 编排、全量任务拆解执行器、跨请求在线学习系统或完整云端模型调度平台;`compare_then_arbiter` / `cascade_on_evidence` 先作为可配置协作 contract 和可观测策略入口收口。完整发布边界见 [docs/release-notes-v1.10.0.md](docs/release-notes-v1.10.0.md)。
|
|
19
62
|
|
|
20
63
|
## 版本路线
|
|
21
64
|
|
|
@@ -27,6 +70,8 @@ Claude Trigger Router 是给 Claude Code 用的本地路由代理。
|
|
|
27
70
|
- `v1.6.0`:多模型收益运营化,已补 benchmark history、人工校准 UI、核心路由场景任务集和评测/真实 trace 统一解释。
|
|
28
71
|
- `v1.7.0`:服务化与模型池安全体验,已补服务端安全默认值、密钥轮换、主动 pool health、成本/速率元数据和更多调度策略。
|
|
29
72
|
- `v1.8.0`:低侵入 agent/tool 增强与架构减压,已补 runtime pipeline、管理 API route contract、UI fragment contract、handoff summary、tool capability guardrail、输入/输出 guardrail 和 trace spans。
|
|
73
|
+
- `v1.9.0`:用户入口与远程客户端一致性收口,已补远程客户端 proxy 文档、setup next steps、远程 Claude Code 鉴权变量、受保护 `/ui` admin 入口指导和 README 新用户路径前置。
|
|
74
|
+
- `v1.10.0`:智能路由自适应与多模型协同增强,已补 outcome-driven routing feedback、模型能力画像、confidence/latency budget、多模型协作模式和 UI 协作证据入口。
|
|
30
75
|
|
|
31
76
|
完整版本计划见 [docs/superpowers/plans/2026-05-07-core-routing-version-plan.md](docs/superpowers/plans/2026-05-07-core-routing-version-plan.md)。
|
|
32
77
|
|
|
@@ -41,7 +86,7 @@ Claude Trigger Router 是给 Claude Code 用的本地路由代理。
|
|
|
41
86
|
- **路由评测**:`ctr eval --tasks` 查看固定任务契约,`ctr eval --input results.json` 离线评分,`ctr eval --run --models "sonnet;haiku"` 真实调用 CTR 做多模型 A/B;追加 `--judge-model` 后可调用一个 LLM 裁判模型给结果打分。
|
|
42
87
|
- **doctor 诊断**:检查配置、服务可启动性、基础路由槽位、上下文窗口提示、鉴权安全状态、模型兼容策略和可选模型探测。
|
|
43
88
|
- **UI 工作台**:`ctr ui` 打开本地页面,查看服务上下文、远程状态、鉴权安全状态、配置草稿、compiled models、capability warnings、治理 trace、metrics 和 Health 摘要。
|
|
44
|
-
-
|
|
89
|
+
- **远程客户端基础**:可配置 `Runtime.remote_service`,通过 `/api/remote-status` 查看远程服务健康、compiled model 摘要和治理告警摘要;在本地 `ctr code` 主路径中,本地 `ctr` 也可作为 thin proxy 把模型调用转发到远端 CTR。默认用户不需要配置远程模式。
|
|
45
90
|
|
|
46
91
|
## 部署模式与边界
|
|
47
92
|
|
|
@@ -51,7 +96,7 @@ Claude Trigger Router 是给 Claude Code 用的本地路由代理。
|
|
|
51
96
|
- `server`:把 `ctr` 作为远程路由服务运行。它暴露 `/api/service-info`、`/api/remote-status`、`/api/registration`、`/ui` 等服务端状态和管理入口。
|
|
52
97
|
- `cloud`:保留给托管/云端形态的配置语义;当前 npm 包仍按自托管进程运行,不包含托管控制面或集群编排。
|
|
53
98
|
|
|
54
|
-
|
|
99
|
+
已落地的远程能力聚焦在“远程服务连接配置、状态查询、注册摘要和本地 thin proxy 转发”。远程客户端配置下,Claude Code 仍连接本地 `ctr`,本地 `ctr` 会把 `/v1/messages` 与 `/v1/chat/completions` 转发到远端 CTR;这不会自动启用尚未实现的集群、节点调度或托管控制面。
|
|
55
100
|
|
|
56
101
|
如果要把当前机器作为远程 `server` 暴露给其他客户端,先生成安全默认的服务端配置:
|
|
57
102
|
|
|
@@ -108,6 +153,7 @@ ctr start --daemon
|
|
|
108
153
|
- `APIKEY` 定位为 bootstrap/admin key;服务端启动后用它调用 `POST /api/auth/keys` 生成给远程使用者的 managed key。
|
|
109
154
|
- 远程日常 token 推荐同时授予 `client + read-only`:`client` 用于模型调用,`read-only` 用于 ready/status、compiled models 和 governance 观测接口。
|
|
110
155
|
- `admin` key 才能访问 `/ui`、配置保存和 auth 管理。列表接口只返回 key 前后缀,secret 只在创建时返回一次。
|
|
156
|
+
- 启用鉴权后,浏览器直接打开 `/ui` 不能自动携带 `Authorization` header;维护者应通过内网/本地隧道或 HTTPS 反向代理注入 `Authorization: Bearer <admin-key>` 后访问,不要把 admin key 放进 URL。API smoke 可以用 `curl -H "Authorization: Bearer $CTR_ADMIN_KEY" http://127.0.0.1:5678/api/service-info`。
|
|
111
157
|
- `operator` key 用于日常运维写操作,例如重启、治理指标快照/定时快照、异常阈值和归档删除;它不能读取配置、保存配置或管理 auth key。
|
|
112
158
|
- managed key 支持过期、撤销和 `quota.request_limit` / `quota.token_limit` / `quota.window_seconds`;窗口配额会持久化到本地状态文件,超限时 429 会返回 `quota.windowResetAt` 和 `Retry-After`。
|
|
113
159
|
- `GET /api/service-info` 会返回脱敏的 `auth` / `security` 摘要和 quota 用量;`GET /api/auth/audit` 可用 admin key 查看最近鉴权允许/拒绝记录。
|
|
@@ -117,50 +163,6 @@ ctr start --daemon
|
|
|
117
163
|
- `Registration.strategy` 支持 `priority`、`least-latency`、`round-robin`、`health-aware`、`cost-aware`,active endpoint 和 fallback candidate 使用同一排序口径。
|
|
118
164
|
- 公网入口仍建议放在 HTTPS 反向代理之后;远程浏览器访问 UI 时建议使用本地隧道、内网访问,或由反向代理处理认证。
|
|
119
165
|
|
|
120
|
-
## 安装
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
|
-
npm install -g @peterwangze/claude-trigger-router
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
安装后确认命令可用:
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
ctr version
|
|
130
|
-
ctr help
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
## 5 分钟跑起来
|
|
134
|
-
|
|
135
|
-
首次使用最推荐走交互式 setup:
|
|
136
|
-
|
|
137
|
-
```bash
|
|
138
|
-
ctr setup
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
`ctr setup` 会自动处理:
|
|
142
|
-
|
|
143
|
-
- 复用已有 `~/.claude-trigger-router/config.yaml`
|
|
144
|
-
- 探测并迁移旧 `claude-code-router` 配置
|
|
145
|
-
- 在没有可用配置时询问“本地使用”、“连接远程服务”还是“部署为远程服务端”
|
|
146
|
-
- 本地使用时创建最小可用配置
|
|
147
|
-
- 连接远程服务时写入 `Runtime.remote_service`,不要求你先填写本地 provider/model
|
|
148
|
-
- 部署为远程服务端时生成 server profile 和 bootstrap admin `APIKEY`,但不会自动启动服务
|
|
149
|
-
- 本地使用时,引导填写默认模型 ID、接口地址、API Key 和模型名
|
|
150
|
-
- 本地使用时,可选追加复杂任务模型,并生成 SmartRouter 起步模板
|
|
151
|
-
- 保存配置后按角色输出下一步:本地路径提示 `ctr code` 和路由模板,远程客户端路径提示 `ctr status` / 远端 ready 检查,服务端路径提示 `ctr doctor` / `ctr start --daemon`
|
|
152
|
-
|
|
153
|
-
本地使用路径完成后按这个顺序使用:
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
ctr status
|
|
157
|
-
ctr code
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
`ctr code` 会带着本地代理环境启动 Claude Code。之后你在 Claude Code 里的请求会经过本地 Trigger Router。
|
|
161
|
-
|
|
162
|
-
如果 setup 选择的是“连接远程服务”,当前主要用于生成远程服务连接配置并通过 `ctr status` 检查远端 ready 状态;日常直连远程服务时,请按服务维护者提供的 `ANTHROPIC_BASE_URL` 和 `ANTHROPIC_AUTH_TOKEN` 配置 Claude Code。首次日常使用仍建议先跑通本地 `Models + Router.default` 主路径。如果选择“部署为远程服务端”,setup 只生成配置,不会自动启动;请先编辑 `Models[].key` / `Models[].model`,再运行 `ctr doctor` 和 `ctr start --daemon`。
|
|
163
|
-
|
|
164
166
|
## 手动配置
|
|
165
167
|
|
|
166
168
|
如果你更喜欢手动编辑,可以先生成模板:
|
|
@@ -531,7 +533,7 @@ GET /api/registration
|
|
|
531
533
|
GET /api/auth/audit
|
|
532
534
|
```
|
|
533
535
|
|
|
534
|
-
这条能力当前作为远程接入基础 contract
|
|
536
|
+
这条能力当前作为远程接入基础 contract 提供,用于服务发现、状态检查、注册摘要和本地 thin proxy 转发。启用 `Runtime.remote_service` 后,Claude Code 仍可通过本地 `ctr code` 进入,本地 `ctr` 会把模型请求转发到远端 CTR;直接连接远端服务只是可选高级路径。首次本地使用仍建议从 `ctr setup -> ctr start -> ctr code` 开始。
|
|
535
537
|
|
|
536
538
|
## 常用命令
|
|
537
539
|
|