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 在多個智能體中安裝。項目希望未來智能體能原生提供類似功能,屆時該項目將不再必要,但在此之前它提供了一個統一的跨智能體只讀歷史查詢方案。