OpenHands 上下文管理从默认压缩器到自定义 condenser 的完整指南【免费下载链接】OpenHands OpenHands: AI-Driven Development项目地址: https://gitcode.com/GitHub_Trending/ope/OpenHands你让 OpenHands 连改四个文件聊到第五轮它突然答非所问甚至弹出 Claude 常见的上下文超限报错——这正是 OpenHands 上下文管理里最常被问到的问题。OpenHands 内置一套叫 condenser 的机制在会话逼近模型上下文窗口时自动把早先的历史压成一段摘要让长对话能继续跑而不是中途崩掉。 它到底在干嘛condenser 如何给对话瘦身先说清楚一个名词token 是模型读文字时计费的最小单位LLM 一次能看进的 token 数是封顶的历史越堆越长总有一天撞墙。OpenHands 的解法不是简单砍掉旧消息而是让另一个 LLM 把早先对话摘要成一小段塞回上下文前面整个过程你会看到三种事件请求压缩、正在遗忘哪些旧事件、生成了摘要。环节OpenHands 怎么做你在哪看到历史逼近上限默认压缩器LLM 驱动把旧事件摘要化近期细节原样保留会话流里出现 Condensation 事件摘要后的体量受condenser_max_size约束留空表示不限制设置页 condenser 分区手动触发点 Compact context等事件落地后回显省了多少 token用量面板 / 输入框窗口浮层完全关闭关掉enable_default_condenser即不再自动摘要设置页 condenser 分区一句话记住近期对话尽量原样保留早期对话压成摘要。这就是你后面所有调参的地基。 三步跑起来确认默认压缩器是否开启默认就是开的不用改任何文件。打开设置进 condenser 分区对应 condenser-settings.tsx看到Enable default condenser处于开启即可。它负责历史太长时自动摘要关掉就只剩手动一条路。改一个开关设置 condenser_max_size同分区里还有condenser_max_size留空 摘要后不限制 token 数填一个数 压缩后最多保留这么多 token。两个旋钮底层只有两行配置——condenser.enable_default_condenser true # 默认开启 condenser.condenser_max_size null # 留空 不限制拿不准就先留空观察一阵再决定要不要收紧。手动压缩一次看 token 真的降下来等 Agent 空闲在用量面板或输入框的上下文窗口浮层点 Compact context。它不会立刻弹结果而是等后端发回 Condensation 事件、确认每轮 token 真的下降后才提示成功并告诉你省了多少背后的逻辑在 use-compact-context-action.ts。看到数字往下掉说明整条链路是通的。 什么时候需要动手改压缩触发太勤、Agent 开始丢细节信号频繁看到 Condensation 提示、回答忘了前面的约束→ 把condenser_max_size调大或留空让摘要多留一点。长会话仍撞上下文上限信号历史很长还报超限→ 反向操作调小 max_size、确认默认压缩器没被关再把大任务拆小。默认摘要不满足你的场景信号你总希望某些结构或约定被保留→ condenser 是 LLM 驱动、可插拔的事件模型在 condensation-event.tsCondensation / CondensationSummary真正的压缩实现挂在 agent-server 侧UI 侧只给你 enable 和 max_size 两个旋钮想换策略就去对接那侧的 condenser。⚠️ 这几个坑动手前先绕开现象原因解法压缩后 Agent忘记前面的要求condenser_max_size设太小摘要留不住关键信息调大该值或留空点 Compact 转圈后超时无结果Agent 正在忙或上下文已小到没有可压空间等 Agent 空闲再手动压缩开了默认压缩器仍报超限单次塞入的输入本身就超窗历史压缩救不了拆分任务、减少一次性投喂的文件切到 ACP 外部 Agent 后 condenser 不生效ACP 模式下 LLM / condenser 设置是惰性的换回 openhands 内置 Agent 才有 condenser想继续往下钻看 settings.ts 的默认值与 condensation-event.ts 的事件定义就够了。【免费下载链接】OpenHands OpenHands: AI-Driven Development项目地址: https://gitcode.com/GitHub_Trending/ope/OpenHands创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考