# 3.4 会话管理器

会话管理器可让你在一处浏览、搜索和管理所有支持的 CLI 工具的对话会话。

## 支持的应用

| 应用 | 会话存储位置 |
|------|-------------|
| Claude Code | `~/.cache/claude/projects/*.jsonl` |
| Codex | Codex 配置会话目录 |
| OpenCode | `~/.local/share/opencode/`（JSON 或 SQLite） |
| OpenClaw | `~/.openclaw/agents/<agent>/sessions/*.jsonl` |
| Gemini CLI | `~/.cache/gemini/tmp/<project_hash>/chats/` |

## 打开会话管理器

点击主导航栏中的 **会话** 按钮。

> **注意**：会话按钮在所有五种应用模式下均可见。

## 界面布局

会话管理器采用 **双栏布局**：

- **左侧面板**：会话列表，包含搜索和过滤工具栏
- **右侧面板**：选中会话的详情和对话历史

### 会话列表（左侧面板）

每个会话条目显示：
- 供应商图标
- 会话标题
- 最后活跃时间（相对格式，如"5 分钟前"）

### 会话详情（右侧面板）

选中会话后，右侧面板显示：
- **标题**：来自会话标题、项目目录名称或会话 ID
- **最后活跃日期/时间**：完整时间戳
- **项目目录**：可点击复制完整路径（显示目录名，完整路径以提示框显示）
- **恢复命令**：以等宽字体显示（如可用）
- **对话历史**：完整消息记录

## 搜索与过滤

### 全文搜索

使用左侧面板顶部的搜索框，可搜索以下内容：
- 会话 ID
- 标题
- 摘要
- 项目目录
- 源文件路径

搜索支持前缀匹配，实时过滤结果。按 **Esc** 清除搜索。

### 供应商过滤

点击左侧面板右上角的供应商过滤下拉菜单，按应用过滤：
- **全部** — 显示所有供应商的会话
- **Claude Code**
- **Codex**
- **OpenCode**
- **OpenClaw**
- **Gemini CLI**

过滤可与搜索组合使用。

### 刷新

点击刷新按钮（圆形箭头图标），重新扫描所有供应商目录以发现新增或已删除的会话。

## 会话操作

### 恢复会话

点击选中会话上的 **恢复** 按钮（播放图标）继续对话。

**macOS 上**：
- CC Switch 使用你偏好的终端启动恢复命令
- 终端会在会话的项目目录中打开
- 如果终端启动失败，命令会被复制到剪贴板

**支持的终端（macOS）**：Terminal.app、iTerm2、Ghostty、Kitty、WezTerm、Alacritty

**其他平台**：
- 恢复命令会被复制到剪贴板
- 在终端中粘贴即可恢复会话

> 如果会话没有可用的恢复命令，恢复按钮将被禁用。

#### 目录选择器（Claude 终端恢复）

v3.13.0 起，**Claude 会话**恢复前会弹出**目录选择器**，让你可以覆盖默认的项目目录。适用于下列场景：

- **项目已迁移**：原项目目录已被移动或重命名
- **软链接断裂**：原始路径无法访问
- **临时换目录**：想在不同的工作目录中继续对话

**使用方法**：

1. 点击 Claude 会话的 **恢复** 按钮
2. 在弹出的目录选择器中，确认默认目录或选择新目录
3. CC Switch 会在所选目录下启动 Claude 终端会话

> 💡 **提示**：Codex / Gemini / OpenCode / OpenClaw 会话的恢复流程暂不包含目录选择器，仍使用会话原始项目目录。

### 删除会话

点击 **删除** 按钮（垃圾桶图标）永久删除会话文件。删除前会显示确认对话框。

> 没有本地源路径的会话（如不可变会话）无法删除。

### 批量操作

批量管理多个会话：

1. 点击左侧面板工具栏中的 **批量模式** 按钮（复选框图标）
2. 使用出现的复选框选择会话
3. 使用 **全选** 选择所有过滤结果，或使用 **清除** 取消选择
4. 点击 **批量删除**（红色垃圾桶图标）删除所有选中的会话

删除前会显示确认对话框并展示数量。结果会报告成功删除的数量和失败的数量。

## 对话历史

### 消息显示

消息按角色以颜色区分：
- **用户** 消息：绿色，左对齐
- **AI**（助手）消息：蓝色，右对齐
- **系统** 消息：琥珀色
- **工具** 消息：紫色

### 目录导航

对于较长的对话，提供目录导航功能：
- **桌面端（XL+ 屏幕）**：右侧边栏显示用户消息预览
- **较小屏幕**：右下角浮动按钮（列表图标），点击打开对话框

点击任意条目可滚动到对应消息，消息会短暂高亮显示。

## 提示

- 会话按最后活跃时间排序（最新在前）
- 会话数量徽章会随搜索和过滤实时更新
- OpenCode 会话可能来自 JSON 文件和 SQLite 数据库 — 重复项会自动去重
