# 高级配置与实验性功能 (Advanced Configuration) Antigravity v3.3.35 引入了 `ExperimentalConfig`,这是一组默认开启的实验性功能开关,旨在提升系统的鲁棒性与兼容性。这些配置位于 `src-tauri/src/proxy/config.rs` 中,目前暂未暴露到 UI 界面。 ## 功能列表 ### 1. 双层签名缓存 (Signature Cache) * **配置项**: `enable_signature_cache` * **默认值**: `true` * **说明**: 启用后,系统会缓存 `ToolUse ID` 与 `Thought Signature` 的映射关系。 * **作用**: 解决部分客户端(如 Claude Desktop CLI, Cherry Studio)在多轮对话中可能丢失历史 Tool Call 签名的问题。当上游 API 报错 "Missing signature" 时,系统可从缓存中自动恢复,避免对话中断。 ### 2. 工具循环自动恢复 (Tool Loop Recovery) * **配置项**: `enable_tool_loop_recovery` * **默认值**: `true` * **说明**: 启用后,系统会实时监控对话状态,检测“死循环”模式。 * **触发条件**: 检测到连续的 `ToolUse` -> `ToolResult` 循环,且 `Assistant` 消息中缺少 `Thinking` 块(通常因签名校验失败被 stripping)。 * **行为**: 自动注入合成消息(`Assistant: Tool execution completed.` -> `User: Proceed.`)来打破死循环,强制模型进入下一轮思考。 ### 3. 跨模型兼容性检查 (Cross-Model Checks) * **配置项**: `enable_cross_model_checks` * **默认值**: `true` * **说明**: 防止在同一会话中切换不同系列模型(如 Claude -> Gemini)时引发的签名错误。 * **作用**: 当检测到历史消息中的签名属于不兼容的模型家族(如 `claude-3-5` vs `gemini-2.0`)时,系统会自动丢弃旧签名,防止 API 拒绝请求。 ## 自定义配置 目前这些配置项可通过修改 `src-tauri/src/proxy/config.rs` 中的 `default_true` 默认值来调整,或者等待未来版本集成到 "Settings -> Advanced" 界面。 ```rust // src-tauri/src/proxy/config.rs #[derive(Debug, Clone, Serialize, Deserialize)] pub struct ExperimentalConfig { #[serde(default = "default_true")] pub enable_signature_cache: bool, // ... } ```