Claude Code 本地跨 Session 記憶:用 macOS NLContextualEmbedding 做語意搜尋
jonas.jonas.ko 分享了一個完全本地運行的 Claude Code 跨 session 記憶系統:用 macOS 14+ NaturalLanguage framework 內建的 NLContextualEmbedding 產生 float32 向量,包成 localhost HTTP server,讓 Python 腳本做語意搜尋並在新 session 注入最相關的 3 筆摘要。這篇整理架構、token 成本與適用場景。
原文主張
@jonas.jonas.ko 分享自己替 Claude Code 裝了跨 session 記憶,而且完全本地運行。他用外掛方式加了一套記憶系統,不需要改 Claude Code 原始設定;每次開新 session 時,自動把相關舊記憶注入進來。
關鍵不是傳統關鍵字比對,而是 Embedding / 向量搜尋:只要語意接近,就能找到相關記憶。
原文推薦可直接丟給 Claude 的需求句:
幫我用 NLContextualEmbedding 做本地向量搜尋,包成 localhost HTTP server,float32 向量
為什麼 NLContextualEmbedding 值得注意
NLContextualEmbedding 藏在 macOS NaturalLanguage framework 裡,不需要另外安裝大型 embedding model,也不必呼叫外部 API。
它不是簡單字典或關鍵字工具,而是能產生上下文語意向量,適合「意思接近」的搜尋。
資料不需要送到 OpenAI、Anthropic、Voyage、Cohere 或其他 embedding 服務,對私有 session、專案筆記與商業內容更安全。
macOS framework 可由 Swift / Objective-C 包裝成本地 HTTP server,再讓 Python 腳本用普通 HTTP 呼叫,避免 Python 直接橋接 Apple framework 的複雜度。
最小架構
| 層級 | 工作 | 實作要點 |
|---|---|---|
| Memory capture | 從舊 session 擷取可重用記憶 | 不要整段 transcript 全塞;應整理成 100–200 字摘要、決策、偏好、專案規則或踩坑紀錄。 |