跳转到内容

SessionBudgetOptions

会话预算(createSession({ budget })):会话累计消耗触顶时的处置。 字段与配置文件 budget 段同形(tansr 命令行的 TUI / headless / serve / acp 读的是同一段); 与 thinking.budget(单轮思考 token 预算)无关。 两个上限都缺席时不接闸门(等价于不传)。

optional maxTotalTokens?: number;

会话 token 总量上限(正整数):输入 + 输出 + 缓存读 + 缓存写(思考 token 按各模型能力位并入输出,不重复计)


optional maxUsd?: number;

会话 USD 金额上限(美元,正数)。比对口径 = 会话成本总账中 USD 币种桶的累计;只有以 USD 计价的模型 (令牌档按平台 bundle 计价)会进入该口径——非 USD 计价与缺价模型不折算、不设防,币种无关的兜底请用 maxTotalTokens。


optional onExceeded?: "block" | "warn";

触顶动作。'block'(缺省):下一次模型调用前终止本轮,事件流出 turn.aborted { reason: 'budget_exceeded' }, 会话保持打开,后续轮同样被拦;'warn':每次查询至多一条 turn.error { scope: 'budget', recoverable: true } 后照常继续。已发出的模型流 / 工具调用不会被中途截断。