Claude Code `/compact` 之後前面嘅對話全部睇唔到?其實冇丟,教你完整搵返

/compact 後舊消息消失?數據沒丟——PandaNpc 沿壓縮鏈拼接全量歷史,桌面端/web 端完整找回,支援多次壓縮,且不影響真實上下文。

PandaNpc首次發佈於
Claude Code `/compact` 之後前面嘅對話全部睇唔到?其實冇丟,教你完整搵返

用 Claude Code 耐咗你一定遇到過:上下文快滿時佢會自動(或者你手動 /compact)壓縮一次歷史。壓縮之後,前面嗰一大段對話就「消失」咗——你想向上翻睇之前到底傾過啲乜、改過邊啲檔案、點解做咗某個決定,結果淨係得一條壓縮摘要,細節全部冇晒。換部電腦 resume 會話,見到嘅都只係壓縮後嘅部分。

好多人以為呢啲歷史被刪咗。其實冇——佢哋仲好好地躺喺磁盤上,只係 Claude Code 自己唔俾你睇。 呢篇講清楚點解會咁,以及點樣將壓縮前嘅完整對話搵返出嚟。

一、點解 `/compact` 後舊消息睇唔到

Claude Code 嘅會話記錄係寫喺本地 JSONL 檔案入面(~/.claude/projects/<项目>/<session_id>.jsonl)。當 /compact 觸發時,佢做咗一件好多人冇意識到嘅事:

  • 佢會 fork 出一個新嘅 session_id,另開一個新嘅 JSONL 檔案,裏面第一條就係壓縮摘要;
  • 你壓縮前嘅全部對話,留咗喺舊嗰個 JSONL 檔案入面,原封不動;
  • 之後 claude --resume 只係接住最新嗰個 session 嚟行,舊檔案佢唔再載入、亦唔展示。

所以你見到嘅「歷史消失」,本質係:數據冇丟,只係 Claude Code 嘅恢復視圖只係認最新一段,將壓縮前嘅舊段落掉喺一邊。 如果你壓縮過好幾次,就會有幾個舊 JSONL,一段段斷開,Claude 自己永遠只俾你睇最後一段。

二、PandaNpc 點樣將完整歷史搵返嚟

PandaNpc 遠程訪問 Claude Code 時,做咗一件 Claude 自己唔做嘅事:沿住 /compact 嘅 fork 鏈,將每一段歷史按順序拼返埋。

具體嚟講:

  • 佢記錄整條壓縮鏈(壓縮前嘅舊 session_id 一個個串起,加上當前最新嘅);
  • 恢復會話時,[舊段1 → 舊段2 → … → 當前段] 嘅順序,依次載入每段嘅 JSONL 並拼接,還原成一條完整時間線;
  • 每次 /compact 嘅位置,會插入一條清晰嘅 ─── /compact ─── 分隔線,令你一眼睇出「呢度壓縮過一次」;
  • 你喺桌面端 / web 端向上滾,就可以見到壓縮前嘅全部原始對話——每條消息、每次工具調用、每個代碼改動,一條唔少。

而且支援多次壓縮:壓縮過 N 次,就將 N+1 段歷史全部拼返埋。

🔑 關鍵一點:呢條壓縮鏈只用嚟「展示」,唔影響 Claude 嘅真實上下文claude --resume 應該用邊段上下文就用邊段(最新嘅壓縮摘要),PandaNpc 只係額外將舊段落讀出嚟俾你睇。亦即係話——你既享受咗壓縮慳落嚟嘅上下文,又唔會丟失任何歷史可讀性。

三、點樣用

  1. 喺開發機上裝 pandapaw(一行命令):

    macOS / Linux:

    bash
    curl -fsSL https://cos.pandanpc.com/pandapaw/install.sh | sh

    Windows(PowerShell):

    powershell
    iwr -useb https://cos.pandanpc.com/pandapaw/install.ps1 | iex
  2. 喺另一部電腦打開 PandaNpc 桌面端,或者瀏覽器訪問 https://pandanpc.com/agent ,連返你嘅開發機,打開任意一個 /compact 過嘅會話——向上滾,壓縮前嘅完整歷史全部喺度,分隔線標得清清楚楚。

四、小結

  • /compact 唔會刪歷史,只係 Claude Code 嘅恢復視圖唔展示壓縮前嘅舊段落。
  • PandaNpc 沿壓縮鏈拼接全量 JSONL,桌面端 / web 端完整查看,─── /compact ─── 標記每次壓縮,支援多次壓縮。
  • 純展示、唔郁真實上下文,魚與熊掌兼得。

官網下載桌面端(Windows / macOS / Linux)或者直接用 web 端:https://pandanpc.com 。受夠咗 /compact 後翻唔到歷史嘅,可以試試。