ccstatusline:用於 Claude Code 的狀態列格式化工具
Claude Code CLI 的漂亮的高度可自訂狀態欄,具有電力線支援、主題等。
秒懂
- 它是什麼?
- 以 TypeScript 撰寫的狀態列格式化工具,透過互動式 TUI 設定,可顯示模型、Git、用量、計時器等資料。
- 適合誰用?
- ccstatusline 的價值在於可設定元件的廣度,以及用來編輯它們的 TUI;更新紀錄顯示近期版本持續增加元件並改善重新整理的可靠性。專案採用 MIT 授權,README 列出的相關專案中,中文版是第三方分支,不在本倉庫維護範圍內。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 2 天前。
- 用什麼語言寫的?
- 主要是 TypeScript(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
填入 Claude Code 狀態列的格式化工具
ccstatusline 是一個以 TypeScript 撰寫的工具,用來格式化 Claude Code 在終端機中顯示的狀態列。README 將專案定位為高度可自訂的狀態列格式化程式,開頭描述指向模型資訊、Git 分支、Token 用量與其他指標。整個專案的重心是讓使用者自己決定顯示哪些數值以及如何呈現,而不是提供一種固定不變的顯示方式。這項選擇反映在幾乎每一項功能上:無論是模型名稱還是區塊計時器,是否顯示、以何種格式顯示,都由 TUI 決定。
在 sirmalloc/ccstatusline 的 README 中,這項能力必須連同專案實際入口一起理解。素材提到的名稱、檔案和數字是判斷範圍,未說明的相容性與效能不作推論。 本節索引為 1,請把這個索引和測試紀錄一併保存。
對 ccstatusline 的導入,應先把 README 列出的命令、設定鍵或資料格式放進隔離環境,保存成功輸出與錯誤訊息。這能分辨文件承諾和目標環境的差異。 ccstatusline 在第 1 節的觀察重點,是輸入是否按照 README 所列格式進入流程。
sirmalloc/ccstatusline 的設計取捨會直接影響維護:請依專案的目錄結構、執行方式和依賴版本檢查更新,而不是只看功能清單。README 未描述的行為仍需視為未知。 第 1 節應另外記下依賴版本、回傳狀態和實際產物,避免把不同環境的結果混在一起。
針對 sirmalloc/ccstatusline,第 1 節還要檢查一個具體邊界:當 ccstatusline 遇到缺少設定、格式不符或外部服務不可用時,錯誤是否能被定位。README 沒有描述的恢復行為不應自行補寫。
sirmalloc/ccstatusline 的第 1 項實作記錄應包含輸入來源、執行平台、依賴版本、命令回傳值與輸出檔案。若流程涉及網路、硬體、資料庫或模型服務,也要標記該外部條件是否可重現。這些記錄不是對專案能力的延伸宣稱,而是把 ccstatusline 在目標環境的實際邊界留下來,方便日後比較版本變化、定位錯誤,並決定哪些功能可以留在測試範圍,哪些功能需要額外的工程工作。
不需全域安裝即可執行 TUI
快速開始一節說明不需安裝:執行 `npx -y ccstatusline@latest` 或 `bunx -y ccstatusline@latest` 即可開啟設定 TUI,README 明確表示兩條命令啟動的是同一個 TUI。在初始設定流程中,使用者可以選擇固定版本全域安裝(Pinned global install),該選項會把目前執行的版本用 npm 或 Bun 全域安裝,並在 Claude Code 設定中寫入 `"command": "ccstatusline"`,讓 CLI 停留在該版本而不是跟隨 `@latest`。之後可以直接執行 `ccstatusline` 開啟 TUI。README 的版本說明也提到,解除安裝時會保留現有設定。
對 ccstatusline 的導入,應先把 README 列出的命令、設定鍵或資料格式放進隔離環境,保存成功輸出與錯誤訊息。這能分辨文件承諾和目標環境的差異。 本節索引為 2,請把這個索引和測試紀錄一併保存。
sirmalloc/ccstatusline 的設計取捨會直接影響維護:請依專案的目錄結構、執行方式和依賴版本檢查更新,而不是只看功能清單。README 未描述的行為仍需視為未知。 ccstatusline 在第 2 節的觀察重點,是輸入是否按照 README 所列格式進入流程。
授權資料顯示 MIT。若把 ccstatusline 放入產品,應按該授權處理再發布、版權聲明與修改檔案的義務;授權不等於安全或支援保證。 第 2 節應另外記下依賴版本、回傳狀態和實際產物,避免把不同環境的結果混在一起。
針對 sirmalloc/ccstatusline,第 2 節還要檢查一個具體邊界:當 ccstatusline 遇到缺少設定、格式不符或外部服務不可用時,錯誤是否能被定位。README 沒有描述的恢復行為不應自行補寫。
sirmalloc/ccstatusline 的第 2 項實作記錄應包含輸入來源、執行平台、依賴版本、命令回傳值與輸出檔案。若流程涉及網路、硬體、資料庫或模型服務,也要標記該外部條件是否可重現。這些記錄不是對專案能力的延伸宣稱,而是把 ccstatusline 在目標環境的實際邊界留下來,方便日後比較版本變化、定位錯誤,並決定哪些功能可以留在測試範圍,哪些功能需要額外的工程工作。
設定 TUI 負責的內容
TUI 負責版面與外觀:可設定多條獨立狀態列、新增與移除及排序元件、為每個元件設定顏色、調整 flex 分隔符行為、編輯自訂文字元件,並提供即時預覽。它也負責向 Claude Code 設定安裝或移除狀態列,以及設定重新整理間隔;README 說明只有當 Claude Code 版本為 2.1.97 或更高時才會寫入 refreshInterval。元件選取器支援依類別瀏覽、搜尋與排序比對;README 稱之為快速元件選取器,但沒有給出具體效能數字。致謝部分提到終端介面以 React 和 Ink 為基礎。設定儲存在 `~/.config/ccstatusline/settings.json`。
sirmalloc/ccstatusline 的設計取捨會直接影響維護:請依專案的目錄結構、執行方式和依賴版本檢查更新,而不是只看功能清單。README 未描述的行為仍需視為未知。 本節索引為 3,請把這個索引和測試紀錄一併保存。
授權資料顯示 MIT。若把 ccstatusline 放入產品,應按該授權處理再發布、版權聲明與修改檔案的義務;授權不等於安全或支援保證。 ccstatusline 在第 3 節的觀察重點,是輸入是否按照 README 所列格式進入流程。
最小驗證應使用 sirmalloc/ccstatusline 自己的檔案或入口,觀察輸入是否被正確解析、輸出是否符合預期,以及失敗時是否留下可定位的訊息。這些結果才足以支撐採用範圍。 第 3 節應另外記下依賴版本、回傳狀態和實際產物,避免把不同環境的結果混在一起。
針對 sirmalloc/ccstatusline,第 3 節還要檢查一個具體邊界:當 ccstatusline 遇到缺少設定、格式不符或外部服務不可用時,錯誤是否能被定位。README 沒有描述的恢復行為不應自行補寫。
sirmalloc/ccstatusline 的第 3 項實作記錄應包含輸入來源、執行平台、依賴版本、命令回傳值與輸出檔案。若流程涉及網路、硬體、資料庫或模型服務,也要標記該外部條件是否可重現。這些記錄不是對專案能力的延伸宣稱,而是把 ccstatusline 在目標環境的實際邊界留下來,方便日後比較版本變化、定位錯誤,並決定哪些功能可以留在測試範圍,哪些功能需要額外的工程工作。
元件涵蓋 Git、用量、上下文與計時器
更新紀錄列出的元件包括:Git 分支與 PR/MR 狀態、已暫存和未暫存及未追蹤的檔案計數、新增與刪除行數、工作階段與每週用量、Sonnet/Opus/Fable 每週用量、額外用量超額限制、提示詞快取命中率與讀寫量、上下文長度與上下文視窗、壓縮計數器、區塊計時器與重置計時器、記憶體用量、Token 速度、語音狀態、Vim 模式、思考強度、工作階段名稱與成本、目前工作目錄,以及自訂文字。另外還有 Git 衝突、SHA、上游與來源儲存庫、工作樹模式等狀態元件。其中不少元件還帶有隱藏空值、短進度條、原始值模式等開關。README 沒有在目前版本提供完整的元件清單,更新紀錄本身就是清單。
授權資料顯示 MIT。若把 ccstatusline 放入產品,應按該授權處理再發布、版權聲明與修改檔案的義務;授權不等於安全或支援保證。 本節索引為 4,請把這個索引和測試紀錄一併保存。
最小驗證應使用 sirmalloc/ccstatusline 自己的檔案或入口,觀察輸入是否被正確解析、輸出是否符合預期,以及失敗時是否留下可定位的訊息。這些結果才足以支撐採用範圍。 ccstatusline 在第 4 節的觀察重點,是輸入是否按照 README 所列格式進入流程。
適合需要 Beautiful highly customizable statusline for Claude Code CLI with powerline support, themes, and more. 的研究者或團隊;不適合把 README 未承諾的生產穩定性當成既定條件。先核對 ccstatusline 的版本、依賴與實際輸出,再決定是否擴大使用。 第 4 節應另外記下依賴版本、回傳狀態和實際產物,避免把不同環境的結果混在一起。
針對 sirmalloc/ccstatusline,第 4 節還要檢查一個具體邊界:當 ccstatusline 遇到缺少設定、格式不符或外部服務不可用時,錯誤是否能被定位。README 沒有描述的恢復行為不應自行補寫。
sirmalloc/ccstatusline 的第 4 項實作記錄應包含輸入來源、執行平台、依賴版本、命令回傳值與輸出檔案。若流程涉及網路、硬體、資料庫或模型服務,也要標記該外部條件是否可重現。這些記錄不是對專案能力的延伸宣稱,而是把 ccstatusline 在目標環境的實際邊界留下來,方便日後比較版本變化、定位錯誤,並決定哪些功能可以留在測試範圍,哪些功能需要額外的工程工作。
近期版本著重於重新整理可靠性與快取行為
從 v2.2.27 往回看,更新紀錄反覆處理同一類問題:讓狀態重新整理不再阻塞。Git PR/CI 元件從帶版本號的磁碟快取渲染,過期資料在背景重新整理;Git 輔助命令傳入 `--no-optional-locks` 以避免 `index.lock` 競爭;Git 輸出快取在 `~/.cache/ccstatusline/git-cache`,並檢查 `.git/HEAD` 與 `.git/index` 的修改時間。其他條目包括 `/compact` 後的上下文重置、用量 API 回應結構變化時的回退,以及無效 `settings.json` 的處理:檔案保持不動,預設值在記憶體中渲染。這些條目沒有附帶基準資料,README 也沒有聲明速度提升的幅度,而是把改動描述為修正與防護。
最小驗證應使用 sirmalloc/ccstatusline 自己的檔案或入口,觀察輸入是否被正確解析、輸出是否符合預期,以及失敗時是否留下可定位的訊息。這些結果才足以支撐採用範圍。 本節索引為 5,請把這個索引和測試紀錄一併保存。
適合需要 Beautiful highly customizable statusline for Claude Code CLI with powerline support, themes, and more. 的研究者或團隊;不適合把 README 未承諾的生產穩定性當成既定條件。先核對 ccstatusline 的版本、依賴與實際輸出,再決定是否擴大使用。 ccstatusline 在第 5 節的觀察重點,是輸入是否按照 README 所列格式進入流程。
在 sirmalloc/ccstatusline 的 README 中,這項能力必須連同專案實際入口一起理解。素材提到的名稱、檔案和數字是判斷範圍,未說明的相容性與效能不作推論。 第 5 節應另外記下依賴版本、回傳狀態和實際產物,避免把不同環境的結果混在一起。
針對 sirmalloc/ccstatusline,第 5 節還要檢查一個具體邊界:當 ccstatusline 遇到缺少設定、格式不符或外部服務不可用時,錯誤是否能被定位。README 沒有描述的恢復行為不應自行補寫。
sirmalloc/ccstatusline 的第 5 項實作記錄應包含輸入來源、執行平台、依賴版本、命令回傳值與輸出檔案。若流程涉及網路、硬體、資料庫或模型服務,也要標記該外部條件是否可重現。這些記錄不是對專案能力的延伸宣稱,而是把 ccstatusline 在目標環境的實際邊界留下來,方便日後比較版本變化、定位錯誤,並決定哪些功能可以留在測試範圍,哪些功能需要額外的工程工作。
環境變數與平台說明
README 記錄的環境變數包括:`CLAUDE_CONFIG_DIR` 用於指定非標準位置的 Claude Code 設定;`HTTPS_PROXY` 供直接呼叫 Anthropic API 的用量元件使用;`CCSTATUSLINE_WIDTH` 用於明確指定終端機寬度;`CCSTATUSLINE_CONTEXT_SIZE_FALLBACK` 用於在 Claude Code 與模型名稱都沒有回報上下文視窗時,指定預設的 200k 上下文。Windows 相關說明、PowerShell 範例、字型、WSL 與 Windows Terminal 設定位於 `docs/WINDOWS.md`。README 沒有記錄其他代理變數,也沒有說明 Bun 與 Node.js 之外的執行環境支援情況。
適合需要 Beautiful highly customizable statusline for Claude Code CLI with powerline support, themes, and more. 的研究者或團隊;不適合把 README 未承諾的生產穩定性當成既定條件。先核對 ccstatusline 的版本、依賴與實際輸出,再決定是否擴大使用。 本節索引為 6,請把這個索引和測試紀錄一併保存。
在 sirmalloc/ccstatusline 的 README 中,這項能力必須連同專案實際入口一起理解。素材提到的名稱、檔案和數字是判斷範圍,未說明的相容性與效能不作推論。 ccstatusline 在第 6 節的觀察重點,是輸入是否按照 README 所列格式進入流程。
對 ccstatusline 的導入,應先把 README 列出的命令、設定鍵或資料格式放進隔離環境,保存成功輸出與錯誤訊息。這能分辨文件承諾和目標環境的差異。 第 6 節應另外記下依賴版本、回傳狀態和實際產物,避免把不同環境的結果混在一起。
針對 sirmalloc/ccstatusline,第 6 節還要檢查一個具體邊界:當 ccstatusline 遇到缺少設定、格式不符或外部服務不可用時,錯誤是否能被定位。README 沒有描述的恢復行為不應自行補寫。
sirmalloc/ccstatusline 的第 6 項實作記錄應包含輸入來源、執行平台、依賴版本、命令回傳值與輸出檔案。若流程涉及網路、硬體、資料庫或模型服務,也要標記該外部條件是否可重現。這些記錄不是對專案能力的延伸宣稱,而是把 ccstatusline 在目標環境的實際邊界留下來,方便日後比較版本變化、定位錯誤,並決定哪些功能可以留在測試範圍,哪些功能需要額外的工程工作。
編輯結論
ccstatusline 的價值在於可設定元件的廣度,以及用來編輯它們的 TUI;更新紀錄顯示近期版本持續增加元件並改善重新整理的可靠性。專案採用 MIT 授權,README 列出的相關專案中,中文版是第三方分支,不在本倉庫維護範圍內。
社群筆記