# QuotaDock
[English](./README.md) | [한국어](./README.ko-KR.md) | [简体中文](./README.zh-CN.md) | [繁體中文(臺灣)](./README.zh-TW.md) | [日本語](./README.ja-JP.md)
QuotaDock 是一款常驻置顶的轻量 Windows 桌面小组件,让你一眼看清 **Claude、OpenAI Codex 与
Google Antigravity** 的用量额度 —— 会话/每周配额以及重置倒计时。
[](https://github.com/jungdosa/QuotaDock/releases)
[](LICENSE)
[](https://go.dev/)
[](https://fyne.io/)
[](#支持平台)
使用 Claude Code、Codex CLI 和 Antigravity IDE 时,你总在问同样的问题:*5 小时会话还剩多少?
每周额度什么时候重置?* QuotaDock 替你盯着,不必再去逐个查看。
| 服务商 | 显示内容 | 连接方式 |
|---|---|---|
| **Claude**(Claude Code) | 5 小时会话 · 7 天每周 · Fable 每周 | 使用 Claude Code 已有的 OAuth 凭据(凭据文件或环境变量);无需在应用内粘贴,也不提取浏览器 Cookie |
| **OpenAI Codex** | 会话 · 每周额度 | 官方 Codex CLI app-server(stdio JSONL) |
| **Google Antigravity** | Gemini 与 Claude/GPT 组的会话 · 每周 | Antigravity CLI 只读用量报告;CLI 不可用时使用本地语言服务器(loopback) |
某一个服务商连接失败时,其余仍照常工作。每一行都会在**分段条(已用量)**下方绘制一条
**细长连续条(距离重置的剩余时间)**,让你一眼判断额度是否消耗得比时间更快。超过警告或
危险阈值时,进度条与数值会切换为警示色。
## 界面
三种小组件视图外加设置界面。工具栏按钮按 `普通 → 紧凑 → 迷你` 循环切换,迷你视图单击即可
返回紧凑视图。
### 普通 —— 信息最完整
按服务商分组,显示套餐徽章、用量条与重置条、倒计时和重置时刻。

### 紧凑 —— 每行一条
更窄的视图,百分比旁边直接显示距离重置的剩余时间。将鼠标悬停在时间上会弹出精确重置时刻的
提示。

### 迷你 —— 极小长条
每个服务商占一格,高度约 78px,适合固定在显示器角落。悬停某一行会显示三行提示:
`服务商 · 窗口 / 剩余时间 / 重置时刻`。

## 功能
- **浅色 · 深色 · 跟随系统主题**,12/24 小时日期格式,按服务商配色,警告阈值可调
- **十二种语言** —— 英语、韩语、德语、法语、意大利语、印尼语、葡萄牙语(巴西)、
西班牙语(西班牙/拉丁美洲)、日语、简体中文、繁体中文(台湾)。选择 `系统` 则跟随 Windows 显示语言
- **连接方式按钮** —— 每个服务商行都会显示它通过哪种方式(`CLI`、`Auth`、`IDE`)连接
以及当前状态。若缺少对应 CLI,点击按钮会在卡片内直接展开安装指引
- **内置更新** —— 启动时检查一次 GitHub Releases,也可随时手动检查。下载文件会与发布资源的
SHA-256 校验**两次**:下载完成后一次,运行安装程序前再一次。不做周期轮询,不发送任何凭据
- **固定到任务栏(Windows 11)** —— 让托盘图标不被折叠进溢出区域
## 安装
最快的方式是使用 Windows 程序包管理器:
```powershell
winget install jungdosa.QuotaDock
```
从 [**Releases**](https://github.com/jungdosa/QuotaDock/releases) 下载。
| 文件 | 用途 |
|---|---|
| `QuotaDock-<版本>-win-x64-Setup.exe` | 安装版 —— 创建开始菜单项,可选开机自启 |
| `QuotaDock-<版本>-win-x64-portable.exe` | 免安装单文件版 |
二进制文件未做代码签名,SmartScreen 可能会提示。请用 `SHA256SUMS.txt` 校验完整性。
无需任何配置 —— QuotaDock 会自动发现你已登录的官方 CLI 与 IDE。
> 当前版本请查看本页顶部的**发布徽章**以及
> [Releases](https://github.com/jungdosa/QuotaDock/releases) 页面。完成 Windows 功能验证后将升为 `1.0.0`。
## 首次运行
没有设置向导,没有登录界面,也不需要粘贴任何东西。
1. 启动 **QuotaDock**,它会以常驻置顶的小窗口出现。
2. 它会自动寻找你已经在用的官方工具并连接 —— Claude Code CLI、Codex CLI 和 Antigravity IDE。
3. 已登录的服务商会在几秒内开始显示用量。
如果某一行提示缺少 CLI,请打开 **设置 → 连接**,点击该服务商的 `CLI` 按钮。安装指引会直接在
卡片内展开 —— 需要执行的命令、如何登录,以及 QuotaDock 的查找路径。装好后点 `重新扫描` 即可,
无需重启。
### 连接 Claude 的三种方式
QuotaDock 最多可并排显示五个 Claude 账号。在 **设置 → 连接** 的最后一张 Claude 卡片上点 `+` 添加账号,
点 `−` 移除最后一个;每个账号都有自己的显示名和颜色。每张 Claude 卡片上有三个连接方式按钮,每个账号选一种。
| 方式 | 读取什么 | 适用场景 |
|---|---|---|
| `CLI` | 本机 Claude Code 已保存的凭据 | 你在这台电脑上使用 Claude Code。CLI 只保存一个登录,所以**只能一个账号**。 |
| `Auth` | 在 QuotaDock 自带浏览器窗口中完成的 Claude 登录 | 第二个账号,或没有 Claude Code 的电脑。 |
| `其他` | 环境变量 `CLAUDE_CODE_OAUTH_TOKEN` | 你自己管理的长期令牌 —— 例如通过 SSH 登录的机器。 |
`其他` 没有粘贴框 —— 这是有意的,QuotaDock 从不要求你输入令牌。使用步骤:
1. 在终端运行 `claude setup-token` 并按提示操作,会输出一个长期令牌(需要 Claude 订阅)。
2. 把它保存为名为 `CLAUDE_CODE_OAUTH_TOKEN` 的**用户环境变量**
(Windows:*设置 → 系统 → 系统信息 → 高级系统设置 → 环境变量*)。
3. 重新启动 QuotaDock —— 环境变量在程序启动时读取 —— 然后点 Claude 卡片上的 `其他`。
卡片会显示该变量已配置。
这个变量对你运行的任何程序都可见,请像对待密码一样对待它:不要写进共享的脚本,泄露后请到
Anthropic 账号中吊销。
日常使用:
- 工具栏按钮按 `普通 → 紧凑 → 迷你` 循环,迷你视图单击即可回到紧凑视图。
- `✕` 是收进托盘而不是退出。退出请从托盘菜单操作。
- 拖动标题栏可移动窗口,位置会在下次启动时保留。
## 隐私
QuotaDock **使用官方工具已经建立的认证状态**。它不要求你粘贴机密信息,不提取浏览器 Cookie,
不做网页抓取,不发送遥测,也不产生计费的 AI 请求。
- **使用既有登录,而非收集凭据。** 对 Claude,QuotaDock 从本机凭据文件或环境变量读取
Claude Code 的 OAuth 凭据;当基于文件的凭据需要续期时,会把 refresh token 发送到 Anthropic
的令牌端点并原子性地更新该文件,随后把 access token 发送到 Anthropic 的用量端点,并每六小时发送到其个人资料端点以读取当前套餐等级。Codex 用量
通过 stdio 与官方 Codex CLI 的 app-server 通信,Antigravity 用量来自经校验的 `127.0.0.1`
语言服务器(当 Antigravity CLI 不可用时)。优先使用已登录 Antigravity CLI 的只读用量报告
(`agy -p "/usage" --output-format json`,最多每五分钟一次),该报告不会启动代理回合,也不消耗配额;
CLI 未安装或未登录时才读取上述语言服务器。若收到无法确认为只读的报告,本次会话内将不再使用 CLI 路径。没有输入凭据的输入框,不提取浏览器 Cookie,没有浏览器自动化,也没有非官方网页抓取。
- **机密不会进入界面和日志。** 令牌、Cookie 和凭据文件原文既不会渲染到 UI,也不会写入日志。
传给界面的只有归一化的用量比例、经白名单校验的套餐标签和重置时刻。
- **诊断记录仅保留在本机。** 正常使用时会把小型、限长的 JSON 诊断日志写入
`%LOCALAPPDATA%\QuotaDock\quotadock.log`。异常退出时,同一目录还可能留下 `crash.log`。
密钥和邮箱地址会在写入前脱敏,两份日志都不会发送到任何地方。
- **对外通信仅限一份短白名单。** 服务商请求只能到达 `api.anthropic.com`、
`platform.claude.com` 与 `grok.com`;内置登录窗口只能打开 `claude.ai`、`anthropic.com`、
`grok.com` 与 `x.ai` 的页面,其用量读取只能到达 `claude.ai` 与 `grok.com`;QuotaDock 启动的官方
Codex 与 Antigravity CLI 会连接各自的服务;更新检查只能到达 `api.github.com` 与 GitHub 的发布主机,且不携带任何
凭据。其余全部是回环连接。没有遥测、没有分析、没有崩溃上报。
- **配置归你所有。** 配置保存在 `%APPDATA%\QuotaDock\settings.json`,卸载后仍会保留,且不会
同步到任何地方。
- **不产生计费请求。** 刷新用量绝不会消耗你的额度或积分。
## 设计原则
- **不打扰。** 只要官方工具已安装并登录,它就自动连接。没有首次启动的登录向导,也没有强制弹窗。
- **不接触机密。** 令牌、Cookie 和 `auth.json` 原文不会进入界面或日志。传给界面的只有归一化的
用量比例、经白名单校验的套餐标签和重置时刻。
- **只连本地。** 没有遥测,没有外部分析服务。loopback 连接仅允许连往经过校验的进程与固定端点。
对外请求仅限上述白名单;更新检查不携带任何凭据,且只在启动时或你点击时发生。
- **不消耗额度。** 刷新用量绝不会发送计费的 AI 请求。
- **足够轻。** Go + Fyne 原生渲染,空闲 CPU 占用为 0%,内存主动管理。
## 支持平台
| 优先级 | 平台 | 状态 |
|---|---|---|
| 第一 | Windows 10 22H2+ / 11, x64 | **可用**(0.7.x) |
| 第二 | macOS 14+, Apple Silicon | 计划中 |
## 从源码构建
Fyne 使用 CGO,仅有 Go 无法完成构建。
- Go 1.26 或更高版本
- C 编译器(Windows:MinGW-w64 / macOS:Xcode Command Line Tools)
```sh
git clone https://github.com/jungdosa/QuotaDock.git
cd QuotaDock
go build ./cmd/quotadock
```
发布产物(Setup.exe、portable、SHA256SUMS)由 `build/windows/build-release.ps1` 生成。
## 许可证
MIT —— 参见 [LICENSE](LICENSE)。
QuotaDock 的源码、文案、界面设计与应用图标均为原创。后续工作计划记录在
[docs/REMAINING-WORK.md](docs/REMAINING-WORK.md)。
### 第三方资源
| 资源 | 来源 | 许可证 |
|---|---|---|
| `assets/fonts/Pretendard-*.ttf` | [Pretendard](https://github.com/orioncactus/pretendard) | SIL OFL 1.1 —— [`Pretendard-OFL.txt`](assets/fonts/Pretendard-OFL.txt) |
| `assets/providers/*.svg` | [lobe-icons](https://github.com/lobehub/lobe-icons) | MIT —— [`LICENSE-lobe-icons.txt`](assets/providers/LICENSE-lobe-icons.txt) |
服务商标志为各自所有者(Anthropic、OpenAI、Google)的商标,此处仅用于标识 QuotaDock 所展示
用量的对应服务。
---
keywords: Claude 用量监控 · Claude Code 速率限制 · OpenAI Codex 配额 · Gemini
Antigravity 用量 · AI 配额追踪 · 桌面小组件 · 系统托盘 · Windows · Go · Fyne