📊我想把 AI 用量放到手机桌面:AI Usage Widget 从想法到 V1 方案
我同时在用 ChatGPT / Codex、Claude、DeepSeek 等 AI 工具。看到别人把各平台用量做成 iPhone 桌面小组件后,我也想做一个自己的版本:打开手机就能看到还剩多少额度、什么时候重置。

我的设备组合
我的主力设备不是 iPhone,而是:
- Mac
- Samsung Android 手机为主
- iPhone 为辅
所以我没有照搬 Scriptable,而是把方案改成:
Mac 负责采集数据,手机只负责展示
V1 不追求“大而全”,只保留真正会看的内容:
- 平台名称
- 当前用量 / 剩余额度
- 百分比进度条
- 重置时间
- 余额
- 最后更新时间
优先关注 ChatGPT / Codex、Claude、DeepSeek,其他平台后续再加。
这里有个关键点:订阅额度和 API Usage 不能混为一谈。
ChatGPT / Codex 的订阅用量不能直接用 OpenAI API Usage 代替,Claude 也是一样。所以 V1 只接入能够稳定获取真实数据的平台,拿不到就先不显示。
Mac 端:统一采集数据
Mac 端计划用 Python 或 Node.js,每个平台做成独立 Provider,最后统一输出 JSON。
这样手机端不需要理解每个平台的接口,只读取统一数据即可。
真正困难的不是 UI,而是数据源
不同 AI 服务提供的用量接口差异很大,所以我把数据源分成三类:
- 官方 API 可获取
- 本地 CLI / 本地状态可获取
- 暂时无法可靠获取
如果必须依赖高风险 Cookie 或 Session 抓取,默认先不接。
安全上也保持一个原则:
手机拿结果,Mac 保存凭证。
API Key 不写死在源码,优先使用
.env 或 macOS Keychain,日志里也不记录完整 Token。Samsung 端:先用最轻的方案
V1 优先考虑 KWGT,因为它更适合快速验证桌面 Widget。
如果后面发现远程 JSON、刷新频率或布局能力受限,再升级成轻量原生 Android Widget。
第一版只做 Samsung。iPhone 后续如果需要,可以用 Scriptable 共用同一份
usage.json。
Samsung Widget 成品图
同步方式也保持简单
Mac 和手机之间暂时只考虑低维护方案,例如:
- 局域网 HTTP Endpoint
- 私有静态 JSON 地址
V1 不引入数据库、Docker、n8n、云端 Agent 或多用户系统。
如果一个 JSON 文件能解决,就不先造一个平台。
现在做到哪一步
目前已经确定:
- Mac + Samsung 的整体架构
- V1 显示内容
- Provider 模块化思路
- 统一 JSON 格式
- 安全边界
- Android Widget 的实现路线
下一步才是逐个平台确认真实数据源,并开始编码验证。
这个项目对我来说暂时不是商业化产品,而是一个很典型的自用小工具:先解决自己每天会遇到的问题,再决定它值不值得继续扩展。
Loading...