拿一个 SQLite,把四个 agent 的会话全拴起来
· 阅读约 3 分钟
周三晚上,我想把三天前那次 Claude Code 会话捞出来接着续。~/.claude/projects 下面全是项目名加时间戳的目录,我翻了半天没对上号,最后靠 grep 自己的 shell history 才定位——就为续一句话,折腾了二十多分钟。
更烦的是我手头同时养着四个:Claude Code、Cursor、Codex,还有一个偶尔嫖一下的 Kiro。它们各写各的日记,谁也不知道别人记了什么。哪天我想查"上周二到底哪个 agent 动过我那份配置",只能一个个家去翻。
所以看到 Wallfacer 的时候我几乎没犹豫,直接装了。它干的事一句话讲完:把四个 agent 的会话记录全扫一遍,元数据存进本地 SQLite,原文件一个不碰。
~/.claude/projects
~/.cursor/chats
~/.kiro/sessions/cli
~/.codex/sessions
听到"全扫一遍"我本来是警惕的。这种工具做着做着就爱顺手"优化"你的文件结构,跟实习生刚接手你桌子就先帮你"整理"一遍一个道理。所以装之前我干了一件怂事:把源码翻了一遍,专门盯它到底碰没碰原文件。结论是只读,所有写操作都落在它自己的 SQLite 里。
这个设计我要单独夸一句。它把"索引"和"搬运"分得很清——SQLite 删了随时能重建,原会话在磁盘上还是老样子。现在的工具一个比一个爱替你拿主意,它反而老实,只做档案室,不碰原件。就冲这一点,比任何炫酷功能都让我安心。
风险我也掂量过。GitHub 上六十几颗星,两个 fork,维护者就一个人。这种仓库随时可能变成"作者去忙别的事了"。但后来想通了:核心数据不过它手,最坏情况就是删掉本地库回到原点。我原点本来就是一锅粥——还能乱到哪去。这笔账怎么算都不亏。
装倒是真省事,Homebrew tap 一条命令,没有运行时没有后台服务,终端里一个 TUI 加几个子命令,装完即用。
用了几天的感受:会话能改名、打 tag、分组,这些原生 agent 里全做不到。最常用的还是顺着关键词搜。那天 nginx 403 的报错,我直接:
wallfacer find "nginx 403"
找到链接,resume,完事,不用再对着那一堆乱码目录猜。指望原生 transcript 做到这步,洗洗睡吧。
吐槽也得留一句:目前搜索就是 SQLite 的 LIKE '%关键词%',没走 FTS5。几百条笑嘻嘻,攒到上万条就该哭了。我看了一眼项目页,full-text search 挂在"计划中"——这仨字的意思我懂,就是"等作者哪天有空"。真等到那天还没出,我就得自己提 PR 了。
顺嘴说一句,Wallfacer 这名字,作者肯定没少看三体,"执剑人"的意思。每次敲 wallfacer 我都觉得在下一盘大棋 😅 扯远了。
说回正事。现在每天收工前多了一个固定动作:跑一遍 wallfacer list,把今天开过的会话补上 tag。一分钟的事,但三个月后不用考古。新规矩也就一条:每次开新会话之前,先把上一个相关会话重命名归档。趁现在转录文件还少,该还的债及时还。
希望它在我攒到上万条会话之前,把 FTS5 写出来。不然下一个提 PR 的就是我。
评论
还没有评论,写下第一条讨论。