Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI-Token

AI-Token 是一个面向 macOS 14 及以上版本的菜单栏应用,用来集中查看大模型平台的余额、额度和每日用量。它优先使用官方 API 或本机服务;只能通过网页读取的平台,会明确标记为网页同步,不会把解析失败伪装成 0

当前状态

项目处于 0.2.x 可用性打磨阶段。核心 App 已能通过 SwiftPM 构建、测试,并打包成临时签名的 Release .app 与拖拽安装 DMG。由于个人开发者暂时没有 Apple Developer 证书,公开分发时仍会触发 macOS Gatekeeper 提示;这不是应用代码可以绕过的限制。

平台 自动读取 网页同步 默认启用 说明
DeepSeek 官方余额 API 支持 API Key 保存于 Keychain
Codex 本机 App Server 不需要 读取本机 Codex 登录账号的额度和 Token 用量
Xiaomi MiMo 暂无稳定 API 支持 使用内置 WebView 登录态
Kimi 余额 API 支持 API Key 保存于 Keychain
OpenAI 暂不启用账单 API 支持 普通 API Key 不用于账单读取
Anthropic 暂无账单 API 支持 严格解析控制台用量页
通义千问、智谱 AI、豆包、Ninjia 暂无稳定接入 支持 页面结构变化时会报错并保留上次数据

已有能力

  • macOS 菜单栏面板、平台开关、手动和定时刷新
  • Keychain-only API Key 存储;普通配置与历史数据保存在本机
  • Codex app-server 本机 JSON-RPC 集成
  • 每日用量、月度趋势、余额预测和低余额通知
  • 网络失败时保留上次可信卡片,并持久显示失败来源
  • 中文优先界面、浅色/深色/跟随系统模式、开机启动
  • 无证书 Release .app/DMG 打包、图标生成、签名验证和启动冒烟检查

桌面 Widget 源码目前仍是实验性代码,没有嵌入 Release App,不应视为已发布功能。Windows 客户端也仍处于预留状态。

目录结构

AI-Token/
├── shared/              # 平台中立的 API、模型、解析与趋势逻辑
├── AI-Token-MacOS/      # SwiftUI 菜单栏 App、服务、视图和测试
├── AI-Token-Windows/    # Windows 版本预留边界
├── docs/                # 接入、分发和 Widget 说明
├── scripts/             # 仓库级验证脚本
└── tasks/               # 产品化规格与任务清单

开发与验证

运行完整质量门禁:

./scripts/verify-all.sh

它会依次执行共享层测试、macOS 测试、Release 编译、App/DMG 打包、签名/元数据检查、凭据特征扫描,以及本机启动冒烟检查。

只运行单个模块:

swift test --package-path shared
swift test --package-path AI-Token-MacOS
swift build --package-path AI-Token-MacOS -c release

生成 Release App:

AI-Token-MacOS/Scripts/package-release-app.sh
open AI-Token-MacOS/Build/Release/AI-Token.app

生成可拖拽安装的 DMG:

AI-Token-MacOS/Scripts/package-release-dmg.sh

产物默认使用 ad-hoc 临时签名。以后获得 Developer ID 证书后,可直接指定签名身份:

AI_TOKEN_SIGN_IDENTITY="Developer ID Application: Your Name (TEAMID)" \
  AI-Token-MacOS/Scripts/package-release-app.sh

更多限制和分发说明见 docs/distribution.md

安全与数据

  • API Key 使用 kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly 存入 macOS Keychain。
  • 网络请求单次超时为 10 秒;外部响应先在共享层验证再进入 UI。
  • WebView Cookie 保留在 WebKit 默认数据容器,不会导出到普通文件。
  • 用量快照位于用户的 Application Support 目录,不包含 API Key。
  • .env、证书、私钥与构建产物均被 Git 忽略。

已知限制

  • 没有 Apple Developer 证书时,其他 Mac 首次打开会看到 Gatekeeper 提示。
  • 网页同步依赖第三方控制台 DOM;页面变化时需要更新解析器。
  • 菜单栏弹窗尚缺少稳定的端到端 UI 自动化,当前以单元测试、构建和进程级冒烟检查为主。
  • Notarization、自动更新和 Widget Extension 尚未进入当前分发链路。

About

macOS menu bar app for monitoring AI platform usage and balances

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages