@peterwangze/claude-trigger-router 1.14.0 → 1.16.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 +5 -5
- package/dist/cli.js +45 -5
- package/dist/cli.js.map +2 -2
- package/docs/configuration-guide.md +1 -1
- package/docs/release-notes-v1.15.0.md +45 -0
- package/docs/release-notes-v1.16.0.md +46 -0
- package/docs/releasing.md +10 -7
- package/package.json +2 -2
|
@@ -270,7 +270,7 @@ Governance:
|
|
|
270
270
|
- 复用当前可用配置
|
|
271
271
|
- 迁移旧 `claude-code-router` 配置
|
|
272
272
|
- 在没有可用配置时先询问“本地使用”、“连接远程服务”或“部署为远程服务端”
|
|
273
|
-
-
|
|
273
|
+
- 本地使用时先新建 `Models[].id + Router.default` 最小配置;如果继续添加复杂任务模型,可直接把它接到 `Router.think` / `Router.longContext`,并可生成 SmartRouter 规则或候选兜底
|
|
274
274
|
- 连接远程服务时写入 `Runtime.remote_service`,不要求先填写本地 provider/model
|
|
275
275
|
- 部署为远程服务端时写入 `HOST: "0.0.0.0"`、bootstrap admin `APIKEY`、`Runtime.mode: "server"` 和可编辑的 `Models + Router.default` 起步模板,并且不会自动启动服务
|
|
276
276
|
- 保存后按角色输出下一步:本地路径提示本地代理状态、`ctr code` 和路由模板;远程客户端路径提示 `ctr status`、远端 ready/status、本地代理转发和可选直连 `ANTHROPIC_BASE_URL` / `ANTHROPIC_AUTH_TOKEN`;服务端路径提示 `ctr doctor` 与 `ctr start --daemon`
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Release notes v1.15.0
|
|
2
|
+
|
|
3
|
+
`v1.15.0` 定位为“CLI/setup UX 重设计收口版”。这个版本不扩展新的运行时路由策略,而是把 fresh setup、legacy migration、remote client、server profile、SmartRouter 起步引导和短入口 smoke 继续收敛到同一条用户主路径。
|
|
4
|
+
|
|
5
|
+
## What changed
|
|
6
|
+
|
|
7
|
+
1. migration-first 与 model-id-first 主路径收口。
|
|
8
|
+
- `ctr setup` 继续优先复用当前配置或迁移旧 `claude-code-router` 配置;fresh setup 才进入新建流程。
|
|
9
|
+
- fresh setup 的核心问题保持为默认模型 `Models[].id`,`Router.default` 引用这个 model id。
|
|
10
|
+
- setup 持久化边界写出 canonical `Models[].id/api/key/interface/model/thinking/metadata`,不会把 `api_base_url/api_key/protocol` 作为新配置入口回流。
|
|
11
|
+
- `ctr help` 和 README quick start 已同步“复用/迁移优先;首次按 Models[].id 创建默认路由”的入口心智。
|
|
12
|
+
|
|
13
|
+
2. 多模型与 SmartRouter 起步引导。
|
|
14
|
+
- fresh setup 在最小配置后可继续添加复杂任务模型。
|
|
15
|
+
- 新增基础槽位引导:复杂任务模型可直接接到 `Router.think`,或同时接到 `Router.think + Router.longContext`。
|
|
16
|
+
- SmartRouter 起步仍是可选项:可只生成复杂任务规则,也可生成规则 + candidates 智能兜底。
|
|
17
|
+
- 配置指南已说明 setup 可以直接生成可运行、可解释的多模型/SmartRouter 起步配置。
|
|
18
|
+
|
|
19
|
+
3. 完成页 next steps 一致性。
|
|
20
|
+
- 本地使用完成页明确提示先用 `ctr doctor` 或 `ctr status` 确认代理状态,再用 `ctr code` 进入 Claude Code;需要查看配置、路由原因或健康状态时运行 `ctr ui`。
|
|
21
|
+
- 远程客户端完成页继续提示 `doctor/status -> code` 的本地 thin proxy 主路径。
|
|
22
|
+
- 服务端部署完成页继续提示检查 `Models[].id/api/key/interface/model` 后运行 `ctr doctor && ctr start --daemon`。
|
|
23
|
+
- packaged CLI E2E 覆盖三类 setup profile 的完成提示和副作用边界。
|
|
24
|
+
|
|
25
|
+
4. CLI 帮助与入口 smoke 补强。
|
|
26
|
+
- packaged help e2e 现在断言 setup、doctor、code、ui 和 route preview 示例的用户可见文案。
|
|
27
|
+
- `npm run test:e2e:cli:entry` 已纳入 help smoke,短入口门禁覆盖 help、init、doctor、start/status/stop、setup fresh、setup remote client、setup server deployment、code 和 ui。
|
|
28
|
+
|
|
29
|
+
## Validation
|
|
30
|
+
|
|
31
|
+
Targeted validation before release:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npx vitest --run src/setup/index.test.ts src/setup/templates.test.ts src/cli-run.test.ts src/build-script.test.ts src/deploy-assets.test.ts
|
|
35
|
+
npx vitest --run src/e2e/cli-e2e.test.ts -t "setup can create a fresh config on first use when no current or legacy config exists"
|
|
36
|
+
npx vitest --run src/e2e/cli-e2e.test.ts -t "setup can create a fresh config|setup can create a remote-service client config|setup can create a server deployment profile"
|
|
37
|
+
npx vitest --run src/e2e/cli-acceptance.test.ts -t "fresh setup -> status -> code smoke"
|
|
38
|
+
npm run test:e2e:cli:entry
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Final release gate:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npm run release:verify
|
|
45
|
+
```
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Release notes v1.16.0
|
|
2
|
+
|
|
3
|
+
`v1.16.0` 定位为“用户视角复审与入口一致性校准版”。这个版本不新增新的运行时路由策略,而是把项目目标、用户高频入口、已发布 closed 事项和 `/ui` 第一屏重新对齐到同一条产品主路径。
|
|
4
|
+
|
|
5
|
+
## 本次闭环
|
|
6
|
+
|
|
7
|
+
1. 项目目标与实现一致性复审
|
|
8
|
+
- 复核 README、configuration guide、setup、doctor、`/ui`、远程客户端与运行时主路径。
|
|
9
|
+
- 当前产品目标继续收敛为 Claude Code 本地/远程路由代理,不扩张为完整 agent 平台或托管控制面。
|
|
10
|
+
- fresh setup、远程转发、配置保存、鉴权、route preview、结构化 API error 和发布门禁继续作为用户主路径底线。
|
|
11
|
+
|
|
12
|
+
2. 角色化 `/ui` 入口
|
|
13
|
+
- `/ui` 第一屏新增本地使用者、远程客户端、服务维护者和路由设计辅助入口。
|
|
14
|
+
- 新增 UX 诊断面板,帮助后续评估入口可见性、角色路径、核心路由解释和维护者排障入口。
|
|
15
|
+
- 宽表格约束在工作台面板内,避免第一屏或维护者视图出现整页横向溢出。
|
|
16
|
+
|
|
17
|
+
3. 高频入口与核心路由体感验证
|
|
18
|
+
- 复核 fresh setup、legacy migration、remote client、server profile、route preview、结构化 API error、stream error、remote forwarding 和 `/ui`。
|
|
19
|
+
- `npm run test:e2e:cli:entry` 继续保护 help、setup、doctor、code、ui 等短入口。
|
|
20
|
+
- packaged entry slice 继续覆盖 `setup can create a remote-service client config` 和 server deployment profile,避免远程客户端完成页与真实 CLI 入口漂移。
|
|
21
|
+
- `npm run test:route-ux` 继续保护 route preview、即时流式输出、上游断流可读错误、远程中转取消和结构化错误。
|
|
22
|
+
|
|
23
|
+
4. 已发布 closed 事项校准
|
|
24
|
+
- 抽样复核 v1.9.0 到 v1.15.0 的用户入口、远程客户端、SmartRouter 协作口径、流式韧性、配置产品化和 setup UX 闭环证据。
|
|
25
|
+
- 本轮未发现需要推翻 closed 结论的新漂移。
|
|
26
|
+
|
|
27
|
+
## 发布边界
|
|
28
|
+
|
|
29
|
+
- 不改变 SmartRouter 默认运行时语义;v1.10.0 的协作模式仍是 contract,不默认开启多模型并发。
|
|
30
|
+
- 不新增新的模型调度策略、治理算法或远程部署形态。
|
|
31
|
+
- 不完成 v1.17.0 计划中的 UI CSS/JS helper 拆分、trace span 视图和真实浏览器 smoke。
|
|
32
|
+
|
|
33
|
+
## 发布前验证
|
|
34
|
+
|
|
35
|
+
本版本发布前至少执行:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npx vitest --run src/deploy-assets.test.ts
|
|
39
|
+
npm run test:ui
|
|
40
|
+
npm run test:e2e:cli:entry
|
|
41
|
+
npm run test:route-ux
|
|
42
|
+
npm run build
|
|
43
|
+
npm run release:verify
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
其中 `release:verify` 仍是最终发布门禁。
|
package/docs/releasing.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- `Release Check`:在 PR、`master` push 和手动触发时执行发布前检查
|
|
8
8
|
- `Publish Package`:在版本 tag、GitHub Release 或手动触发时执行正式发布
|
|
9
9
|
|
|
10
|
-
本次 `v1.
|
|
10
|
+
本次 `v1.16.0` minor release 的优先级是用户视角复审与入口一致性校准。发布检查需要优先保护既有 `setup / start / status / code / doctor / ui` 入口主路径,以及 fresh setup、远程转发、配置保存、鉴权、route preview 可读解释、`/v1/messages` 流式即时透传、上游中途断流的可读 SSE error、远程中转客户端断开取消上游、结构化 API error 返回不回退和 `/ui` 角色化第一屏不漂移。
|
|
11
11
|
|
|
12
12
|
## 一次性准备
|
|
13
13
|
|
|
@@ -26,20 +26,23 @@
|
|
|
26
26
|
|
|
27
27
|
1. 更新版本号
|
|
28
28
|
- `vX.Y.0` 这类 minor release 还需要同步更新版本依赖用例、README 发布定位和对应 release notes。
|
|
29
|
-
- 本次 `v1.
|
|
29
|
+
- 本次 `v1.16.0` 的发布边界以 `docs/release-notes-v1.16.0.md` 为准:主打用户视角复审、入口一致性校准、角色化 `/ui` 第一屏、高频入口验证和已发布 closed 事项抽样校准。
|
|
30
30
|
2. 本地先执行发布包验证:
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
33
|
npm run release:verify
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
v1.
|
|
36
|
+
v1.16.0 期间建议在正式 `release:verify` 前额外跑一次用户入口与核心路由体感专项:
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
|
-
npx vitest --run src/
|
|
39
|
+
npx vitest --run src/deploy-assets.test.ts
|
|
40
|
+
npm run test:ui
|
|
41
|
+
npm run test:e2e:cli:entry
|
|
42
|
+
npm run test:route-ux
|
|
40
43
|
```
|
|
41
44
|
|
|
42
|
-
这条专项把 doctor
|
|
45
|
+
这条专项把 README/发布说明入口、`/ui` 角色化第一屏、help/setup/doctor/code/ui 短入口、setup fresh、remote client、server deployment、route preview、即时流式输出、上游断流可读 error、远程中转取消和结构化 API error 串成同一个发布前门禁。它关注用户能直接感知的“能不能进入、会不会卡住、错误能不能读懂、路由选择能不能预期”,不是只检查内部函数返回。
|
|
43
46
|
|
|
44
47
|
v1.12.0 期间建议在正式 `release:verify` 前额外跑一次流式稳定专项:
|
|
45
48
|
|
|
@@ -52,7 +55,7 @@ npm run test:e2e:cli
|
|
|
52
55
|
npm run test:e2e:acceptance
|
|
53
56
|
```
|
|
54
57
|
|
|
55
|
-
其中 coverage 口径已经从早期 `src/trigger/**/*.ts` 扩展到 setup、config、models、protocols、governance、server、auth、doctor、cli 主链;`test:ui` 是源码侧 `/ui` DOM smoke,用于保护配置载入、compiled preview、保存失败提示、Health action、benchmark history 和人工校准表单这类基础交互;`test:e2e:cli:entry` 是较短的打包后入口 smoke,用于先保护 init、doctor、start/status/stop、setup fresh、setup remote client、setup server deployment、code 和 ui;后续新增入口功能时,先补对应看护再扩展低频能力。
|
|
58
|
+
其中 coverage 口径已经从早期 `src/trigger/**/*.ts` 扩展到 setup、config、models、protocols、governance、server、auth、doctor、cli 主链;`test:ui` 是源码侧 `/ui` DOM smoke,用于保护配置载入、compiled preview、保存失败提示、Health action、benchmark history 和人工校准表单这类基础交互;`test:e2e:cli:entry` 是较短的打包后入口 smoke,用于先保护 help、init、doctor、start/status/stop、setup fresh、setup remote client、setup server deployment、code 和 ui;后续新增入口功能时,先补对应看护再扩展低频能力。
|
|
56
59
|
|
|
57
60
|
这一步会依次执行:
|
|
58
61
|
|
|
@@ -69,7 +72,7 @@ npm run test:e2e:acceptance
|
|
|
69
72
|
|
|
70
73
|
其中两层打包后验证分别承担不同职责:
|
|
71
74
|
|
|
72
|
-
- `npm run test:e2e:cli:entry`:覆盖打包后 CLI 的入口 smoke,优先保护 init、doctor、start/status/stop、setup fresh、setup remote client、setup server deployment、code 和 ui
|
|
75
|
+
- `npm run test:e2e:cli:entry`:覆盖打包后 CLI 的入口 smoke,优先保护 help、init、doctor、start/status/stop、setup fresh、setup remote client、setup server deployment、code 和 ui
|
|
73
76
|
- `npm run test:e2e:cli`:覆盖打包后 CLI 的主要命令、选择路径与文件副作用边界;当前 Windows 本地完整运行约 3-4 分钟
|
|
74
77
|
- `npm run test:e2e:acceptance`:通过真实 shell / 全局 wrapper / 隔离 HOME 做更贴近人工验收的主路径看护
|
|
75
78
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peterwangze/claude-trigger-router",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.16.0",
|
|
4
4
|
"description": "Intelligent trigger-based router for Claude Code with automatic task type detection and model routing",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ctr": "dist/cli.js"
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"test:route-ux": "vitest --run src/router/route-preview.test.ts src/doctor/index.test.ts src/governance/stream-response-governance.test.ts src/index-startup.test.ts src/e2e/cli-e2e.test.ts -t \"route preview|previews route decisions|router slot summary|emits streamed chunks|readable SSE error|remote forwarding|structured 502|upstream error payloads|SmartRouter rules route|SmartRouter selects\"",
|
|
31
31
|
"test:ui": "vitest --run src/ui/workbench.dom.test.ts",
|
|
32
32
|
"test:e2e:cli": "vitest --run src/e2e/cli-e2e.test.ts",
|
|
33
|
-
"test:e2e:cli:entry": "vitest --run src/e2e/cli-e2e.test.ts -t \"init --force generates|doctor can repair|start/status/stop work|code reuses|ui prints|setup can create a fresh config|setup can create a remote-service client config|setup can create a server deployment profile\"",
|
|
33
|
+
"test:e2e:cli:entry": "vitest --run src/e2e/cli-e2e.test.ts -t \"help exits cleanly|init --force generates|doctor can repair|start/status/stop work|code reuses|ui prints|setup can create a fresh config|setup can create a remote-service client config|setup can create a server deployment profile\"",
|
|
34
34
|
"test:e2e:acceptance": "vitest --run src/e2e/cli-acceptance.test.ts",
|
|
35
35
|
"verify:package": "pwsh -NoProfile -ExecutionPolicy Bypass -File scripts/verify-package.ps1",
|
|
36
36
|
"install:local-release": "pwsh -NoProfile -ExecutionPolicy Bypass -File scripts/install-local-release.ps1",
|