跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

会话 AI Credits 软上限

在创建或恢复时设置当前记账窗口预算,并处理耗尽事件。

sessionLimits.maxAiCredits 为会话当前 accounting window 设置 AI Credits 软上限。runtime 在模型调用返回后检查用量,因此单次响应可以超过该值,随后才阻止下一次模型调用。

创建与恢复

在已有 client 上设置:

const session = await client.createSession({
    sessionLimits: {
        maxAiCredits: 30,
    },
});
const resumed = await client.resumeSession(session.sessionId, {
    sessionLimits: {
        maxAiCredits: 30,
    },
});

30 是示例值,不是默认预算。SDK 将该限制转交 runtime,权限回调等其他会话选项仍按应用需要配置。

观察事件

事件含义
session.session_limits_changed当前限制变化;sessionLimits 为 null 表示无活动限制
session.usage_checkpoint持久累计用量,包含 totalNanoAiu 与可选 totalPremiumRequests
session_limits_exhausted.requested等待用户决策,含 requestId、maxAiCredits、usedAiCredits
session_limits_exhausted.completed决策已解决,包含 requestId 与 response

耗尽请求属于临时事件,应用应在实时事件流中显示对应决策,不能指望恢复日志补回未订阅的 UI 提示。

决策含义

completed 的 response.action 可为 add、set、unset 或 cancel。add 的 additionalAiCredits 表示增加到当前上限的额度;set 的 maxAiCredits 表示新的绝对上限。实际响应 API 与对象按当前语言类型处理,本页不编造未列出的响应方法。

这个限制围绕当前记账窗口,不是每条响应独立硬限额,也不能据来源推断每次 resume 自动重置累计费用。应用应结合 usage checkpoint 和限额变化事件展示实际状态。

token 上下文窗口与 AI Credits 预算是两种限制;上下文清理不能当作清零费用的手段。