以前套壳模型,现在流行套壳 code agent。不同 Code Agent 的聊天记录,现在散在 ~/.claude、~/.codex 等多个私有目录里。Wake 把这 13 个 code agent 的会话全收进一个窗口,能搜、能跳、能一键接着聊。
它支持的 13 个 agent:Claude Code、Codex CLI、Copilot CLI、Cursor 的 CLI 转写、OpenCode(含 v2 beta)、Kiro、Gemini CLI、Pi、Oh My Pi、Grok Build、Kimi Code,以及 Antigravity CLI(只能读元数据——转写是加密的)。
左栏按 agent 分组,右侧是完整会话内容,工具调用可折叠、代码带高亮(图源:官方仓库)
01痛点
agent 用久了会意识到一件事:真正积累下来的资产不是代码,是那几百段对话——你怎么描述问题、怎么纠偏、哪条路走通了。
但这批资产通常散落在不同地方:Claude Code 在 ~/.claude,Codex 在 ~/.codex,Cursor、opencode、gemini、kimi、grok 各存各的,格式还都不一样,等于每换一个 agent,上下文就清零一次。
Wake 干的就是把这层捡起来:13 个 agent 的 session 只读扫进一个 macOS 原生 app,⌘K 全文搜索(FTS5 trigram,中文和代码子串同样能搜),选中一条直接回到原目录 resume。
⌘K 跨 agent 全文搜索,结果直接跳到匹配的那条消息(图源:官方仓库)
关于搜索这块,官方举的例子挺实在:普通 FTS5 分词器对中文和 useEffect( 这种代码子串都无能为力,所以它用了 trigram——按三字符窗口建索引,中文和代码子串就都能命中了。
02几个官方给的硬数字
作者自己机器上的实测:约 310 个会话、800MB JSONL,全量建索引约 5 秒,之后启动是瞬时的(按 mtime 增量扫描),搜索结果 1 毫秒以内。
隐私这块写得也清楚:agent 的数据目录一律只读打开,从不写别的工具的文件和数据库;auth.json 这类凭据文件从不读取;零网络请求——官方特意说明,GPUI 的依赖树里虽然带了 HTTP 客户端,但 Wake 从不去碰它。它自己的索引存在 ~/Library/Application Support/wake/wake.db,随时可以整个重建(收藏和置顶存在另一张表里,重建不丢)。
还有几个明确不支持的,官方也列了:Cursor IDE 的对话、Windsurf、Trae 把本地数据加密了;Amp、Factory(Droid)、Warp 把会话放在云上——这几个都做不了。
03装起来
目前是从源码构建(需要 Rust 工具链),macOS 14+:
git clone https://github.com/iAmCorey/Wake && cd Wake scripts/make-app.sh # 构建 dist/Wake.app open dist/Wake.app
app 是 ad-hoc 签名,如果直接下预编译版,首次启动会被 Gatekeeper 拦,右键选"打开"或者 xattr -d com.apple.quarantine Wake.app 解一次即可。
架构上有个设计值得一提:数据层 wake-core 完全不依赖 UI,每个 agent 是一个 adapter。官方在注释里写着——加一个 adapter,整套 UI 就白送了。想接新 agent 的门槛因此很低。
04它和昨天那个项目是一回事的两面
我一直觉得这类"agent 记忆的归集层"会是个独立品类——模型和 agent 会一直换,我们的对话史不该跟着一起丢。
它和昨天介绍的 HarnessRouter 恰好是同一个趋势的两面:HarnessRouter 统一 harness 的"运行"(一套 API 换 harness),Wake 统一 harness 的"历史"(一个窗口看所有会话)。
当一个品类开始出现路由器和聚合器,说明它正在变成基础设施。
项目地址GitHub:https://github.com/iAmCorey/Wake

