<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>EverOS on KnightLi的博客</title>
        <link>https://knightli.com/zh-tw/tags/everos/</link>
        <description>Recent content in EverOS on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-tw</language>
        <lastBuildDate>Sat, 06 Jun 2026 22:26:00 +0800</lastBuildDate><atom:link href="https://knightli.com/zh-tw/tags/everos/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>EverOS 怎麼用？給 AI Agent 做長期記憶的本地框架</title>
        <link>https://knightli.com/zh-tw/2026/06/06/everos-ai-agent-memory-framework/</link>
        <pubDate>Sat, 06 Jun 2026 22:26:00 +0800</pubDate>
        
        <guid>https://knightli.com/zh-tw/2026/06/06/everos-ai-agent-memory-framework/</guid>
        <description>&lt;p&gt;&lt;code&gt;EverMind-AI/EverOS&lt;/code&gt; 是一個給 AI Agent 和聊天應用做長期記憶的開源 Python 框架。它的目標不是再做一個聊天機器人，而是把對話、Agent 執行軌跡和文件知識，整理成結構化、可檢索、會演化的記憶層。&lt;/p&gt;
&lt;p&gt;它最有意思的地方是儲存設計：EverOS 不把記憶鎖進黑盒資料庫，而是把 Markdown 當作 Source of Truth。你可以直接打開、編輯、grep、用 Git 版本管理，甚至放進 Obsidian 裡看。&lt;/p&gt;
&lt;h2 id=&#34;它解決什麼問題&#34;&gt;它解決什麼問題
&lt;/h2&gt;&lt;p&gt;很多 Agent 的「記憶」其實只是短期上下文：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;今天聊過，明天忘了；&lt;/li&gt;
&lt;li&gt;一個工具知道的東西，另一個工具不知道；&lt;/li&gt;
&lt;li&gt;使用者偏好、專案經驗、失敗案例都散在聊天記錄裡；&lt;/li&gt;
&lt;li&gt;RAG 能搜文件，但不一定能沉澱「經歷過的事」；&lt;/li&gt;
&lt;li&gt;記憶系統一旦依賴複雜資料庫，小團隊維護成本就上來了。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;EverOS 想做的是更輕量的長期記憶底座。它把使用者側記憶和 Agent 側記憶分開：使用者有 Profile、Episodes、Facts、Foresights；Agent 有 Cases 和 Skills。這樣不只是「記住一句話」，而是能逐步累積人、任務、經驗和流程。&lt;/p&gt;
&lt;h2 id=&#34;技術結構&#34;&gt;技術結構
&lt;/h2&gt;&lt;p&gt;README 裡把 EverOS 的核心原則說得很清楚：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Markdown as Source of Truth：所有記憶最終落到 &lt;code&gt;.md&lt;/code&gt; 文件；&lt;/li&gt;
&lt;li&gt;Lightweight three-piece storage：Markdown + SQLite + LanceDB；&lt;/li&gt;
&lt;li&gt;EverAlgo 負責記憶提取演算法，EverOS 負責編排和持久化。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;儲存布局大致是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/.everos/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── default_app/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   └── default_project/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│       ├── users/&amp;lt;user_id&amp;gt;/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│       │   ├── user.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│       │   ├── episodes/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│       │   ├── .atomic_facts/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│       │   └── .foresights/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│       └── agents/&amp;lt;agent_id&amp;gt;/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│           ├── agent.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│           ├── .cases/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│           └── skills/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;└── .index/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ├── sqlite/system.db
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    └── lancedb/*.lance/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Markdown 是真相源，SQLite 管狀態和隊列，LanceDB 管向量、BM25 和 scalar filter。這個組合比 MongoDB、Elasticsearch、Milvus、Redis、Kafka 全家桶輕很多，也更適合個人開發者和小團隊。&lt;/p&gt;
&lt;h2 id=&#34;快速開始&#34;&gt;快速開始
&lt;/h2&gt;&lt;p&gt;安裝方式很簡單：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uv pip install everos
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# or&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install everos
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;初始化配置：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;everos init
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;然後啟動服務：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;everos server start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;EverOS 的 endpoint stack 兼容 OpenAI protocol，可以接 OpenAI、OpenRouter、vLLM、Ollama、DeepInfra 等服務。你只需要在 &lt;code&gt;.env&lt;/code&gt; 裡調整對應的 &lt;code&gt;BASE_URL&lt;/code&gt; 和 API Key。&lt;/p&gt;
&lt;p&gt;如果要處理圖片、PDF、音訊、Office 文件等非文本內容，可以安裝多模態擴展：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uv pip install &lt;span class=&#34;s1&#34;&gt;&amp;#39;everos[multimodal]&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Office 文件轉換依賴 LibreOffice。沒有 LibreOffice 時，PDF、圖片、音訊等不受影響，但 &lt;code&gt;.doc&lt;/code&gt;、&lt;code&gt;.docx&lt;/code&gt;、&lt;code&gt;.ppt&lt;/code&gt;、&lt;code&gt;.pptx&lt;/code&gt;、&lt;code&gt;.xls&lt;/code&gt;、&lt;code&gt;.xlsx&lt;/code&gt; 這類 Office 文件會處理失敗。&lt;/p&gt;
&lt;h2 id=&#34;適合哪些場景&#34;&gt;適合哪些場景
&lt;/h2&gt;&lt;p&gt;EverOS 更適合這些應用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AI 編程助手長期記住專案約定、踩坑記錄和常用流程；&lt;/li&gt;
&lt;li&gt;多 Agent 協作時共享長期記憶；&lt;/li&gt;
&lt;li&gt;個人聊天助手記住偏好、經歷和長期目標；&lt;/li&gt;
&lt;li&gt;企業內部知識助理把文件知識和對話經驗一起沉澱；&lt;/li&gt;
&lt;li&gt;科研、資料分析、營運等任務需要跨會話持續累積案例；&lt;/li&gt;
&lt;li&gt;想把記憶放在本地文件裡，而不是完全交給雲端平台。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;它不太適合只做簡單 FAQ。FAQ 用普通 RAG 就夠了。EverOS 的價值在於「記憶會隨著使用變厚」，而不是只搜靜態資料。&lt;/p&gt;
&lt;h2 id=&#34;使用邊界&#34;&gt;使用邊界
&lt;/h2&gt;&lt;p&gt;長期記憶聽起來很美，但也有幾個坑：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;記錯比忘記更危險，記憶提取需要人工校驗；&lt;/li&gt;
&lt;li&gt;使用者隱私和敏感資訊必須可查看、可刪除、可匯出；&lt;/li&gt;
&lt;li&gt;Agent 不能因為記憶存在就盲目信任舊結論；&lt;/li&gt;
&lt;li&gt;多使用者、多專案、多 Agent 的隔離要設計清楚；&lt;/li&gt;
&lt;li&gt;Markdown 可編輯是優點，也意味著你要處理手動修改後的索引同步。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;所以 EverOS 更適合被當成基礎設施，而不是直接當最終產品。你需要在應用層決定：哪些內容能記、什麼時候記、記多久、誰能讀、錯了怎麼改。&lt;/p&gt;
&lt;h2 id=&#34;小結&#34;&gt;小結
&lt;/h2&gt;&lt;p&gt;EverOS 的設計很討喜：用 Markdown 做真相源，用 SQLite 和 LanceDB 做索引，把長期記憶從黑盒資料庫裡拉回到可讀、可改、可版本管理的文件系統裡。&lt;/p&gt;
&lt;p&gt;如果你正在做 AI Agent、個人助手、編程助手或多 Agent 平台，並且已經遇到「會話結束就失憶」的問題，EverOS 值得研究。它不是萬能大腦，但提供了一個很務實的記憶作業系統雛形。&lt;/p&gt;
&lt;h2 id=&#34;參考來源&#34;&gt;參考來源
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/EverMind-AI/EverOS&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;EverMind-AI/EverOS - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
