OC
OpenClaw 中文解释版

给五岁小朋友也能看懂的说明书

简要总结

Session Pruning

这页说明书讲的是“会话修剪”。它就像一个小园丁,会在你和AI助手聊天太久、工具结果太多时,帮你把一些旧的、不重要的工具结果从AI的“短期记忆”里清理掉。这样可以让AI助手下次回答时更快、更省钱。当你发现AI助手记不住很久以前的工具结果,或者想节省一些费用时,可以看看这页。

五岁小孩版解释

会话修剪是做什么的呢?想象一下,你和AI助手聊天时,用了很多小工具(比如查天气、算数学),这些工具会留下很多结果。如果聊天太久,这些结果会把AI的“短期记忆”塞满。会话修剪这个小园丁,就会在AI助手准备思考回答前,悄悄地把一些旧的工具结果清理一下,让AI的“短期记忆”保持清爽。注意哦:它只清理AI的“短期记忆”,不会删掉你们聊天记录的本子(那些 *.jsonl 文件)。

这个小园丁什么时候会工作呢? 它只在满足下面所有条件时才工作:

  1. 你把它的工作模式设置成了 mode: "cache-ttl"
  2. 距离上次AI助手(Anthropic家的)回答已经过去了 ttl 这么长的时间(比如5分钟)。
  3. 它只影响这一次发送给AI助手看的聊天内容。
  4. 它只对Anthropic家的AI助手(或者通过OpenRouter使用的Anthropic模型)有效。
  5. 为了让效果最好,你可以把 ttl 的时间和AI助手自己的记忆规则 cacheRetention 设成一样(short是5分钟,long是1小时)。
  6. 小园丁工作一次后,计时器会重新开始,直到下一个 ttl 时间过去,它才会再次工作。

它会修剪哪些东西呢?

  1. 修剪那些叫 toolResult 的消息(就是各种小工具产生的结果)。
  2. 你(用户)和AI助手(助理)说的话,它绝对不会改动。
  3. 它会保护最近的 keepLastAssistants 条AI助手消息(默认是3条),这些消息后面的工具结果不会被修剪。
  4. 如果聊天里AI助手的消息太少,不够确定保护范围,那小园丁这次就不工作了。
  5. 如果工具结果里有图片,那小园丁会跳过它,永远不会清理它。

小园丁有两种工作方式:

  • 软修剪:只对那些特别特别长的工具结果使用。
    • 它会保留结果的开头和结尾,中间用 ... 代替,并加个小纸条说明原来有多长。
    • 有图片的结果会被跳过。
  • 硬清除:如果工具结果太长,超过了某个比例,小园丁就会用一句话 hardClear.placeholder(默认是"[Old tool result content cleared]")替换掉整个结果。

你可以告诉小园丁只修剪哪些工具: 你可以用 tools.allow(允许列表)和 tools.deny(拒绝列表)来指定工具名字,支持用 * 号代表任意字符(比如 *image* 代表所有名字里有“image”的工具)。

  • deny 列表的优先级更高(拒绝说了算)。
  • 名字不区分大小写。
  • 如果 allow 列表是空的,那就默认所有工具都允许修剪。

一些重要的提醒和默认设置:

  • 这个小园丁和另一个叫“压缩”的功能是分开的。压缩是总结聊天并永久保存,修剪只是临时清理一下,为了单次请求更高效。
  • 有些工具自己就会缩短输出,修剪是在它们之上再加一层保护,防止聊天太久工具结果堆积太多。
  • 如果你自己设置了任何值,OpenClaw就不会用它的默认值覆盖你的设置。
  • 默认的设置是:ttl"5m"(5分钟),保护最近 3 条助手消息,软修剪比例是 0.3,硬清除比例是 0.5,等等。

怎么打开它呢? 在配置里,把 mode"off" 改成 "cache-ttl" 就可以啦!你还可以设置 ttl 时间和指定 tools.allowtools.deny 列表。