Files

9.8 KiB
Raw Permalink Blame History

name, description
name description
openclaw-memory-config 配置 OpenClaw 记忆系统:Memory Search(向量搜索)、Dreaming(记忆整理)、Memory Wiki(知识库)。触发词:"配置记忆"、"配置 memory"、"memory search"、"配置搜索"、"配置 dreaming"、"配置梦境"、"配置 wiki"、"memory wiki"、"记忆配置"。使用本机已有 trapi embedding 端点,为用户提供完整的记忆系统初始化流程。

OpenClaw 记忆系统配置

一键配置 OpenClaw 记忆系统,包含 Memory Search(向量语义搜索)、Dreaming(夜间记忆整理)、Memory Wiki(知识库)三大模块。

Embedding 服务信息(默认)

  • ProvideropenaiOpenAI 兼容格式)
  • Base URLhttps://lapi.transiglobal.com/v1
  • 默认模型bge-large-zh-v1.5
  • API Key 来源:优先复用本地已配置的 trapi provider;如未配置则要求用户提供

前置条件

  1. OpenClaw 已安装并运行
  2. 本机配置文件为 openclaw.json,使用 gateway config.patch 写入
  3. Embedding API Key
    • 优先:检查本地 models.providers.trapi.apiKey 是否已配置,已配置则复用
    • 兜底:如 trapi 未配置,向用户提供两种选择:
      • a) 提供 trapi API Key(使用默认 trapi embedding 端点)
      • b) 提供其他 embedding provider 信息(provider、baseUrl、apiKey、model

模块 1Memory Search(语义记忆搜索)

步骤 1:配置 Embedding

检测 trapi:先通过 gateway config.get 检查 models.providers.trapi 是否已存在:

  • 已配置 trapi:直接从配置中提取 apiKey,无需用户额外提供,跳到下一步
  • 未配置 trapi:向用户说明两种选择:
    • a) 提供 trapi API Key → 使用默认配置(baseUrl + bge-large-zh-v1.5
    • b) 提供自定义 embedding provider 信息(需确认 provider、baseUrl、apiKey、model

如用户拒绝提供任何 Key,终止流程。

使用 gateway config.patch 配置 agents.defaults.memorySearch

{
  "agents": {
    "defaults": {
      "memorySearch": {
        "provider": "openai",
        "model": "bge-large-zh-v1.5",
        "remote": {
          "baseUrl": "https://lapi.transiglobal.com/v1",
          "apiKey": "<用户提供的API_KEY>"
        },
        "chunking": {
          "tokens": 200,
          "overlap": 30
        },
        "query": {
          "maxResults": 10,
          "minScore": 0.35,
          "hybrid": {
            "enabled": true,
            "vectorWeight": 0.85,
            "textWeight": 0.15,
            "candidateMultiplier": 8,
            "mmr": {
              "enabled": true,
              "lambda": 0.5
            },
            "temporalDecay": {
              "enabled": true,
              "halfLifeDays": 30
            }
          }
        }
      }
    }
  }
}

步骤 2:搜索参数说明

配置中已包含以下优化参数(均已在上方 JSON 中预设,无需额外修改):

参数组 参数 说明
分块 chunking.tokens 200 每个文本块 200 token
chunking.overlap 30 块间重叠 30 token,避免截断语义
基础查询 query.maxResults 10 最多返回 10 条结果
query.minScore 0.35 最低相关度阈值,低于此分数不返回
混合搜索 hybrid.enabled true 同时使用向量搜索 + BM25 关键词搜索
hybrid.vectorWeight 0.85 向量搜索权重 85%(语义匹配优先)
hybrid.textWeight 0.15 关键词搜索权重 15%(精确匹配补充)
hybrid.candidateMultiplier 8 候选池倍数,越大召回越全但越慢
MMR 去重 mmr.enabled true 减少重复结果,不同话题覆盖更广
mmr.lambda 0.5 0=最多样,1=最相关,0.5 平衡
时间衰减 temporalDecay.enabled true 旧记忆逐渐降权,新记忆优先展示
temporalDecay.halfLifeDays 30 每 30 天权重减半,MEMORY.md 等常驻文件不衰减

以上参数适用于大多数场景,用户一般无需调整。如需微调可在配置完成后通过 gateway config.patch 修改。

配置写入后,立即执行:

openclaw memory index --force

步骤 3:测试搜索

索引构建完成后,用 memory_search 测试是否生效:

  1. 从用户的 memory 目录中找到已有内容的关键词
  2. 执行 memory_search 搜索
  3. 确认能返回相关结果,报告搜索质量

测试关键词示例(根据实际记忆内容选择):

  • 搜索 "传米科技" → 应找到公司相关信息
  • 搜索 "Tailscale" → 应找到网络配置信息
  • 搜索最近的日期 → 应找到当天的日记

验证报告

测试项 关键词 结果
语义搜索 <实际关键词> /
索引状态 openclaw memory status /

模块 2:Dreaming(夜间记忆整理)

配置

使用 gateway config.patch 启用 dreaming

{
  "plugins": {
    "entries": {
      "memory-core": {
        "enabled": true,
        "config": {
          "dreaming": {
            "enabled": true,
            "frequency": "30 4 * * *",
            "timezone": "Asia/Shanghai"
          }
        }
      }
    }
  }
}
  • 频率:每天凌晨 4:30(在安全巡检和系统升级之后)
  • 三个阶段:Light(排序)→ REM(反思)→ Deep(提升到长期记忆)
  • 输出memory/dreaming/ 下的阶段报告 + DREAMS.md 日记
  • 长期记忆Deep 阶段会将高价值内容写入 MEMORY.md

验证

运行 /dreaming status 确认 dreaming 已启用并显示下次执行时间。


模块 3Memory Wiki(知识库)

前置确认

必须先向用户确认:是否有需要放入 Wiki 的内容目录。

  • :继续配置
  • 没有:跳过此模块,告知用户后续可随时配置

步骤 1:配置 Wiki

使用 gateway config.patch 启用 memory-wikiisolated 模式):

{
  "plugins": {
    "entries": {
      "memory-wiki": {
        "enabled": true,
        "config": {
          "vaultMode": "isolated",
          "vault": {
            "path": "~/.openclaw/wiki/main",
            "renderMode": "obsidian"
          },
          "bridge": {
            "enabled": false,
            "readMemoryArtifacts": true,
            "indexDreamReports": true,
            "indexDailyNotes": true,
            "indexMemoryRoot": true,
            "followMemoryEvents": true
          },
          "search": {
            "backend": "shared",
            "corpus": "all"
          },
          "context": {
            "includeCompiledDigestPrompt": false
          },
          "render": {
            "preserveHumanBlocks": true,
            "createBacklinks": true,
            "createDashboards": true
          },
          "ingest": {
            "autoCompile": true,
            "maxConcurrentJobs": 1
          },
          "obsidian": {
            "enabled": true
          }
        }
      }
    }
  }
}

步骤 2:导入内容

用户提供内容目录后,使用 CLI 导入:

openclaw wiki init
openclaw wiki ingest <用户提供的内容目录>
openclaw wiki compile

步骤 3:创建每日维护定时任务

创建定时任务(参考已有配置),每天凌晨 5:00 执行 Wiki 维护:

cron add:
  name: "Wiki 每日维护(Sources 同步 + Lint"
  schedule: "0 5 * * *" (Asia/Shanghai)
  sessionTarget: "isolated"
  payload:
    kind: "agentTurn"
    message: |
      执行每日 Wiki 维护任务:
      1. 执行 wiki_lint 检查
      2. 自动修复可修复的问题(缺失 frontmatter、匹配 sourceIds
      3. 无法自动修复的问题(broken wikilinks)跳过
      4. 再跑一次 wiki_lint 确认
      5. 汇报结果
    toolsAllow: ["exec", "read", "edit", "write", "wiki_lint", "wiki_apply", "wiki_search", "wiki_get"]
    timeoutSeconds: 600
  delivery:
    mode: "announce"
    channel: "feishu"

验证

  • wiki_status 确认 vault 模式和健康状态
  • wiki_search 测试能否搜到导入的内容
  • wiki_lint 检查结构完整性

完整验证报告

全部模块配置完成后,输出汇总表:

模块 配置项 状态
Memory Search Embedding + 索引 /
Memory Search 语义搜索测试 /
Dreaming 启用 + cron /
Memory Wiki Vault 初始化 /(可能跳过)
Memory Wiki 内容导入 /(可能跳过)
Memory Wiki 定时维护任务 /(可能跳过)

参考文档

遇到问题时,读取对应参考文件获取 OpenClaw 官方文档摘要:

问题场景 参考文件 在线文档
Memory Search 配置/搜索问题 references/memory-search.md https://docs.openclaw.ai/concepts/memory-search
Dreaming 配置/阶段问题 references/dreaming.md https://docs.openclaw.ai/concepts/dreaming
Memory Wiki 配置/bridge 问题 references/memory-wiki.md https://docs.openclaw.ai/plugins/memory-wiki
Builtin Engine / 索引问题 references/memory-search.md https://docs.openclaw.ai/concepts/memory-builtin
完整 Memory 配置参考 references/memory-search.md https://docs.openclaw.ai/reference/memory-config
Memory 总览 references/memory-search.md https://docs.openclaw.ai/concepts/memory

故障排查

  • 索引为空openclaw memory index --force 强制重建
  • 只有关键词匹配embedding provider 未配好,检查 API Key 和网络
  • CJK 搜索失败openclaw memory index --force 重建 FTS
  • Dreaming 未运行:检查 /dreaming status 和 cron 任务
  • Wiki bridge 无数据isolated 模式下 bridge 关闭是正常的
  • Wiki ingest 失败:确认目录路径和文件权限