
ai-memory run工作原理原生會話恢復機制深度解析【免費下載鏈接】ai-memorySolution for long term memory for agent coding CLIs and to facilitate handoff between different agent vendors項目地址: https://gitcode.com/GitHub_Trending/ai/ai-memoryai-memory 是一個面向 agent 編碼 CLI 的長期記憶開源方案其核心命令ai-memory run會為每個編碼 CLI 透明地創建或恢復原生會話讓一條邏輯工作線Workstream在 Claude Code、Codex、OpenCode 等不同廠商的工具之間無縫續接。本文從新手視角完整拆解 ai-memory run 的會話恢復機制90 秒租約、30 秒心跳、只讀轉錄導入是如何協作保證你換工具不丟上下文的。ai-memory run 是什么一條命令串起多個編碼 CLI 的會話沒有 ai-memory 時你與 Claude Code 的對話存在 Claude 的本地會話庫與 Codex 的對話存在 Codex 的本地會話庫——兩者互不可見切換工具等于從零開始。ai-memory run是一個可選啟用opt-in的啟動器它把你的原生 harness 啟動包成一次托管運行并在每個 agent 退出后以只讀方式讀取該 agent 寫入本地的會話轉錄導入到共享的 Workstream 賬本中。常見用法harness 名之后的一切都是原生參數無需--分隔符ai-memory run claude # 啟動 Claude Code自動綁定當前 Workstream # 退出后換 Codex 繼續同一條邏輯工作線 ai-memory run codex # 或直接裸跑自動繼續最近一次可用的本地會話 ai-memory run三個值得先建立的心智模型沒有全局開關、沒有 switch 命令——用了run就是托管模式同一個倉庫 worktree 映射到同一條 Workstream多臺機器可共享同一份記憶適配器從不寫任何 harness 的私有會話存儲只讀不寫。三個核心概念Workstream、租約與 Launch Plan讀懂流程前先記住三個概念 概念作用Workstream工作流一條邏輯連續的工作線以(workspace, project, 倉庫指紋, worktree 指紋)定位Lease90 秒可續租約一條 Workstream 同時只允許一個寫入者防止兩個終端同時改動原生會話指針Launch Planai-memory 補好創建/恢復選擇器后的最終原生命令行用戶自帶的參數永遠不被改寫一次 ai-memory run 的完整五步拆解第一步解析作用域并獲取 90 秒租約客戶端先解析 workspace/project 作用域與穩定的倉庫指紋再向服務器申請托管運行。若另一個啟動器還在收尾客戶端會在 5 秒窗口內每 250ms 重試一次而不是直接報錯——這是兩個終端交接時的常見場景。第二步自動挑選最近會話所屬的 harness裸模式不指定 harness時ai-memory 會掃描本檢出版 Claude Code、Codex、OpenCode、Pi、Crush、Kimi Code、Command Code 以及 Kiro CLI v2/v3 的本地會話按更新時間排序并只保留可執行文件確實可用的候選。對于已建立established的 Workstream服務器狀態優先恢復最近綁定過、且本地仍可用的 harness——絕不會僅僅因為另一個工具的會話文件時間戳更新就去選一個早已過期的會話。第三步為每個 harness 生成差異化的原生恢復命令這是原生會話恢復的心臟所在。harness.rs 中的build_launch_plan按 harness 注入對應的會話選擇器且僅當用戶沒有自帶原生選擇器時才注入Harness新會話恢復已有會話只讀轉錄源Claude Code生成 UUID 注入--session-id--resume id~/.claude/projects/**/*.jsonlCodex原生默認創建resume id~/.codex/sessions/**/rollout-*.jsonlOpenCode原生默認創建--session idopencode.db只讀打開Pi生成 UUID 注入--session-id--session id~/.pi/agent/sessions/**/*.jsonlKiro CLI原生默認創建--resume-id uuid$KIRO_HOME/sessions/**Antigravity原生默認創建--conversation id~/.gemini/antigravity-cli/conversations/注入恢復標志前啟動器會先在原生會話庫中只讀核驗該會話是否真實存在——如果轉錄已被刪除就新建會話并在觀察到新會話后把 Workstream 重新指過去讓你不會卡死在一個壞鏈上。第四步拉起 agent 進程并維持 30 秒心跳子進程啟動時ai-memory 注入AI_MEMORY_RUN_ID與AI_MEMORY_WORKSTREAM_ID兩個環境變量讓生命周期鉤子認出這是托管運行SessionStart 鉤子把真實的原生會話綁定到 Workstream并只注入該會話還沒見過的便攜式歷史。與此同時父進程每 30 秒發一次心跳10 秒超時維持租約服務器短暫失聯時只打印一條提示、靜默重試恢復后再打印一條心跳已恢復——你正在終端里的 agent 全程不受影響。第五步退出后只讀導出轉錄分批導入賬本子進程退出后客戶端依次做四件事等待轉錄落盤導出可見的用戶/助手消息、已完成工具調用與壓縮摘要隱藏推理與私有記錄一律不復制并記錄為抽取損耗標注按400 個事件或 1MB為一批的有界批次上報服務器使用確定性事件 ID 增量源游標重試不會產生重復歷史把不可變的已脫敏 JSONL 段寫入賬本原樣保留原生進程的退出碼返回給 shell。下一個接手的 harness 收到的只是有界的最近增量——沒有任何 agent 的上下文窗口能安全吞下無界轉錄。完整賬本仍然可以在 agent 進程內用ai-memory workstream-search搜索。原生會話恢復的三個關鍵細節首次采納一鍵續接已有的本地會話Workstream 還是空的、且是交互式啟動時ai-memory 只讀不修改該 harness 的會話庫列出最多 8 個記錄的工作目錄與當前檢出匹配的近期會話直接回車恢復最新的輸序號恢復指定的輸入0開始全新會話。其他目錄的會話永遠不會出現在列表里。需要強調采納只是引導bootstrap行為。一旦有任何 harness 綁定過會話或貢獻過便攜歷史Workstream 即已建立——之后換工具只恢復該工具自己綁定的那個會話不會去翻舊的不相干會話。孤兒會話回退轉錄丟失時自動新建并重指在添加恢復標志之前run.rs 中的build_preflighted_launch_plan會先在原生存儲中校驗綁定會話。若轉錄被刪除、清空或隨沙盒覆蓋丟失ai-memory 會新建一個原生會話等新會話被觀察到后把同一條 Workstream 重指過去而讀不懂的會話庫會被報告但不會被誤判為會話丟失。想刻意跳過綁定會話時用--fresh它不能與原生 resume/continue 選擇器同用。顯式選擇器永遠優先原生 --resume 永不被覆蓋如果你已經寫了原生選擇器Claude 的--resume、Codex 的resume、OpenCode 的--session、Antigravity 的--conversation等ai-memory 從不改寫只負責綁定該會話并重置不相干的適配器游標。這是透明啟動器承諾的底線你的原生用法永遠是權威。容錯設計kill -9 與服務器中斷都不丟會話正常退出導入轉錄、釋放租約、返回退出碼一氣呵成kill -9 強殺租約在 90 秒內自動過期下一次托管運行從上次已提交的游標繼續缺失的尾部可以被補齊導入且已導入的事件不會重復服務器中斷心跳探測間隔 30 秒、請求超時 10 秒保證 90 秒租約能扛過普通的服務器重啟中斷超過一個租約窗口后舊啟動器只有在沒有更新啟動器接管時才允許續租進程啟動前服務器/鑒權失敗快速失敗——ai-memory 絕不悄悄啟動一個無人管理的 agent。如何深入源碼與官方文檔托管運行邏輯集中在兩個 crate閱讀路徑很清晰啟動器主流程run.rs——租約、會話采納、拉起子進程、心跳、分批導入都在這里各 harness 原生適配器harness.rs——12 個 harness 的創建/恢復選擇器規則與--yolo標志翻譯表官方文檔docs/managed-workstreams.md——What happens on each run 五步流程與完整原生適配器行為表真機驗收腳本scripts/managed-workstream-acceptance.sh——跨 harness 真實會話往返驗證。會話記憶積累之后你可以在 Web 界面瀏覽由原生會話編譯出的 wiki 頁面總結一句話概括 ai-memory run 的工作原理它沒有重造會話系統而是給每個 harness 的原生會話套上一層綁定、只讀導入、心跳保護的托管殼——首次運行時可以采納已有本地會話切換工具時自動注入正確的 resume 標志與有界上下文退出時把轉錄導出進共享賬本。從此agent 的長期記憶不再依附于任何單一工具換廠商也能無縫續寫 【免費下載鏈接】ai-memorySolution for long term memory for agent coding CLIs and to facilitate handoff between different agent vendors項目地址: https://gitcode.com/GitHub_Trending/ai/ai-memory創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考