Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,424 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OmniPanel

一处看全多家 AI 服务的用量、额度与费用。常驻桌面进程,跨 Windows / macOS / Linux。

把分散在各家控制台 / 本地凭证 / 网页后台的 AI 用量数据集中读出来、统一展示,如实标注每条数字的来源与新鲜度。对标 macOS 原生版 UsageBoard。

目标用户

同时用多家 AI 服务(Claude、Codex、GLM、MiniMax…)的重度用户与团队。痛点:额度分散在各家控制台/本地凭证/网页后台,无法一眼看清“哪个账号快用完了”。

支持的连接器

16 个内置连接器,覆盖五种采集模式:

连接器 类型 采集方式
Claude 本地凭证型 读取 ~/.claude
Codex 本地凭证型 读取 ~/.codex 会话日志
Antigravity 本地凭证型 读取 ~/.antigravity/session.json
Grok OAuth / API 轮询 OAuth 2.0 device-code 授权,或 API key(grok_billing
Kimi OAuth / API 轮询 OAuth 2.0 device-code 授权,或 API key(api.kimi.com
智谱 GLM 官方 API 轮询 余额接口
MiniMax 官方 API 轮询 余额接口
DeepSeek 官方 API 轮询 余额接口
Tavily 官方 API 轮询 余额接口
Firecrawl 官方 API 轮询 团队信用额度接口
Exa 官方 API 轮询 Service Key + API Key ID 查团队用量
GetOneAPI 官方 API 轮询 余额接口
TikHub 官方 API 轮询 用户信息接口
MiMo 网页登录型 受控窗口捕获 Cookie
OpenCode Go 网页登录型 受控窗口捕获 Cookie
CPA-Manager 聚合代理 一份管理密钥代拉 Claude×N + Codex×N + Antigravity + Kimi 多账号

配套能力:多账号、账号级隐藏、provider 聚合概览、明暗主题、代理、自定义刷新间隔、数据标签映射、配置导入导出、系统托盘、悬浮 / 弹出两种主面板形态。

成功标准

  • 每条展示的数字都能追溯到 observedAt(观测时刻)+ source(来源)。
  • 采集失败保留上次成功数据并明确标 stale,绝不把旧数据装成新的。
  • CPA 单账号失败不拖垮同渠道其他账号(错误归属到账号,不到渠道)。
  • 多账号 provider 概览用 sum(used)/sum(limit) 聚合,不对百分比取平均。
  • 密钥默认不出主进程;用量面板/托盘不拉密钥;日志强制脱敏。

安装

方式一:下载安装包(推荐)

Releases 下载对应平台的安装包:

  • Windows:OmniPanel-Setup-x.y.z.exe(NSIS 安装器)
  • macOS:OmniPanel-x.y.z.dmg / .zip(x64 + arm64)
  • Linux:OmniPanel-x.y.z.AppImage / .deb / .rpm

方式二:从源码构建

pnpm install          # 装依赖
pnpm start            # 开发(electron-vite dev)
pnpm package          # 打包 + 启动产物
pnpm make:win         # 仅打包 Windows 安装器
pnpm make:mac         # 仅打包 macOS
pnpm make:linux       # 仅打包 Linux

打包产物路径:artifacts/

隐私

  • 完全本地运行,无任何遥测、无上报、无云端依赖
  • 密钥存于本地 AES-256-GCM 加密 Vault({userData}/secrets.vault),主密钥独立文件 vault.key
  • 渲染进程永远只拿 hasSecret 布尔,不见明文密钥
  • 配置导入导出含明文密钥,用户自行负责导出文件的安全(详见 secret-vault spec
  • 网络请求仅由主进程宿主统一发出(net-client),连接器沙箱无直接出网能力
  • LocalAPI 默认监听 0.0.0.0:17863(供局域网 web 面板访问;SSRF/认证由 NetClient 层与端点级 Bearer token 负责,详见 platform-services-api spec

开发

pnpm install          # 装依赖
pnpm start            # 开发(electron-vite dev,读本机真实数据)
pnpm start:test       # 测试实例(独立 userData 沙盒 + 黄图标 + 端口 17864,不碰真实数据)
pnpm check            # typecheck + lint + format + deadcode + arch
pnpm test             # vitest 单元 + 集成
pnpm test:e2e:web     # Playwright 测 web SPA(chromium, mock 后端, 日常)
pnpm test:e2e:electron # Playwright Electron 驱动(专属能力, 手动跑)
pnpm test:packaged    # 打包 smoke

详见 测试指南

测试实例与正常实例可同时运行:测试实例数据写 .scratch/test-instance/、LocalAPI 用 17864、托盘/窗口黄色图标(TEST_INSTANCE=1),与正常实例(17863、蓝图标、%APPDATA%/omni_panel)互不干扰。注意两个 dev 实例共享 out/ 编译目录会冲突,同时跑时正常实例用打包 exe、测试用 pnpm start:test

架构与文档

技术栈:Electron + React + TypeScript + better-sqlite3 + undici + Zod。

文档结构以 AGENTS.md 为行为入口,真相分层放 docs/

已知限制

  • 不自动检查更新(占位 UI,未实现)
  • 不做趋势图(SQLite 留了历史数据,但首版不出图)
  • 不做系统钥匙串 / safeStorage(自管 Vault,威胁模型见 secret-vault.md
  • 不为第三方开放沙箱脚本连接器node:vm 非真隔离)
  • 界面语言切换、问卷、赞助入口为占位 UI,未落地

License

AGPL-3.0-only © tutoupower

About

Cross-platform AI usage monitor. Electron desktop app for tracking Claude, OpenAI Codex, GLM, MiniMax, DeepSeek, Tavily usage.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages