chore(i18n): refresh zh-CN translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-05-01 19:19:48 +00:00
parent 2f7f066e92
commit 2148097b22

View File

@ -1,33 +1,33 @@
---
read_when:
- 你想了解自动压缩和 /compact
- 你正在调试达到上下文限制的长会话
- 你正在调试触及上下文限制的长会话
summary: OpenClaw 如何总结长对话以保持在模型限制内
title: 压缩
x-i18n:
generated_at: "2026-04-28T11:49:02Z"
generated_at: "2026-05-01T19:19:18Z"
model: gpt-5.5
provider: openai
source_hash: 9beac513a8226a7dd107cdc3a7bfd7550d87e98648004c80487db968c57742d4
source_hash: 2f8e6f372508a0f5421654d3e2a694695eb8a7fda4e3928159bf8f08b2a2156b
source_path: concepts/compaction.md
workflow: 16
---
每个模型都有一个上下文窗口:它可以处理的最大 token 数。当对话接近该限制时OpenClaw 会将较旧的消息**压缩**成摘要,让聊天可以继续。
每个模型都有一个上下文窗口:也就是它可以处理的最大 token 数。当对话接近该限制时OpenClaw 会将较早的消息**压缩**成摘要,以便聊天可以继续。
## 工作原理
1. 较早的对话轮次会被汇总为一个紧凑条目。
2. 摘要会保存在会话录中。
3. 最近的消息会保持完整
1. 较早的对话轮次会被摘要为一个压缩条目。
2. 摘要会保存在会话录中。
3. 最近的消息会保持原样
当 OpenClaw 将历史记录拆分为压缩分块时,它会保持 assistant 工具调用与匹配的 `toolResult` 条目成对。如果拆分点落在工具块内部OpenClaw 会移动边界,使这一对保持在一起,并保留当前未汇总的尾部内容。
当 OpenClaw 将历史拆分为压缩分块时,它会让助手工具调用与其匹配的 `toolResult` 条目保持配对。如果拆分点落在工具块内部OpenClaw 会移动边界,使这对内容保持在一起,并保留当前未摘要的尾部内容。
完整对话历史会保留在磁盘上。压缩只会改变模型在下一轮看到的内容。
完整对话历史仍保存在磁盘上。压缩只会改变模型在下一轮看到的内容。
## 自动压缩
自动压缩默认开启。它会在会话接近上下文限制时运行,或者在模型返回上下文溢出错误时运行(此时 OpenClaw 会压缩并重试)。
自动压缩默认开启。当会话接近上下文限制时,或当模型返回上下文溢出错误时,它会运行(在这种情况下,OpenClaw 会压缩并重试)。
你会看到:
@ -35,12 +35,12 @@ x-i18n:
- `/status` 显示 `🧹 Compactions: <count>`
<Info>
压缩之前OpenClaw 会自动提醒智能体将重要笔记保存到 [记忆](/zh-CN/concepts/memory) 文件中。这可以防止上下文丢失。
压缩OpenClaw 会自动提醒智能体将重要备注保存到 [memory](/zh-CN/concepts/memory) 文件中。这可以防止上下文丢失。
</Info>
<AccordionGroup>
<Accordion title="识别到的溢出签名">
OpenClaw 会从这些提供商错误模式中检测上下文溢出:
<Accordion title="已识别的溢出特征">
OpenClaw 会根据以下提供商错误模式检测上下文溢出:
- `request_too_large`
- `context length exceeded`
@ -54,21 +54,21 @@ x-i18n:
## 手动压缩
在任意聊天中输入 `/compact` 即可强制压缩。添加说明可以引导摘要:
在任意聊天中输入 `/compact` 可强制执行压缩。添加指令来引导摘要:
```
/compact Focus on the API design decisions
```
设置 `agents.defaults.compaction.keepRecentTokens` 后,手动压缩会遵循该 Pi 截断点,并在重建的上下文中保留最近的尾部内容。如果没有显式保留预算,手动压缩会表现为硬检查点,并仅从新摘要继续。
设置 `agents.defaults.compaction.keepRecentTokens` 后,手动压缩会遵守该 Pi 切点,并在重建的上下文中保留最近尾部。没有显式保留预算时,手动压缩会作为硬检查点,并仅从新摘要继续。
## 配置
在你的 `openclaw.json` 中的 `agents.defaults.compaction` 下配置压缩。下面列出了最常用的旋钮;完整参考请参见[会话管理深度解析](/zh-CN/reference/session-management-compaction)。
在你的 `openclaw.json` 中的 `agents.defaults.compaction` 下配置压缩。下面列出了最常用的旋钮;完整参考请参阅 [会话管理深度解析](/zh-CN/reference/session-management-compaction)。
### 使用不同的模型
默认情况下,压缩使用智能体的主模型。设置 `agents.defaults.compaction.model` 可将摘要委托给能力更强或更专门的模型。该覆盖接受任意 `provider/model-id` 字符串:
默认情况下,压缩使用智能体的主模型。设置 `agents.defaults.compaction.model` 可将摘要委托给能力更强或更专用的模型。该覆盖项接受任何 `provider/model-id` 字符串:
```json
{
@ -96,26 +96,26 @@ x-i18n:
}
```
未设置时,压缩使用智能体的主模型
未设置时,压缩会从活跃会话模型开始。如果摘要因符合模型回退条件的提供商错误而失败OpenClaw 会通过该会话现有的模型回退链重试该压缩尝试。回退选择是临时的,不会写回会话状态。显式的 `agents.defaults.compaction.model` 覆盖项会保持精确指定,并且不会继承会话回退链
### 标识符保留
压缩摘要默认保留不透明标识符(`identifierPolicy: "strict"`)。可使`identifierPolicy: "off"` 禁用,或使用 `identifierPolicy: "custom"``identifierInstructions` 提供自定义指
压缩摘要默认保留不透明标识符(`identifierPolicy: "strict"`)。可用 `identifierPolicy: "off"` 覆盖以禁用,或使用 `identifierPolicy: "custom"``identifierInstructions` 提供自定义指
### 活跃录字节保护
### 活跃录字节保护
设置 `agents.defaults.compaction.maxActiveTranscriptBytes` 后,如果活跃 JSONL 达到该大小OpenClaw 会在运行前触发正常本地压缩。这适用于长时间运行的会话:提供商侧的上下文管理可能让模型上下文保持健康,但本地转录仍在持续增长。它不会拆分原始 JSONL 字节;它会请求正常压缩流水线创建语义摘要。
设置 `agents.defaults.compaction.maxActiveTranscriptBytes` 后,如果活跃 JSONL 达到该大小OpenClaw 会在运行前触发普通本地压缩。这对长时间运行的会话很有用,因为提供商侧的上下文管理可能会让模型上下文保持健康,而本地记录仍在持续增长。它不会拆分原始 JSONL 字节;它会要求普通压缩管线创建语义摘要。
<Warning>
字节保护需要 `truncateAfterCompaction: true`。如果没有转录轮换,活跃文件不会缩小,保护机制会保持不活动
字节保护需要 `truncateAfterCompaction: true`。如果没有记录轮转,活跃文件不会缩小,保护机制会保持不活跃
</Warning>
### 后继
### 后继
启用 `agents.defaults.compaction.truncateAfterCompaction`OpenClaw 不会就地重写现有转录。它会根据压缩摘要、保留状态和未汇总尾部内容创建新的活跃后继转录,然后将之前的 JSONL 保留为已归档的检查点来源。
后继录还会丢弃在短重试窗口内到达的完全重复长用户轮次,因此渠道重试风暴不会在压缩后被带入下一个活跃录。
启用 `agents.defaults.compaction.truncateAfterCompaction`OpenClaw 不会就地重写现有记录。它会根据压缩摘要、保留状态和未摘要尾部创建新的活跃后继记录,然后将之前的 JSONL 保留为归档检查点来源。
后继录还会丢弃在短重试窗口内到达的完全重复长用户轮次,因此渠道重试风暴不会在压缩后被带入下一个活跃录。
预压缩检查点只会在低于 OpenClaw 的检查点大小上限时保留;超大的活跃转录仍会压缩,但 OpenClaw 会跳过大型调试快照,避免磁盘占用翻倍。
预压缩检查点只会在低于 OpenClaw 的检查点大小上限时保留;过大的活跃记录仍会压缩,但 OpenClaw 会跳过大型调试快照,而不是让磁盘用量翻倍。
### 压缩通知
@ -135,7 +135,7 @@ x-i18n:
### 记忆刷新
压缩之前OpenClaw 可以运行一个**静默记忆刷新**轮次,将持久笔记存储到磁盘。当这个内务轮次应使用本地模型而不是活跃对话模型时,设置 `agents.defaults.compaction.memoryFlush.model`
压缩OpenClaw 可以运行一次**静默记忆刷新**轮次,将持久备注存储到磁盘。当这个内务轮次应使用本地模型而不是活跃对话模型时,设置 `agents.defaults.compaction.memoryFlush.model`
```json
{
@ -151,11 +151,11 @@ x-i18n:
}
```
记忆刷新模型覆盖是精确的,不会继承活跃会话的回退链。详情和配置请参见[记忆](/zh-CN/concepts/memory)。
记忆刷新模型覆盖项是精确指定的,并且不会继承活跃会话回退链。详情和配置请参阅 [记忆](/zh-CN/concepts/memory)。
## 可插拔压缩提供商
插件可以通过插件 API 上的 `registerCompactionProvider()` 注册自定义压缩提供商。当一个提供商已注册并配置后OpenClaw 会将摘要委托给它,而不是使用内置 LLM 流水线。
插件可以通过插件 API 上的 `registerCompactionProvider()` 注册自定义压缩提供商。注册并配置提供商OpenClaw 会将摘要委托给它,而不是使用内置 LLM 线。
要使用已注册的提供商,请在你的配置中设置其 id
@ -171,7 +171,7 @@ x-i18n:
}
```
设置 `provider` 会自动强制 `mode: "safeguard"`。提供商会收到与内置路径相同的压缩说明和标识符保留策略,并且 OpenClaw 仍会在提供商输出后保留最近轮次和拆分轮次的后缀上下文。
设置 `provider` 会自动强制使用 `mode: "safeguard"`。提供商会收到与内置路径相同的压缩指令和标识符保留策略,并且 OpenClaw 仍会在提供商输出后保留最近轮次和拆分轮次的后缀上下文。
<Note>
如果提供商失败或返回空结果OpenClaw 会回退到内置 LLM 摘要。
@ -181,25 +181,25 @@ x-i18n:
| | 压缩 | 剪枝 |
| ---------------- | ----------------------------- | -------------------------------- |
| **作用** | 汇总较旧的对话 | 修剪旧工具结果 |
| **已保存?** | 是(在会话转录中) | 否(仅在内存中,按请求生效) |
| **作用** | 摘要较早的对话 | 裁剪旧工具结果 |
| **会保存吗?** | 是(在会话记录中) | 否(仅内存中,按请求生效) |
| **范围** | 整个对话 | 仅工具结果 |
[会话剪枝](/zh-CN/concepts/session-pruning)是一种更轻量的补充,可在不汇总的情况下修剪工具输出
[会话剪枝](/zh-CN/concepts/session-pruning) 是一种更轻量的补充方式,可以裁剪工具输出而无需摘要
## 故障排除
**压缩太频繁?** 模型的上下文窗口可能较小,或者工具输出可能较大。尝试启用[会话剪枝](/zh-CN/concepts/session-pruning)。
**压缩太频繁?** 模型的上下文窗口可能较小,或工具输出可能很大。尝试启用 [会话剪枝](/zh-CN/concepts/session-pruning)。
**压缩后感觉上下文陈旧?** 使用 `/compact Focus on <topic>` 来引导摘要,或启用[记忆刷新](/zh-CN/concepts/memory),让笔记得以保留。
**压缩后感觉上下文过旧?** 使用 `/compact Focus on <topic>` 引导摘要,或启用 [记忆刷新](/zh-CN/concepts/memory),让备注得以保留。
**需要一个干净的起点?** `/new` 会启动一个新的会话而不进行压缩。
**需要清空重新开始?** `/new` 会启动一个全新会话而不压缩。
如需高级配置(保留 token、标识符保留、自定义上下文引擎、OpenAI 服务器端压缩),请参见[会话管理深度解析](/zh-CN/reference/session-management-compaction)。
对于高级配置(保留 token、标识符保留、自定义上下文引擎、OpenAI 服务端压缩),请参阅 [会话管理深度解析](/zh-CN/reference/session-management-compaction)。
## 相关
## 相关内容
- [会话](/zh-CN/concepts/session):会话管理和生命周期。
- [会话剪枝](/zh-CN/concepts/session-pruning)剪工具结果。
- [会话剪枝](/zh-CN/concepts/session-pruning)剪工具结果。
- [上下文](/zh-CN/concepts/context):如何为智能体轮次构建上下文。
- [钩子](/zh-CN/automation/hooks):压缩生命周期钩子(`before_compaction`、`after_compaction`)。