Wallfacer: 為 AI 編碼代理程式設計的統一終端機工作階段管理器
Wallfacer 是一款終端機工作階段管理器,旨在解決不同代理程式與目錄之間 AI 編碼工作階段的碎片化問題。它提供了一個統一的唯讀索引層,讓開發者可以在不修改代理程式原始工作階段檔案的情況下,對 Claude Code、Cursor CLI、Kiro CLI 和 Codex 的工作階段進行命名、標記、分組與搜尋。
碎片化 AI 工作階段的集中化管理
AI 編碼代理程式通常將工作階段紀錄存放在分散且往往經過混淆的位置。例如,Claude Code 使用 ~/.claude/projects/ 下未命名的 JSONL 檔案;Cursor CLI 使用 ~/.cursor/chats/ 下以雜湊命名的目錄;而 Kiro CLI 則使用 ~/.kiro/sessions/cli/ 下的扁平資料夾。
Wallfacer 會將這些檔案索引到位於 ~/.local/share/wallfacer/ 的本地 SQLite 資料庫中。透過作為唯讀覆蓋層運作,Wallfacer 確保原始的真實來源(source of truth)保持不變,同時為標題、標記與專案分組提供可搜尋的元數據層。
核心功能與能力
Wallfacer 提供雙介面方法,同時提供全螢幕終端機使用者介面 (TUI) 與用於自動化的命令列介面 (CLI)。
工作階段組織與探索
- 統一檢視: 顯示來自每個受支援代理程式與目錄的所有工作階段,並按近期程度排序。
- 元數據覆蓋: 使用者可以重新命名工作階段、套用標記,並將工作階段分組到專案中,以便於尋找。
- 進階搜尋: 搜尋功能涵蓋標題、首個提示詞、目錄、專案與標記。
- 安全刪除:
rm命令會將工作階段移至垃圾桶資料夾;只有使用--purge旗標才會執行永久刪除。
多代理程式支援
Wallfacer 使用可插拔的適配器介面,使其能夠並行支援多個代理程式。目前支援的代理程式包括:
- Claude Code
- Cursor CLI
- Kiro CLI
- Codex
介面與用法
TUI (互動式瀏覽器)
執行單純的 wallfacer 命令會開啟一個全螢幕瀏覽器。介面左側為工作階段列表,右側為詳細資訊面板。關鍵快捷鍵包括:
/: 在元數據中進行模糊篩選。Enter: 恢復工作階段,將控制權移交給代理程式,並在退出時返回瀏覽器。n: 透過選擇代理程式、目錄與標題來開始新工作階段。r/t/p: 重新命名、編輯標記或設定專案。
CLI (單次命令)
為了進行腳本編寫與快速存取,Wallfacer 提供子命令:
wallfacer new [dir]: 在特定目錄中開始新工作階段。wallfacer resume <ref>: 使用 ID 前綴或確切標題重新開啟工作階段。wallfacer list: 列出工作階段,並可選擇性地針對專案、標記或代理程式進行篩選。wallfacer search <query>: 在標題、提示詞與標記中進行搜尋。
技術實作
Wallfacer 使用 Go 撰寫(需要 Go 1.22+),並使用增量同步程序來維護其 SQLite 索引。它會掃描工作階段檔案的開頭,以提取工作目錄、時間戳記與首個提示詞,藉此產生自動標題。
對於將單個工作階段分散在多個檔案中的代理程式(例如 Kiro CLI 的紀錄與側邊檔案,或 Cursor CLI 的拆分目錄),Wallfacer 會將整個集合視為單個管理與刪除單位。
社群洞察與觀點
Hacker News 的使用者強調了在大型單體儲存庫 (monorepos) 中管理工作階段的特定痛點,因為工作階段會在各種子目錄中啟動,若沒有 Wallfacer 之類的工具,很難追蹤。
"我正在一個擁有大量不同服務的大型單體儲存庫中工作... 我發現我到處都在啟動 Claude Code 工作階段... 我建立 Wallfacer 是因為我需要一種方法來搜尋與恢復這些工作階段,而不會干擾原始的真實來源。"
部分使用者對該工具與現有工具(如 tmux 或 Claude Code 內建的 /rename 命令)相比的必要性提出了質疑,而其他人則注意到當前開源 landscape 中「vibe-coded」工具的興起。
路線圖
Wallfacer 未來計畫的更新包括:
- 新適配器: 支援
opencode。 - 搜尋增強: 使用 SQLite FTS5 在工作階段內容中進行全文搜尋。
- 匯出工具: 將工作階段紀錄匯出為 Markdown 的能力。
- 桌面應用程式: 使用 Wails 與 xterm.js 開發,具備側邊欄、內嵌終端機與多個分頁的 GUI。
Sources
相關
- 專案
- 專案
- 專案
- 專案
- 專案