代理 · 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 App 移除;它們不會自行過期。

~/.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 負責善後。