@peterwangze/claude-trigger-router 1.0.6 → 1.0.7

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 CHANGED
@@ -33,7 +33,8 @@ ctr setup
33
33
 
34
34
  - 检查当前 `~/.claude-trigger-router` 配置是否可以直接复用
35
35
  - 检查旧的 `claude-code-router` 配置是否可以迁移
36
- - 如果都不适用,就引导你创建最小可用配置
36
+ - 如果都不适用,就按“默认模型 ID -> 接入方式 -> API 信息”的顺序引导你创建最小可用配置
37
+ - 完成最小配置后,可选继续添加一个复杂任务模型,并直接生成 SmartRouter 路由模板
37
38
  - 保存配置后启动本地服务
38
39
 
39
40
  这是当前最推荐、也是覆盖最完整的用户入口。
@@ -80,11 +81,20 @@ Router:
80
81
 
81
82
  消息格式转换由路由层统一处理,不需要你自己按不同厂商手写消息体。
82
83
 
83
- ## TriggerRouter:规则路由
84
+ 如果你在 `ctr setup` 中选择继续添加“复杂任务专用模型”,setup 还可以直接帮你补一层 SmartRouter 模板:
84
85
 
85
- `TriggerRouter` 是当前产品的核心功能之一。
86
+ - 规则模板:把架构设计、代码审查、深入分析等高确定性任务切到复杂任务模型
87
+ - 规则 + 智能兜底:在规则之外,再让 `router_model` 在默认模型和复杂任务模型之间自动选择
86
88
 
87
- 它适合“高确定性任务”:
89
+ 这样首次接入时就能同时得到:
90
+
91
+ - 一个默认模型
92
+ - 一个复杂任务模型
93
+ - 一套可直接修改的 SmartRouter 起步模板
94
+
95
+ ## Router:显式规则优先
96
+
97
+ 统一 `Router` 的第一层能力,是先用显式规则处理“高确定性任务”:
88
98
 
89
99
  - 架构设计
90
100
  - 代码审查
@@ -93,6 +103,11 @@ Router:
93
103
 
94
104
  这类任务通常可以通过关键词或规则稳定识别,然后直接路由到你指定的模型。
95
105
 
106
+ 当前这层能力由 `SmartRouter.rules` 承载:
107
+
108
+ - 默认请求先走 `Router.default`
109
+ - 命中显式规则的请求,优先切到规则指定模型
110
+
96
111
  示例:
97
112
 
98
113
  ```yaml
@@ -112,7 +127,7 @@ Models:
112
127
  Router:
113
128
  default: "sonnet"
114
129
 
115
- TriggerRouter:
130
+ SmartRouter:
116
131
  enabled: true
117
132
  analysis_scope: "last_message"
118
133
  rules:
@@ -125,14 +140,9 @@ TriggerRouter:
125
140
  model: "opus"
126
141
  ```
127
142
 
128
- 可以简单理解成:
129
-
130
- - 默认请求走 `Router.default`
131
- - 命中 TriggerRouter 规则的请求,优先切到规则指定模型
143
+ ## Router:候选模型智能兜底
132
144
 
133
- ## SmartRouter:候选模型自动选择
134
-
135
- `SmartRouter` 是当前产品的另一个核心功能。
145
+ 统一 `Router` 的第二层能力,是在显式规则未命中时,用候选模型做智能兜底。
136
146
 
137
147
  它适合“规则难以穷举,但模型选择仍然很重要”的任务:
138
148
 
@@ -140,7 +150,10 @@ TriggerRouter:
140
150
  - 日常修复 vs 架构设计
141
151
  - 常规回答 vs 长上下文分析
142
152
 
143
- 你提供一个路由模型和一组候选模型,`SmartRouter` 会在规则未命中时,从候选模型里自动挑一个更合适的目标。
153
+ 你提供一个路由模型和一组候选模型,路由器会在规则未命中时,从候选模型里自动挑一个更合适的目标。
154
+
155
+ - 规则负责稳定命中
156
+ - 智能兜底负责补上规则没覆盖到的模糊任务
144
157
 
145
158
  示例:
146
159
 
@@ -175,13 +188,14 @@ SmartRouter:
175
188
 
176
189
  可以简单理解成:
177
190
 
178
- - TriggerRouter 解决“能明确命中的规则任务”
179
- - SmartRouter 解决“规则没命中时的动态选模”
191
+ - `Router.default` 负责默认去向
192
+ - 显式规则负责“能明确命中的任务”
193
+ - 智能兜底负责“规则没命中时的动态选模”
180
194
 
181
- 两者可以同时启用:
195
+ 这两层能力可以同时启用:
182
196
 
183
- - 先让 `TriggerRouter` 处理高确定性任务
184
- - 再让 `SmartRouter` 处理剩余的模糊任务
197
+ - 先让显式规则处理高确定性任务
198
+ - 再让智能兜底处理剩余的模糊任务
185
199
 
186
200
  ## `interface` 怎么选
187
201
 
@@ -55,11 +55,10 @@ Router:
55
55
  longContextThreshold: 60000
56
56
  webSearch: "sonnet"
57
57
 
58
- # 3) TriggerRouter:高确定性任务优先走规则路由
59
- TriggerRouter:
58
+ # 3) SmartRouter:统一路由入口。先走高确定性规则,再用候选模型智能兜底
59
+ SmartRouter:
60
60
  enabled: true
61
61
  analysis_scope: "last_message"
62
- llm_intent_recognition: false
63
62
  rules:
64
63
  - name: "architecture"
65
64
  priority: 90
@@ -121,9 +120,6 @@ TriggerRouter:
121
120
  - "simple"
122
121
  model: "ollama_qwen"
123
122
 
124
- # 4) SmartRouter:规则没命中时,从候选模型中自动挑选
125
- SmartRouter:
126
- enabled: true
127
123
  router_model: "sonnet"
128
124
  candidates:
129
125
  - model: "sonnet"
@@ -139,10 +135,6 @@ SmartRouter:
139
135
  max_tokens: 256
140
136
  fallback: "default"
141
137
 
142
- # 5) Governance:治理模块也直接引用 model id
143
- Governance:
144
- enabled: true
145
-
146
138
  sticky:
147
139
  enabled: true
148
140
  session_ttl_ms: 3600000
@@ -153,6 +145,19 @@ Governance:
153
145
  summarizer_model: "sonnet"
154
146
  max_summary_tokens: 256
155
147
 
148
+ semantic:
149
+ enabled: true
150
+ mode: "embedding"
151
+ threshold: 0.2
152
+ prototypes:
153
+ architecture: "重构 系统 结构 模块 拆分 架构 设计"
154
+ code_review: "代码 审查 风险 评审 review"
155
+ complex_reasoning: "复杂 推理 分析 严谨 逻辑 reasoning"
156
+
157
+ # 4) Governance:保留响应治理、级联与观测能力;semantic / sticky 已归入 SmartRouter
158
+ Governance:
159
+ enabled: true
160
+
156
161
  cascade:
157
162
  enabled: true
158
163
  max_attempts: 2
@@ -168,15 +173,6 @@ Governance:
168
173
  to: "opus"
169
174
  reasoning: "high"
170
175
 
171
- semantic:
172
- enabled: true
173
- mode: "embedding"
174
- threshold: 0.2
175
- prototypes:
176
- architecture: "重构 系统 结构 模块 拆分 架构 设计"
177
- code_review: "代码 审查 风险 评审 review"
178
- complex_reasoning: "复杂 推理 分析 严谨 逻辑 reasoning"
179
-
180
176
  shadow:
181
177
  enabled: true
182
178
  mode: "async_audit"
@@ -199,7 +195,7 @@ Governance:
199
195
  spike_warn_rate: 0.5
200
196
  spike_delta_rate: 0.3
201
197
 
202
- # 6) Legacy 兼容:旧 `Providers` 仅作为兼容层保留,不建议新配置继续扩展
198
+ # 5) Legacy 兼容:旧 `Providers` 仅作为兼容层保留,不建议新配置继续扩展
203
199
  # Providers:
204
200
  # - name: openrouter
205
201
  # api_base_url: "https://openrouter.ai/api/v1/chat/completions"