@juanbenjumea/pi-provider-usage-fetcher

中文文档
0.3.5发布于 2026/11/01MITES Module零依赖构建来源已验证

编码助手订阅的多提供者使用获取器,包括OpenCode Go、Claude、Codex、Grok、Cursor、Copilot、Gemini、Kimi等。

中文使用文档
文档目录6 节
  1. 安装
  2. 统一调度
  3. OpenCode Go (api优先)
  4. 光标/命令代码
  5. 消费者
  6. 包重命名

@juanbenjumea / pi-provider-usage-fetcher

共享 供应商使用 用于Pi扩展、agentq和其他工具的库。

除了这个名字(历史的),这个包涵盖的不仅仅是OpenCode Go:

提供者身份验证来源
OpenCode去API密钥(与chat相同)GET https://opencode.ai/zen/go/v1/usage
克劳德。macOS钥匙链, auth.json,显式apiKeyGET https://api.anthropic.com/api/oauth/usage
食典委auth.json, ~/.codex/auth.json,显式apiKeyGET https://chatgpt.com/backend-api/wham/usage
ClinePassCLINE_API_KEY, auth.json,显式apiKeyapi.cline.bot/api/v1/*
乌曼UMANS_API_KEY, auth.json,显式apiKeyGET https://api.code.umans.ai/v1/usage
副驾驶员auth.json (github-copilot),显式apiKeyGET https://api.github.com/copilot_internal/user
双子座auth.json, ~/.gemini/oauth_creds.json,显式apiKeyPOST https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuota
乔任梁编码KIMI_API_KEY, auth.json,显式apiKeyGET https://api.kimi.com/coding/v1/usages
合成SYNTHETIC_API_KEY, auth.json,显式apiKeyGET https://api.synthetic.new/v2/quotas
z.ai / GLM区域环境关键; auth.json,显式apiKeyGET {api.z.ai or open.bigmodel.cn}/api/monitor/usage/quota/limit
Grok /超级GrokGROK_OAUTH_TOKEN, GROK_ACCESS_TOKEN, auth.json (grok),或 ~/.grok/auth.jsonGrok CLI计费代理(cli-chat-proxy.grok.com/v1/billing?format=credits)
光标quota-sessions.json、env、CodexBar、Cursor app DBcursor.com/api/usage-summary
CommandCodequota-sessions.json, env, CodexBarapi.commandcode.ai/internal/billing/*
Openference来自调用者的API密钥, OPENFERENCE_API_KEY,或者 auth.jsonGET https://openference.com/api/user/me

当没有配置API密钥时,遗留的OpenCode Go仪表板cookie抓取仍然作为回退。

心意相通的报告 订阅学分,而不是xAI API支出。它的配额适配器遵循CodexBar中观察到的Grok CLI计费路由;这是一个私有的CLI端点,可能会更改。它不使用xAI推理API密钥或xAI管理API花费端点。

安装

npm install @juanbenjumea/pi-provider-usage-fetcher

Monorepo消费者: "@juanbenjumea/pi-provider-usage-fetcher": "file:../opencode-go-usage".

统一调度

import { detectProvider, fetchProviderUsage, fetchAllProviderUsage } from "@juanbenjumea/pi-provider-usage-fetcher";

// Automatically detects alias ("anthropic", "github-copilot", "opencode", etc.)
const canonical = detectProvider("anthropic"); // "claude"

// Fetches and normalizes quota snapshot across any supported provider
const snapshot = await fetchProviderUsage("anthropic", { apiKey: "..." });
// { provider: "Claude", windows: [ { label: "5h", usedPercent: 45, resetsIn: "1h30m" }, ... ], fetchedAt }

// Or collect several providers concurrently; unknown providers are omitted.
const snapshots = await fetchAllProviderUsage(["anthropic", "openai-codex", "cursor"]);

OpenCode Go (api优先)

import { fetchUsageApi } from "@juanbenjumea/pi-provider-usage-fetcher";

const usage = await fetchUsageApi(process.env.OPENCODE_GO_KEY!);
// { rolling, weekly, monthly, error? }

光标/命令代码

import { fetchCursorUsage } from "@juanbenjumea/pi-provider-usage-fetcher/cursor.ts";
import { fetchCommandCodeUsage } from "@juanbenjumea/pi-provider-usage-fetcher/commandcode.ts";
import { fetchOpenferenceUsage } from "@juanbenjumea/pi-provider-usage-fetcher/openference.ts";

// Footer labels (Plan / Auto / API)
await fetchCursorUsage();

// agentq labels (total / auto-composer / api-models)
await fetchCursorUsage({ labelStyle: "agentq" });

await fetchCommandCodeUsage();

// Uses the dashboard profile endpoint (openference.com/api/user/me), which the
// inference API key authenticates via Bearer. window = usage.windowQuotaUsed /
// plan.requestsPerWindow, week = usage.weekQuotaUsed / plan.requestsPerWeek.
const openference = await fetchOpenferenceUsage(process.env.OPENFERENCE_API_KEY);

验证解析顺序:特定于提供程序的显式键→环境变量→ auth.json 证书。对于Cursor和CommandCode cookie,现有的顺序是 quota-sessions.json →环境→遗产 auth.json cookies→CodexBar手动cookies→(仅限光标)桌面应用令牌。

消费者

  • @juanbenjumea/pi-dynamic-footer -认购限额
  • @juanbenjumea/pi-multi-opencode-go —故障转移使用轮询
  • agentq - - - - - - data/quota.json 收集器

包重命名

此包发布为 @juanbenjumea/pi-provider-usage-fetcher. 前者是现有消费者 @juanbenjumea/opencode-go-usage 当采用这个包时,NPM包必须切换它们的依赖和导入;旧的包标识仍然是独立的。

版本与发布记录

@juanbenjumea/pi-provider-usage-fetcher 共发布 4 个版本,首次发布于 2026/11/01;过去 12 个月发布了 4 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.3.5latest2026/11/011 天前
0.3.42026/11/012 天前
0.3.32026/11/012 天前
0.0.0-stage2026/11/012 天前

关于 @juanbenjumea/pi-provider-usage-fetcher 的常见问题

@juanbenjumea/pi-provider-usage-fetcher 是什么?

编码助手订阅的多提供者使用获取器,包括OpenCode Go、Claude、Codex、Grok、Cursor、Copilot、Gemini、Kimi等。

如何安装 @juanbenjumea/pi-provider-usage-fetcher?

在项目目录运行 npm install @juanbenjumea/pi-provider-usage-fetcher,或使用 pnpm add / yarn add / bun add。

@juanbenjumea/pi-provider-usage-fetcher 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/juanbenjumea__pi-provider-usage-fetcher 是否存在。

@juanbenjumea/pi-provider-usage-fetcher 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@juanbenjumea/pi-provider-usage-fetcher 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@juanbenjumea/pi-provider-usage-fetcher 可以商用吗?

@juanbenjumea/pi-provider-usage-fetcher 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@juanbenjumea/pi-provider-usage-fetcher 还在维护吗?

最新版本 0.3.5 发布于 2026/11/01(1 天前);至今共发布 4 个版本,其中过去 12 个月发布了 4 个;首次发布于 2026/11/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。