如果你每天都和某人一起工作,而他們每天早上走進來時都對昨天的事情毫無記憶,那麼你需要多久才會停止將他們視為夥伴,轉而將他們視為工具?這正是我們大多數人目前與 AI 助理的關係。
我們花了一個下午與 Claude 合作處理一個棘手的重構任務。我們達成了一致的方法,排除了兩個死胡同,並得知一個設定檔絕不能碰。然後會話結束了。
許多 AI 助理在每次對話結束後都會失去記憶,導致使用者必須重複解釋上下文。Rekindle 是一個開源工具,旨在解決這個問題,它透過結構化的交接報告,確保 AI 助理在每次新會話開始時都能獲得必要的背景資訊,從而提升協作效率。

如果你每天都和某人一起工作,而他們每天早上走進來時都對昨天的事情毫無記憶,那麼你需要多久才會停止將他們視為夥伴,轉而將他們視為工具?這正是我們大多數人目前與 AI 助理的關係。
我們花了一個下午與 Claude 合作處理一個棘手的重構任務。我們達成了一致的方法,排除了兩個死胡同,並得知一個設定檔絕不能碰。然後會話結束了。
第二天早上,我們開啟一個新會話,它又變成了一個陌生人。友善、能幹,但腦袋一片空白。所以我們從頭開始重新解釋:我們上次停在哪裡、我們做了什麼決定、我們已經嘗試過什麼。這是一筆小小的開銷,但我們在每次會話中都支付它,日積月累下來就不少了。
為什麼這比看起來更重要?想像一下夜班護士將工作交接給白班護士。沒有人期望白班護士記得夜班發生的所有事情。他們得到的是一份良好的交接報告:發生了什麼、還有什麼未完成、需要注意什麼。交接報告讓護理工作得以延續,即使人員更換。
我們的 AI 會話沒有交接。每個會話都從零開始。我想知道這到底有多糟糕,所以我進行了測量。在今年春天六週內,我自己的 43 個會話中,我記錄了每次助理需要知道卻不知道的事情。這可能是在它「熟悉環境」後進行的查詢,我說了「我們已經試過了」,或者助理承認它缺少了某些資訊。
只有 33% 的會話是「乾淨」開始的。26% 的會話有五次或更多遺漏。總共有 173 次遺漏。公平地說,這是一個人的設定,而且它已經是一個相當成熟的記憶系統。這是 n=1 的案例,而不是基準測試。如果你想深入了解,完整的報告在儲存庫中。
但這與我每天的感受相符:助理在被問到時可以找到東西,但它通常不知道自己缺少了什麼。這正是 Rekindle 圍繞的核心區別。儲存記憶是一個問題,而以「熟悉環境」的狀態出現則是另一個問題。
Rekindle 是一個小型的開源 MCP 伺服器和命令列介面(CLI)。它完全在你的機器上運行,使用本地的 SQLite 檔案。它沒有 API 金鑰,也沒有網路呼叫。它在三個關鍵時刻發揮作用。
在會話結束時,助理會呼叫 end_session 並寫入結構化的交接報告。這些欄位包括一個檢查點(必填)、決策、開放迴圈、限制、警告、偏好、工作關係中發生了什麼變化,以及下次從哪裡接續。這不僅僅是摘要,它更是給下一班的備忘錄。
在下一個會話開始時,boot_report 工具會建立一個「熟悉環境報告」。它會讀取你的身份備註和最後一個檢查點,列出開放迴圈,標記空白(缺少身份、空類別、過時資料),並給出一個簡單的 0-100 分數,讓你一目了然地看到助理的熟悉程度。在 Claude Code 中,一個可選的 SessionStart 鉤子(hook)也可以在啟動、恢復、/clear 和 /compact 時自動提供一個預算內的「熟悉環境資料包」,這樣就不需要詢問模型了。
在漫長的會話中間,一個可選的 PreCompact 鉤子會在 Claude Code 壓縮上下文之前保存最近對話的副本。你可以在之後將其讀回,作為摘要、結構化視圖或原始對話摘錄。在這些時刻之間,也有普通的記憶工具:store_memory、search_memory(全文、BM25 排名並按重要性加權)、list_memories、update_memory 和 delete_memory,以及 list_captures、read_capture 和 capture_now 用於壓縮捕獲。總共有 10 個工具。
快速入門:你需要 Node.js 22 或更新版本。在你的專案中執行 npx rekindle init。然後使用 claude mcp add rekindle -- npx -y rekindle 將伺服器註冊到 Claude Code。
可選地,你可以執行 npx rekindle setup-hooks 在壓縮前保存上下文,以及執行 npx rekindle setup-delivery 在每次會話開始時提供熟悉環境資料包。
init 會建立一個本地的 .rekindle/ 資料夾(包含資料庫和身份範本),並將其排除在 Git 之外。除非你要求,否則不會安裝任何鉤子。然後填寫 .rekindle/identity.md,並將 init 列印的啟動說明貼到你的 CLAUDE.md 中。
如果你想在所有專案中共享一個記憶,npx rekindle init --global 會在你的家目錄中設定一切,然後鉤子會進入你的使用者級別 Claude Code 設定。將其與 claude mcp add --scope user rekindle -- npx -y rekindle 搭配使用。
Cursor 和 Claude Desktop 也適用,使用常見的 mcpServers JSON 條目。README 中有程式碼片段。
它還不能做什麼(目前):我寧願你從我這裡聽到限制,而不是自己摸索。自動資料包是精簡的。SessionStart 鉤子只提供你的身份備註和最後一個檢查點。開放迴圈和最近的捕獲會在助理呼叫 boot_report 時顯示,而不是在自動資料包中。一些交接欄位,例如下一個焦點、限制和警告,雖然已儲存,但只有在有人搜尋時才會返回。彌補這個差距是我的首要任務。
分數只是一個檢查清單,而不是判斷。它檢查事物是否存在,但不檢查它們是否新鮮或真實。一個數月前的檢查點與昨晚的得分相同。壓縮捕獲大部分是原始的尾部。在審查之前,「結構化」視圖只是一個佔位符,因此目前價值在於保存的對話記錄本身。
沒有語義搜尋。它是帶有良好排名的關鍵字搜尋。嵌入(embeddings)功能已列入開發路線圖。它不是一個保險庫。SQLite 檔案未加密,boot_report 會讀取你提供的本地路徑。如果這對你很重要,請使用磁碟加密,並且只連接你信任的客戶端。不要在處理機密的會話中啟用對話記錄捕獲。
覆蓋範圍因客戶端而異。會話開始交付功能已在 Claude Code(macOS、Windows)、Claude Desktop 的 Code 介面和 Cursor 透過鉤子進行測量。在 Linux 上,鉤子路徑相同,但我尚未完成那裡的交付測量。Claude Desktop 的聊天介面沒有鉤子,因此只能使用工具。
它還很年輕。v0.4.1 在 Node 22、24 和 26 上有 568 個測試在持續整合(CI)中運行。它仍然是一個維護者的專案。
我為什麼要繼續開發它?這是我得出的結論。一個你每天都必須重新介紹自己的工具,永遠只會是工具。一個夥伴會記得你們一起做過什麼、你們互相承諾了什麼,以及什麼不該破壞。連續性是兩者之間的界線。
Rekindle 不會讓 AI 以我們的方式記憶。它能做的是確保每個新會話都以誠實的交接開始,並清楚列出它不知道的事情。這是一小步,但我認為這是正確的第一步,旨在給人們一份 AI 夥伴關係的禮物,而不僅僅是一個工具。如果你嘗試了它,我很想聽聽兩件事:一個好的交接應該包含什麼,以及這個分數對你有幫助還是只是增加了噪音。
儲存庫:https://github.com/Skitchy/rekindle (MIT) · npm: rekindle,Skitch
覺得值得一看?分享給朋友。
以上為 AI 自動翻譯導讀。原文版權歸 DEV Community (Claude Code) 所有, 建議透過「閱讀原文」前往原始網站,以取得最完整資訊並支持原作者。
43 個來源、每 2 小時更新,太多看不完。電子報每週挑最值得看的幾則,附上 Max 的看法。