Show HN: Agent-historian – 讓AI智慧體搜尋自己的歷史會話
Agent-historian 是一個開源工具,允許AI編碼智慧體透過命令列搜尋過去的對話記錄,從而恢復之前的研究、命令、錯誤和決策,避免重複工作。它支援 OpenCode、Claude Code 等多個智慧體,採用只讀、漸進式披露方式,無執行時依賴。與記憶層、RAG 等方法互補,提供精確的原始文本檢索。
Agent-historian 是一個新型開源工具,旨在解決AI編碼智慧體在跨會話時缺乏狀態的問題。每次新對話,智慧體都從零開始,重複讀取相同檔案、執行相同命令、得出相同結論,浪費時間和Token。該工具提供一個名為 ochist 的簡單CLI以及Agent Skill,讓智慧體能夠搜尋並讀取自己過去的會話記錄。
該工具目前支援 OpenCode(使用opencode.db)和 Claude Code(~/.claude/projects/*.jsonl),並且可擴充套件支援其他智慧體。搜尋範圍預設為當前專案,可透過 --global 擴充套件到全域性。所有操作均為只讀,不會修改任何資料儲存。輸出採用管道友好格式,配合 grep/head/wc/jq 使用,避免將整段會話倒入上下文。
不同於記憶層(如mem0)的摘要式記憶或RAG的語義檢索,agent-historian 直接讀取磁碟上的原始會話文本,透過漸進式披露(定位→定向→掃描→讀取)只將相關行納入上下文視窗。這保證了資訊的準確性和零損耗。
專案還提供了一個真實的合併衝突解決示例:當智慧體忘記如何正確解決 go.sum 衝突時,透過檢查歷史會話找到了之前使用的命令,避免了手動編輯錯誤。作者指出,記憶層無法捕獲這種細節,因為只有被明確要求記錄的內容才會被儲存,而會話日誌始終包含所有命令和輸出。
Agent-historian 採用CLI+Skill而非MCP伺服器的設計決策源於以下考慮:智慧體已經擁有shell,CLI允許智慧體自行組合命令(如 ochist grep … | head),而MCP需要硬編碼所有工具引數;上下文控制權在智慧體手中;零常駐開銷;Skill能編碼“先查歷史再研究”的工作流;可移植且可檢查。
安裝簡單:npm install -g agent-historian 即可暴露 ochist 命令,或使用 npx agent-historian sources 直接執行。Agent Skill 可透過 npx skills add adlternative/agent-historian -g 在多個智慧體中安裝。專案希望未來智慧體能原生提供類似功能,屆時該專案將不再必要,但在此之前它提供了一個統一的跨智慧體只讀歷史查詢方案。