你好,我是茂林,一个AI爱好者,最近一直在折腾OpenClaw/Hermes,踩过老多坑了。我把踩过的坑整理出来,帮你少走弯路。
解决什么问题
OpenClaw 自动建立索引,但有时候你知道某个记忆是关于某个关键词的,想直接标记上,让搜索一搜就能出来。这篇讲怎么给 OpenClaw 记忆加自定义检索关键词。
设计思路
OpenClaw 支持在记忆文件开头用 YAML frontmatter 加 tags 字段,这些 tags 会被索引进去,搜索的时候优先匹配。同时,正文里的关键词也会被全文搜索搜到,加 tags 相当于给记忆多打几个标签,提高搜索命中率。
操作步骤
步骤 1:打开你的记忆 markdown 文件
OpenClaw 的记忆都存在 memory/ 目录下,每个记忆是一个 .md 文件。找到你想加关键词的那个文件。
步骤 2:在文件开头添加 YAML frontmatter
在文件最开头加上:
---
tags: [关键词1, 关键词2, 关键词3]
---
# 你的记忆标题
记忆正文...
示例:
---
tags: [hermes, 记忆压缩, 格式规范]
---
# Hermes 记忆紧凑写法模板
这篇文章讲...
步骤 3:保存文件,更新索引
# OpenClaw CLI 更新索引
openclaw index update
如果用 Web UI,点一下「更新索引」按钮就行。
步骤 4:测试搜索
搜你加的关键词,看看能不能搜到:
openclaw search "关键词1"
应该就能搜到你刚标记的文件了。
进阶用法:多个层级标签
你可以用斜杠分层标签,方便分类检索:
tags: [ai-agent/memory/compression, hermes/optimization]
搜索的时候搜 ai-agent、memory、compression 都能搜到,灵活性很高。
提示技巧
1. 关键词不用太多,3-5 个足够
太多关键词反而稀释权重,3-5 个最核心的关键词就够了。
2. 关键词要和用户搜索习惯一致
想想用户会搜什么词,就用什么词。比如用户搜"内存不够",你就别只标"上下文溢出",两个都加上更好。
tags: [内存不够, 上下文溢出, 压缩]
3. 常用项目名加标签
如果你做多项目,把项目名也当标签加上:
tags: [prompt-library, maolinxin, seo]
搜项目名就能一次性把所有相关记忆都找出来。
常见问题
Q:不加 tags 就搜不到吗?
A:不是,全文搜索正文也能搜到。加 tags 是"锦上添花",让搜索更准更快,关键词不重复,命中率更高。
Q:修改 tags 后需要重新索引吗?
A:需要,修改后一定要运行 openclaw index update,新 tags 才会进入索引。
Q:tags 大小写敏感吗?
A:OpenClaw 默认搜索不区分大小写,Hermes 和 hermes 都能搜到,不用担心。
总结
方法很简单:开头加 YAML frontmatter 的 tags 数组 → 保存 → 更新索引 → 搞定。
这招特别适合整理知识库,整理完之后找东西快很多,智能体自动检索的时候也更容易把正确的记忆放到上下文里。