Liu Terminal 代理历史。浏览并恢复 Claude Code、Codex、GitHub Copilot CLI、OpenCode、Qwen Code、Cline、Kimi、Grok 等工具的会话。
Liu 扫描所有已安装 AI CLI 的磁盘会话存储,将条目标准化为统一的 ChatEvent 模型,并在单个 Cmd+K 选择器中展示。在此:您可以在本地恢复会话,或打开转录视图以滚动对话,而无需重新启动代理。
正在重写中。 扫描器和解析器位于 src/history/ 下,选择器 UI 位于 src/ui/palette.c,转录查看器位于 src/main.c。当前代码可以工作,但磁盘存储格式和内部 API 仍在变动中。
Liu 不会嵌入 AI 模型,也不会取代代理。每个工具保留自己的 CLI、身份验证、模型设置和会话格式;Liu 为其提供周围的终端界面。
代理历史记录目前识别的会话存储:
claude CLI存储 ~/.claude/projects/<slug>/*.jsonl
恢复 claude --resume <id>
每个项目一个扁平目录。cwd 从 slug 解码。
codex CLI存储 ~/.codex/sessions/**/*.jsonl
恢复 codex -c experimental_resume="<path>"
按日期嵌套的 rollout;也扫描 archived_sessions/。恢复需要磁盘上的 JSONL 路径。
copilot CLI存储 ~/.copilot/session-state
恢复 copilot --resume <id>
递归扫描 session-state 树。
opencode CLI存储 ~/.local/share/opencode/opencode.db
恢复 opencode --session <id>
SQLite session 表;cwd 来自 directory 列。
qwen CLI存储 ~/.qwen/projects/**/chats
恢复 qwen --resume <id>
每个项目目录下的 chats。
code Extension存储 VS Code-family globalStorage/<extension-id>/tasks/<task-id>/ui_messages.json
恢复 code <workspace>(扩展)
仅在 IDE 和扩展已安装时扫描。
agy CLI存储 ~/.gemini/antigravity/conversations/*.db
恢复 agy --conversation <id>
SQLite 对话数据库;id 来自 trajectory 元数据。
agent CLI存储 ~/.cursor/projects/<project>/agent-transcripts/<session-id>/<session-id>.jsonl
恢复 agent --resume <id>
One session directory is nested below each project transcript directory.
amp CLI存储 ~/.local/share/amp/threads/*.{json,jsonl}
恢复 amp --thread <id>
Thread files are scanned from the XDG data directory.
crush CLI存储 ~/.crush/sessions/*.{json,jsonl}
恢复 crush --session <id>
Session files are discovered from the local Crush data directory.
droid CLI存储 ~/.factory/sessions/**/*.{json,jsonl}
恢复 droid -s <id>
Top-level and date-nested session files are included.
kimi CLI存储 ~/.kimi/sessions/<bucket>/<session-uuid>/context.jsonl
恢复 kimi --session <id>
The bucket is the MD5 of the working directory; legacy flat JSONL files are also read.
grok CLI存储 ~/.grok/sessions/**/chat_history.jsonl
恢复 grok --resume <id>
Internal sub-agent sessions are filtered out; user-facing chats remain.
commandcode CLI存储 ~/.commandcode/projects/<slug>/*.jsonl
恢复 commandcode --session <path>
Resume uses the transcript path so the project context is preserved.
cline CLI存储 ~/.cline/data/sessions/<id>/<id>.messages.json
恢复 cline --id <id>
Standalone Cline CLI; separate from the Cline VS Code extension.
kiro CLI存储 ~/.kiro/sessions/<workspace>/*.json
恢复 -
History is discoverable, but Liu does not currently have a native Kiro resume flag.
这些工具会被检测到,并可从选择器中启动;转录深度取决于它们是否公开了磁盘会话存储。
这些启动目标目前不会填充主历史记录表:Aider 可以恢复其滚动聊天历史,而 Amazon Q、Continue、Windsurf 和 Zed 可作为新会话目标使用。
AiderAmazon QContinueWindsurfZed
每个工具专用的解析器(parser_claude.c、parser_codex.c 等)会遍历每个工具的会话目录或 SQLite 存储,将每个条目标准化为共享的 ChatEvent 模型(时间戳、角色、cwd、片段、词元数量)并传递给选择器。
选择一个条目会使用原生恢复标志生成原始 CLI — Liu 不会重新运行代理本身。使用 ⌘ ↵ 选择则会打开转录视图:以只读方式滚动浏览每一次用户/助手对话。
每次打开代理历史记录都会执行一次全新的磁盘扫描。无需守护进程、无需缓存、无需后台监视程序。
在项目中通过 ⌘ K 面板打开代理历史记录时,Liu 会将结果范围限定为该工作目录 —— 仅显示记录 cwd 与当前标签页匹配的会话。如果在 $HOME 下打开,则范围回退到“磁盘上任意位置的所有内容”。
相同的引擎以 liu-history 形式提供:
liu-history list --limit=50 # 所有工具的最近 50 个会话
liu-history list --tool=claude # 按工具筛选
liu-history info <id|path> # 显示会话元数据
liu-history show <id|path> --format=markdown # 将转录转储到 stdout
liu-history scan # 打印发现的所有会话路径
English · Türkçe · 한국어 · Español · Deutsch · Italiano · Français · 日本語 · العربية