Model Router Hook V4
智能模型路由系统 - 自动根据任务复杂度选择最优 AI 模型。
快速开始
from model_router_hook import create_router
# 创建路由器
router = create_router(
user_id="user_001",
daily_budget=5.0 # 每日预算 5 美元
)
# 处理用户输入 - 自动路由并切换模型
result = router.on_user_input("帮我写个快排算法")
# 返回: {'mode': 'thinking', 'model': 'kimi-coding/kimi-k2-thinking', ...}
# 回复完成后 - 自动反思学习
router.on_response_complete(
user_input="帮我写个快排",
response=generated_response,
user_next_input=user_next_message
)
# 记录实际成本
router.record_actual_cost(tokens_in=1500, tokens_out=800,
actual_cost=0.005, latency_ms=1200)
系统架构
P0-P5 核心层
| 层级 | 功能 | 说明 |
|---|---|---|
| P0 | 意图识别V2 | 14种深度信号(为什么/分析一下/总结一下...) |
| P1 | 动态阈值 | 自适应调整(用户偏好+时间+话题成功率) |
| P2 | 会话记忆 | 上下文感知 + 全局用户画像(跨会话学习) |
| P3 | 事后反思 | 质量评估 + 自动学习 |
| P4 | 自动切换 | OpenClaw 集成,真正执行切换 |
| P5 | 成本控制 | 预算管理 + 实际成本追踪 |
优化A-G
- A: OpenClaw 集成 - 真正调用 session_status
- B: 实际成本追踪 - 支持 API 实际成本
- C: P3 质量评估增强 - 自动检测回复质量
- D: A/B 测试框架 - 策略效果量化
- E: 并发安全 - 线程锁+原子操作
- F: 降级容错 - 错误时自动 fallback
- G: 实时仪表板 - 监控与学习进度
详细使用指南
基础使用
from model_router_hook import create_router
router = create_router(
user_id="my_user", # 用户ID,用于全局画像
daily_budget=10.0, # 每日预算(美元)
enable_ab_test=False # 是否开启 A/B 测试
)
# 处理输入
result = router.on_user_input("帮我分析这个架构")
print(result['mode']) # 'thinking' 或 'fast'
print(result['switched']) # 是否发生了切换
print(result['decision_log']) # 决策原因
# 结束会话(保存学习成果)
router.end_session()
在 OpenClaw 中集成
class SmartAgent:
def __init__(self):
self.router = create_router(
user_id="agent_main",
daily_budget=10.0
)
async def on_message(self, user_input: str):
# 1. 自动路由决策
result = self.router.on_user_input(user_input)
# 2. 使用当前模型生成回复
response = await self.generate_response(user_input)
# 3. 等待下一条消息,然后反思
next_input = await self.wait_for_next_message()
self.router.on_response_complete(
user_input, response, next_input
)
return response
API 参考
详见 scripts/model_router.py 完整代码。
主要类:
ModelRouterHook: 主路由器类SessionMemory: 会话记忆GlobalUserMemory: 全局用户画像CostControllerV2: 成本控制器ResponseQualityEvaluator: 质量评估器Dashboard: 实时仪表板
文件结构
model-router-hook/
├── SKILL.md # 本文件
└── scripts/
└── model_router.py # 主代码 (894行)
存储位置
数据自动存储在:
~/.openclaw/workspace/memory/model-router/user_{id}_profile.json- 全局用户画像session_{id}_memory.json- 会话记忆cost_{user}_{month}.jsonl- 成本记录
测试状态
✅ 全部测试通过 (10/10)
- 意图识别: 14/14 (100%)
- 复杂度分析: 5/5 (100%)
- 成本控制器: ✅
- 质量评估: ✅
- OpenClaw 集成: ✅
- 路由器流程: 4/4 (100%)
- 降级容错: ✅
- 并发安全: ✅
生产就绪!
Version: V4.0
Code: 894 lines, 33.9KB
Date: 2026-03-04