跳转至

会话恢复命令

加载最后保存的会话状态,在开始工作之前完全了解情况。 此命令是 /save-session 的对应命令。

使用时机

  • 在开始新会话以继续前一天工作时
  • 在达到上下文上限并开始新会话之后
  • 当从其他来源收到会话文件时(只需指定文件路径)
  • 当存在会话文件,并且希望 Claude 在继续工作前完全掌握内容时

用法

/resume-session                                                      # ~/.claude/session-data/ の最新ファイルを読み込む
/resume-session 2024-01-15                                           # その日付の最新セッションを読み込む
/resume-session ~/.claude/session-data/2024-01-15-abc123de-session.tmp  # 現在の短縮IDセッションファイルを読み込む
/resume-session ~/.claude/sessions/2024-01-15-session.tmp               # レガシー形式の特定ファイルを読み込む

流程

步骤 1:查找会话文件

未指定参数时:

  1. 检查 ~/.claude/session-data/
  2. 选择最近更新的 *-session.tmp 文件
  3. 如果文件夹不存在或没有匹配文件,向用户通知:
    No session files found in ~/.claude/session-data/
    Run /save-session at the end of a session to create one.
    
    然后停止。

指定参数时:

  • 如果为日期格式(YYYY-MM-DD),先搜索 ~/.claude/session-data/,再搜索旧版的 ~/.claude/sessions/,查找匹配 YYYY-MM-DD-session.tmp(旧版格式)或 YYYY-MM-DD-<shortid>-session.tmp(当前格式)的文件, 并读取该日期最近更新的匹配文件
  • 如果为文件路径,直接读取该文件
  • 如果未找到,明确报告并停止

步骤 2:读取整个会话文件

读取整个文件。先不要总结。

步骤 3:确认理解

以以下精确格式返回结构化简报:

SESSION LOADED: [ファイルへの実際の解決済みパス]
════════════════════════════════════════════════

PROJECT: [ファイルに記載されたプロジェクト名 / トピック]

WHAT WE'RE BUILDING:
[自分の言葉で2〜3文の要約]

CURRENT STATE:
PASS: Working: [数] 件確認済み
 In Progress: [進行中のファイル一覧]
 Not Started: [計画済みだが未着手の一覧]

WHAT NOT TO RETRY:
[失敗したアプローチとその理由をすべて列挙 -- これは非常に重要]

OPEN QUESTIONS / BLOCKERS:
[ブロッカーや未回答の質問を列挙]

NEXT STEP:
[ファイルに定義されている場合は正確な次のステップ]
[定義されていない場合: "No next step defined -- recommend reviewing 'What Has NOT Been Tried Yet' together before starting"]

════════════════════════════════════════════════
Ready to continue. What would you like to do?

步骤 4:等待用户

不要自动开始工作。不要改动文件。等待用户指示。

如果会话文件中明确定义了下一步,并且用户说“继续”“是”等,则执行该确切的下一步。

如果未定义下一步,询问用户从哪里开始,并在必要时从“尚未尝试的事项”部分提出方案。


边界情况

同一日期存在多个会话时 (2024-01-15-session.tmp, 2024-01-15-abc123de-session.tmp): 无论使用旧版无 ID 格式还是当前短 ID 格式,都读取该日期最近更新的匹配文件。

会话文件引用了不存在的文件时: 在简报中注明这一点 -- "WARNING: path/to/file.ts referenced in session but not found on disk."

会话文件距今超过 7 天时: 注明时间间隔 -- "WARNING: This session is from N days ago (threshold: 7 days). Things may have changed." -- 然后照常继续。

用户直接指定文件路径时(例如从团队成员处转发): 读取它,并遵循相同的简报流程 -- 无论来源如何,格式都相同。

会话文件为空或格式无效时: 报告:"Session file found but appears empty or unreadable. You may need to create a new one with /save-session."


输出示例

SESSION LOADED: /Users/you/.claude/session-data/2024-01-15-abc123de-session.tmp
════════════════════════════════════════════════

PROJECT: my-app — JWT Authentication

WHAT WE'RE BUILDING:
User authentication with JWT tokens stored in httpOnly cookies.
Register and login endpoints are partially done. Route protection
via middleware hasn't been started yet.

CURRENT STATE:
PASS: Working: 3 items (register endpoint, JWT generation, password hashing)
 In Progress: app/api/auth/login/route.ts (token works, cookie not set yet)
 Not Started: middleware.ts, app/login/page.tsx

WHAT NOT TO RETRY:
FAIL: Next-Auth — conflicts with custom Prisma adapter, threw adapter error on every request
FAIL: localStorage for JWT — causes SSR hydration mismatch, incompatible with Next.js

OPEN QUESTIONS / BLOCKERS:
- Does cookies().set() work inside a Route Handler or only Server Actions?

NEXT STEP:
In app/api/auth/login/route.ts — set the JWT as an httpOnly cookie using
cookies().set('token', jwt, { httpOnly: true, secure: true, sameSite: 'strict' })
then test with Postman for a Set-Cookie header in the response.

════════════════════════════════════════════════
Ready to continue. What would you like to do?

注意事项

  • 加载会话文件时不要修改它 -- 它是只读的历史记录
  • 简报格式固定 -- 即使某个部分为空也不要省略
  • 始终显示“不要重试的事项”。即使为“无” -- 它重要到不能遗漏
  • 恢复后,用户可能希望在新的会话结束时再次运行 /save-session,以创建带有新日期的文件

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC