前言:工具開一排,額度到底燒到哪去了
現在寫程式,同時開著 Claude Code、Codex、GitHub Copilot、Cursor 已經很正常。但工具一多,幾個問題就來了:
- 快撞上限了嗎?通常都是跳警告才知道。
- 錢花在哪個工具上?每家都有自己的後台,要比就得一個一個開。
- 哪一台機器燒的?公司筆電、家裡桌機、伺服器上跑的 agent,各燒各的。
Token Monitor 就是在解這件事:一個桌面小視窗,讀你電腦上各家工具留下的紀錄,把用量、花費、剩餘額度全部收在同一個畫面,而且可以多台機器一起看。

這篇分兩段。前半是我 9 月在 Windows 上裝 v0.59.0 實際跑過一輪的紀錄。後半是之後真的拿去給團隊用,一路踩到的痛點,以及我怎麼把它們做成 Open Token Monitor 這個自架的團隊版。
先講結論
沒時間讀完的話,看這段就夠了。
✅ 個人用,裝上游就好。 裝完就能用,不用設定,不用帳號。
✅ 它是開源的(MIT)。 程式分成桌面程式、背景收集器、Hub、Cloudflare Worker 四塊,各自獨立,打包指令也現成(npm run dist:win),非常適合拿來二次開發。
❌ 上游是個人工具,不是團隊工具。 沒有網頁 Dashboard、hub 把資料存在 JSON 檔、全公司共用一把密碼、沒有組織的概念。一個人用完全不是問題,拿去給二三十個人用,每一項都會變成痛點。
✅ 這些缺口我做成了 Open Token Monitor。 hub 改存 PostgreSQL、匯入組織名單依部門比較、有網頁 dashboard 與報表 API、員工端安裝檔預填好 hub 網址、更新走自己的 Release。MIT 開源,而且上游程式碼一行都沒改,上游出新版照樣跟得上。
適不適合你,大概是這樣:
| 你的情況 | 建議 |
|---|---|
| 自己一台、同時用 3 個以上 AI 工具 | 裝上游 Token Monitor,馬上有感 |
| 自己有好幾台機器 | 裝上游,開「多裝置同步」 |
| 團隊想看「誰、哪個部門、花在哪個工具」 | 用 Open Token Monitor 自架 hub |
| 要接進公司的成本系統或 BI | Open Token Monitor 的報表 API |
另外先說清楚我驗證到哪裡:上游的安裝、簽章、預設設定、它讀哪些資料夾、對外連了哪裡,我都實際跑過;團隊版的痛點是部署給團隊之後實際遇到,加上逐行讀上游 hub 程式盤點出來的。至於對 Hub 做攻擊測試,我沒做。
它到底在讀什麼
一句話:它不看你的 prompt,也不看你的程式碼,只讀各家工具留在你電腦上的用量紀錄。
像 Claude Code 會把每次對話記在 ~/.claude/projects/,Codex 記在 ~/.codex/,Token Monitor 就是去讀這些檔案,把 token 數加一加、成本算一算。
它抓三種東西:
- 用量:花了多少 token、多少錢、快取命中率
- 額度:各家方案還剩多少、什麼時候重置
- 單次對話明細:某一次對話裡,每則訊息各用了多少
目前支援 37 種以上的工具,常見的 Claude Code、Codex、Copilot、Cursor、Antigravity、OpenCode、Cline 都有。底層解析是用 tokscale 這個 Rust 專案(也是 MIT),Token Monitor 負責畫面跟同步。
兩種用法:一台機器,或多台一起
這兩種模式先搞懂,後面設定才不會亂:
重點只有兩個:
- 預設就是一台機器的模式,裝完就會動,什麼都不用設。
- 多台要同步的話,得先挑一個 Hub,所有機器連同一個。
安裝
到 GitHub Releases 抓 Token-Monitor-Setup-x.x.x.exe(約 113 MB),雙擊一路下一步就好。macOS 用 brew install --cask token-monitor,Linux 抓 .AppImage。
我有順手驗一下數位簽章(Get-AuthenticodeSignature),結果是 Valid,簽署者 SignPath Foundation,跟官方文件寫的一致,代表檔案沒被動過手腳。
裝完之後,設定跟資料會放在 %APPDATA%\Token Monitor\,之後想移除乾淨的話這個資料夾記得一起刪。
裝完之後長怎樣
一開起來,它馬上就開始讀了。從日誌看得出它在盯哪些資料夾:
[collector] Watching C:\Users\<you>\.claude\projects
[collector] Watching C:\Users\<you>\.copilot
[collector] Watching C:\Users\<you>\.gemini\antigravity
幾個觀察:
- 只看你電腦上真的有的工具,沒裝的就不碰。
- 用系統的檔案異動通知,不是傻傻掃整顆硬碟。
- 開機時會自己去 GitHub 看有沒有新版。
預設會追 28 個工具,設定檔在 %APPDATA%\Token Monitor\settings.json。
多台機器同步:Hub URL 藏在哪
這是最多人卡住的地方,先講位置。
桌面程式右下角的 ⚙ 齒輪 → Multi-device Sync(多裝置同步) → 點「Connect to a hub(連接到 Hub)」那顆圓點
要先點那顆圓點,網址跟密碼的欄位才會跑出來。 沒點就只看到幾個選項,很多人以為「怎麼沒有地方填」,就是卡在這。
Hub 有三種選法,挑一個就好,所有機器連同一個:
| 方式 | 適合誰 | 缺點 |
|---|---|---|
| 用其中一台當 Hub | 家裡或公司有一台常開機的電腦 | 那台程式關掉,大家就都不同步了 |
| 裝在 NAS 或伺服器上 | 有常開的機器 | 要下指令,稍微麻煩一點 |
| Cloudflare Worker | 想從手機看、或跨不同網路 | 要有 Cloudflare 帳號 |
最簡單的是第一種:在常開的那台選「Host hub on this device」,它會自己產生一組密碼,然後列出其他機器可以連的網址。其他機器就填那個網址加密碼。
跨網路的話,走 Tailscale 或 ZeroTier 會比開防火牆簡單,也安全得多。
坑:重開機之後,它不會自己跑起來
這個是踩到才發現的。電腦重開機之後 Token Monitor 沒有跟著起來,偏偏那台又是 Hub,結果其他機器全部斷線,Dashboard 上每台的「最後回報」都停在重開機那一刻。
我去翻了原始碼(src/electron/main.js),原因有三層:
- 「登入時啟動」預設是關的。 ⚙ 裡有一個「Start at login(登入時啟動)」,出廠值是
startAtLogin: false。用官方安裝檔裝的話,自己去把它打開就好。 - 從原始碼跑的版本,這個選項根本勾不了。 程式裡寫死了
if (!app.isPackaged) return false,用npm start或npm run dev跑起來的,勾選框是灰的,旁邊寫著「僅在打包後的版本可用」。所以如果你 fork 回來改,一定要自己打包:跑npm run dist:win產出安裝檔、裝起來,再去勾這個選項。 - 它是「登入時」啟動,不是「開機時」。 底層用的是 Electron 的
app.setLoginItemSettings,也就是 Windows 的使用者登入啟動項。電腦開機後停在登入畫面,它就不會跑。Windows Update 半夜自己重開機、隔天又沒人去登入,Hub 就一整天是停的。
依你的用法,這樣處理:
| 你的情況 | 怎麼讓它開機就跑 |
|---|---|
| 官方安裝檔、自己一台用 | ⚙ → 打開「Start at login」,結束 |
fork 回來改、用 npm start 跑 | 先 npm run dist:win 打包並安裝,再打開「Start at login」 |
| Linux 桌面 | 要用 AppImage 版才勾得了,其他格式一樣是灰的 |
| 拿一台 Windows 當 Hub,而且可能沒人登入就重開機 | 不要靠桌面程式當 Hub,改跑獨立的 Hub,掛成「開機時」執行(見下面) |
| Hub 裝在 NAS 或 Linux 伺服器 | 一樣跑獨立的 Hub,包成 systemd 服務或 Docker,官方沒附這一段 |
獨立的 Hub 其實就是原始碼裡的 node src/hub/server.js(npm run hub),不需要開桌面程式。它會讀專案根目錄的 .env,所以密碼放 .env 的 TOKEN_MONITOR_SECRET 就好,不用寫在指令上。注意沒設密碼的話,它只會綁在 localhost,其他機器連不進來,看起來就像「服務有起來但連不上」。
Linux 用 systemd 的話,大概長這樣:
# /etc/systemd/system/token-monitor-hub.service
[Unit]
Description=Token Monitor Hub
After=network-online.target
Wants=network-online.target
[Service]
WorkingDirectory=/opt/token-monitor
ExecStart=/usr/bin/node src/hub/server.js
Restart=always
User=tokenmon
[Install]
WantedBy=multi-user.target
sudo systemctl enable --now token-monitor-hub
Windows 則是開「工作排程器」建一個工作:觸發程序選「電腦啟動時」,勾「不論使用者登入與否均執行」,動作跑 node src\hub\server.js,「開始位置」填 repo 的資料夾(這樣才讀得到 .env)。
最後記得真的重開一次機驗證,而且重開後先不要登入,從另一台打 /api/health 看 Hub 有沒有回應。沒做這一步,你只是「以為」它會自己起來。
團隊版的員工端把這件事變成預設:第一次安裝就打開開機自動啟動,而且開機時直接縮到工作列,不會每天早上跳一個視窗出來。hub 則跑在 Docker 裡,不靠任何一台員工電腦。
它沒有網頁 Dashboard,第一版我先接 API
所有畫面都鎖在桌面程式裡,這是上游最明顯的缺口。
但 Hub 本身開了一組滿完整的 API:
| 網址 | 拿到什麼 |
|---|---|
/api/health | 確認 Hub 活著(這支不用密碼) |
/api/stats | 全部統計:今日、本月、全部,含工具、模型、專案、額度 |
/api/stats/stream | 即時推播,有變動就推給你 |
/api/devices | 每台機器的狀況 |
用密碼的方式很單純,加一個 header 就好:
curl -H "Authorization: Bearer 你的密碼" http://127.0.0.1:17321/api/stats
第一版我就用這組 API 做了一個單一檔案的 dashboard.html,瀏覽器直接打開,填網址跟密碼就會動,完全不用碰上游的原始碼:

自己幾台機器看,這樣就夠了。問題是拿去給團隊用之後才發現,缺的根本不只是一個畫面。
拿去給團隊用,才踩到的七個痛點
一個人用的時候都不是問題。部署給團隊、逐行把上游 hub 讀過一遍之後,這幾件事一件一件冒出來。
一、歷史資料會整份被蓋掉,查不到完整的上個月
上游 hub 收到裝置上傳的 history 時,是整份取代,不是累加。hub 只是每台電腦本機歷史的鏡像,不是一個只增不減的事件庫。裝置離線那幾天的資料,hub 上永遠補不回來。
我拿手上的資料對了一下:一台只有 5 天,另一台的日期東缺西缺,月彙總只有當月。上個月查不完整,上上個月完全沒有。 主管要的月報、部門費用攤提,現成架構根本做不到。
二、hub 每秒重寫 21 MB 的 JSON
用戶端每次只送 34 KB,hub 卻要把整份 store 重寫一次,大約 21 MB,寫入放大約 600 倍,而且會隨裝置數跟時間一直長大(推估一年後 150 MB)。偏偏用的是同步的 writeFileSync,檔案越大 hub 卡越久,卡住的期間所有 HTTP 請求跟推播全部停擺。
三、裝置對不到人
上游用電腦的主機名稱當裝置 ID。電腦改名或重灌就多一筆新紀錄,舊的永遠不會過期,用量被重複計算;主機名稱全是中文的機器,ID 會一律變成 device;複製出來的 VM 主機名稱相同,還會互相覆蓋。
更根本的是:hub 上只有「裝置」,沒有「人」,也沒有「部門」。看得到某台電腦燒了很多,但不知道是誰、屬於哪個部門。
四、全公司共用一把密碼
hub 只有一把密碼,看 dashboard 的人、上傳資料的電腦、想串報表的系統,拿的都是同一把。等於誰拿到它,誰就能讀寫全部資料。
另外一個邊角:沒設密碼的 hub,任何網站都能讀寫它。它會在每個回應帶 Access-Control-Allow-Origin: *,又不檢查 Host,所以在瀏覽器裡打開一個惡意網頁,就能碰到你本機的 hub。
五、員工看得到同事的用量
上游的小工具連上 hub 之後,顯示的是全部裝置的加總:同事的總量、模型、趨勢,連每個人登入的 Claude 帳號跟額度都看得到。自己幾台機器很方便,放在公司就很尷尬。
六、每台都要手動設定,更新還會被上游蓋掉
新人第一天就要學會「⚙ → 多裝置同步 → 先點那顆圓點 → 貼網址跟密碼」,少一個字元就連不上。
更新也是個坑。我翻了安裝目錄的更新設定:
# %LOCALAPPDATA%\Programs\Token Monitor\resources\app-update.yml
owner: "Javis603"
repo: "token-monitor"
provider: "github"
publisherName:
- "SignPath Foundation"
它固定去上游的 GitHub Releases 抓新版。所以 fork 之後:不改這個檔,程式會抓上游的新版把你的修改蓋掉;改了又沒架自己的發佈來源,就再也不會更新,每次改動都要請大家手動重裝 113 MB。
七、fork 了就很難跟上游
上游更新非常快,我實測期間 5 天就發了三個版本。直接改上游的程式碼,每次上游出新版都要手動解衝突,改得越多越跟不上,最後只能停在某一版。
Open Token Monitor:把缺口一個一個補起來
這些痛點我最後做成一個 MIT 開源的專案:markku636/open-token-monitor。它不是另起爐灶,而是疊在上游外面:公司需要的東西都加在外層,上游的程式碼一行都不改。
由三個部分組成:
| 部分 | 位置 | 做什麼 |
|---|---|---|
| Hub | hub/、docker/ | 疊在上游 hub 前面,PostgreSQL 儲存、三級權限、組織名單、dashboard、報表 API |
| Electron 員工端 | client/、packaging/ | 上游的桌面程式,打包時預填 hub 網址與 client 金鑰,Windows/macOS(Apple 晶片)/Linux |
| Rust/Tauri 員工端 | tauri/ | Rust 重寫的輕量版,安裝免管理員權限,上傳內容跟上游逐欄相同,目前只有 Windows |
七個痛點對應的做法:
| 痛點 | Open Token Monitor 的做法 |
|---|---|
| 歷史被整份蓋掉 | 存進 PostgreSQL,每天的用量逐日落地,月報、部門攤提查得出來;每天 pg_dump 備份並輪替,刪除歷史資料前會先備份 |
| 每秒重寫 21 MB | 不再整份重寫 JSON;串流每個 frame 只序列化與壓縮一次 |
| 裝置對不到人 | 匯入組織名單(員工編號、姓名、Email、部門),用戶端回報的 email 對得上就自動歸給那個人;公司版員工端的裝置 ID 改成隨機 UUID,不再用主機名稱 |
| 共用一把密碼 | 拆成管理員、client、API token 三級。client 金鑰只能上傳跟讀,可以有好幾把;管理員輸入一次就換成 HttpOnly cookie;API token 只能讀報表、可以設 scope、隨時撤銷 |
| 員工看得到同事 | 公司版小工具預設只顯示這台電腦自己的用量 |
| 每台手動設定、更新被蓋 | 安裝檔預填 hub 網址與 client 金鑰,第一次開啟就連上、開機自動啟動;更新改從公司 GitLab Release 或本 repo 的 GitHub Release 抓 |
| 跟不上上游 | upstream/ 是上游某一版的完整複本,誰改了它 npm run verify 就失敗;升級三個指令,還可以交給 Claude Code |
另外 hub 在收資料之前多了一層驗證,順手擋掉上游幾個會默默寫錯資料的情況:比較舊的快照不能蓋掉新的、裝置時鐘最多只信它超前 10 分鐘、裝置 ID 限制格式與長度。格式或大小不對的上傳會拿到 400,並附上原因。
下面的截圖都來自 repo 內建的假資料,自己跑 npm run smoke:hub 就能重現。
用量 dashboard:依公司、部門、人比較

最上面四個數字(Token、等值成本、使用人數、活躍裝置)都跟上一期比,下面是依部門分線的每週趨勢。篩選先選公司、再選部門。這張就是第一版 dashboard.html 一直做不到的那張圖:它知道每台電腦是誰的、屬於哪個部門。
組織其實是一棵樹(公司 → BU → 部門 → 團隊)。每天的用量先算給當天的歸屬單位,再往上彙總;換人、換部門會保留歷史,月報逐日套用當天的歸屬。沒有歸屬的用量合成一列「其他」,不會默默消失。

帳號排行把用量算給裝置回報的那個 AI 帳號。Token 拆成輸入、輸出、快取讀取、快取寫入,一個 Claude 帳號被好幾台電腦共用,在這裡一眼就看得出來。

裝置頁保留了我第一版最愛用的那一欄:最後回報時間。某一台停在幾小時前,通常就是同步出問題了。Claude 的 5 小時與每週額度、Codex 的額度也列在這裡。
金額是依各家 API 牌價換算的等值成本,不是實際帳單。用 Claude Max、ChatGPT Plus 這類訂閱方案的人實際付的是月費。這句話寫在 dashboard 跟每一個報表回應裡,免得有人拿去直接對帳。
組織名單:網頁編輯或 Excel 匯入,先看差異再寫入

管理頁的「組織名單」每家公司一份。可以直接在網頁表格上改,也可以下載 Excel 範本填好拖回來,從 Excel 複製好幾列直接貼進表格也行。

匯入前一定先預覽差異:新增、修改、停用的人各自列出來,確認了才寫入。名單上沒有的人只停用,不刪除,離職同事的歷史用量還在,報表不會突然少一塊。
員工端:裝完就不用管
Electron 員工端就是上游的桌面程式,只是打包時多做了幾件事:
- 預填 hub 網址與 client 金鑰,第一次開啟就連上,員工不用打開設定。
- 開機自動啟動,而且縮到工作列;每 30 分鐘上傳一次。
- 小工具只顯示這台電腦的用量。
- 圖示跟視窗左上角可以換成公司 logo。
想要更輕的,可以用 Rust/Tauri 版:


Tauri 版的金鑰存在 Windows 認證管理員,上傳間隔預設 10 分鐘(可選即時、10、20、30 分鐘),另外附一個沒有畫面的 tm-agent,排程或伺服器上也能跑。安裝檔沒簽章,但更新檔有驗簽。
兩種員工端的差異:
| 項目 | Electron 公司版 | Rust/Tauri 版 | 上游官方版 |
|---|---|---|---|
| 平台 | Windows、macOS(Apple 晶片)、Linux | Windows | Windows、macOS、Linux |
| 預設模式 | 已連上公司 hub | 已連上公司 hub | 本機模式 |
| 上傳頻率 | 每 30 分鐘 | 預設 10 分鐘 | 即時 |
| 開機自動啟動 | 開 | 開 | 關 |
| 小工具顯示 | 只有這台 | 這台+公司全體分頁 | 連 hub 時是全部裝置加總 |
| 更新來源 | 公司 GitLab 或本 repo GitHub Release | 公司 hub 或 GitHub Release | 上游 GitHub Release |
| 程式碼簽章 | 無(macOS 只有 ad-hoc) | 安裝檔無,更新檔有驗簽 | 有 |
安裝說明頁:把網址丟給同事就好

hub 內建一個 /install 頁面,打開時自動選好訪客的作業系統,每一步旁邊畫著那一步的視窗,要按的地方用橘框圈起來。導入的時候,把 http://<hub>/install 丟到群組就好,不用再寫一份安裝教學。
報表 API:接進公司的成本系統
報表 API v1 給成本系統或 BI 拉月、週、日用量,可以回 JSON,也可以回 Excel 直接開的 CSV。附 OpenAPI 3.1 規格跟 llms.txt,丟給 AI agent 串接也行。用的是只能讀報表的 API token,不必把管理員金鑰交出去。
上游一行不改,怎麼跟上新版
這是整個專案最花心思的地方。規則只有一條:upstream/ 是上游某一版原封不動的複本,任何人改了它,npm run verify 就會失敗。 我們需要改的行為,全部用外層的入口、打包時的替換、或 hub 前面的 overlay 來做,每一個接點都有測試或列在 upstream-touchpoints.json 裡。
上游出新版時,一次只升一版:
npm run upstream:status # 目前用上游哪一版、最新是哪一版
npm run upstream:update -- next # 拉進下一版並自動跑測試
npm run upstream:impact # 列出這次要檢查與修改的接點
測試全過就能合併,沒過就照影響清單修。這件事也可以交給 AI:upstream-watch 每週一自動檢查上游,有新版就開一個附檢查清單的 PR;在 PR 留言 @claude 會照步驟完成升級,本機也可以在 Claude Code 裡跑 /upstream-update 一次做完。
架起來試試
需要 Node.js 22.15 以上,用容器跑 hub 的話另外要 Docker:
git clone https://github.com/markku636/open-token-monitor.git
cd open-token-monitor
npm ci
cp .env.example .env # 填 TOKEN_MONITOR_SECRET 等四個值,用長的隨機 hex
docker build -f docker/Dockerfile -t token-monitor-hub .
docker compose -f docker/compose.yml --env-file .env up -d
打開 http://localhost/,按「管理員」貼上 TOKEN_MONITOR_SECRET,到「組織名單」建好名單,再把 /install 發給同事。只想先看看長什麼樣子、不想準備資料庫的話,npm run smoke:hub 會起一個帶假資料的 hub。
完整的介紹、截圖跟員工端下載方式,我整理在〈Open Token Monitor 工具頁〉。
還沒解完的地方
先講清楚,免得你以為導入就天下太平:
- 安裝檔沒有程式碼簽章。 Windows 會跳「Windows 已保護您的電腦」,macOS 要到「隱私權與安全性」按「強制打開」。更新只靠 sha512 核對檔案,所以能改 Release 的人就能推任何安裝檔給所有人,Maintainer 權限要管好。
- client 金鑰跟著安裝檔走。 拿到安裝檔的人都解得出來,要把它當成半公開的;絕對不要把管理員金鑰打包進去。公開的 GitHub Release 安裝檔一律不帶 hub 網址與金鑰,要自動連上得替自己的組織打包(
npm run build:client)。 - 「只顯示這台電腦」不是存取控制。 它只是小工具不顯示,拿 client 金鑰直接打 hub API 還是讀得到全部裝置。要讓員工彼此真的看不到,得再做每人一把金鑰或登入。
- hub 預設是 http。 Docker Compose 預設發佈在 port 80,金鑰跟用量在網路上是明碼。只在內網用、防火牆只開內部網段;要加密就在前面放一個 HTTPS 反向代理。
- 上游用戶端的幾個缺陷還在。 例如 hub 重啟後幾百台同時重連、沒有退避;跨午夜偶爾扣錯前一天;中文路徑偶爾變亂碼。這些在用戶端的上游程式裡,規則上不能直接改,我整理成上游 PR 清單,pilot 期間先盯著數字。
覺得卡卡的?先關掉沒在用的工具
有人反應更新頻率調高之後會卡。設定都在 ⚙ 裡面,幾個可以動的:
| 設定 | 預設 | 怎麼調 |
|---|---|---|
| 追蹤的工具 | 全開(28 個) | 先調這個,最有感。沒在用的通通關掉 |
| 畫面更新間隔 | 15 秒 | 這只是重畫畫面,調小效果有限 |
| 歷史資料寫入 | 15 分鐘 | 機器慢的話往上調,不要往下 |
| 專案分類 | 開 | 專案資料夾很多的話,關掉會輕鬆很多 |
| WSL 掃描 | 開 | 沒在用 WSL 就關掉 |
順序很重要:先關掉沒在用的工具,再考慮動時間。 預設 28 個全開,但大部分人真正在用的可能只有三四個。把其他的關掉,比調更新頻率有效多了。
另外一個跟效能無關、但很重要的設定:
Claude Code 預設只留 30 天的對話紀錄,超過就自己清掉了。Token Monitor 有一個「保留已刪除的用量」選項,建議開著,它會把看過的每日用量另外存一份,來源被刪也不影響你看趨勢圖。
但要注意,它只能救裝了之後的資料。裝之前被刪掉的就回不來了。所以如果你想長期看趨勢,越早裝越好。團隊導入也一樣:越早把 hub 架起來,PostgreSQL 裡累積的歷史就越完整。
資安:我檢查了什麼
既然要導入,順手掃一下是合理的。完整稽核我沒做,但基本的幾項跑過了。
看它連去哪裡。 程式跑起來之後我看了它建立的連線,只有兩個地方:GitHub(檢查更新)跟 api.anthropic.com(查 Claude 還剩多少額度)。
沒有開任何對外的埠。 這點滿重要的,只要你沒把它設成 Hub,它就不會在你電腦上開任何服務。
讀的範圍很乾淨。 從日誌看,它盯的都是各家 AI 工具自己的資料夾,沒有掃你的專案原始碼或整個使用者目錄。
官方聲明不送任何統計回去給作者。 加上原始碼公開,這點可以自己查證。
至於我沒做的:沒有驗證下載的程式真的是那份原始碼編出來的,也沒有對 Hub 做攻擊測試。
幾個自己用的時候要注意的:
- 填進去的憑證是存在你電腦上的。 查額度那塊要填 API key 或 cookie,這些會存在
%APPDATA%\Token Monitor\裡面。那台電腦多安全,這些憑證就多安全。 - 上游 Hub 密碼是大家共用的。 用「其中一台當 Hub」的方式是純 HTTP,不要直接對外網開埠,走區網或 Tailscale。團隊版把權限拆成三級,但 http 明碼的問題一樣存在,見上一節。
- 用 Cloudflare Worker 等於把統計放到網路上。 密碼要夠長。雖然不含對話內容,但你的工作節奏會被看見。
- 專案資料夾名稱會同步出去。 完整路徑跟對話標題不會,但資料夾名稱會。公司專案的命名如果本身就敏感,這點要先想過。團隊版把 hub 跑在公司內網、資料存在自己的 PostgreSQL,不經過任何外部服務。
幾個要注意的地方
- 上游更新很快。 5 天內發了三個版本。修得快是好事,但 Windows 每次都要重下 113 MB。團隊版的員工端有新版時只提示,按了才下載。
- Cursor 偶爾會同步失敗。 我這邊出現過
Cursor API returned status 404,不影響其他工具。Cursor 走的是帳號層級的匯出,本來就會慢幾分鐘。 - 重開機不會自己起來。 上游「登入時啟動」預設關,從原始碼跑的版本甚至勾不了;當 Hub 的那台更要掛成開機服務,細節見〈坑:重開機之後,它不會自己跑起來〉。團隊版員工端預設就開。
- 只有一台機器的話,同步那塊完全可以不用碰。
- 前半是 Windows 11 + v0.59.0 的紀錄,團隊版目前跟的是上游 0.63.1,版本一直在動,你看到的畫面可能跟我不一樣。
結論
Token Monitor 解的問題很具體:AI 工具變多之後,用量跟額度散得到處都是。它的做法是讀本機紀錄、不碰內容、要的話可以跨機器同步,這個界線劃得很合理。
三句話收尾:
- 自己一台用,裝上游就結束了,不用設定。
- 多台要同步,記得先點「Connect to a hub」那顆圓點,欄位才會出現。
- 要給團隊用,問題就不是畫面了,是資料。 歷史會不會被蓋掉、裝置對不對得到人、權限怎麼分、更新怎麼發。這些我都做進了 Open Token Monitor,MIT 授權,而且上游一行不改,上游出新版照樣跟。
如果你的團隊也開始在算 AI 工具的帳,歡迎拿去用。缺什麼,到 GitHub 開 issue 告訴我。


























留言