目錄

OpenClaw Memory Search 完全指南:讓你的 AI 真正"記得"你

記錄如何啟用和配置 OpenClaw 的 Memory Search 功能,讓 AI 通過語義理解而非簡單關鍵詞匹配來檢索記憶文件。


一、前言

我是 Frank,這是我的 AI 助手阿呆。在使用 OpenClaw 的過程中,我發現一個被很多人忽視的強大功能 —— Memory Search(向量記憶搜索)

傳統的記憶文件(memory files)雖然能保存信息,但當文件越來越多時,AI 很難精準找到伱需要的內容。Memory Search 通過語義理解而非簡單的關鍵詞匹配,讓 AI 真正"理解"你的記憶。


特性普通記憶文件Memory Search
存儲方式Markdown 文本Markdown + 向量索引
搜索方式關鍵詞匹配語義相似度
理解能力字面匹配理解同義詞、上下文
舉例搜"API"只找含 API 的搜"接口文檔"也能找到 API 相關

通俗類比:

  • 普通記憶文件 = 圖書館的目錄卡片(按標題找書)
  • Memory Search = Google 搜索(按意思找內容)

2.2 技術原理(簡化版)

當你保存一段文字時,Memory Search 會:

  1. 分塊(Chunking):將長文本切成小段
  2. 向量化(Embedding):用 AI 模型把文字轉換成數字向量(幾百到幾千維的坐標)
  3. 索引(Indexing):存入 SQLite 數據庫
  4. 搜索(Search):查詢時把問題也轉成向量,找最相似的

這種"語義相似度"搜索,讓"汽車"和"vehicle"、“博客 API"和"接口文檔"在向量空間裡距離很近。


3.1 解決的痛點

以前的問題:

  • “我之前說的那個東西…"(AI 找不到)
  • “我上週提到的眼鏡訂單”(記不清日期,搜不到文件)
  • “那個體重追蹤的項目”(用了"追蹤"還是"tracker"記不清了)

現在的體驗:

  • “我之前說的體重追蹤那個事” → 自動找到 weight-tracker 文檔
  • “我博客的統計 API 在哪裡” → 找到 api-docs 相關記錄
  • “我的眼鏡訂單什麼狀態” → 找到監控記錄

3.2 實際應用場景

場景 1:個人項目管理

  • 你說:“我之前讓你寫的那個體重追蹤系統”
  • **AI 理解:**找 “weight”、“tracker”、“體重”、“記錄” 相關內容
  • 找到:memory/2026-02-09.md 裡的 “Weight Tracker System” 文檔

場景 2:技術文檔檢索

  • 你說:“我那個 API 文檔的網頁地址”
  • **AI 理解:**找 “api-docs”、“GitHub Pages”、“接口文檔”
  • 找到:memory/api-docs-location.md 裡的在線地址

場景 3:歷史信息回溯

  • 你說:“我上次提到的體重記錄”
  • **AI 理解:**找 “weight tracker”、“體重”、“89.4kg”
  • **找到:**相關日期的體重數據

3.3 核心優勢

  • 🧠 語義理解:不用記確切關鍵詞,描述大概意思就行
  • 🔍 糢糊匹配:同一概念的不同表達都能關聯
  • 快速檢索:毫秒級響應,比全文掃描快得多
  • 🔒 隱私可控:本地 SQLite 存儲,不上傳原文到雲端
  • 📝 原文保留:向量只是索引,原始 Markdown 仍是真相來源

四、完整配置教程

4.1 準備工作

需要:

  • OpenClaw 2026.2.x 或更高版本
  • 可寫的 workspace(~/.openclaw/workspace
  • 一個 Embedding Provider 的 API Key

系統要求:

  • Linux/macOS(Windows 建議用 WSL2)
  • 至少 1GB 可用磁盤空間

4.2 選擇 Embedding Provider

OpenClaw 支持多種向量模型提供商:

方案優點缺點推薦度適合人群
Gemini免費額度高(1500次/天),Google 出品需要 Google 賬號⭐⭐⭐⭐⭐大多數人
阿里雲 DashScope國內訪問快,價格便宜,Qwen 模型需要阿里雲賬號⭐⭐⭐⭐國內用戶
Mistral性價比高,歐洲公司隱私友好需要綁卡⭐⭐⭐歐洲用戶
Local完全離線,零 API 費用,最隱私需要下載模型,速度較慢⭐⭐⭐⭐隱私優先

我的選擇: 我最終選擇了 阿里雲 DashScope + text-embedding-v4,因為:

  • 國內訪問速度快
  • 價格非常便宜
  • 支持 OpenAI-compatible API 格式

4.3 配置步驟(以阿里雲為例)

Step 1: 申請 API Key

  1. 訪問 阿里雲 DashScope 控制台
  2. 登錄阿里雲賬號
  3. 進入「API-KEY 管理」創建新 Key
  4. 複製 Key(格式如 sk-xxxxxx

Step 2: 修改 OpenClaw 配置

編輯 ~/.openclaw/openclaw.json

{
  // 添加環境變量
  "env": {
    "DASHSCOPE_API_KEY": "sk-你的阿里雲Key"
  },
  
  // 在 agents.defaults 中添加
  "agents": {
    "defaults": {
      "memorySearch": {
        "provider": "openai",
        "model": "text-embedding-v4",
        "remote": {
          "baseUrl": "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
          "apiKey": "${DASHSCOPE_API_KEY}"
        }
      }
    }
  }
}

配置說明:

  • provider: 使用 "openai" 因為 DashScope 提供 OpenAI-compatible API
  • model: text-embedding-v4 是阿里雲最新的 embedding 模型
  • baseUrl: 國際站地址,如果在國內可以用 dashscope.aliyuncs.com

Step 3: 重啟 Gateway

openclaw gateway restart

Step 4: 驗證配置

重啟後,詢問 AI 任何問題,觀察 memory_search 的返回:

{
  "results": [...],
  "provider": "openai",
  "model": "text-embedding-v4",
  "mode": "hybrid"
}

如果看到 provider 不是 none,而是 openai,說明配置成功了!

4.4 監控 API 用量

阿里雲 DashScope 的用量統計頁面:

https://modelstudio.console.aliyun.com/ap-southeast-1/#/model-telemetry

在這個頁面可以查看:

  • API 調用次數
  • Token 消耗量
  • 費用統計

五、進階知識

5.1 索引存儲位置

Memory Search 的向量索引存儲在:

~/.openclaw/memory/main.sqlite

這是一個 SQLite 數據庫,包含:

  • 文本塊(chunks)
  • 向量嵌入(embeddings)
  • 元數據(文件路徑、行號等)

注意:

  • 原始 Markdown 文件仍然是"真相來源”
  • SQLite 只是索引,可以刪除後重建
  • 刪除後下次啟動會自動重新索引

5.2 索引更新機制

OpenClaw 使用文件系統監視(fs watch)來檢測變化:

  1. 創建新文件 → 自動檢測,延遲索引(通常幾分鐘)
  2. 修改現有文件 → 自動檢測,更新索引
  3. 定期批量更新 → 可能有後台任務整理索引

如果你的新文件沒立即被索引:

  • 這是正常的,有延遲
  • 幾分鐘後應該會自動索引
  • 或者重啟 Gateway 強制刷新

5.3 故障排除

問題 1:provider 顯示 “none”

症狀:

{
  "provider": "none",
  "mode": "fts-only"
}

原因:

  • API Key 未配置或配置錯誤
  • Gateway 未重啟
  • 環境變量未正確加載

解決:

  1. 檢查 openclaw.json 中的 envmemorySearch 配置
  2. 確認 API Key 有效
  3. 重啟 Gateway

問題 2:搜索返回空結果

症狀: 搜索任何內容都返回 []

原因:

  • 文件尚未被索引(新創建的文件)
  • 索引損壞

解決:

  1. 等待幾分鐘,讓系統自動索引
  2. 檢查 ~/.openclaw/memory/main.sqlite 是否存在且大小合理
  3. 如需要,刪除 SQLite 文件讓它重建

問題 3:API Key 錯誤

症狀: 日誌顯示 embedding API 調用失敗

解決:

  1. 檢查 API Key 是否過期
  2. 確認 baseUrl 正確(國內/國際站)
  3. 查看 provider 控制台是否有額度限制

六、總結

6.1 適合誰用?

推薦使用:

  • 記憶文件超過 10 個,經常找不到東西
  • 喜歡用自然語言描述,不喜歡記關鍵詞
  • 需要 AI 長期記住複雜項目和上下文
  • 對響應速度有要求(比全文搜索快)

可以暫緩:

  • 記憶文件很少(< 5 個),直接讀文件就夠了
  • 不想依賴外部 API(可以用 Local 模式解決)
  • 對隱私極度敏感(可以用 Local 模式)

6.2 最佳實踐

  1. 保持記憶文件結構清晰

    • 使用標準 sections(今日概覽、重要事項、待辦等)
    • 方便日後檢索
  2. 定期整理

    • 每週 review 一次 MEMORY.md
    • 刪除過時的,更新重要的
  3. 混合使用

    • 日常使用 Memory Search 快速檢索
    • 需要精確內容時用 memory_get 讀原文
  4. 監控用量

    • 定期查看 embedding API 的使用情況
    • 避免意外超支

參考資料


Written by Frank & Adai | 2026-02-26

希望這篇教程能幫助你讓 AI 真正"記得"你 💙

另請參閱