回到開源作品

Open Token Monitor 團隊用量看板

MIT 開源

把每位員工電腦上 Claude Code、Codex、Cursor、Copilot 的 token 與等值成本,自動回報到公司自架的 hub,依公司、部門與人比較。

作品畫面

用量 dashboard:Token、等值成本、使用人數、活躍裝置都跟上一期比,下面是依部門分線的每週趨勢。畫面是假資料。
用量 dashboard:Token、等值成本、使用人數、活躍裝置都跟上一期比,下面是依部門分線的每週趨勢。畫面是假資料。點擊圖片可查看原尺寸
帳號排行與 Token 組成:多人共用同一個 AI 帳號也看得出來。
帳號排行與 Token 組成:多人共用同一個 AI 帳號也看得出來。點擊圖片可查看原尺寸
裝置與 AI 工具額度:每台電腦的版本、用量、最後回報時間,以及 Claude、Codex 的剩餘額度。
裝置與 AI 工具額度:每台電腦的版本、用量、最後回報時間,以及 Claude、Codex 的剩餘額度。點擊圖片可查看原尺寸
組織名單匯入前先預覽差異:新增、修改、停用的人各自列出來,名單上沒有的人只停用不刪除。
組織名單匯入前先預覽差異:新增、修改、停用的人各自列出來,名單上沒有的人只停用不刪除。點擊圖片可查看原尺寸
Rust/Tauri 員工端的用量儀表板:總 Token、總花費、活躍與連續天數,每日用量可依工具或模型切換。
Rust/Tauri 員工端的用量儀表板:總 Token、總花費、活躍與連續天數,每日用量可依工具或模型切換。點擊圖片可查看原尺寸
hub 內建的安裝說明頁(/install):自動選好訪客的系統,每一步附上視窗截圖。
hub 內建的安裝說明頁(/install):自動選好訪客的系統,每一步附上視窗截圖。點擊圖片可查看原尺寸

解決的問題

上游 Token Monitor 是個人工具:hub 把資料存在 JSON 檔、歷史每次整份被蓋掉、全公司共用一把密碼,也沒有網頁與組織的概念。團隊要的月報、部門攤提做不到,裝置還對不到人。

實作方向

  1. 01疊在上游外面做:公司需要的功能都在外層,上游程式碼一行不改,改了它 npm run verify 就會失敗。
  2. 02hub 改存 PostgreSQL,每日用量永久保留、每天 pg_dump 備份;權限拆成管理員、client、API token 三級。
  3. 03匯入組織名單(員工編號、姓名、Email、部門),用 email 把裝置歸給人,dashboard 依公司與部門比較。
  4. 04員工端安裝檔預填 hub 網址與金鑰,第一次開啟就連上、開機自動啟動,更新走自己的 Release。
  5. 05報表 API v1 回 JSON 或 CSV,附 OpenAPI 3.1,給成本系統或 BI 串接。

團隊導入時踩到的痛點,怎麼補

這些是實際部署給團隊、逐行讀過上游 hub 之後整理出來的。

  • 歷史會被整份蓋掉:上游 hub 收到上傳時整份取代,裝置離線的日子永遠補不回來。改存 PostgreSQL 逐日落地,上個月、上上個月都查得到。
  • hub 每秒重寫 21 MB:用戶端只送 34 KB,上游卻整份重寫 JSON,寫入放大約 600 倍。改用資料庫後不再整份重寫。
  • 裝置對不到人:上游用主機名稱當裝置 ID,改名或重灌就重複計算。公司版改用隨機 UUID,再用組織名單的 email 對到人與部門。
  • 員工看得到同事的用量:上游小工具連上 hub 顯示全部裝置加總。公司版預設只顯示這台電腦。
  • 更新會被上游蓋掉:上游固定去官方 GitHub 抓新版。公司版改從公司 GitLab 或本 repo 的 GitHub Release 更新。
  • 跟不上上游:一次升一版,upstream:status、upstream:update、upstream:impact 三個指令;每週一自動開 PR,留言 @claude 就能交給 AI 升級。