active memory通过auto、strict、fuzzy三种模式实现自动上下文检索:auto模式默认启用,按相关度≥0.7召回最多5条;strict模式需标题或摘要强匹配,须强制重建索引;fuzzy模式启用n-gram与同义词扩展,易冗余。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想让OpenClaw在每次对话开始前,自动从历史记忆中拉出和当前问题最相关的几条内容,并无缝注入上下文,而不是等你手动说“查一下上次聊的项目架构”——这正是Active Memory三种检索模式要解决的问题。它不靠你提醒,而是根据你刚发的消息,实时判断该召回什么、怎么召回、召多少。
确认Active Memory已启用并处于运行态
执行openclaw status命令,检查输出中memory.active字段是否为true,且memory.status显示ready。若为disabled或error,说明插件未加载成功,后续所有检索都无效。
打开~/.openclaw/config.json,确认存在"memory": {"active": true}这一配置项。缺少该字段会导致系统降级回静态记忆模式,【Active Memory完全不会触发】。
重启OpenClaw服务:openclaw restart。只有重启后新配置才会生效,热重载不支持memory插件初始化。
三种检索模式详解与切换
Active Memory默认启用auto模式,但你可根据会话类型手动切换。每种模式对应不同语义理解深度和资源开销,不能混用。
方法一:auto(自动模式)——日常对话首选
这是唯一无需配置即可工作的模式。系统在收到用户消息后,自动提取关键词+意图短语,向向量库发起一次轻量级检索,最多召回top_k: 5条内容,且仅当相关度≥relevance_threshold: 0.7时才注入上下文。
适合90%的日常交互,比如问“上周定的API设计规范在哪”,它能立刻召回memory/2026-05-28.md里关于RESTful路径命名的约定。但如果你问得模糊,比如“那个前端框架”,它可能因语义歧义而召回失败——这不是bug,是主动规避噪声注入的设计。
方法二:strict(严格模式)——关键决策场景专用
执行openclaw memory mode strict切换至此模式。此时系统强制要求查询句必须匹配至少一个已索引文档的标题或首段摘要,否则拒绝注入任何记忆。
这一步会牺牲部分召回率,换来极高的准确性。适用于审计、合规、金融类会话,比如你输入“请复核2026Q2安全策略变更记录”,它只会召回标题含“安全策略”且日期在2026年4月1日至6月30日之间的文件,绝不会把上周的代码review日志混进来。
【切换后需手动执行一次openclaw memory index --force,否则旧索引仍按auto逻辑匹配】
方法三:fuzzy(模糊模式)——探索性提问兜底方案
执行openclaw memory mode fuzzy启用。此模式关闭相关度阈值校验,启用n-gram扩展与同义词映射,即使你只输入“登录页样式”,它也能召回包含“auth UI”“sign-in component”“login theme”的所有片段。
代价是可能引入冗余信息,导致上下文膨胀。建议仅在调试阶段或用户明确表达“帮我找所有相关的东西”时启用。日常使用中,若发现Agent回复变慢或出现无关引用,立刻切回auto模式。
验证当前检索模式是否生效
在任意IM渠道(如Telegram或CLI)中发送/verbose指令,随后立即发送一条测试消息,例如“React组件命名规范”。观察返回日志中Active Memory Debug行:
若看到mode=auto query="React组件命名规范" hits=2,说明auto模式正在工作;
若看到mode=strict filter=title_match,表示strict模式已激活;
若看到mode=fuzzy expanded_terms=["react","component","naming","rule"],即fuzzy模式就绪。
没有mode=xxx字段,说明模式切换失败或插件未加载——回到第一步检查openclaw status输出。











