新闻详情

新闻详情

首页 / 资讯中心 / 详情

CodexBar 的 DeepInfra Provider 接入指南:API Key 计费查询与余额/消费展示

发布时间:2026/9/13 19:54:51来源:尧图网络
CodexBar 的 DeepInfra Provider 接入指南:API Key 计费查询与余额/消费展示
CodexBar 的 DeepInfra Provider 接入指南API Key 计费查询与余额/消费展示【免费下载链接】CodexBarShow usage stats for OpenAI Codex and Claude Code, without having to login.项目地址: https://gitcode.com/GitHub_Trending/co/CodexBarDeepInfra 是一个纯 API 形式的模型托管服务不提供浏览器登录态因此 CodexBar 通过其公开的计费端点以 API Key 完成余额、消费与账单周期的读取。本文基于 CodexBar 仓库中 docs/deepinfra.md 及Sources/CodexBarCore/Providers/DeepInfra/下的完整实现讲解 DeepInfra Provider 的配置步骤、数据来源、余额换算逻辑、菜单栏与 Provider 卡片展示行为以及常见故障排查方法。快速概览DeepInfra 在 CodexBar 中的定位DeepInfra Provider 在 CodexBar 中被设计为API-only仅 API 凭据的接入方式其元数据在 DeepInfraProviderDescriptor.swift 中定义关键特征如下凭据类型API KeyToken Account 模式无需浏览器 Cookie、无需登录。能力边界balanceOnly: true、supportsCredits: false、supportsOpus: false、supportsTokenCost: false——即 DeepInfra 只展示余额/消费不提供逐请求的成本历史noDataMessage明确提示 DeepInfra per-request cost history is not available in CodexBar。CLI 名称deepinfra别名deep-infra与di。隐私边界文档明确承诺 CodexBar 只使用 DeepInfra 官方文档化的计费端点不会向任何其他服务发送模型提示词或账户数据同时从不记录 API Key 或原始计费响应。一、配置与凭据注入1.1 图形界面配置在 DeepInfra dashboard 创建 API Key。在 CodexBar 中打开Settings Providers DeepInfra API tokens粘贴并保存 Key。Token Account 界面的文案由ProviderCredentialAdapter.apiKey生成见 DeepInfraProviderDescriptor.swift标题为 API tokens副标题 Store multiple DeepInfra API keys.支持保存多个 Key 并按需切换。1.2 环境变量注入除图形界面外CodexBar 还支持通过环境变量提供 Key读取逻辑位于 DeepInfraSettingsReader.swift按顺序尝试DEEPINFRA_API_KEY、DEEPINFRA_TOKEN两个变量DEEPINFRA_API_KEY优先与文档描述一致。读取时会先去除首尾空白再剥离外层成对的或引号最后再做一次 trim——这便于直接粘贴带引号的 shell 导出值。若两个变量都为空或纯空白返回nilProvider 视为未配置。上述行为在 DeepInfraSettingsReaderTests.swift 中有完整测试覆盖包括主 Key 优先、回退到DEEPINFRA_TOKEN、清理带引号的值以及空值返回nil。1.3 可用性判定Provider 的可用性isAvailable逻辑在 DeepInfraProviderImplementation.swift只要环境变量能解析出 Key或设置里存在至少一个 DeepInfra Token 账户即视为可用。这也解释了文档 Troubleshooting 中 Missing provider 的成因——未启用开关、无 Token 账户且无环境变量。二、数据来源两个计费端点CodexBar 将 Key 作为 Bearer Token 发起 GET 请求端点定义在 DeepInfraUsageFetcher.swift端点查询参数用途https://api.deepinfra.com/payment/checklistcompute_owedtrue预付费余额、近期消费、消费上限、挂起状态https://api.deepinfra.com/payment/usagefromcurrent当前自然月消费请求细节见request(url:token:)DeepInfraUsageFetcher.swiftAuthorization: Bearer keyAccept: application/json超时 30 秒两个请求依次执行均带.transientIdempotent重试策略失败按错误类型区分401 表示 Key 被拒绝、403 表示 Key 有效但无权访问计费数据、其他状态码统一抛apiError(HTTP xxx)、解析失败抛parseFailed见 DeepInfraUsageFetcher.swift。2.1 响应模型两个端点的 JSON 解码模型同样定义在该文件中DeepInfraChecklistResponsestripe_balanceDouble、recentDouble、limit可空 Double、suspendedBool默认 false、suspend_reason可空 String。DeepInfraUsageResponsemonths数组与initial_month其中DeepInfraUsageMonth含period与total_cost。特别注意usage 端点的total_cost单位是美分centschecklist 的金额字段单位是美元。源码通过centsPerDollar 100.0常量换算。2.2 余额换算负 Stripe 余额 可用金额DeepInfra 以负数stripe_balance表示预付费余额。CodexBar 在parseSnapshot中执行如下换算DeepInfraUsageFetcher.swiftnetBalance stripe_balance recent availableBalanceUSD max(0, -netBalance) // 负值 → 可用金额 amountOwedUSD max(0, netBalance) // 正值 → 欠费金额即净余额为负时取绝对值展示为 available净余额为正时展示为 owed。这一换算由测试 DeepInfraUsageFetcherTests.swift 精确验证——例如stripe_balance -99.75、recent 3.94时可用余额为95.81。此外当前月消费取months.last的total_cost转美元作为兜底limit只有大于 0 时才会被采纳为消费上限spendingLimitUSD否则视为不存在。三、展示行为菜单栏与 Provider 卡片3.1 账单周期指标 vs 余额健康指示器文档中当 DeepInfra 提供正数消费上限时自动菜单栏指标展示账单周期消费 vs 上限否则保留余额健康指示器的规则在两层实现中落地数据层toUsageSnapshot()只在spendingLimitUSD 0时构造ProviderCostSnapshot(used: recent, limit: limit, period: Billing cycle)否则为nilDeepInfraUsageFetcher.swift。展示层菜单栏自动指标解析器DeepInfraProviderDescriptor.swift仅在metric .automatic且providerCost存在且 limit 为正有限值时才切换为账单周期百分比否则返回.unhandled沿用余额健康指示器。DeepInfraMenuBarMetricWindowResolverTests.swift 完整覆盖了这一分支行为limit100、used25 → 展示 25%used0 → 展示 0%used125 超限 → 钳制为 100%limit 为nil / 0 / -1 / .infinity / .nan时 → 回到余额健康指示器Balance health该投影只对 DeepInfra 的 automatic 指标生效不影响显式指标或其他 Provider。3.2 Provider 卡片余额 当月消费Provider 卡片文案由DeepInfraUsageSnapshot.toUsageSnapshot()生成DeepInfraUsageFetcher.swift无挂起$X.XX available · $Y.YY spent this month或欠费时为$X.XX owed · ...挂起时前缀Suspended: reason或SuspendedusedPercent规则挂起、欠费或可用余额 ≤ 0 时为 100否则为 0——即不凭空捏造百分比配额与文档所述一致。DeepInfraUsageFetcherTests.swift 验证了正 Stripe 余额欠费场景可用金额为 0、providerCost为 nil、remainingPercent 为 0挂起场景usedPercent 100且描述以Suspended: Payment review开头。3.3 菜单/状态栏文案细节Provider 描述信息还配置了menuBarWindowResolver之外的menuCard展示显示余额描述、无日期时隐藏 primary reset、menu呈现primary 描述即 detail以及品牌色深蓝#2A3275系配色与专用图标ProviderIcon-deepinfra见 Sources/CodexBar/Resources/ProviderIcon-deepinfra.svg。Dashboard 链接为https://deepinfra.com/dash状态页链接为https://status.deepinfra.com见 DeepInfraProviderDescriptor.swift。四、数据置信度与刷新链路DeepInfra 的计费数据来自官方计费 API因此在UsageSnapshot中被标记为dataConfidence: .exact并通过fetchPlan: .apiToken(strategyID: deepinfra.api, ...)注册到通用 API Token 拉取链路DeepInfraProviderDescriptor.swiftToken 解析由ProviderTokenResolver.token(for: .deepinfra, environment:)完成——它会先查环境变量再回退到已保存的 Token 账户。整体拉取由 CodexBar 统一的 UsageStore 刷新机制调度与其它 Provider 共享相同的重试、超时与日志脱敏策略。五、Troubleshooting 排查指南结合源码中的错误分类DeepInfraUsageFetcher.swift 与validate方法文档中的三条排查结论可以更精确地落地401DeepInfra 拒绝了 API Key。对应的错误信息为 API key rejected (HTTP 401)。处理方式删除已保存 Token → 在 Dashboard 重新创建 Key → 重新输入不要带Bearer前缀CodexBar 会自动在请求头中拼上Bearer。测试用例 DeepInfraUsageFetcherTests.swift 验证了 401 会以apiError形式透出。403Key 有效但无权限读取计费数据。错误信息 API key cannot access billing data (HTTP 403)需检查该 Key 在 DeepInfra 侧的权限/账户状态。Missing provider / 无数据先确认Settings Providers中 DeepInfra 已启用且满足以下任一条件——存在 Token 账户、或设置了DEEPINFRA_API_KEY/DEEPINFRA_TOKEN环境变量。其余状态码 / 网络失败统一为 HTTP xxx 或网络错误可结合 DeepInfra 服务状态页https://status.deepinfra.com已内置为 Provider 的statusLinkURL判断是否为上游故障。解析失败计费响应不符合预期结构时抛parseFailed通常意味着 DeepInfra 侧接口变更需等待 CodexBar 升级适配。六、补充通过 CLI 验证配置CodexBar 为 DeepInfra 注册了 CLI 名称deepinfra别名deep-infra、di因此除图形界面外还可以借助 CodexBar CLI 的通用 Provider 命令如codexbar usage、codexbar cost等在终端直接观察该 Provider 的余额与消费快照适合脚本化监控与故障排查场景。具体子命令的完整用法可参考 docs/cli.md 与 Sources/CodexBarCLI/。总结DeepInfra 是 CodexBar 中典型的API-only 计费型 Provider以 API Key 为唯一凭据通过payment/checklist与payment/usage两个官方端点获取余额、近期消费、账单上限与挂起状态负 Stripe 余额被精确换算为可用金额当存在正数消费上限时菜单栏自动指标会切换为账单周期百分比否则保留余额健康指示器Provider 卡片则始终以可用/欠费 当月消费的直白文案呈现不虚构百分比。所有换算与错误分支都有对应单元测试约束DeepInfraUsageFetcherTests.swift、DeepInfraMenuBarMetricWindowResolverTests.swift、DeepInfraSettingsReaderTests.swift确保展示行为可预期、可回归。【免费下载链接】CodexBarShow usage stats for OpenAI Codex and Claude Code, without having to login.项目地址: https://gitcode.com/GitHub_Trending/co/CodexBar创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

无人机飞控二次开发:树莓派外挂与MAVLink分层实践指南 2026/9/13 20:39:55

无人机飞控二次开发:树莓派外挂与MAVLink分层实践指南

1. 别急着编译px4——先搞清“二次开发”到底在开发什么 很多人一听说“飞控二次开发”,第一反应就是clone px4或ardupilot仓库,打开vscode,对着一堆C文件发呆。我见过太多人花两周配好环境、编译成功、烧录进飞控板,结果连LED灯怎…

阅读更多 →
嵌入式工程师进大厂必备:7大底层认知链深度解析 2026/9/13 20:39:55

嵌入式工程师进大厂必备:7大底层认知链深度解析

1. 这不是“背题清单”,而是嵌入式工程师进大厂前必须打通的底层认知链你刷到这份标题时,大概率正坐在凌晨一点的台灯下,对着一份PDF反复划线,或是把“volatile作用”“中断上下文为什么不能sleep”抄了第三遍——但第二天模拟面试…

阅读更多 →
Docker Hub镜像发布全流程详解:从构建推送到自动化运维 2026/9/13 20:39:55

Docker Hub镜像发布全流程详解:从构建推送到自动化运维

先交代一句:这个标题看着简单,但真正把镜像发布到 Docker Hub 并让团队、用户能顺利拉取,中间藏着的坑一点都不少。我见过太多人卡在docker push权限报错上,也见过不少镜像 push 上去了但 tag 乱成一团,还有人被 Docke…

阅读更多 →
SPARK 0代码架构:AI驱动的自动化开发实践 2026/9/13 20:39:55

SPARK 0代码架构:AI驱动的自动化开发实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
文件监控与同步实战:从inotify到rsync的高可靠实现 2026/9/13 20:39:55

文件监控与同步实战:从inotify到rsync的高可靠实现

说实话,我最早接触文件监控与同步,不是因为技术兴趣,而是被一份日志备份的需求逼出来的。线上服务散在好几台机器上,日志文件分散在各自的磁盘里,每次排查问题都得一台一台登录上去翻,折腾到半夜是常有的事…

阅读更多 →
Apache Airflow Amazon Provider:使用 ImapAttachmentToS3Operator 将邮件附件从 IMAP 服务器迁移到 Amazon S3 2026/9/13 20:36:55

Apache Airflow Amazon Provider:使用 ImapAttachmentToS3Operator 将邮件附件从 IMAP 服务器迁移到 Amazon S3

Apache Airflow Amazon Provider:使用 ImapAttachmentToS3Operator 将邮件附件从 IMAP 服务器迁移到 Amazon S3 【免费下载链接】airflow Apache Airflow - A platform to programmatically author, schedule, and monitor workflows 项目地址: https://gitcode.c…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞