適用於 Claude Code、Codex、Cursor、OpenCode 和 Orca

讓代理留下的雜物井然有序。

Devbroom 找出程式碼代理留在你 Mac 上的東西,並依證據為每一項分類。除非你開啟「自動維護」,否則在你確認之前什麼都不會改變。

macOS 13.3 或以上版本掃描只會讀取不需帳號,沒有遙測

App 畫面示意:9.1 GB 可清理。按下「清理」,可清理的項目會移到垃圾桶;「放回」會把它們全部還原。

問題所在

代理完成了工作。卻不會收拾善後。

每個平行任務都是一個新的 worktree,每次工作階段都是一個新的暫存資料夾,每次建置都是一個新的 node_modules。工作結束後,大部分都會留下來,而且沒人說得清哪些還在使用。

一般的清理工具不了解代理:看到資料夾就刪。它們無法告訴你「這個資料夾裡正在執行一個 Claude Code 工作階段」。

35 GB+我們在一位開發者的 Mac 上找到的可清理資料
9 GB單一代理的暫存資料夾
5它認識的代理,各有各的規則
運作方式

掃描。查看證據。確認。

三個步驟,沒有意外。掃描不會更動任何一個檔案;清理由你來確認。

它會讀取你的專案和代理自己的資料夾。找到的每樣東西都會變成一個泡泡,大小與它佔用的空間相當。掃描不會更動磁碟上的任何內容。

每個泡泡都會得到判定並歸入對應的群組:可清理、需查看、已鎖定或不確定。理由永遠就在旁邊:它屬於哪個代理、是否正在使用、是否含有未儲存的工作。

按下「清理」後,每一項都會再檢查一次,你選取的內容會移到垃圾桶;可清理的項目一開始就已選取。已鎖定和不確定的項目保持原樣,移到垃圾桶的任何東西都可以從「歷史紀錄」放回。

四種判定

每一項都有判定,每個判定都有理由。

顏色從來不是唯一的標示:每種判定都有自己的圖樣、自己的標記和自己的規則。已鎖定和不確定的項目永遠無法選取。

可清理

所有檢查都已通過。

預設選取 · 移到垃圾桶
~/projects/shop/web/node_modules
  • 旁邊有 package.json;光憑名稱是不夠的。
  • 這個資料夾及其上層資料夾中沒有執行中的代理工作階段。
  • 沒有程序從這裡執行,也沒有檔案被開啟佔用。
  • 與其他位置共用的 794 MB 沒有計入。

需查看

值得先看一眼。

除非你選擇「仍要加入」,否則不會清理
~/projects/api/.claude/worktrees/billing
  • 有一個被忽略的 .env 檔案:git worktree remove 會不經詢問就刪除它。
  • git status 乾淨,並不能證明裡面沒有有價值的東西。

已鎖定

正在使用或含有工作內容。

無法選取
~/projects/shop/release-1.2
  • 上層資料夾 ~/projects/shop 中正在執行一個 Claude Code 工作階段。
  • 有尚未 commit 的變更。沒有 --force,git 不會移除它們;Devbroom 從不使用 --force。

不確定

證據不足。

無法選取 · 永遠不會算作可清理
~/Developer/tmp-7c2e
  • 無法判斷它屬於哪個代理。
  • 其中一部分無法讀取;大小只測量了一部分。
規則

設計初衷:絕不刪錯東西。

真正讓人擔心的不是浪費空間,而是遺失工作。Devbroom 的規則正是為此而設,而且沒有一條是可以關掉的設定。

掃描只會讀取

掃描不會更動任何一個檔案。除非你開啟「自動維護」,否則沒在預覽中看過並確認的東西都不會被碰。

--force

從不 --force

有尚未 commit 變更的 worktree 會判定為已鎖定。沒有 --force,git 不會移除它,而 Devbroom 從不使用 --force。

先進垃圾桶

預設移到垃圾桶。永久刪除是另一個獨立的選擇,需要按住按鈕來確認。

不碰進行中的工作

如果有代理正在那個資料夾裡工作、有程序從那裡執行,或其中有檔案被開啟佔用,這一項就是已鎖定。

光憑名稱不夠

node_modules 只有旁邊有 package.json 時才算可清理,target 只有裡面有 Cargo 的標記時才算。沒有標記就維持需查看。

真實大小

透過硬連結和 APFS 複製檔共用的空間不計入。你看到的數字就是刪除後能釋放的空間。

依代理自己的方式

從不碰代理的資料庫和憑證。如果代理有自己的清理指令,就用那個指令來清理,或者把它告訴你:例如 Claude Code 的 claude purge。

不會停止執行中的代理

從不碰執行中代理工作階段的程序。只有在你同意、並再次檢查之後,它才會請代理遺留下來的程序結束。

一切都在你的 Mac 上

不需帳號,沒有遙測;不會傳送任何關於你的資訊。App 只會檢查更新;如果你輸入 Pro 授權,它會啟用一次,之後大約每月悄悄重新檢查一次。從工作階段日誌中它只取 token 數和模型名稱;訊息文字從不儲存。

代理

了解你的代理。也知道它們把什麼留在哪裡。

即使 worktree 位於你的專案資料夾之外,也找得到。被搬移的儲存庫、被刪除的資料夾和孤立的 worktree,都能分別辨識出來。

Claude Code

工作階段日誌、檢查點、暫存資料夾和 worktree。

~/.claude/projects~/.claude/file-history另有 10 個位置
詳細資訊
Codex

工作階段、已封存的工作階段和 Codex worktree。

~/.codex/sessions~/.codex/archived_sessions另有 9 個位置
詳細資訊
Cursor

代理 worktree、對話紀錄和快取。

~/.cursor/worktrees~/.cursor/projects另有 5 個位置
詳細資訊
OpenCode

工作階段資料庫(唯讀)、快照和 worktree。

~/.local/share/opencodeopencode.db另有 6 個位置
詳細資訊
Orca

Git worktree,逐一單獨評估。

~/orca/workspaces.orca-worktree-trash另有 1 個位置
詳細資訊
node_modules.next.turbotarget.venv__pycache__DerivedDatadistbuildvendornode_modules.next.turbotarget.venv__pycache__DerivedDatadistbuildvendornode_modules.next.turbotarget.venv__pycache__DerivedDatadistbuildvendornode_modules.next.turbotarget.venv__pycache__DerivedDatadistbuildvendor
npmYarnBunpnpm storepipuvHomebrewCocoaPodsSimulatorGradleCargo registryPlaywrightHugging FacenpmYarnBunpnpm storepipuvHomebrewCocoaPodsSimulatorGradleCargo registryPlaywrightHugging FacenpmYarnBunpnpm storepipuvHomebrewCocoaPodsSimulatorGradleCargo registryPlaywrightHugging FacenpmYarnBunpnpm storepipuvHomebrewCocoaPodsSimulatorGradleCargo registryPlaywrightHugging Face
App 之外也能用

在終端機和選單列裡。

devbroom 指令執行同樣的掃描,印出同樣的理由;devbroom clean 會先顯示可清理的內容,再把它們移到垃圾桶。在選單列裡,不用打開 App 就能一眼看到全部情況。

所有選項:命令列說明文件
掃描只會讀取它不刪除、不搬移、不更動任何東西。清理是另一個獨立的指令。
每一條理由--details 會展開每個判定背後的檢查。
適合腳本--json 以 JSON 輸出完整報告。
Devbroom掃描於 12:30
9.1GB

可清理 · 26 項

清理 9.1 GB…
2 個代理執行中
打開 Devbroom⌘O
重新掃描⌘R
結束 Devbroom⌘Q
隨時一眼可見同樣的四個群組,縮小版:一個數字,一個按鈕。可清理的內容超過 100 MB 時,大小會顯示在圖示旁邊。掃描進行時,進度會顯示在這裡和 Dock 中;關閉視窗後,Devbroom 會離開 Dock,留在選單列中。
整合

你的代理也可以來問。決定權仍在你。

你的代理、捷徑和腳本都能取得 Devbroom 掌握的資訊。但它們都不會自行清理:代理的請求會在 App 中交給你處理,devbroom clean 會先展示再詢問。

設定方式:整合說明文件
mcp

為代理提供 MCP

透過 devbroom mcp,Claude Code、Codex 或 Cursor 可以讀取上次掃描、詢問某個資料夾為什麼是可清理或已鎖定,並請你清理。請求會在 App 中交給你;在你確認之前不會清理任何東西,確認後每一項還會再檢查一次。

捷徑和 Raycast

devbroom://scan、devbroom://clean 和 devbroom://open 只會打開 Devbroom;清理要等你來做。

上次掃描,一行指令

devbroom status --json 提供 App 的上次掃描結果,不會重新掃描。

分析和工作階段

過去 30 天代理資料成長了多少、什麼成長最快、今年清理了什麼,以及你的工作階段的 token 數和估計費用。在「工作階段」分頁中,你可以搜尋對話,並在不碰其記憶的情況下封存舊的 Claude Code 對話。包含在 Pro 中。

自動維護

Devbroom 可以每天或每週自行掃描;自動掃描只會讀取。把某條規則設為「自動執行」,它只會搬移可清理的項目,而且只移到垃圾桶。在你新增之前沒有任何規則。包含在 Pro 中。

常見問題

你可能想問的。

App 會在每一項旁邊顯示它的判定和理由。更多內容請見說明文件。

除非你開啟這項功能,否則不會。掃描只會讀取。清理只針對你確認的項目,而且每一項在移除前都會再檢查一次;如果掃描後有任何變化,就不會動它。

如果你在「設定 › 自動維護」中把某條規則設為「自動執行」,Devbroom 會在自動掃描後只搬移可清理的項目,而且只移到垃圾桶。清空垃圾桶是另一項獨立的設定,而且只會刪除 Devbroom 移進去的東西。兩者一開始都是關閉的。

預設移到垃圾桶,移進去的每一項都可以從「歷史紀錄」逐一放回。Worktree 透過 git 移除:它們的 HEAD 會儲存在 refs/devbroom/removed 下,分支保留。永久刪除是另一個獨立的選擇,需要按住按鈕來確認。

Claude Code、Codex、Cursor、OpenCode 和 Orca。它也會顯示 Gemini CLI、Aider、Cline、Windsurf、Copilot CLI、Amp 和 Kiro 的資料,但暫時不清理。除了代理,它還能找到 npm、pnpm、Cargo 和 Xcode 等開發者快取;你可以在「設定」中關閉這些。

它不會傳送任何關於你的資訊。它會檢查更新:啟動 8 秒後檢查一次,以及在你按下「立即檢查」時,讀取我們發布的 latest.json 檔案。如果你輸入 Pro 授權,它會啟用一次,之後大約每月悄悄重新檢查一次;為此只會傳送授權金鑰和你 Mac 的名稱。沒有授權時,檢查更新是唯一的網路請求。沒有帳號,沒有遙測。執行中程序的命令列只在記憶體中讀取,不會寫到任何地方。

不會。它會顯示哪些代理正在執行、哪些程序被遺留下來。它從不碰執行中工作階段的程序,該工作階段的資料夾會維持已鎖定。只有在你同意、並再次檢查之後,它才會請代理遺留下來的程序結束。

搭載 Apple 晶片、執行 macOS 13.3 或以上版本的 Mac。計劃支援 Windows。

掃描、判定、清理、從「歷史紀錄」放回、devbroom 指令和 MCP 都是免費的,而且會一直免費。自動維護、分析和工作階段工具(用量與費用、搜尋、封存)屬於 Pro。

Pro 一次付費 $29,可用於 2 台 Mac;授權永不過期,涵蓋一年內發布的所有版本。之後的新版本可選擇每年 $15 續約。前 14 天 Pro 的所有功能都已開啟,不需信用卡,也不需帳號。詳情請見價格頁面。

Devbroom App 圖示

讓你的代理去工作吧。Devbroom 負責善後。

掃描只會讀取,每個判定都附帶理由,移到垃圾桶的一切都可以放回。

macOS 13.3 或以上版本不需帳號,沒有遙測