它能做什么
第一道:粘性选模,不来回换
每次切换模型,服务商侧缓存的前缀就作废,整段上下文要重新按原价计费一遍。所以自动选模是「粘」的——同一类任务保持同一个模型,只在上下文将要超出窗口时才升级,避免为了省小钱反而多花大钱。
第二道:提示前缀缓存
系统提示词、专家人设、工具说明这些每轮都要重发的内容,被打上缓存标记。命中缓存后,这部分输入按约 1/10 的价格计费;聊得越久、前缀越长,省得越多。
第三道:滚动上下文压缩
保留最近若干轮原文(保证对话连贯),更早的内容折叠成增量摘要。实测一段 5975 token 的对话压到 1401 token,压缩比 4.3 倍,语义不丢。
按任务类型挑模型
写代码交给代码模型,图像理解交给视觉模型,长文推理交给大窗口推理模型。自动选模按「类别匹配 + 档位达标 + 价格」三项打分,同价位优先便宜的。
限频退避,不硬撞
撞上速率限制时读 Retry-After 做两段式退避(8 秒 → 30 秒等窗口滚动),而不是无脑重试;连续失败才降级换模型,避免把配额烧在重试上。
失败自动换通道
通道 5xx、超时、余额不足、地区封锁,各有不同的处理策略:能换模型就换,换不了就明确告诉你原因(而不是静默失败或重复扣费)。
花费透明
每次调用记录模型、输入输出 token 与预估花费;配合上游账单可以核对「钱花在哪了」,不会出现「不知道怎么就没了」。
怎么用
- 1默认什么都不用设:自动路由会自动做粘性与压缩。
- 2想省钱就选低档模型跑日常任务,把旗舰模型留给建模、深度研究这类硬活。
- 3长对话不必手动清理历史——滚动压缩会自动折叠早期轮次。
- 4在设置里查看当前档位与模型池,确认自动选模用的是你想要的那一档。
技术亮点
- 滚动上下文采用「保最近 K 轮原文 + 更早轮次增量摘要」结构,摘要不调 LLM,用轮次拼接,额外成本为 0。
- 预算裁剪按窗口余量动态回收最旧内容,保证请求永不超出模型上下文窗口。
- 提示缓存对 OpenRouter / Claude 系在 system 前缀挂 cache_control,其余网关忽略该字段、无副作用。
- 粘性决策只比较「当前模型是否还能装下上下文」,能装就不动——切模型带来的 KV 缓存失效成本远大于单价差异。
- token 估算用字符数与中英文差分(中文约 1.5 字符/token,英文约 4 字符/token),不额外调用 tokenizer 接口。
看一眼