每个 CliAI 账户有三个独立计数器。它们一起回答我快撞限了吗的问题,从不让你意外。下面讲清。
三个窗口
总余额。 每次计费请求扣 1。充值后回升。
日窗口。 滚动 24 小时预算。连续重置——没有「午夜跳崖」。
每分钟速率。 短期限流。防止脚本里失控的循环把你的余额吃光。
clai
$ clai statsAccount: u_8a7c…─ Total balance ──────── 2,847 / 5,000─ Daily window ──────── 37 / 200 (14 小时后重置)─ Per-minute rate ────── 1 / 5─ Top tools today ───── find (12), git (8), kubectl (6)
任意一个耗尽,下一条请求就会返回明确的错误,面板上写明卡在哪个窗口——不会有神秘 429。
缓存何时帮你省
CliAI 按 prompt + shell + locale 的哈希缓存生成的命令。同一句话、同一个 shell 再来一次,直接命中缓存——不调 LLM,不扣余额。
clai
$ clai find files larger than 100MB→ find . -type f -size +100M[cache: hit · 余额未变]$ clai find files larger than 100MB→ find . -type f -size +100M[cache: hit · 余额未变]
缓存按账户隔离,存在服务端。换 locale、换 shell、改写 prompt 都会失效——改写本质就是新请求。
缓存命中算不算
默认下,缓存命中不扣总余额——日窗口和每分钟还是会跳,因为它们是限速保护,与是否真的做工无关。如果你有相反的意见(审计、跨账户公平),管理员可以翻一个服务端开关;见文档。
查看用量
clai stats 是唯一真理。同样的数字也在 cabinet UI 中,但如果你在做程序化的事——把 clai 包进 CI、嵌进工具——用 clai stats --json。