上下文压缩与文件搜索设置
调整压缩触发、保留文件与图片、工具结果清理和搜索范围。
上下文容量、发送限制和文件搜索范围分别配置。contextWindowSize 只是客户端假定的模型窗口,不能提高服务商的实际上限。
压缩触发
context.autoCompactThreshold 接受大于 0 且不超过 1 的比例,内部默认 0.85。它是触发上界;较小窗口可能提前压缩以留出总结空间,不保证每次恰好到 85%。
旧 model.chatCompression.contextPercentageThreshold 已移除并静默忽略,应迁移到当前字段。
model.chatCompression.maxRecentFilesToRetain 默认 5;压缩后恢复最近文件,小文件嵌入内容,大文件引用路径,0 不恢复。maxRecentImagesToRetain 默认 3,0 不恢复图片;环境变量 QWEN_COMPACT_MAX_RECENT_FILES / QWEN_COMPACT_MAX_RECENT_IMAGES 可覆盖。
enableScreenshotTrigger 默认 true,工具结果中图片数达到 screenshotTriggerThreshold(默认 20)也触发压缩,与 token 使用量独立;用户粘贴图不计入。压缩后保留图改为顶层部分,不会立即重复触发。可用 QWEN_COMPACT_SCREENSHOT_TRIGGER、QWEN_COMPACT_SCREENSHOT_THRESHOLD 调整。
清理旧工具结果
context.clearContextOnIdle 下三个字段协同工作:
| 字段 | 默认与含义 |
|---|---|
| toolResultsThresholdMinutes | 60 分钟空闲触发;-1 关闭空闲触发 |
| toolResultsNumToKeep | 保留最近 5 个可压缩结果,少于 1 按 1 |
| toolResultsTotalCharsThreshold | 500000 字符,超出尽量清到一半;-1 关闭大小触发 |
这是软阈值,受保护的最近结果可能仍超出。其目的之一是避免每轮改写历史影响提供商 prompt cache,不能把“大小触发关闭”误认为空闲触发也关闭。
额外目录和指令
context.fileName 可指定一个或多个上下文文件名。includeDirectories 默认为空数组,可使用绝对、相对和 ~ 路径,并与 --include-directories 合用;缺失目录默认跳过并警告。
loadFromIncludeDirectories 默认 false,控制 /memory refresh 是否也加载额外目录的 QWEN.md。它不授予 Linux 工具沙箱的外部目录写权限。
搜索忽略
respectGitIgnore、respectQwenIgnore、enableRecursiveFileSearch、enableFuzzySearch 当前默认均为 true。
respectQwenIgnore 开启时始终包含 .qwenignore;customIgnoreFiles 默认兼容 .agentignore 与 .aiignore,显式数组替换这些兼容文件列表,路径相对于项目根。
大型项目的 @ 文件补全慢时,先用忽略文件排除构建输出和无关目录,再考虑关闭 fuzzy search;最后才关闭递归补全,因为这会要求更完整的文件路径。
ripgrep 内容搜索与 @ 文件名补全不是同一设置,见工具设置。