Claude Code Router 怎么读取供应商账户余额与套餐额度并测试用量字段映射
【免费下载链接】claude-code-routerOne local control plane for every AI agent: route across models, fuse new capabilities, orchestrate tools, and stay fully in control.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-router
在 Claude Code Router(CCR)中接入上游供应商之后,如果你想在供应商列表、托盘或账号面板里看到账户余额、套餐额度和账号状态,需要给这个供应商开启"获取用量",并把供应商用量接口返回的 JSON 字段映射到 CCR 的余额、订阅等指标上。供应商返回的字段结构各不相同,直接保存前很容易把路径写错。下面的流程是:在供应商表单里开启用量读取 → 选择用量模式 → 填写字段映射 → 用"测试用量请求"验证映射 → 在概览仪表盘确认余额组件有数据。
前提:供应商已经添加完成,API 地址和 API 密钥可用;"浏览器请求"模式仅在 CCR Desktop 可用。用量读取只影响账号用量展示,不会影响模型是否能请求,关闭后 CCR 不请求用量接口。
开启用量读取并选择用量模式
在供应商配置表单中打开"获取用量"开关,然后从以下四种用量模式中选择(来源:供应商配置):
| 模式 | 适用情况 |
|---|---|
标准用量端点 | 供应商已适配 CCR 标准账号端点,例如/.well-known/ccr/account和/v1/account/limits,或使用内置预设供应商 |
HTTP JSON 请求 | 供应商已有自己的余额或额度接口,且返回自定义 JSON |
浏览器请求 | 用量接口依赖网页登录态、Cookie 或 localStorage;仅在 CCR Desktop 可用 |
原始连接器 JSON | 直接编辑account.connectors数组,适合更复杂的能力 |
如果供应商按 CCR 标准格式提供账号接口(或使用内置预设),选"标准用量端点"即可,不需要再填字段路径。本文主路径以"HTTP JSON 请求"为例,因为它覆盖"供应商返回自定义 JSON"这一最常见情况。
"刷新间隔(毫秒)"控制用量刷新间隔。未填写时使用默认刷新间隔,最小有效间隔为 30000ms。
填写 HTTP JSON 请求与字段映射
"HTTP JSON 请求"模式下,请求会附带供应商 API Key,除非在 raw connector 中改成其他认证方式。需要填写的核心字段:
| 字段 | 含义 |
|---|---|
| 方法 | 用量请求方法,GET或POST |
| 用量请求 URL | 用量接口地址,可以是完整 URL |
| 请求头 | 用量接口需要的额外请求头。文档明确提醒:不要在这里写固定的敏感认证头,优先使用供应商 API Key 认证 |
| 请求体 | POST请求体,必须是合法 JSON |
| 余额剩余字段 / 余额总额字段 / 余额已用字段 | 余额三个值在响应 JSON 中的路径 |
| 余额单位 | 例如USD、CNY或% |
| 订阅剩余字段 / 订阅上限字段 / 订阅重置字段 | 套餐、订阅、tokens 或配额的剩余量、总量和重置时间路径。重置时间可返回 ISO 时间,也可返回秒级或毫秒级时间戳 |
| 订阅单位 | 例如tokens、requests、hours |
| 状态字段 | 账号状态路径,支持ok、warning、critical、error、unsupported |
| 消息字段 | 账号提示信息路径,适合展示供应商返回的错误、套餐说明或风控提示 |
字段路径使用 CCR 的轻量 JSONPath 语法,支持以下写法:
| 写法 | 说明 |
|---|---|
$ | 整个响应对象 |
$.balance.remaining | 读取对象字段 |
$.items[0].value | 读取数组下标 |
$["weird-key"] | 读取包含特殊字符的字段名 |
$.limits[?(@.type=="TOKENS")].remaining | 在数组中查找第一个满足简单等值条件的对象 |
100 - $.data.percentage | 数值字段支持简单减法表达式,常用于把"已用百分比"转换成"剩余百分比" |
如果站点把 access token 存在localStorage、用量接口依赖浏览器登录态,则改用"浏览器请求"模式(底层是webcontent-jsonconnector)。该模式不携带供应商 API Key,请求从"浏览器存储 Origin"在 CCR 内置浏览器中执行fetch,并通过${localStorage.key}这类请求头模板注入 token。文档给出的 raw connector 示例(字段值仅为文档示例,需按你的供应商替换 endpoint、loginUrl 和映射路径):
{ "type": "webcontent-json", "endpoint": "https://api.vendor.example.com/account", "browser": { "credentials": "omit", "loginUrl": "https://vendor.example.com/login", "partition": "built-in-browser", "requestOrigin": "https://vendor.example.com", "headerTemplates": { "authorization": "Bearer ${localStorage.accessToken}" } }, "mapping": { "meters": [ { "id": "balance", "kind": "balance", "label": "Balance", "remaining": "$.balance.remaining", "unit": "USD" } ] } }其中credentials的取值规则:认证通过 token 请求头发送且 API 返回Access-Control-Allow-Origin: *时用omit;只有接口需要 Cookie 且服务端返回精确网站 origin 时才用include。若browser.credentials未配置,CCR 在配置了browser.headerTemplates时默认使用omit,否则保持面向 Cookie 场景的旧默认值include。
用"测试用量请求"验证字段映射
保存前,先验证映射是否写对:
- 点击"测试用量请求"。CCR 会立即请求一次用量接口并解析映射结果,这是文档指定的在保存前验证字段路径的方式。
- 测试成功后,界面会列出"响应字段",即响应 JSON 中可选的字段路径。点击
余额剩余、余额总额、余额已用、订阅剩余、订阅上限、重置时间可以把对应路径快速填入相应字段,避免手写路径出错。 - 映射无误后再保存供应商。
走"原始连接器 JSON"模式时,点击插入示例会填入一个包含standard、http-json、webcontent-json、plugin和local-estimate五种类型的示例 connector 数组,可以基于示例改写。各 connector 类型的能力:
| 连接器类型 | 能力 |
|---|---|
standard | 使用 CCR 标准账号端点 |
http-json | 请求一个 JSON 接口,并用 mapping 字段映射余额、套餐、状态和消息 |
webcontent-json | 使用 CCR Desktop 内置浏览器登录态执行浏览器侧请求并映射 JSON 响应 |
plugin | 调用已安装插件注册的账号用量 connector |
local-estimate | 不请求远程接口,基于本地窗口配置展示估算额度 |
导入本机 Agent 登录态(Claude Code、Codex、ZCode)的供应商会自动带上对应的账号用量读取:Claude Code 导入使用 Anthropic OAuth 用量接口,Codex 导入会读取 Codex 额度、余额和 token 统计接口,ZCode 导入在 API 地址命中内置预设时复用对应预设的用量配置,无需再手动映射。
在概览仪表盘验证余额展示
用量读取生效后,到概览仪表盘查看结果(来源:概览仪表盘):
- 编辑布局时添加"账户组件",数据选择
所有账户或指定账户(内部配置值格式通常是provider或provider::credentialId)。 - 账户组件读取供应商配置里的账户 / 用量连接器,展示的是连接器最近一次获取到的快照,不按顶部"按时间查看用量"的时间窗口重算。
- 要让它显示余额或剩余额度,前提是供应商已启用并测试过"获取用量"。
如果账户组件为空,按文档给出的顺序检查:
- 供应商是否配置了账户 / 用量连接器;
获取用量测试是否成功;- API Key 或账户接口是否仍有效;
- 当前选择的指定账户是否已经被删除或重命名。
托盘是另一个验证点:把托盘小精灵设为"余额进度条",选择供应商账户和余额 / 套餐 / 额度数据作为进度来源(来源:托盘配置)。如果页面提示"暂无可用账户数据,请先为供应商启用账户监控",说明还没有供应商开启"获取用量",或用量读取尚未成功。
限制说明
- "获取用量"只影响账号用量展示,不影响模型请求能力;关闭后不再请求用量接口。
- "浏览器请求"模式只在 CCR Desktop 可用,且用量接口响应仍须是 JSON,字段映射继续使用轻量 JSONPath;用量请求 URL 可以是另一个 origin,前提是目标 API 允许该网站 origin 跨域访问。
- 用量读取的刷新间隔最小有效值为 30000ms,低于该值的填写不生效。
- 凭据池中的"启用"开关控制单条凭据是否参与请求转发和用量读取,关闭后保留配置但不会被选中;凭据"名称"会出现在账号用量、日志和内部诊断里,建议写成可识别的用途或额度来源。
- 供应商通过
ccr://provider深度链接导入时,usage_url、fetch_usage、usage_method、balance、subscription等参数可以随导入直接带上用量接口与字段路径(来源:一键导入供应商),导入后仍建议在表单里用"测试用量请求"复核一次映射。
【免费下载链接】claude-code-routerOne local control plane for every AI agent: route across models, fuse new capabilities, orchestrate tools, and stay fully in control.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-router
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考