Mark Ku's Blog
MIT 開源 · 自架團隊版

Open Token Monitor

全公司的 AI coding 用量,集中在自己的伺服器上。每位員工電腦上 Claude Code、Codex、Cursor、Copilot 的 token 與等值成本,每 30 分鐘自動回報到公司自架的 hub,依公司、部門與人比較。

安裝員工端GitHub 原始碼
★ 完全免費 · MIT▢ Docker 自架 hub · Windows / macOS / Linux 員工端
hub · 用量 dashboard
用量 dashboard:Token、等值成本、使用人數、活躍裝置四個數字都跟上一期比,下面是依部門分線的每週趨勢。可以依期間、工具、公司與部門篩選。畫面是假資料。
NordVPN
贊助

公共 Wi-Fi、出國連線,交給 NordVPN

一鍵加密全部流量,137 國節點隨你切換。1 帳號 10 台裝置,30 天退款保證。

含聯盟推廣連結

它幫你解決什麼

團隊一起用 AI 寫程式之後,管理者真正會問的幾個問題。

🧾

錢花去哪了

每個人手上的 Claude Code、Codex、Cursor 用量散在各自的電腦裡。hub 把它們算成同一套 token 與等值成本,依公司、部門、人、模型、工具都切得開。

🏢

資料不想交給第三方

用量紀錄裡有專案、帳號與作息。hub 跑在公司內網、資料存在自己的 PostgreSQL,不經過任何外部服務。

👥

裝置對不到人

匯入一份組織名單(員工編號、姓名、Email、部門),用戶端回報的 email 對得上就自動歸給那個人。換人、換部門會保留歷史,月報逐日套用當天的歸屬。

⏱

額度什麼時候用完

Claude 的 5 小時與每週額度、Codex 的額度都列在 dashboard 上,同一個帳號被幾台電腦共用也看得到。

📊

要接進公司的報表

報表 API v1 給成本系統或 BI 拉月、週、日用量,可以回 JSON 或 Excel 直接開的 CSV。附 OpenAPI 3.1 與 llms.txt,交給 AI agent 串接也行。

🖥

員工不想多一件事

公司版安裝檔預填 hub 網址與金鑰,裝完第一次開啟就連上、開機自動啟動、每 30 分鐘上傳一次,員工不用設定任何東西。

由三個部分組成

建立在開源的 Token Monitor 之上,上游程式碼一行不改,公司需要的部分都疊在外面。

🗄

Hub

hub/ · docker/

  • PostgreSQL 儲存,管理員、client、API token 三種權限分級
  • 組織名單網頁編輯或 Excel 匯入,依 email 自動歸屬裝置
  • 用量 dashboard、報表 API、每日備份與刪除歷史資料
  • 疊在上游 hub 前面執行,Docker Compose 一行起
📦

Electron 員工端

client/ · packaging/

  • 上游的桌面小工具,打包時預填 hub 網址與 client 金鑰
  • 第一次開啟就連上 hub,開機自動啟動
  • 每 30 分鐘上傳一次,只顯示這台電腦自己的用量
  • 圖示與視窗左上角可以換成公司 logo
🦀

Rust/Tauri 員工端

tauri/

  • Rust 重寫的輕量版,安裝免管理員權限
  • 上傳的內容與上游用戶端逐欄相同,hub 不必改
  • 另附不需要畫面的 tm-agent,排程與伺服器也能跑
  • 浮動、桌面、系統匣多種視窗模式

值得一提的設計

把用量做成公司的資料,有幾個地方要比個人小工具更講究。

💵

成本講清楚是「等值」

金額是依各家 API 牌價換算的等值成本,不是實際帳單;用訂閱方案的人實際付的是月費。這句話寫在 dashboard 與每一個報表回應裡。

🔐

金鑰分三級

管理員、client、API token 各自只拿得到該拿的。管理員輸入一次金鑰換成 HttpOnly cookie,瀏覽器不保存金鑰;API token 只能讀報表、可設 scope、隨時撤銷。

🌳

組織是一棵樹

公司 → BU → 部門 → 團隊。每天的用量先算給當天的歸屬單位,再往上彙總;沒有歸屬的用量合成一列「其他」,不會默默消失。

🧪

上游一行不改

upstream/ 是上游某一版的完整複本,有人改了它 npm run verify 就會失敗。所有接點都有測試或列在清單裡,上游出新版時拉進來就知道哪裡要跟著改。

🤖

升級可以交給 AI

每週一自動檢查上游,有新版就開 PR 並附檢查清單;在 PR 留言 @claude 會照步驟完成升級,本機也可以用 Claude Code 的 /upstream-update 一次跑完。

🌐

中英雙語

dashboard、管理頁、安裝說明頁與員工端都有繁體中文與英文,依瀏覽器語言自動選,也能手動切換。

💾

備份內建

hub 每天以 pg_dump 備份並輪替,管理員也能隨時手動備份、下載或刪除;刪除歷史資料前會先備份。

🧭

沒有 Docker 也能先看

npm run smoke:hub 會起一個帶假資料的丟棄式 hub,不必準備資料庫,就能先點點看 dashboard 長什麼樣子。

讀得到的 AI coding 工具

Claude CodeCodexCursor IDE / CLIGitHub CopilotOpenCodeAntigravityHermes Agent

以上是 Rust 員工端的清單;Electron 員工端沿用上游 Token Monitor,支援的工具更多。

長什麼樣子

截圖來自 repo 內建的假資料,可以自己跑 npm run smoke:hub 重現。

用量 dashboard:Token、等值成本、使用人數、活躍裝置四個數字都跟上一期比,下面是依部門分線的每週趨勢。可以依期間、工具、公司與部門篩選。畫面是假資料。
用量 dashboard:Token、等值成本、使用人數、活躍裝置四個數字都跟上一期比,下面是依部門分線的每週趨勢。可以依期間、工具、公司與部門篩選。畫面是假資料。
帳號排行與 Token 組成:輸入、輸出、快取讀取、快取寫入各占多少一眼看得出來。用量算給裝置回報的那個 AI 帳號,多人共用一個帳號也看得到。
帳號排行與 Token 組成:輸入、輸出、快取讀取、快取寫入各占多少一眼看得出來。用量算給裝置回報的那個 AI 帳號,多人共用一個帳號也看得到。
裝置與 AI 工具額度:每台電腦的主機名稱、用戶端版本、今日與本月用量、最後回報時間;Claude 與 Codex 帳號的剩餘額度也列在上面。
裝置與 AI 工具額度:每台電腦的主機名稱、用戶端版本、今日與本月用量、最後回報時間;Claude 與 Codex 帳號的剩餘額度也列在上面。
組織名單:每家公司一份(員工編號、姓名、Email、部門),直接在網頁上編輯,或下載 Excel 範本填好再拖回來。
組織名單:每家公司一份(員工編號、姓名、Email、部門),直接在網頁上編輯,或下載 Excel 範本填好再拖回來。
匯入前先預覽差異:新增、修改、停用的人各自列出來,確認了才寫入。名單上沒有的人只停用,不刪除。
匯入前先預覽差異:新增、修改、停用的人各自列出來,確認了才寫入。名單上沒有的人只停用,不刪除。
Rust/Tauri 員工端小工具:今日、本月、全部的用量與等值成本,Claude 的 5 小時與每週額度,各模型占比與活動熱度圖。
Rust/Tauri 員工端小工具:今日、本月、全部的用量與等值成本,Claude 的 5 小時與每週額度,各模型占比與活動熱度圖。
員工端設定:開機自動啟動、浮動/標準/桌面/系統匣四種視窗模式、收合成浮動泡泡、邊緣額度條、玻璃效果與快捷鍵。
員工端設定:開機自動啟動、浮動/標準/桌面/系統匣四種視窗模式、收合成浮動泡泡、邊緣額度條、玻璃效果與快捷鍵。
員工端的用量儀表板:總 Token、總花費、活躍天數與連續天數,每日用量可以切棒形圖或 K 線、依工具或依模型。
員工端的用量儀表板:總 Token、總花費、活躍天數與連續天數,每日用量可以切棒形圖或 K 線、依工具或依模型。
安裝說明頁(/install):Windows、macOS、Linux 各一個分頁,打開時自動選好訪客的系統,每一步旁邊畫著那一步的視窗,要按的地方用橘框圈起來。
安裝說明頁(/install):Windows、macOS、Linux 各一個分頁,打開時自動選好訪客的系統,每一步旁邊畫著那一步的視窗,要按的地方用橘框圈起來。

開始之前要知道的五件事

先把限制講清楚,比事後解釋誠實。

  1. 1

    它給組織用,不是個人工具

    只想看自己一台電腦的用量,直接裝上游的 Token Monitor 就好。這個 repo 多出來的是 hub、資料庫、組織與報表,適合要彙總整個團隊的人。

  2. 2

    金額不是實際帳單

    costUsd 是依 API 牌價換算的等值成本(USD)。用 Claude Max、ChatGPT Plus 這類訂閱方案的人實際付的是月費,授權與訂閱費用請以公司自己的成本資料為準。

  3. 3

    公開的安裝檔不帶 hub 設定

    GitHub Release 上的安裝檔不含任何 hub 網址或金鑰,裝好後要自己在設定裡填一次。想讓員工裝完就自動連上,要用 npm run build:client 替自己的組織打包。

  4. 4

    安裝檔沒有程式碼簽章

    Windows 會跳出「Windows 已保護您的電腦」,要按「其他資訊」→「仍要執行」;macOS 要到「隱私權與安全性」按「強制打開」。Intel 晶片的 Mac 目前不支援。

  5. 5

    跟上游作者沒有隸屬關係

    本專案建立在 Javis603/token-monitor 之上,但不是上游官方的團隊版,也沒有得到上游作者背書。問題請開在本 repo。

技術選擇

hub 只多兩個執行期相依:dotenv(跟上游同版)與資料庫 driver。

HubNode.js 22.15+
資料庫PostgreSQL
部署Docker Compose
員工端(上游)Electron
員工端(輕量)Tauri 2 + Rust + React
用量掃描tokscale
報表 APIREST · OpenAPI 3.1
授權MIT

安裝員工端

GitHub Release 有三個平台的安裝檔。裝好之後向管理者拿 hub 網址與 client 金鑰填進設定,之後每 30 分鐘自動上傳,開機也會自動啟動。

Windows 10 / 11

x64-setup.exe

出現「Windows 已保護您的電腦」時,按「其他資訊」→「仍要執行」。

macOS(Apple 晶片)

aarch64.dmg

把 app 拖進「應用程式」。第一次打開被擋時,到「系統設定」→「隱私權與安全性」按「強制打開」。

Linux(x64)

amd64.AppImage

先 chmod +x 再執行,不用安裝。

連上 hub 的方式:打開 Token Monitor,按右下角的 ⚙,打開「多裝置同步」,選「連接到 Hub」,填入 Hub URL 與密鑰。已經裝了舊版,直接裝新版即可,設定與資料都會保留。

架設 hub

  1. 1

    需要 Node.js 22.15 以上;用容器跑 hub 時另外需要 Docker。

  2. 2

    clone 專案後 npm ci,複製 .env.example 成 .env,填 TOKEN_MONITOR_SECRET、TOKEN_MONITOR_CLIENT_SECRETS、POSTGRES_PASSWORD、TOKEN_MONITOR_DB_PASSWORD(都用長的隨機 hex)。

  3. 3

    docker build -f docker/Dockerfile -t token-monitor-hub . 建好映像,再用 docker compose -f docker/compose.yml --env-file .env up -d 起 hub 與 PostgreSQL(預設 port 80)。

  4. 4

    開 http://localhost/,按「管理員」貼上 TOKEN_MONITOR_SECRET,到「組織名單」輸入公司代碼,編輯名單或拖入 Excel,預覽差異後匯入。

  5. 5

    把安裝說明頁 http://<hub>/install 發給同事,照著裝好員工端即可。

想先看看長什麼樣子、不想準備 Docker 與資料庫:下面這行會起一個帶假資料的 hub。

上游出新版時

一次只升一版,測試全過就能合併;沒過就照影響清單修。

  • npm run upstream:status

    看目前用的是上游哪一版、最新是哪一版。

  • npm run upstream:update -- next

    拉進下一版並自動跑測試。

  • npm run upstream:impact

    列出這次要檢查與修改的接點。

授權與出處

本專案以 MIT 授權釋出,商用、修改、再散布都可以。上游 Token Monitor 為 © Javis,同樣是 MIT 授權,完整的第三方聲明見 repo 內的 THIRD_PARTY_NOTICES.md。

讓團隊的 AI 用量有一本自己的帳

自架、免費、MIT 開源。覺得有用的話,給 repo 一顆星,或在 GitHub 上開 issue 告訴我缺什麼。

贊助開源

這些工具都是免費且開源的

沒有付費牆、不用註冊帳號,程式碼全部公開在 GitHub。如果它幫你省下了時間,可以請我喝杯咖啡,讓後續的更新跟新工具繼續做下去。

請我喝杯咖啡

自訂金額·PayPal 安全結帳

NordVPN

站長優惠

寫程式的地方,網路常常不是你的

NordVPN 把你的連線整條加密:咖啡廳與飯店 Wi-Fi 不再是別人的監聽管道,出差時銀行 App、公司後台、台灣的影音服務照樣連得回去。開 App 按一顆鈕就好,NordLynx 協定跑起來日常上網幾乎無感,一個帳號可以同時保護 10 台裝置。30 天退款保證,不合用全額退。

  • 公共 Wi-Fi 全程加密,攔到也只是亂碼
  • 137 國節點,出國連得回台灣服務
  • 1 帳號 10 台裝置,30 天退款保證

含聯盟推廣連結