Skip to main content

การจัดการเซสชัน

ตั้งชื่อ ดำเนินต่อ แยก และสลับระหว่างการสนทนาของ Claude Code ครอบคลุม --continue, --resume, --from-pr, ตัวเลือก /resume, การตั้งชื่อเซสชัน และตำแหน่งที่บันทึก transcript

เซสชันคือการสนทนาที่บันทึกไว้ซึ่งเชื่อมโยงกับไดเรกทอรีโปรเจกต์ Claude Code เก็บไว้ในเครื่องขณะที่คุณทำงาน เพื่อให้คุณกลับมาต่อจากที่ค้างไว้ แยกออกเพื่อลองวิธีอื่น หรือสลับระหว่างงานต่าง ๆ

หน้านี้ครอบคลุม CLI:

ดำเนินต่อเซสชัน

เซสชันถูกบันทึกต่อเนื่องไปยัง ไฟล์ transcript ในเครื่อง ขณะที่คุณทำงาน ดังนั้นคุณสามารถกลับมาหลังจากออกหรือรัน /clear ใช้จุดเริ่มต้นเหล่านี้:

คำสั่งทำอะไร
claude --continueดำเนินต่อเซสชันล่าสุดในไดเรกทอรีปัจจุบัน
claude --resumeเปิดตัวเลือกเซสชัน
claude --resume <name>ดำเนินต่อเซสชันที่มีชื่อโดยตรง
claude --from-pr <number>ดำเนินต่อเซสชันที่เชื่อมโยงกับ pull request นั้น
/resumeสลับไปยังการสนทนาอื่นจากภายในเซสชันที่ใช้งาน

เซสชันที่สร้างด้วย claude -p หรือ Agent SDK จะไม่ปรากฏในตัวเลือกเซสชัน แต่คุณยังดำเนินต่อได้โดยส่ง session ID ไปยัง claude --resume <session-id>

ตำแหน่งที่ตัวเลือกเซสชันมอง

เซสชันถูกเก็บต่อไดเรกทอรีโปรเจกต์ ตัวเลือกเซสชันแสดงเซสชันแบบ interactive จาก worktree ปัจจุบัน รวมถึงเซสชันที่เริ่มที่อื่นที่เพิ่มไดเรกทอรีปัจจุบันด้วย /add-dir ใช้ Ctrl+W เพื่อขยายไปยัง worktrees ทั้งหมดของ repository หรือ Ctrl+A เพื่อขยายไปทุกโปรเจกต์ในเครื่องนี้

ตั้งชื่อเซสชัน

ตั้งชื่อที่สื่อความหมายให้เซสชันเพื่อให้ค้นหาได้ในตัวเลือกเซสชันและดำเนินต่อได้ด้วยชื่อ

เมื่อใดวิธีตั้งชื่อ
เมื่อเริ่มต้นclaude -n auth-refactor
ระหว่างเซสชัน/rename auth-refactor
จากตัวเลือกเซสชันเน้นเซสชันและกด Ctrl+R
เมื่อยืนยัน planการยืนยัน plan ใน plan mode จะตั้งชื่อเซสชันจากเนื้อหา plan

ใช้ตัวเลือกเซสชัน

รัน /resume ภายในเซสชัน หรือ claude --resume โดยไม่มีอาร์กิวเมนต์ เพื่อเปิดตัวเลือกเซสชันแบบ interactive ใช้ keyboard shortcuts เหล่านี้:

Shortcutการกระทำ
/ เลื่อนระหว่างเซสชัน
/ ขยายหรือยุบกลุ่มเซสชัน
Enterดำเนินต่อเซสชันที่เน้น
Spaceดูตัวอย่างเนื้อหาเซสชัน
Ctrl+Rเปลี่ยนชื่อเซสชันที่เน้น
/ หรือตัวอักษรที่พิมพ์ได้เข้าโหมดค้นหาและกรองเซสชัน
Ctrl+Aแสดงเซสชันจากทุกโปรเจกต์ในเครื่อง
Ctrl+Wแสดงเซสชันจาก worktrees ทั้งหมดของ repository ปัจจุบัน
Ctrl+Bกรองเซสชันจาก git branch ปัจจุบัน
Escออกจากตัวเลือกเซสชันหรือโหมดค้นหา

แยกเซสชัน

การแยกสร้างสำเนาการสนทนาจนถึงปัจจุบันและสลับเข้าไป โดยปล่อยให้ต้นฉบับยังคงอยู่ ใช้เพื่อลองวิธีอื่นโดยไม่สูญเสียเส้นทางที่ดำเนินอยู่

จากภายในเซสชัน รัน /branch พร้อมชื่อที่เป็นตัวเลือก:

/branch try-streaming-approach

จาก command line รวม --continue หรือ --resume กับ --fork-session:

claude --continue --fork-session

เซสชันต้นฉบับไม่เปลี่ยนแปลงและยังคงพร้อมใช้งานในตัวเลือกเซสชัน สิทธิ์ที่คุณอนุมัติด้วย "allow for this session" จะไม่ถ่ายโอนไปยัง branch ใหม่

จัดการบริบทภายในเซสชัน

คำสั่งเหล่านี้ควบคุมสิ่งที่อยู่ในหน้าต่างบริบทโดยไม่ออกจากเซสชัน:

  • /clear: เริ่มต้นใหม่ด้วยบริบทว่างเปล่า การสนทนาก่อนหน้าบันทึกไว้และดำเนินต่อได้
  • /compact [instructions]: แทนที่ประวัติด้วยสรุป
  • /context: แสดงสิ่งที่กำลังใช้บริบทปัจจุบัน

ส่งออกและค้นหาข้อมูลเซสชัน

รัน /export เพื่อคัดลอกการสนทนาปัจจุบันไปยัง clipboard หรือบันทึกเป็นไฟล์ข้อความธรรมดา

Transcript ถูกเก็บเป็น JSONL ที่ ~/.claude/projects/<project>/<session-id>.jsonl ซึ่ง <project> มาจากเส้นทางไดเรกทอรีการทำงานของคุณ หากต้องการเก็บเซสชันในตำแหน่งอื่นนอกจาก ~/.claude ให้ตั้งค่า CLAUDE_CONFIG_DIR ไฟล์ในเครื่องเหล่านี้จะถูกลบหลังจาก 30 วันโดยค่าเริ่มต้น

ดูเพิ่มเติม

  • Worktrees: รันเซสชันแบบ parallel ที่แยกได้บน branch ต่าง ๆ
  • Checkpointing: ย้อนรหัสและการสนทนาไปยังจุดก่อนหน้า
  • Context window: สิ่งที่เติมบริบทและสิ่งที่ยังคงอยู่หลัง compaction
  • Non-interactive mode: พฤติกรรมเซสชันภายใต้ claude -p