转录卫生
参考:特定于提供商的转录清理和修复规则
本文档描述了在运行之前应用于转录的特定于提供商的修复
(building model context). These are in-memory adjustments used to satisfy strict
提供商要求的内存中调整。它们不会重写磁盘上存储的 JSONL 转录。
范围包括:
- 工具调用 ID 清理
- 工具结果配对修复
轮次验证/排序
思维签名清理
- 图像负载清理
如果您需要转录存储详细信息,请参阅:
全局规则:图像清理
图像负载始终被清理,以防止由于大小
限制而导致的提供商端拒绝(缩小/重新压缩过大的 base64 图像)。
实现:
- ''sanitizeSessionMessagesImages'' 在 ''src/agents/pi-embedded-helpers/images.ts'' 中
- ''sanitizeContentBlocksImages'' 在 ''src/agents/tool-images.ts'' 中
历史行为(2026.1.22 之前)
在 2026.1.22 版本之前,OpenClaw 应用了多层转录卫生:
- 一个transcript-sanitize 扩展在每次上下文构建时运行,并且可以:
- 修复工具使用/结果配对。
- 清理工具调用 ID(包括一个保留 ''_''/''-'' 的非严格模式)。
- 运行器还执行了特定于提供商的清理,这重复了工作。
- 在提供商策略之外发生了额外的变异,包括:
- Stripping ''<final>'' tags from assistant text before persistence.
- 删除空的助手错误轮次。
这种复杂性导致了跨提供商回归(特别是 ''openai-responses'' ''call_id|fc_id'' 配对)。2026.1.22 清理删除了扩展,在运行器中集中了逻辑,并使 OpenAI 在图像清理之外''不触摸''。