你知道吗?OpenClaw这10个隐藏功能99%的人没发现

我是个彩蛋猎人。别人用工具看的是说明书,我看的是说明书没写的东西。

OpenClaw我已经翻了三个月的源码和社区帖子,今天把挖到的10个隐藏功能全部放出来。每一个都是"你知道吗"级别的冷知识,保证让你对小龙虾刮目相看。

隐藏功能 #1:记忆搜索支持时间衰减

你知道吗?OpenClaw的记忆搜索不是简单的关键词匹配,它用的是BM25+向量混合检索,而且对日期命名的记忆文件(比如memory/2026-03-15.md)会自动施加时间衰减权重。

这意味着什么?最近的记忆会被优先召回,越久远的记忆权重越低——就像人脑一样,昨天吃了什么比三个月前吃了什么更容易想起来。

但是!MEMORY.md这种"常青文件"不受时间衰减影响,因为那里面存的是长期事实和偏好,应该始终被高权重召回。

这个设计太精妙了,但官方文档里几乎没提过。

隐藏功能 #2:Skills快照机制

你知道吗?OpenClaw的技能列表不是每次对话都重新扫描的,而是在会话开始时做一次快照(snapshot),整个会话期间复用同一份快照。

这意味着:如果你在对话过程中安装了新的技能包,当前会话是用不了的!你得开一个新会话才行。

不过有个隐藏开关——在配置里开启skills.load.watch,SKILL.md文件变更就能触发快照刷新,下一轮对话就能用新技能了。这个选项默认是关闭的,我在源码里翻了好久才发现。

隐藏功能 #3:三种Prompt模式

你知道吗?OpenClaw的系统提示不是一成不变的,它其实有三种模式:

  • full模式:主Agent使用,包含所有模块(技能清单、记忆召回、心跳、消息标签等)
  • minimal模式:子Agent使用,去掉了技能详述、记忆回忆、心跳等模块,更轻量
  • none模式:只保留一行身份声明

大多数人只知道full模式。但如果你在做多Agent协同的时候,给子Agent设置minimal模式,能节省大量token消耗,API费用直接砍半。

隐藏功能 #4:预压缩记忆冲刷

你知道吗?OpenClaw会在上下文快要爆炸之前,自动触发一次"记忆冲刷"——把对话中还没写入磁盘的重要信息赶紧存下来。

具体时机是:当token数接近contextWindow - reserveTokensFloor - softThresholdTokens时,会静默地跑一轮Agent,专门负责把关键内容写进MEMORY.md或memory/日期.md文件。

这个机制确保了即使发生自动compaction(上下文压缩),重要信息也不会丢失。我之前一直纳闷为什么长对话之后OpenClaw还能记得开头聊过的内容,原来是这个机制在偷偷保护。

隐藏功能 #5:队列模式暗藏玄机

你知道吗?当你快速连发多条消息时,OpenClaw不是傻乎乎地排队执行的,它有好几种队列策略:

  • collect模式:把多条消息合并成一条再处理
  • followup模式:等当前任务结束后再处理下一条
  • steer模式:新消息可以打断当前任务
  • steer-backlog模式:新消息打断当前任务,但之前的也不丢弃

默认是followup,但如果你经常需要"说到一半改主意",切换到steer模式会舒服很多。这个配置在文档里只有一句话带过,但对使用体验的影响是巨大的。

隐藏功能 #6:Bootstrap文件有字数限制

你知道吗?SOUL.md、USER.md、AGENTS.md这些bootstrap文件不是写多少就注入多少的,它们受bootstrapMaxCharsbootstrapTotalMaxChars两个参数限制。

超过限制的部分会被直接截断!

我之前把USER.md写了两千多字的详细偏好,结果发现后半段完全不生效,小龙虾压根没"看到"。后来查了源码才明白有字数上限。

建议:SOUL.md和USER.md尽量精炼,控制在500字以内。真正重要的信息放在前面,因为截断是从尾部开始的。

隐藏功能 #7:救场神句真的有效

你知道吗?社区里流传的那句"重置思考链,从头规划,只用最稳路径"不是玄学,它确实能打断OpenClaw的死循环。

原理是:这句话触发了Agent的ReAct思考链重置。OpenClaw的推理循环是"Observation - Thought - Action"不断迭代,死循环通常是因为陷入了某个Action的反复重试。这句话相当于强制回到Observation阶段重新来过。

另一个更暴力但同样有效的救场方法:发送/reset命令直接重置会话。

隐藏功能 #8:渠道级别的自定义系统提示

你知道吗?你可以给不同的聊天渠道设置不同的系统提示!

比如微信渠道的小龙虾可以设成中文、口语化风格,Slack渠道的设成英文、专业风格。同一个OpenClaw实例,通过渠道/群组的systemPrompt配置,可以展现完全不同的人格。

这个功能在多人协作场景下特别有用——工作群里的小龙虾严肃专业,私聊时的小龙虾轻松幽默,完全可以做到。

隐藏功能 #9:技能包的"仅用户可调"模式

你知道吗?技能包有一个disable-model-invocation: true的选项,设了之后这个技能只能通过用户手动输入/skill <name>来调用,AI自己不会主动触发。

为什么需要这个?因为有些技能你只想在特定时刻使用(比如批量删除文件的技能),不希望AI在"觉得合适"的时候自作主张执行。

这是一个非常重要的安全设计,但我在社区里几乎没见人提过。

隐藏功能 #10:心跳机制的秘密

你知道吗?OpenClaw有一个心跳(heartbeat)机制,定期检查Agent是否还活着。

但心跳不只是"还活着"这么简单。它还承担了节流功能——在移动设备上,心跳频率会自动降低以节省电量。iOS和安卓的后台保活逻辑也是基于心跳实现的,通过"系统级唤醒"配合"心跳节流",在保持Agent在线的同时把电量消耗降到最低。

这就是为什么最新版的OpenClaw能在旧手机上7x24运行而不会两小时就把电耗光。

总结

这10个隐藏功能,有的能帮你省钱(#3、#6),有的能帮你避坑(#2、#7),有的能让你的使用体验直接升一个档次(#5、#8)。

作为一个彩蛋猎人,最大的快乐就是在人人都用的工具里,发现别人没注意到的秘密。

你还发现过什么OpenClaw的隐藏功能?评论区告诉我——说不定下一篇"你知道吗"系列就有你的发现。

原来如此

又学到新东西了

底层设计比我想的要讲究

代码层面确实比想象中复杂

信息量大

隐藏功能这种说法不准确 大部分只是文档角落里的配置项

99%的人没发现?数据来源呢 又是拍脑袋的数字

试了第3个功能确实好用 之前完全不知道可以这样配

@kernel0 第8个隐藏功能你说的本地缓存策略,我测试过,默认TTL是600秒不是你说的300秒

@srcread 这几个隐藏功能里批处理模式最实用,配合定时任务能省掉大量重复操作

第七个功能我翻源码才知道的

第三个真的隐藏得太深了

第六个功能我居然从来没发现

第5个我居然不知道,用了这么久白瞎了

严格来说不算隐藏吧,文档里都有只是没人看

fine-tuning得会但别滥用