danleetw/ai_usage_dashboard

GitHub: danleetw/ai_usage_dashboard

一款零依赖的本地 AI 使用量监控仪表板,以游戏血条形式实时展示多个 AI 提供商的额度消耗、Context 占用与重置倒计时。

Stars: 53 | Forks: 12

# AI 使用量儀表板 [English](README.en.md) | 繁體中文 本機執行的 AI 用量儀表板:一橫列一個 AI 提供商,以電玩血條顯示目前使用率、下次重生倒數、 Context 使用率、每週/每月使用率。支援 Claude / Codex / MiniMax / Antigravity / Kiro 自動同步 (Antigravity 需保持 `agy` CLI 在終端機中執行;Kiro 需安裝 `kiro-cli` 並登入)。 零執行期依賴 —— 前端是單一 `index.html`,伺服器 `server.js` 只用 Node.js 內建模組, **不需要 `npm install`** 就能執行。伺服器只綁定 `127.0.0.1`,不會對外開放。介面支援 繁體中文 / English 切換,預設依瀏覽器語言自動判斷。 ![繁體中文畫面](https://static.pigsec.cn/wp-content/uploads/repos/cas/0e/0e498eeb62cd611fc20eb5b32d2b7557ac4bcda0c785f931c93b5289032f214d.png) ![English screenshot](https://raw.githubusercontent.com/danleetw/ai_usage_dashboard/main/screenshots/dashboard-en.png) ## 快速開始 唯一前提:安裝 [Node.js](https://nodejs.org/)(建議 LTS 版本)。 下載本專案(`git clone` 或直接下載 ZIP 解壓縮),進入資料夾後依作業系統執行: ### Windows 雙擊 `start.bat`,或在終端機執行: start.bat ### macOS 在 Finder 對 `start.command` 按右鍵 → 打開(第一次執行會被 Gatekeeper 擋下, 需右鍵開啟一次;或先在終端機執行 `xattr -d com.apple.quarantine start.command` 解除隔離)。 也可以直接在終端機執行: ./start.command ### Linux 在終端機執行: ./start.sh 啟動後會自動開啟瀏覽器連到 `http://127.0.0.1:3789`。若沒有自動跳出,手動開啟該網址即可。 ## 機密資料 MiniMax API Key 等機密只在本機使用,以 AES-256-GCM 加密後存於 `config.json`, 加密金鑰由**本機硬體識別碼**衍生(Windows:BIOS 序號 + MachineGuid;macOS: `IOPlatformUUID`;Linux:`/etc/machine-id`)。這代表 `config.json` 綁定單一機器, 複製到別台電腦無法解密 —— 不需要、也不應該把 `config.json` 上傳或分享。 ## 開發 / 測試 只有要跑 Playwright E2E 測試時才需要: npm install npx playwright install chromium ## 桌面浮動小工具(僅 Windows,選用) 除了傳統瀏覽器分頁,也可以另外開一個無邊框、逐像素透明、釘選在螢幕右上角的浮動小視窗(只顯示供應商 卡片,拿掉標題/語系切換等,血條與捲軸也是半透明),用 WPF + WebView2 實作。兩種模式共用同一個伺服器, 可以同時開著: | | 傳統瀏覽器版本 | 浮動小工具 | |---|---|---| | 啟動方式 | 雙擊 `start.bat` | 先確保伺服器有在跑,再雙擊 `floating-widget.bat` | | 外觀 | 完整版(標題列、語系切換、新增提供商) | 無邊框、透明背景、只有供應商卡片,血條/捲軸半透明 | | 預設大小 | 一般瀏覽器視窗 | 載入資料後自動調整成剛好容納一張卡片的高度 | | 調整大小 | 一般瀏覽器視窗操作 | 拖曳視窗邊緣或四個角落即可(角落沒有視覺標記,但仍可點擊拖曳) | | 搬移位置 | 一般瀏覽器視窗操作 | 按住卡片或背景的任何空白處直接拖曳(滑鼠移上去會出現抓取游標與頂端 ⠿ 提示;按鈕、輸入框、排序把手除外) | | 關閉方式 | 關瀏覽器分頁 | **Alt+F4**(無邊框設計,沒有關閉按鈕) | 第一次使用浮動小工具前,需要手動下載 3 個官方 WebView2 SDK 的 DLL(約 9MB,來自 nuget.org,不隨版控 一起發佈): # 在專案根目錄執行 Invoke-WebRequest -Uri "https://api.nuget.org/v3-flatcontainer/microsoft.web.webview2/1.0.4022.49/microsoft.web.webview2.1.0.4022.49.nupkg" -OutFile webview2.zip Expand-Archive webview2.zip -DestinationPath webview2_tmp New-Item -ItemType Directory -Force floating-widget-lib Copy-Item webview2_tmp\lib\net462\Microsoft.Web.WebView2.Core.dll, webview2_tmp\lib\net462\Microsoft.Web.WebView2.Wpf.dll, webview2_tmp\runtimes\win-x64\native\WebView2Loader.dll floating-widget-lib\ Remove-Item webview2.zip, webview2_tmp -Recurse ### 迷你橫式模式 嫌卡片版還是太大的話,可以加 `-Mini` 開關,改成一行約 20px 高、寬度約螢幕 1/5 的迷你血條,一次只顯示 一個供應商(名稱 + 血條 + 百分比 + 重置倒數)。跟卡片版一樣,**開啟前要先確保伺服器有在跑**(雙擊 `start.bat`,已經開著就跳過),接著雙擊 `floating-widget-mini.bat` 就會直接用這個模式開啟(預設顯示 排序裡的第一個供應商),或是自己在終端機下參數指定要看哪一個: floating-widget.bat -Mini -Provider claude `-Provider` 可省略(預設用你排序裡的第一個供應商)。開著迷你視窗時按 **↑/↓** 方向鍵可以切換顯示的 供應商。迷你模式固定大小、不能拖邊緣調整大小;按住那一行的任何地方就能拖曳搬移位置。
标签:AES加密, AI 仪表板, GNU通用公共许可证, MITM代理, Node.js, 后端开发, 多模态安全, 数据可视化, 本地部署, 特征检测, 用量监控, 零依赖