# @anthonyhan/token-pilot 中文文档

规范地址：https://npmcn.com/package/%40anthonyhan/token-pilot/

版本：0\.4\.12
npm 元数据更新时间：2026-11-06T06:08:35.098Z
中文译文更新时间：2026-11-07T04:16:58.457Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40anthonyhan/token-pilot
原文对照：https://npmcn.com/package/%40anthonyhan/token-pilot/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：448 kB，51 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=18
- 运行依赖：0 个
- 首次发布：2026-10-23T09:59:56.376Z
- 最新版本发布：2026-11-06T06:08:34.940Z
- 近 30 天下载量：2052（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：20（近 12 个月 20 个）

## 中文简介

你所有 AI 工具的本地账单 + 预算控制器 — 只读本地日志，零入侵，不出本机

## 安装

```sh
npm install @anthonyhan/token-pilot
```

也可以使用：`pnpm add @anthonyhan/token-pilot`、`yarn add @anthonyhan/token-pilot`、`bun add @anthonyhan/token-pilot`

## README

![token-pilot —— 所有 AI 工具的本地账单，本月实测 ¥8,265 / 48 亿 tokens](https://npmcn.com/package/%40anthonyhan/token-pilot/docs/assets/icon.png)

# token-pilot ⚡

### 所有 AI 工具的本地账单，一抬头就看见

同时用 Claude Code / Codex / Kimi Code 跑国产模型的人，终于能答上「这个月给 AI 烧了多少钱」——只读本地日志，数据不出本机。

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://npmcn.com/package/%40anthonyhan/token-pilot/LICENSE) [![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Windows-lightgrey)](https://npmcn.com/package/%40anthonyhan/token-pilot/#readme--%E7%8A%B6%E6%80%81%E6%A0%8F%E5%BA%94%E7%94%A8) [![Tests](https://img.shields.io/badge/tests-42%20passing-brightgreen)](https://npmcn.com/package/%40anthonyhan/token-pilot/tests/) [![Accuracy](https://img.shields.io/badge/%E5%AF%B9%E8%B4%A6%E8%84%9A%E6%9C%AC-%E9%80%90%E9%A1%B9%E4%B8%80%E8%87%B4-blue)](https://npmcn.com/package/%40anthonyhan/token-pilot/#readme--%E6%95%B0%E6%8D%AE%E5%87%86%E7%A1%AE%E6%80%A7)

[快速开始](https://npmcn.com/package/%40anthonyhan/token-pilot/#readme--%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B) · [状态栏应用](https://npmcn.com/package/%40anthonyhan/token-pilot/#readme--%E7%8A%B6%E6%80%81%E6%A0%8F%E5%BA%94%E7%94%A8) · [数据准确性](https://npmcn.com/package/%40anthonyhan/token-pilot/#readme--%E6%95%B0%E6%8D%AE%E5%87%86%E7%A1%AE%E6%80%A7) · [什么时候别用它](https://npmcn.com/package/%40anthonyhan/token-pilot/#readme--%E4%BB%80%E4%B9%88%E6%97%B6%E5%80%99%E5%88%AB%E7%94%A8%E5%AE%83) · [讨论](https://github.com/anthonyhann/token-pilot/discussions) · [贡献](https://npmcn.com/package/%40anthonyhan/token-pilot/CONTRIBUTING.md) · [English](https://npmcn.com/package/%40anthonyhan/token-pilot/README-en.md)

* * *

![状态栏面板](https://npmcn.com/package/%40anthonyhan/token-pilot/docs/assets/menubar-panel.png)

> 状态栏常驻 `⚡ ¥今日 · 预算%`。左键弹面板，「打开完整看板」看全部。我的真实 10 月：**47.8 亿 tokens · ¥8,265 · 32,643 次调用**（[怎么算的](https://npmcn.com/package/%40anthonyhan/token-pilot/#readme--%E6%95%B0%E6%8D%AE%E5%87%86%E7%A1%AE%E6%80%A7)）。

> ⚠️ npm 上另有一个**别人家的** `token-pilot`（MCP 代码导航工具，会往 Claude Code 写 hooks）。我们的包是 **`@anthonyhan/token-pilot`**，下面命令都带 scope，照抄即可。

## 🚀 快速开始

**For Humans：**

```bash
npm install -g @anthonyhan/token-pilot
token-pilot month     # 本月账单 + 月底预测 + 打转检测 + 省钱建议
```

**For AI Agents：**（把这句粘贴给你的 Agent）

> 帮我安装 token-pilot：`npm install -g @anthonyhan/token-pilot`，然后跑 `token-pilot month` 告诉我这个月 AI 花了多少钱、哪里在浪费。

### 状态栏应用

安装启动后**只在状态栏显示一个闪电图标**——无 Dock 图标、无启动窗口；左键弹面板，右键出菜单。

**macOS（Apple Silicon / Intel）**：

```bash
# 方式一：Homebrew（推荐，自动处理 Gatekeeper，装完即用）
brew install --cask anthonyhann/token-pilot/token-pilot
```

```bash
# 方式二：Releases 手动下载 .dmg，拖入「应用程序」后跑一次（解决未签名的「已损坏」误报）
xattr -dr com.apple.quarantine /Applications/token-pilot.app
```

**Windows**：Releases 下载 `.msi`，SmartScreen 选「仍要运行」。

> 长期解：Apple 开发者签名+公证（$99/年）在 TODO 里，有赞助再开。

自己构建：`cd menubar && npm install && npx tauri build`

## 🎯 为什么做这个

我同时用 Claude Code、Codex 和 Kimi Code 跑国产模型，账单散在三个地方：Claude 记一笔、Codex 记一笔、Kimi 记一笔，没有一个地方能回答「这个月总共烧了多少」。

试过几个现有方案，都不合用：

| 方案 | 国产模型 | 只读本地 | 状态栏 | 卡在哪 |
| --- | --- | --- | --- | --- |
| ccusage | 部分 | ✅ | ❌ | 以 Claude Code 为主，`deepseek-v4.1-flash` 这类模型的归一路径不全 |
| 各工具自带用量页 | ✅ | — | ❌ | 每个工具各看各的，没法合并成一张账单 |
| 商业账单 / 代理类工具 | ❌ | ❌ | ✅ | 要把日志或请求过一遍云端，我不放心把完整会话历史交出去 |
| **token-pilot** | **9 家** | **✅** | **✅** | — |

核心区别只有一句：**它把国产模型和海外模型放在同一张账单里，而且全程不出本机。**

## ✨ 功能清单：它能做什么

| 场景 | 你说 | 它做 |
| --- | --- | --- |
| 看账单 | `token-pilot month` | 按宿主/按模型双维度月账单 + 月底预测 |
| 怕超支 | 设个月度预算 | 进度条 + 超支系统通知 + 托盘常驻 `¥今日 · 预算%` |
| Agent 打转 | 不用说话 | 自动揪出「单会话 ≥30 次调用」的死循环，算出浪费金额 |
| 想省钱 | 看「省钱建议」卡 | 贵模型干轻活 → 迁移建议+每月省多少；低缓存命中 → 优化空间；本月缓存帮你省了多少 |
| 上下文太长 | 自动提醒 / 点徽标 | 会话超 100K 上下文标记「该压缩」，可写 Claude Code autoCompact / 装 RTK 输出压缩层（含压缩引擎，装完自动 `rtk init -g` 接入 Claude Code hook） |
| 想知道能省多少 | 看「压缩潜力」板块 | 本月陈旧输出/重复读取/超长输出各浪费多少钱，按模式拆分 + 列出最浪费的 5 个会话 |
| 还够不够用 | 看「订阅额度与余额」板块 / `token-pilot quota` | 火山 Agent/Coding Plan、OpenCode Go、GLM 的额度窗口；DeepSeek 等现金余额。**比线性节奏快还是慢**会直接标出来 |
| 核对价格 | `token-pilot prices` | 每个在用模型的单价来源（目录价/人工覆写/自动补价待核对） |
| 谁在烧 | 看「宿主/模型/项目榜」 | 哪个工具、哪个模型、哪个项目花最多，一目了然 |
| 国产模型 | 不用配置 | DeepSeek/GLM/Kimi/Qwen 走宿主日志 model 字段自动归一 |

**兼容你的工具链：** Claude Code ✅ · Codex ✅ · Kimi Code ✅ · OpenCode ✅（全量 token）· DeepSeek/GLM/Kimi/Qwen/MiniMax/混元/MiMo/LongCat/Doubao ✅（模型归一）· 其余 12 款仅检测 · 桌面订阅端记固定月费

## 📈 数据准确性

账单工具不准就是误导。所以准确性**可验证**：

```bash
python3 scripts/reconcile.py month    # 第三方视角独立重算原始日志，与 CLI 逐项对账
python3 scripts/verify-dashboard.py   # 看板 36 项算法不变量校验
npm test                              # 69 个单元测试（定价/采集口径/聚合/注入/熔断/RTK/额度/并发）
```

实测修过的口径坑（2026-10-21，本机 4787 个日志文件）：

| 坑 | 影响 | 修复 |
| --- | --- | --- |
| Claude 流式快照重复行 | 某会话 169 行 usage 实为 79 次调用 | 按 `message.id` 去重取最大 |
| Codex `input` 含 `cached` 子集 | 缓存被按全价+缓存价计两次 | 拆分 `input − cached` |
| Kimi `inputOther` 才是新输入 | 同上 | 只认 `usage.record` 且不并入缓存 |

## 📊 凭什么信我

-   我自己的 AI 账单就是它管的：本月 **¥8,265 / 47.8 亿 tokens**（2026-10-29 本机实时数据）
-   36 项看板算法不变量 + 69 个单测 + 独立对账脚本，全部开箱可跑
-   诚实披露速率口径：日志按「调用完成时刻」记账，生成中的调用完成前不计入（看板内有注明）

## ⚠️ 什么时候别用它

-   **你想管的工具不写本地用量日志**（Antigravity / Copilot / Cursor 等 12 款）——只能检测到装没装，读不到 token
-   **桌面订阅 App**（Kimi.app / ChatGPT.app）——不按 token 计费，只能登记固定月费
-   **想拦在请求前面节流**——它是事后分析，不拦截请求（拦截需要代理层，在 Roadmap）

## 🔋 订阅额度与余额

账单回答「花了多少钱」，额度回答「还能用多少」。后者来自平台自己的接口，不是本地推算。

**已实测可用**（用真实 key 打出真实数据验证过）：

| 平台 | 能拿到什么 | 数据来源 |
| --- | --- | --- |
| **OpenCode Go** | 滚动 / 本周 / 本月三个窗口的已用百分比 | 官方接口，用 OpenCode 自己的登录态 |
| **火山方舟** | Agent Plan 的额度绝对值 + 百分比；Coding Plan 的百分比 | 官方 CLI `arkcli usage plan` |
| **智谱 GLM** | 额度窗口 + 套餐档位 | 官方接口 |
| **DeepSeek** | 现金余额 | `GET /user/balance` |
| **Moonshot / Kimi** | 可用余额（代金券 + 现金） | `GET /v1/users/me/balance` |
| **OpenRouter** | 剩余额度（累计充值 − 累计已用） | `GET /api/v1/credits` |

**已探到端点、等待实测**（界面上标「待验证」，拿到对应 key 就能启用）：

| 平台 | 需要什么 | 卡在哪 |
| --- | --- | --- |
| MiniMax 余额 | **admin key** | 普通 key 报 `token_type_mismatch` |
| MiniMax Token Plan | 有效订阅 | 账号无订阅时返回 `2062`，拿不到字段结构 |
| Kimi Code 订阅 | Kimi Code 订阅账号 | 端点与字段链已知，待验证 |
| Novita AI | 普通 key | 端点存在，字段待验证 |
| 阶跃 StepFun | — | **无公开余额接口**（16 个路径全 404，文档只有 chat） |
| SiliconFlow | — | **国内站接口已废弃**（410 deprecated） |

> 为什么分两栏：探到 401 不代表接口能用——很多网关对不存在的路径也返 401。 只有用真实 key 拿到真实 JSON、确认字段语义无误的，才算「可用」。 这个原则避免了两次误判：OpenRouter 的「累计充值」差点被当成余额 （会显示「还剩 $0.34」而实际已用光），MiniMax 的鉴权头格式错差点被当成 key 无效。

**凭证从哪来**（三级降级，装了哪个用哪个）：

1.  你在看板「数据设置」里填的 key —— 永远可用
2.  平台自己的登录凭据（如 OpenCode 的 `~/.local/share/opencode/auth.json`）—— 装了该工具就有
3.  [CC Switch](https://github.com/farion1231/cc-switch) 的配置 —— **装了才自动读取，不装完全可以正常用**

> 第 3 层是便利不是依赖：不装 CC Switch 的用户，点「+ 添加平台」填一次 key 就能获得全部额度功能。 CC Switch 里配过的平台会自动回填成「CC Switch 读取」并设为只读，避免你手填一遍算两次。

**怎么加平台**：

1.  设置里点「+ 添加平台」→ 下拉选平台 → 粘贴 key → 确定。余额和订阅是两套 key，分开填
2.  内置列表没有的，选「添加自定义平台」，填「名称 + 接口地址 + 金额字段路径（如 `data.balance`）」即可
3.  内置平台的端点定义在 [`catalog.ts`](https://npmcn.com/package/%40anthonyhan/token-pilot/src/core/quota/providers/catalog.ts)，加一条数据就是加一个平台

**余额和订阅是两件事**，所以分开配置、分开显示：

|  | 余额 | 订阅 |
| --- | --- | --- |
| 回答 | 账户还剩多少钱 | 套餐用了多少、何时重置 |
| key | 通常普通 key 即可 | 部分平台要 admin key |
| 例子 | DeepSeek ¥20.10 | 火山 Coding Plan 本月 29% |

同一个平台可以两套都配（比如 MiniMax 查订阅用普通 key、查余额用 admin key），key 按「平台 + 场景」分开存，互不覆盖。

**关于接口字段的坑**：有些平台不返回「余额」，只给「累计充值」和「累计已用」两个数（OpenRouter 就是这样）。直接拿累计充值当余额会显示成「还剩 $0.34」，而实际一分不剩——所以这类平台会做减法。没验证过字段语义的接口一律标为未启用，不会拿错的数字糊弄你。

**诚实说明**：Coding Plan 类套餐平台只下发百分比，不发绝对值。所以看板上不会出现「已用 1500/20000」这种编造的数字——有什么显示什么。

**节奏判断**：单看「已用 60%」没意义，知道「窗口才过 40% 就已经用了 60%」才知道该不该踩刹车。所以有窗口长度和重置时间的平台，会额外标注「比线性节奏快/慢 N%」。

## 🧩 它和别的工具有什么不同

省 token 这件事分好几个环节，token-pilot 只做其中一环——**算清楚钱**。想省得更多，通常要几个工具配合：

| 环节 | 谁负责 | 典型效果 |
| --- | --- | --- |
| **花了多少钱** | **token-pilot**（本工具） | 多宿主合并账单、预算告警、算出浪费了多少 |
| 命令输出太大 | [RTK](https://www.rtk-ai.app/) 输出压缩层 | 已内置支持，看板勾选即可装 |
| 读代码浪费上下文 | AST 结构化读取类工具（见下） | 大文件从「整篇读」变成「先看结构，再读需要的符号」 |
| 模型回复太长 | 精简输出类 skill | 只影响输出 token，与输入侧不重叠 |

**关于重名：** npm 上有一个**同名的 `token-pilot`**（[Digital-Threads/token-pilot](https://github.com/Digital-Threads/token-pilot)），它做的是上面第三行那件事——用 AST 让 AI 少读代码。**它不统计花费，本工具也不读代码结构**，两者解决的是同一个成本问题的不同环节，可以一起用。

本工具的正确包名是带 scope 的 **`@anthonyhan/token-pilot`**，安装命令都在上面，照抄即可。

## 👥 开发者与交流

一个人 + 几个 AI Agent 在做，想法和坑都摆在明面上。**token-pilot 是本地工具，你的账单数据不会离开本机**，所以交流群里聊的主要是「怎么算得更准」「怎么支持更多工具」，不用发任何日志或账单截图。

### 微信交流群：让 AI 先试试

![微信群「让 AI 先试试」入群二维码](https://npmcn.com/package/%40anthonyhan/token-pilot/docs/assets/community-group.png)

扫码进群。适合：用着遇到问题想问、想提新工具/新平台的接入需求、或者单纯想看看别人怎么管理 AI 账单。

> ⏳ 群二维码 **2026 年 11 月 6 日前有效**。过期后扫码会失败——到 [Discussions](https://github.com/anthonyhann/token-pilot/discussions) 留言，或在 [Issues](https://github.com/anthonyhann/token-pilot/issues/new/choose) 提一句，我更新二维码并回复你新的入群方式。

### 其他渠道

| 渠道 | 适合什么 |
| --- | --- |
| [Discussions](https://github.com/anthonyhann/token-pilot/discussions) | 「这个模型算得对不对」「能不能支持某某工具」——公开讨论，后来的人搜得到 |
| [Issues](https://github.com/anthonyhann/token-pilot/issues/new/choose) | 数据算错、功能异常，需要跟进修的问题 |
| [X @AnthonyHan\_](https://x.com/AnthonyHan_) | 私信催更、聊产品想法 |
| [bmomhan@gmail.com](mailto:bmomhan@gmail.com) | 商务、赞助、其他不方便公开的事 |

### 想参与开发

-   **写 adapter**：新增一个 AI 工具的支持，只需要在 `src/adapters/` 下实现 `detect()` + `collect()`，不需要读任何中心服务。想接哪个工具，先开 Discussion 说一声，避免撞车
-   **提 PR**：`npm test` 和 `cargo test` 必须全绿，`.github/workflows/ci.yml` 会在每次 push 自动跑；分支合并前请保持工作区干净
-   **报数据不准**：最有价值的反馈。附上「哪个工具、哪个模型、你预期的数字、token-pilot 显示的数字」就够了，不用贴原始日志

## 💬 参与讨论

-   **[Discussions](https://github.com/anthonyhann/token-pilot/discussions)** ——「这个模型算得对不对」「能不能支持某某工具」这类问题放这里，比开 issue 合适
-   **[Issues](https://github.com/anthonyhann/token-pilot/issues/new/choose)** ——数据算错、功能异常

## 💰 支持这个项目

token-pilot 免费且 MIT。如果它帮你省下了 AI 账单，可以请我喝杯咖啡：

| 支付宝 | 微信 |
| --- | --- |
| ![支付宝赞赏码](https://npmcn.com/package/%40anthonyhan/token-pilot/docs/assets/sponsor-alipay.png) | ![微信赞赏码](https://npmcn.com/package/%40anthonyhan/token-pilot/docs/assets/sponsor-wechat.png) |

也想出现在这里？→ [bmomhan@gmail.com](mailto:bmomhan@gmail.com)（赞助位招租）

⭐ Star 本仓库 = 告诉我你在用哪个宿主——下一个 adapter 优先做 Star 用户提名最多的那个。

## 🙋 关于我

一个人 + 几个 AI Agent 在做产品实验（西安远程）。token-pilot 是我自己每天真在用的工具——它先抓出了我 kimi-code 里一个打了 120 次调用的打转会话，又告诉我这个月缓存帮我省了 ¥3,048。

**保持联系：** [X @AnthonyHan\_](https://x.com/AnthonyHan_) · [bmomhan@gmail.com](mailto:bmomhan@gmail.com)

## 📝 更新日志

完整分版本说明见 [RELEASE\_NOTES.md](https://npmcn.com/package/%40anthonyhan/token-pilot/RELEASE_NOTES.md)（也是客户端自动更新弹窗的文案来源）。

-   **v0.3.2** RTK 改用含压缩引擎的完整版，装完自动接 hook（备份/回滚保护）；新增发布数据回流脚本
-   **v0.3.1** npm 包缺 web 目录修复、看板前端编入 app 二进制
-   **v0.3.0** 新增「压缩潜力」板块，修省钱建议卡被静默丢弃
-   **v0.2.9** 自动发布链路修复（三平台产物上传与命名）
-   **v0.2.6** 激活自动更新链路 + 打转熔断主动通知（含防轰炸）
-   **v0.2.5** npm scope 校正为 `@anthonyhann`，包可运行性修复
-   **v0.2.3** 2B 压缩执行第一层（自动压缩 + autoCompact 写入 + RTK）、价格核对台
-   **v0.2.1** 定价表对齐 8 家官方目录价、DeepSeek 分时、面板布局修复
-   **v0.2.0** 压缩潜力量化、9 源采集覆盖、三处口径修复
-   **v0.1.0** 首版 → CLI 账单 + 本地看板 + macOS/Windows 状态栏应用，三形态一次给齐

## ✅ TODO LIST

图例：`[x]` 已完成 · `[ ]` 计划中 · `[⏸]` 卡在外部条件，短期不会动（原因写在后面）

**采集覆盖**

-   [x] OpenCode adapter（SQLite）
-   [x] Qoder adapter（仅会话数，model 全为 auto——诚实标注）
-   [x] pi adapter
-   [x] Cursor spike（结论：无 token 用量数据，ai-code-tracking 是代码追踪非用量 → 诚实归「仅检测」）
-   [x] 云端用量 API：Doubao 火山（arkcli usage stats，日粒度）
-   \[⏸\] 云端用量 API：OpenAI / Kimi 开放平台
    -   **实测结论**（2026-11）：Kimi 的**余额已接通**（`GET /v1/users/me/balance` → `data.available_balance`，真实 key 验证通过）。但**没有用量查询端点**——`/v1/usage`、`/v1/users/me/usage`、`/api/v1/usage` 全部 404。所以「还剩多少」能查，「今天花了多少」查不到
    -   OpenAI 有 `/v1/organization/usage/*` 这类用量端点，但都是组织级接口，需要 Organization Admin key 才能调。**我没有 admin key，无法验证个人 key 是否也可用**——所以这项标「卡住」而不是「简单待办」
    -   如果你手上有 OpenAI 的 admin key 或知道 Kimi 的用量接口，发我实测一次，验证通过我当天就能接上

**节流（Step 2）**

-   [x] 2A 压缩潜力量化（规则引擎：陈旧输出/重复读取/超长输出 → 本月可省多少，实测 $63-95）
-   [x] 2B 压缩执行第一层：自动压缩提醒 + Claude autoCompact 写入 + RTK 安装（含 engine 的完整版；自动接 hook，改动 settings.json 前备份、失败还原）
-   [x] 异常重试自动熔断提醒（`breaker.ts`：单会话 ≥30 次调用即主动通知，每轮最多提 1 个防首跑轰炸）
-   \[⏸\] 2B 压缩执行第二层：代理网关（LiteLLM / 自研）
    -   卡点不是技术，是**边界**：本地代理会接管你所有 AI 工具的请求链路。要做就得先回答「失败怎么无感回退」「改了网络出问题怎么一键还原」「凭什么让用户信它不劫持 key」。这三条没有令人信服的答案之前不做——**宁可不做，也不能做一个会偷偷影响你网络的中间层**
-   \[⏸\] 低价模型路由（同上，是代理网关的一个子功能）
    -   依赖上一条；另外自动路由会导致「同一段对话前后模型不一致」，对连贯性有损，需要先验证收益是否盖过代价

**平台与工程**

-   [x] macOS 状态栏应用（arm64 + Intel x64 双架构 .app/.dmg）
-   [x] Windows 核查 + 分平台图标 + CI（`.msi` 由 Actions 产出）
-   [x] 自动更新（tauri-updater，v0.2.6 起生效，三平台共用一份 `latest.json`）
-   [x] CI 自动发布：打 tag 后三平台产物 + 合并版 `latest.json` 自动进 Release，并回写 brew cask
-   \[⏸\] Windows `.msi` 实机安装验证
    -   现状：CI 只验证到「产物成功生成 + 签名文件存在 + 文件大小合理」，**没有在真实 Windows 上装过、跑过、验证过自动更新**。开发环境是 macOS，手上没有 Windows 机器
    -   需要：一台 Windows 10/11 机器。谁愿意帮忙实测，开 Discussion 说一声，我把验证步骤整理成清单发你
-   \[⏸\] 统一二进制（universal2 单包替代 arm64/x64 两个 dmg）
    -   技术上可行：依赖全是纯 Rust（tauri / serde / open，没有 C 库），lipo 能合并
    -   代价明确：两个架构的代码合并后，单包体积必然大于现在任一个 dmg（现在 arm64 是 5.4MB、x64 是 5.7MB）。**具体多大需实际构建后才能确认，这里是预估不是实测**
    -   而且 `latest.json` 仍要按架构分发，等于要多维护一条合并流程
    -   结论：只有在「用户分不清该下哪个」真的成为常见问题时才值得做。现在两个 dmg 名字里已经标了 aarch64 / x64，暂时不是瓶颈
-   \[⏸\] 签名与公证
    -   阻塞原因：Apple Developer Program **$99/年**，目前项目没有收入来源
    -   影响：未签名的 app 首次打开会被 Gatekeeper 拦一次，需要右键打开或跑一次 `xattr -dr com.apple.quarantine`（[快速开始](https://npmcn.com/package/%40anthonyhan/token-pilot/#readme--%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)里有写）。brew 安装的会自动处理
    -   若将来有赞助覆盖这笔开销，优先做这个——它比任何新功能都更能降低新用户的第一次使用摩擦

## English

**[README in English → README-en.md](https://npmcn.com/package/%40anthonyhan/token-pilot/README-en.md)**

_token-pilot_ — local billing + budget control for all your AI coding tools. Reads local logs only (no hooks, no telemetry). CLI + local dashboard + menubar app (macOS/Windows). Chinese models (DeepSeek/GLM/Kimi…) auto-normalized via host-log `model` field.

## License

[MIT](https://npmcn.com/package/%40anthonyhan/token-pilot/LICENSE) © anthonyhann

## 常见问题

### @anthonyhan/token-pilot 是什么？

你所有 AI 工具的本地账单 \+ 预算控制器 — 只读本地日志，零入侵，不出本机

### 如何安装 @anthonyhan/token-pilot？

在项目目录运行 npm install @anthonyhan/token-pilot，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 token-pilot，可以用 npx token-pilot 直接运行。

### @anthonyhan/token-pilot 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/anthonyhan\_\_token-pilot 是否存在。

### @anthonyhan/token-pilot 支持 ESM 还是 CommonJS？

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

### @anthonyhan/token-pilot 需要什么版本的 Node\.js？

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

### @anthonyhan/token-pilot 可以商用吗？

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

### @anthonyhan/token-pilot 的下载量有多少？

根据 npm 官方下载统计，@anthonyhan/token-pilot 在 2026/10/06 – 2026/11/04 这 30 天内被下载 2,052 次，日均约 68 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @anthonyhan/token-pilot 还在维护吗？

最新版本 0\.4\.12 发布于 2026/11/06（1 天前）；至今共发布 20 个版本，其中过去 12 个月发布了 20 个；首次发布于 2026/10/23。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

