进阶 onorca.dev 2026-10-18 18:52:10 · 19 阅读

第20章 Agent 会话历史

第20章:Agent 会话历史

Orca 右侧边栏提供 Agent 会话历史功能,让你能够浏览并恢复来自 Claude、Codex、Muse Code、Cursor、Gemini 等 Agent 的过往会话。Orca 会扫描由支持会话记录的 Agent CLI 留在磁盘上的会话日志,并在名为 Agent 会话历史的右侧面板中列出它们。选中一个历史会话,点击恢复,Orca 就会在一个新终端中运行该 Agent 的恢复命令——保持相同的工作目录(cwd)和相同的会话 ID,无需手动拼接 --resume 参数。

打开面板

展开右侧边栏,切换到 Agents 选项卡。面板标题显示为“Agent 会话历史”。

标题栏会显示类似“已显示 12 条 · 近期 47 条”的计数,旁边是一个搜索框。输入内容即可按会话标题、工作目录、分支、模型或对话预览文本进行过滤。

会话历史 还可以搜索来自其他已连接计算机和配对 Orca 服务器的已索引日志。在 设置 → 会话历史 中,为你想要开启搜索的计算机启用 会话内搜索(或点击 在所有计算机上启用)。当某台计算机离线或未授予索引访问权限时,Orca 会显示宿主范围提示。可搜索的数据保留在各自计算机上;本地面板仍允许你浏览那些未加入索引的会话。

对于脚本和终端工作流,可以使用 orca search 命令查询相同的索引,而无需打开面板。

作用域

面板顶部的作用域切换器决定显示哪些会话:

- 工作区 — 来自当前工作区或 worktree 的会话(取决于活动的工作区上下文)。 - 项目 — 解析到活动 Orca 项目的会话。 - 全部 — 本机所有 Agent 的所有会话。

远程工作区可以浏览本地历史,但恢复操作只能从本地工作区执行——当活动的 worktree 为远程时,Orca 会在面板中告知你这一点。

视图选项

视图选项菜单(位于搜索框旁)控制扫描哪些 Agent 以及如何分组会话:

- Agent — 单独开启或关闭各个 CLI(Claude、Codex、Muse Code、Hermes、Pi、OMP、Prime Agent、Cursor、Gemini、Antigravity、Rovo Dev、Copilot、OpenCode、Grok、OpenClaw、Devin、Droid、Kimi、Kiro、CodeBuddy、ZCode、Qoder)。禁用的 Agent 在扫描时会被跳过。使用 Agent 标题栏中的 全选 / 全不选 可以一次性切换所有 Agent——全不选 会取消所有选中状态,这样你就可以只开启关注的 CLI,而无需在一个长列表中逐一取消勾选。如果未选择任何 Agent,会显示 未选择 Agent,而非通常的空过滤器提示。 - 分组 — 按 项目、文件夹(每个 cwd 一个标题)或 Agent(每个 CLI 一个标题)。 - 隐藏空会话 — 移除零条消息记录的会话。

使用会话列表上方的排序控件,可按 最后更新时间 或 创建时间 排序浏览。执行搜索时,该控件会提供 最相关 或 最新 选项。相关度相同的匹配结果会优先显示较新的会话。搜索时的排序偏好与浏览时的排序偏好是分开记忆的。如果搜索达到扫描上限,请在结果下方选择 显示更多 以继续向前搜索。

恢复会话

点击会话行以打开详细信息:工作目录、分支、模型、消息计数、首个 Prompt 以及最新的对话回合。展开详细信息时,首个 Prompt 会从日志中加载未截断的第一条用户消息(列表行仅保留短预览以便搜索)。使用该卡片上的 复制 功能可将完整请求放入剪贴板——这对于在不重新打开日志的情况下复用长 Prompt 很有用。你还可以将一个已启用的会话行拖入工作区来恢复它。从行操作菜单中,你可以:

- 恢复 — 在会话的 cwd 中打开一个新终端,并运行该 Agent 的恢复命令(例如 claude --resume 、codex resume 、muse resume 、pi --session 、prime-agent --resume 、cursor-agent --resume 、acli rovodev run --restore )。对于 Codex 会话,如果原始会话设置了 CODEX_HOME,则恢复时也会重新导出该变量。 - 在新原生聊天中恢复 — 打开一个新的结构化聊天标签页,并显示先前的对话,适用于符合条件的会话(Claude 必须在其原始工作区中恢复;Codex 可以在另一个工作区中恢复;在文件夹工作区中发起的聊天将在同一文件夹中恢复)。在新 CLI 中恢复 执行相反操作,将结构化聊天的对话分叉到终端中。这两项操作也位于标签页的右键菜单中。一旦对话被保留给结构化聊天,其终端恢复功能将不再可用。关于可用性,请参阅 Chat UI。 - Pi 从由其 Hooks 报告的磁盘会话文件(--session )恢复,而非仅凭会话 ID。如果该文件缺失,即使存在会话 ID,该行的恢复按钮也将不可用。 - 复制恢复命令 — 将相同的 shell 命令复制到剪贴板,以便在外部终端中使用。 - 复制会话 ID / 复制日志路径 — 用于脚本处理或将日志附加到错误报告中。 - 打开日志 / 显示日志 — 在 Orca 中打开原始日志文件,或跳转到操作系统文件管理器中的该文件。 - 打开 cwd — 将会话的工作目录作为工作区打开。

日志的来源

Orca 读取每个 Agent 自己的磁盘会话存储——包括 Codex 的 ~/.codex/sessions、Claude 的 ~/.claude history、Muse Code 的 ~/.local/share/muse/sessions、Cursor 的会话日志、OpenCode 的旧版会话文件或 ~/.local/share/opencode/opencode.db、CodeBuddy 位于 .codebuddy/projects 下的项目转录、ZCode 存储的转录、Qoder 的 ~/.qoder/projects 转录等等。无需启用任何额外功能;只要 CLI 写入了日志,它会在下次扫描后出现在面板中。使用标题栏中的 刷新会话历史 按钮可按需重新扫描。

下一步

- 热切换 Codex 账户 — 在会话活跃时切换其背后的 Codex 登录状态,而无需重启会话。 - Hooks 与记忆 — 控制 Agent 在每次启动时(包括恢复的会话)捕获哪些上下文。

评论 (0)