智能体 · OpenCode

OpenCode 在你的 Mac 上留下了什么。

会话数据库、撤销快照、旧的会话文件、日志和 worktree。Devbroom 只读取数据库,并在每次扫描时检查其格式;如果格式不符,OpenCode 的任何数据都不算可清理。

它查看什么

每个文件夹都有自己的规则。

Devbroom 按照 OpenCode 自身的行为方式处理每个位置。智能体会自己清理的交给智能体;有专用命令的交给那个命令。

逐项评估每一项都单独检查;结果为可清理即可清理。
通过 OpenCode 自身只能通过 OpenCode 自己的命令。Devbroom 把这些显示为已锁定,并告诉你该怎么做。
OpenCode 会删除旧的由智能体自己清理;Devbroom 只显示。

撤销快照

影子 git 仓库;项目或 worktree 被删除后就成了孤立的仓库。

~/.local/share/opencode/snapshot
逐项评估

1.2 之前的会话文件

迁移时已复制到 SQLite 中,但从未删除。

~/.local/share/opencode/storage
逐项评估

日志和缓存

一个从不轮转的日志文件,以及一个文档注明可以安全删除的缓存。

~/.local/share/opencode/log~/.cache/opencode
逐项评估

会话数据库

只读。这个文件不会自己变小;请用 opencode session delete <id> 清理。

~/.local/share/opencode/opencode.db
通过 OpenCode 自身

OpenCode worktree

应在 OpenCode 应用中删除;它们不会自行过期。

~/.local/share/opencode/worktree
通过 OpenCode 自身

工具输出

OpenCode 运行时会自己删除超过 7 天的输出。

~/.local/share/opencode/tool-output
OpenCode 会删除
受保护

你的账户和设置原封不动。

这些文件和文件夹受保护。任何判定都不会让它们进入清理范围;无论多大,它们都留在原处。

会话数据库及其日志文件opencode.db · -wal · -shm
凭据auth.json
MCP 凭据mcp-auth.json
Worktree

通过痕迹识别 OpenCode 的 worktree。

它根据这些痕迹判断 worktree 是否属于 OpenCode;痕迹越强,显示的归属就越确定。

  • 很可能位于 OpenCode 的 worktree 文件夹中
  • 可能以 opencode/ 开头的分支名
  • 含有未保存的工作时为已锁定。 没有 --force,git 不会删除这样的 worktree;Devbroom 从不使用 --force。
  • 其中或其上级文件夹中有会话运行时为已锁定。
  • 含有被忽略的文件时为需查看: git worktree remove 会不加询问地删除它们。
运行中的会话

看得见它们,运行时不打扰。

Devbroom 从数据库中读取哪些 OpenCode 会话位于哪个文件夹。它从不触碰运行中会话的进程;会话持续期间,其文件夹保持已锁定。

兼容性

先检查 OpenCode 的文件。

在信任某个智能体的数据之前,Devbroom 会检查其文件是否符合预期格式。如果不符合,这些数据只读取;其中任何内容都不算可清理。

已测试的版本暂无

超出此范围的版本只要格式不变仍可正常使用,并显示为“尚未测试”。

格式检查id 和 directory

opencode.db 必须能以只读方式打开,且其 session 表必须有这两列。

你的版本devbroom compat

如果它的文件夹在别处,会按照 XDG_DATA_HOME, XDG_CACHE_HOME, OPENCODE_DB 查找。

让 OpenCode 去工作吧。Devbroom 负责善后。