已经接好的部分
`POST /api/ai/generate` 接受登录会话或带 scope 的 Bearer API key。API key 在存储前哈希;撤销、账号状态和固定窗口速率限制会在一次原子 D1 更新中重新检查,然后才继续请求。
积分账本只追加。请求在调用 provider 前预扣积分,调用后按实际 usage 结算。provider 明确拒绝时释放预扣;成功调用则留下已结算的扣减记录。
账本与计费不变量使用 D1 batch 语句,避免一个请求既失败又留下扣费,或重复结算。每个请求都有幂等 request id。