适用于 Claude Code、Codex、Cursor、OpenCode 和 Orca

让智能体留下的杂物井然有序。

Devbroom 找出编程智能体留在你 Mac 上的东西,并按证据为每一项分类。除非你打开“自动维护”,否则在你确认之前什么都不会改变。

macOS 13.3 或更高版本扫描只读取无需账户,没有遥测

应用界面示意: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 会话。
  • 有未提交的更改。没有 --force,git 不会删除它们;Devbroom 从不使用 --force。

不确定

证据不足。

无法选中 · 永远不会算作可清理
~/Developer/tmp-7c2e
  • 无法判断它属于哪个智能体。
  • 其中一部分无法读取;大小只测量了一部分。
规则

设计初衷:绝不删错东西。

真正让人担心的不是浪费空间,而是丢失工作。Devbroom 的规则正是为此而设,而且没有一条是可以关掉的设置。

扫描只读取

扫描不会改动任何一个文件。除非你打开“自动维护”,否则没在预览中看过并确认的东西都不会被碰。

--force

从不 --force

有未提交更改的 worktree 会被判为已锁定。没有 --force,git 不会删除它,而 Devbroom 从不使用 --force。

先进废纸篓

默认移到废纸篓。永久删除是另一个单独的选择,需要按住按钮来确认。

不碰正在进行的工作

如果有智能体正在那个文件夹里工作、有进程从那里运行,或其中有文件被打开占用,这一项就是已锁定。

光凭名称不够

node_modules 只有旁边有 package.json 时才算可清理,target 只有里面有 Cargo 的标记时才算。没有标记就保持需查看。

真实大小

通过硬链接和 APFS 克隆共享的空间不计入。你看到的数字就是删除后能释放的空间。

按智能体自己的方式

从不碰智能体的数据库和凭据。如果智能体有自己的清理命令,就用那个命令来清理,或者把它告诉你:比如 Claude Code 的 claude purge。

不会停止运行中的智能体

从不碰正在运行的智能体会话的进程。只有在你同意、并再次检查之后,它才会请智能体遗留下来的进程退出。

一切都在你的 Mac 上

无需账户,没有遥测;不会发送任何关于你的信息。应用只检查更新;如果你输入 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
应用之外也能用

在终端和菜单栏里。

devbroom 命令执行同样的扫描,打印同样的理由;devbroom clean 先显示可清理的内容,再把它们移到废纸篓。在菜单栏里,不用打开应用就能一眼看到全部情况。

所有选项:命令行文档
扫描只读取它不删除、不移动、不改动任何东西。清理是另一个单独的命令。
每一条理由--details 会展开每个判定背后的检查。
适合脚本--json 以 JSON 输出完整报告。
Devbroom扫描于 12:30
9.1GB

可清理 · 26 项

清理 9.1 GB…
2 个智能体运行中
打开 Devbroom⌘O
重新扫描⌘R
退出 Devbroom⌘Q
随时一眼可见同样的四个分组,缩小版:一个数字,一个按钮。可清理的内容超过 100 MB 时,大小会显示在图标旁边。扫描进行时,进度显示在这里和程序坞中;关闭窗口后,Devbroom 会离开程序坞,留在菜单栏中。
集成

你的智能体也可以来问。决定权仍在你。

你的智能体、快捷指令和脚本都能获取 Devbroom 掌握的信息。但它们都不会自行清理:智能体的请求会在应用中交给你处理,devbroom clean 会先展示再询问。

设置方法:集成文档
mcp

为智能体提供 MCP

通过 devbroom mcp,Claude Code、Codex 或 Cursor 可以读取上次扫描,询问某个文件夹为什么是可清理或已锁定,并请你清理。请求会在应用中交给你;在你确认之前不会清理任何东西,确认后每一项还会再检查一次。

快捷指令和 Raycast

devbroom://scan、devbroom://clean 和 devbroom://open 只会打开 Devbroom;清理要等你来做。

上次扫描,一条命令

devbroom status --json 给出应用的上次扫描结果,不会重新扫描。

分析和会话

过去 30 天智能体数据增长了多少、什么增长最快、今年清理了什么,以及你的会话的 token 数和估算费用。在“会话”标签页中,你可以搜索对话,并在不碰其记忆的情况下归档旧的 Claude Code 对话。包含在 Pro 中。

自动维护

Devbroom 可以每天或每周自行扫描;自动扫描只读取。把某条规则设为“自动执行”,它只会移动可清理的项目,而且只移到废纸篓。在你添加之前没有任何规则。包含在 Pro 中。

常见问题

你可能想问的。

应用会在每一项旁边显示它的判定和理由。更多内容见文档。

除非你打开这项功能,否则不会。扫描只读取。清理只针对你确认的项目,而且每一项在删除前都会再检查一次;如果扫描后有任何变化,就不会动它。

如果你在“设置 › 自动维护”中把某条规则设为“自动执行”,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 应用图标

让你的智能体去工作吧。Devbroom 负责善后。

扫描只读取,每个判定都附带理由,移到废纸篓的一切都可以放回。

macOS 13.3 或更高版本无需账户,没有遥测