CodeBurn 開源工具:把 AI 編程帳單拆成模型與專案明細

CodeBurn 是免費開源的本機 AI 編程成本追蹤工具,讀 Claude Code、Cursor、Codex 留在硬碟裡的 session 記錄,把花費拆到模型、專案與任務層,再對到 git commit 看產出。MIT 授權,Node.js 22.13 以上用 npx 一行就能跑。

用 AI 摘要這篇文章:

Claude Code、Cursor、Codex 用了半年,月底看到的是一個總金額。這個數字回答不了任何問題:哪個專案吃掉大半?哪個模型其實被拿來聊天?重複讀檔和閒置的 MCP 設定又燒掉多少?官方面板多半只到帳戶或專案層級;跨工具、分任務類型、對到 commit 的那一層明細,通常沒有給。

CodeBurn 補的就是這一層。它是一款免費開源的 AI 編程成本追蹤工具,由 AgentSeal 團隊開發,直接讀取各工具已經寫在你硬碟裡的工作階段記錄(session log),把花費重建成分模型、分專案、分任務類型的明細,再往下追到 git commit,回答「這些錢有沒有變成程式碼」。專案 2026 年 4 月中上架 npm,到 2026 年 8 月中已累積超過九千個 GitHub star,最近一次程式碼更新在 2026 年 8 月 12 日。

想先看自己的帳單明細,一行指令就夠(需要 Node.js 22.13 以上):

npx codeburn

Terminal 會打開互動式儀表板,預設顯示最近七天。不想安裝、不想註冊帳號、也不用填任何 API key。

CodeBurn 官網首頁,Your AI Bill, Itemized 標語與各 AI 編程工具標誌Pin
CodeBurn 官網首頁:把 AI 帳單逐項拆開的定位訴求

它讀的是硬碟裡已經有的記錄,不攔截你的請求

市面上另一類做法是代理層:讓所有 API 請求經過一個中繼站,從中計價。CodeBurn 走相反的路。它不接管任何流量,只解析 AI 編程工具本來就會存在本機的記錄檔。官方文件列了每個工具的實際存放位置:Claude Code 在 ~/.claude/projects/ 下的 jsonl 檔、Codex 在 ~/.codex/sessions/ 的每日資料夾、Cursor 在應用程式資料夾裡的 SQLite 資料庫 state.vscdb、Gemini CLI 在 ~/.gemini/ 下的 session 檔。

這個設計的後果很直接:你不需要改變任何使用習慣,裝完就回溯得到歷史記錄,記錄檔有多舊就能看多舊;解析全程在本機完成,程式碼和對話內容不因為統計而被上傳。原始碼以 MIT 授權公開在 GitHub(getagentseal/codeburn),想確認資料流向的人可以自己讀。

金額是換算出來的。CodeBurn 以 LiteLLM 社群維護的模型費率表計價,快取在本機二十四小時,官方 README 另註明對 Claude 與 GPT-5 系列內建了一份硬編碼費率,避免費率比對失誤時算錯價。所以它給的是「按公開費率換算的成本」,適合看結構與趨勢,訂閱制用戶看到的數字是等效 API 成本,不是你實際刷卡的金額。

顯示幣別可以換。codeburn currency TWD 一行指令後,儀表板、選單列、CSV 與 JSON 匯出全部改以台幣計價,匯率取自 Frankfurter(歐洲央行資料),同樣快取二十四小時。對照官方費率表的原生美元,換個幣別對台灣讀者的實感差很多。

工具偵測不到時有診斷指令可用。codeburn doctor 會對每個 provider 列出實際探測的路徑、找到幾個 session 檔、取樣解析的成功率,並給一行結論:正常、找不到資料(附可能原因),或解析錯誤。它全程離線且唯讀。裝完第一次跑如果某個工具顯示零,先跑 doctor 找原因,別急著重裝。

還有一個容易被忽略的細節:走代理或自架模型的人,模型名稱可能對不上費率表,數字會變成 0.00 美元。codeburn model-alias 讓你把代理上的模型名對應到標準名稱再計價;自架本地模型可以用 model-savings 標成「免費、但同額 token 在付費模型上值多少」,帳單上會多一欄省下多少的參考值。

帳單拆開後,先看三個切面

codeburn overview 會輸出一份純文字月報:總成本、輸入輸出與快取 token、每個工具與模型各佔多少、最花錢的專案、逐日表格。這份報表設計成可以直接貼進文件或訊息裡。

比較有判斷價值的是活動分類。CodeBurn 把每個 turn 依工具使用模式歸進十三種任務類型:Coding、Debugging、Feature Dev、Refactoring、Testing、Planning、Conversation 等等,分類規則寫死在程式裡,不呼叫 LLM,也就沒有額外成本。分類之後,帳單多了一個官方面板給不了的視角:花費裡有多少真的在寫碼,多少消耗在排錯、規劃和純對話。README 的訊號表把這個訊號解讀為 agent 在說話而非做事;這一類的錢要從工作方式省。單看 Claude Code 一個工具的話,社群裡也有更輕的純統計選擇。

codeburn compare 把你實際用過的模型放在同一張表:一次成功率(one-shot rate,改完不再重試的比例)、平均重試次數、每次呼叫與每次編輯的成本、快取命中率。這些數字全部出自你自己的 session 記錄,回答的是「對我的工作型態,哪個模型值得」。

CodeBurn 終端機儀表板,顯示每日成本、模型拆解、專案花費與活動分類Pin
CodeBurn 終端機儀表板:成本、模型、專案與活動分類同屏顯示

模型表還能再往下拆兩層。codeburn models --by-task 把每個模型的花費依任務類型分列,看得出某個模型都被拿去做什麼;--by-agent 則按觸發它的 agent 分列,多 agent 工作流裡哪個子代理在燒錢,直接點名。另外 codeburn context 可以打開單一 session 的上下文組成樹(目前支援 Claude Code 與 Codex),檔案、指令輸出、工具描述各佔多少 token 一層層攤開,找「上下文為什麼這麼肥」的人會用到。

optimize:從看到浪費,到動手改掉

看明細是第一步,CodeBurn 把下一步也做進去了。codeburn optimize 掃描近三十天的 session 和 Claude Code 的 ~/.claude/ 設定,找常見的 token 消耗元兇:

  • 同一份大檔案被反覆讀取,卻很少對應的修改
  • bash 輸出沒有封頂,長日誌整段灌回上下文
  • 配了卻幾乎沒在用的 MCP server,工具描述持續佔上下文
  • 定義了但從未觸發的 agent、skill 與斜線命令
  • 膨脹的 CLAUDE.md,含 import 展開後的行數

每項發現附上估計可省下的 token 與金額,以及一段可直接貼上的修法:一行設定、一個環境變數、或一條把閒置項目移出資料夾的指令。全部彙整成一個 A 到 F 的設定健康等級。Claude Code 從安裝設定到工作流的整體用法,可以搭配我們整理的 Claude Code 完整教學

有意思是它對「自己動手改」的態度。--apply 只套用設定類的修正,每個變更先備份並寫進日誌,codeburn act undo 可以逐項回滾,檔案事後被改過就拒絕覆蓋。更誠實的是 codeburn act report:修正滿三天後,它會回頭比對估計節省與 session 實際變化,把「宣稱省多少」和「真的省多少」放在同一行。估計值要對得上現實,這在成本工具裡不常見。

yield 回答錢有沒有變成程式碼,也明說自己是估算

codeburn yield 是這個專案膽子最大的功能。它在 git 儲存庫裡比對 session 時間戳與 commit 時間戳,把每段花費歸入四類:Productive(該 session 的 commit 進了主線)、Reverted(commit 後來被回退)、Abandoned(附近沒有 commit)、Ambiguous(與其他 session 並行,無法歸屬)。前提是專案有 git 記錄,而且要從專案目錄底下執行;要進一步分析的話加上 --format json 會把四類金額輸出成結構化資料。

對每天跑多個 agent 的開發者,這直接回答了月初的問題:哪幾段工作花了錢卻沒留下東西。

但要照官方的提醒使用。README 明言歸因是 timestamp-window 啟發式:每個 commit 最多記到一個 session 頭上,多 agent 並行、跨程序協作或人工修改多的專案,會有一批 session 落進 Ambiguous。它適合當成本與產出之間的參考指標,拿來算個人績效會誤傷人。工作階段成本與 commit 的對應本來就沒有精確解,官方把方法寫進 JSON 輸出的 methodology 欄位,讓讀者自己判斷可信度。

把成本管住的三個開關:budget、guard、plan

事後看帳之外,CodeBurn 提供事前攔截。codeburn budget 可設定日、週、月預算,--check 會回報目前花費與預算的差距,任何一項超支時程式以 exit code 1 結束,可以直接接進腳本或 CI,超支就不再往下跑。

codeburn guard install 走得更近:它把 hook 寫進這個專案的 Claude Code settings(--global 改裝到全域),在工作進行中盯著 session 成本。預設三道防線:軟上限 5 美元,越過時提醒一次;硬上限 15 美元,停住這個 session,guard allow 可單次放行;檢查點 3 美元,session 結束時若超過而沒有任何編輯或 commit,建議你帶著明確目標重開。上限值在 ~/.config/codeburn/guard.json 自己調,hook 設計成 fail open,監控壞掉不會擋住你的工作。加掛 --statusline 還能把當下 session 的累積成本直接放進 Claude Code 的狀態列,數字常駐眼前。

codeburn plan 則處理訂閱制的使用者:登記 Claude Pro、Claude Max、Cursor Pro 等月費方案後,儀表板會把等效 API 成本與月費並列,列出超過月費的支出。preset 月費用的是 2026 年 4 月的公開定價,方案 token 額度原廠不公開、工具也不建模。還在挑方案的人,可以先看我們整理的 AI 編程方案比較

估算的邊界:哪些數字要打折扣

一份成本明細值不值得信,取決於它怎麼處理「算不準」的部分。CodeBurn 在這裡的處理相對誠實,三件事值得先知道。

Cursor 的數字是估算值。Cursor 不在本機揭露底層模型與完整計量,CodeBurn 的輸入 token 來自 Cursor 自己的對話計量器,輸出以回覆文字長度估計,快取發生在伺服器端、本機看不到。官方文件直接標明這些數字是 estimated,且長對話情境會低於 Cursor 管理後台的實際值。以 Cursor 為主要工具的人,看趨勢與專案間的相對差異,不要拿它對帳。

yield 的歸因如前一節所說是啟發式,Ambiguous 就是它誠實的副產品。

支援工具的數字會漂。同一時間點,官網首頁寫 36 種工具,GitHub 儲存庫描述寫 37,README 寫 40。三個官方表面不一致,側面反映整合增加的速度:每個 provider 對應原始碼裡的一個檔案,上游工具改一次資料庫結構,這邊就得跟一次。挑工具時把「支援多少種」當約數即可。

桌面版遙測:台灣預設是開的

CLI 版沒有遙測、不上傳你的使用資料,只在抓費率表與匯率時連網;桌面版的遙測則值得用前看一眼。原始碼裡的隱私設計寫得清楚:遙測只存在桌面版,consent 畫面通過前不送任何東西,開關關著就不送;唯一識別碼是本機產生的隨機 UUID,不做指紋;事件只帶日粒度時間戳,屬性經白名單過濾。

細節在預設值:安裝程式依系統地區決定預設,歐盟、EEA、英國、瑞士預設關閉,其他地區預設開啟。台灣不在預設關閉清單裡,所以桌面版第一次啟動的 consent 畫面,看到的是預設勾選。不想的話,在那個畫面直接關掉即可,之後也能在設定裡改。另外還有一個 preview 階段的 codeburn sync,把 token 數、成本、模型與專案名 push 到自架端點供團隊彙總,官方註明不含 prompt 與程式碼,但這已是另一個資料流向的決定,用前想清楚。

隱私設計裡最細的一處在 MCP 整合。claude mcp add codeburn -- npx -y codeburn mcp 把 CodeBurn 掛成 Claude Code 的工具之後,可以直接在對話裡問「這週 token 花去哪」,它提供 get_usageget_savings 兩個查詢。預設送進對話的專案名是假名化的,agent 看得到數字、看不到你的專案叫什麼,要它明講名稱得另外帶參數。把成本資料餵給 agent 的同時把名字藏起來,這個預設值的方向是對的。

跟 ccusage、CodexBar 怎麼選

只用 Claude Code、只想看 token 與成本,社群老牌的 ccusage 更輕。CodeBurn 的定位差在覆蓋面:一份帳單收進多個工具的 session,加上 optimize、yield、預算與四種介面(terminal、macOS 選單列、桌面 App、本機 web 儀表板,Linux 另有 GNOME 面板擴充)。跟我們介紹過的 CodexBar 則是互補關係:CodexBar 看剩餘額度與重置時間,回答「還能用多少」;CodeBurn 看已發生的花費結構,回答「已經花去哪」。兩個可以同時裝。

macOS 選單列 app 是原生 Swift 寫的,codeburn menubar 一條命令下載安裝,數字常駐選單列、三十秒更新,用電池或螢幕休眠時自動放慢;桌面 App 在 GitHub Releases 與 Microsoft Store 都有,Linux 有 deb、rpm 與 AppImage。偏好瀏覽器的話,codeburn web 起一個本機儀表板,網址是 localhost,圖表可以按十五分鐘、小時或日切換用量曲線,資料同樣全部讀自本機硬碟,伺服器只綁在本機。多台機器的人,codeburn share --pair 用區域網路 PIN 配對,把筆電與桌機的用量併成一張總表,配對留在內網。要把數字帶進報表,codeburn export 直接吐 CSV 或 JSON。

MIT 授權、靠贊助維持,搜尋時別認錯門

MIT 授權,版權 2026 AgentSeal,原始碼與文件都在 GitHub(getagentseal/codeburn),npm 套件名 codeburn,macOS 也能 brew install codeburn。README 特別註明與匈牙利同名公司 Codeburn Bt. 及 codeburn.hu 無關,搜尋時別認錯門。專案靠 GitHub Sponsors 贊助維持,定價資料取自 LiteLLM,匯率取自 Frankfurter(歐洲央行資料)。star 數與工具數是 2026 年 8 月的數字,之後會變。

回到一開始的問題。如果你在三個以上的 AI 編程工具之間累積了看不懂的帳單,花五分鐘跑一次 npx codeburn,先看兩個數字:Conversation 類佔了多少、以及 Abandoned 佔了多少。前者告訴你工作方式有沒有問題,後者告訴你哪些 session 在空轉。以 Cursor 為主的人記得那欄是估算值。看到明細之後要不要讓它住進選單列、掛上 guard,那是看完數字才需要做的決定。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 875

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...