Skip to content

5.7 claude -r "<session-id>" "query" - 按 ID 恢復會話

claude -r "<session-id>" "query" 命令允許您按會話 ID 恢復特定的對話會話,並在恢復的上下文中執行查詢。

命令语法

bash


claude -r "<session-id>" "query" [选项]

功能描述

-r--resume)標誌允許您:

  • 按會話 ID 精確恢復特定會話
  • 在恢復的會話上下文中執行查詢
  • 保持對話的連續性和上下文
  • 精確控制要恢復的會話

使用示例

基本用法

bash


claude -r "abc123" "继续这个任务"

恢復 ID 為 "abc123" 的會話,並繼續執行任務。

代码审查

bash


claude -r "def456" "审查最新的代码变更"

恢復特定會話,並在該上下文中審查程式碼變更。

项目分析

bash


claude -r "ghi789" "分析这个项目的性能"

恢復特定會話,並在該上下文中分析專案效能。

结合其他选项

bash


claude -r "abc123" "完成任务" --model claude-4-opus

恢復指定會話,使用特定模型完成任務。

    bash


    claude -r "def456" "检查状态" --output-format json

恢復指定會話,以 JSON 格式輸出狀態檢查結果。

bash
## 获取会话 ID

### 方法1:查看会话目录

    bash


    ls -la .claude/sessions/

這會列出所有儲存的會話,包括會話 ID。

方法2:使用交互式恢复

bash


claude --resume

這會顯示可用會話列表,包括會話 ID 和描述。

方法3:檢視會話檔案

會話檔名通常包含會話 ID:

bash
    bash


    ls -la .claude/sessions/ | grep session


這會顯示所有包含會話 ID 的會話檔案。

## 會話 ID 格式

會話 ID 通常是:

  * **短字串** :如 "abc123"、"def456"
  * **唯一標識** :每個會話有唯一的 ID
  * **可讀性** :某些情況下可能包含描述性資訊

## 使用场景

### 1\. 精确恢复

    bash


    # 知道要恢复的会话 ID
    claude -r "abc123" "继续工作"

精確恢復指定的會話。

2. 多会话管理

bash


# 在多个会话之间切换
claude -r "abc123" "任务1"
claude -r "def456" "任务2"
claude -r "ghi789" "任务3"

在不同的會話之間切換工作。

3. 协作恢复

bash


# 恢复团队成员分享的会话
claude -r "shared-session-id" "继续协作"

恢復共享的會話進行協作。

4. 长期项目

bash


# 恢复长期项目的会话
claude -r "project-alpha-session" "继续项目 Alpha"

恢復長期專案的會話,保持專案上下文。

会话选择策略

选择最近会话

如果您不確定要恢復哪個會話,可以:

  1. 檢視會話列表
  2. 按時間排序
  3. 選擇最近的會話

選擇相關會話

根據當前任務選擇最相關的會話:

  • 檢視會話描述
  • 檢查會話內容
  • 選擇最匹配的會話

選擇活躍會話

優先選擇最近活躍的會話:

  • 檢視最後修改時間
  • 選擇最近更新的會話
  • 確保上下文是最新的

注意事項

  1. 會話存在 :確保指定的會話 ID 存在
  2. 會話位置-r 會從當前目錄的會話目錄查詢會話
  3. 上下文相關 :查詢應該與恢復的會話相關
  4. 會話更新 :新的查詢會更新恢復的會話
  5. ID 大小寫 :會話 ID 可能區分大小寫

與其他恢復命令的對比

命令選擇方式精確性適用場景

claude -c| 自動(最近)| 低| 快速繼續最近的工作 claude --resume| 互動選擇| 中| 瀏覽並選擇會話 claude -r "id"| 指定 ID| 高| 精確恢復特定會話

最佳實踐

  1. 記錄會話 ID :重要的會話 ID 可以記錄下來,便於後續恢復
  2. 描述性會話 :在會話中使用描述性的查詢,便於識別
  3. 定期清理 :定期清理不需要的會話,避免混淆
  4. 會話備份 :重要的會話可以備份,防止意外丟失
  5. 上下文保持 :確保查詢與恢復的會話相關,充分利用上下文
## 常见问题

### Q: 如何知道要恢复哪个会话?

A: 可以使用 `claude --resume` 查看所有可用会话,或查看会话目录。

### Q: 会话 ID 会改变吗?

A: 会话 ID 在会话创建时生成,通常不会改变。

### Q: 可以恢复其他目录的会话吗?

A: 不可以,`-r` 只会从当前目录的会话目录查找会话。

### Q: 恢复的会话会覆盖当前会话吗?

A: 不会,恢复的会话和当前会话是独立的。

## 相关命令
  • claude -c:繼續最近的對話
  • claude --resume:互動式選擇並恢復會話
  • claude -r "id":按 ID 恢復會話(不執行查詢)
  • /clear:清除對話歷史
bash
## 实际应用示例

### 会话管理脚本

    bash


    #!/bin/bash
    # 列出所有会话
    echo "可用会话:"
    ls -la .claude/sessions/ | grep session

    # 选择要恢复的会话
    read -p "输入会话 ID: " session_id

    # 恢复会话
    claude -r "$session_id" "继续工作"

恢復使用者選擇的會話。

bash
### 多项目工作流

    bash


    #!/bin/bash
    # 项目会话映射
    declare -A sessions
    sessions[project-a]="abc123"
    sessions[project-b]="def456"
    sessions[project-c]="ghi789"
    # 选择项目
    echo "选择项目:"
    for project in "${!sessions[@]}"; do
    echo "$project: ${sessions[$project]}"
    done
    read -p "输入项目名称: " project_name
    # 恢复项目会话
    claude -r "${sessions[$project_name]}" "在 $project_name 中工作"

恢復使用者選擇的專案會話。

基于 MIT 许可发布 | 永久导航