- [缓存优化与消息管线重构] 重构消息构建方式,大幅提高 Cache Hit 保持率 (PR #3476):
- 顶层系统指令绝对冻结: 仅首部连续
system消息进入systemInstruction,中途动态出现的system消息就地转为<system-reminder>置于user轮次,杜绝动态消息破坏 KV Cache,实测在多轮交互中缓存命中率可稳定在 80% ~ 90%+。 - 3D 正交会话隔离 (Fixes #3467): 融合租户身份、客户端 Session 请求头(
x-session-id、session-id等)、Query 与 Body 派生确定性 UUID 注入上游,传输与存储两端彻底杜绝多用户/子 Agent 并发请求时的思考串话和跨会话污染。
- 顶层系统指令绝对冻结: 仅首部连续
- [Responses 协议与思考保全] 修复 Process Commentary 进度说明与思考块被抹除 (PR #3476):
- 双重保全与拓扑保序: 思考块强制置顶,Process Commentary 进度文本独立保留为正文并紧跟
tool_calls,彻底消灭历史轮次丢失进度或误将工具排在首位引发的 400 校验错误。 - 历史前缀绝对冻结: 多轮带工具调用的 Responses 请求中,已提交给客户端的历史思考签名与前缀在后续轮次中永久保持静止,绝不被后续轮次覆盖。
- 双重保全与拓扑保序: 思考块强制置顶,Process Commentary 进度文本独立保留为正文并紧跟
- [思维链解耦与防错配法则] 思考文本与 Thought Signature 彻底解耦 (PR #3476):
- 签名法则: 纯文本无工具轮次强制使用哨兵(sentinel)占位,不进入工具签名库;工具签名严格以
tool_id锚定,彻底杜绝纯文本数千字节的大思考签名错配给简单工具调用。 - 思考文本法则: 有思考文本填思考,无思考文本填
...占位,两者完全解耦,纯文本轮次思考过程 100% 完整还原。
- 签名法则: 纯文本无工具轮次强制使用哨兵(sentinel)占位,不进入工具签名库;工具签名严格以
- [Gemini 工具链与参数清洗] 确定性合成 Tool ID 与 Shell 参数清洗 (PR #3476, Fixes #3474):
- 确定性合成 Tool ID: 基于
canonical_json_hash与因果锚点两端对称合成唯一tool_id,配合正向拓扑单调保序漏斗消灭修剪后的相位错位。 - Shell 参数清洗: 向上游发送终端 Schema 时剔除
description参数,消灭命令被误写进描述的幻觉,下游自动规范化回填;终端工具无命令时直接返回exit 1触发上层 Agent 自愈。
- 确定性合成 Tool ID: 基于
- [存储演化与多语言管理] ThinkingStore 优化、一键清空思考块与日志滑动窗口 (PR #3476):
- 一键清空思考块: 设置页双层滑动窗口栏新增「清空思考块」功能与二次确认弹窗,仅清空 RAM 缓存与 SQLite 思考数据,绝对不触碰
request_logs请求日志;完整支持 12 种语言(zh, zh-TW, en, ja, ko, es, pt, ru, ar, tr, vi, my)。 - 日志安全滑动窗口: 废除 24h 定时掏空报文机制,引入容量与行数 FIFO 滑动窗口淘汰,历史报文 100% 原始保留。
- SQLite 极速索引升级: 新增针对
primary_tool_id、session_key、id的正向/倒序覆盖索引,单次点查与淘汰提速至微秒级。
- 一键清空思考块: 设置页双层滑动窗口栏新增「清空思考块」功能与二次确认弹窗,仅清空 RAM 缓存与 SQLite 思考数据,绝对不触碰
- [系统兼容与配额防御] 周配额耗尽熔断与 Linux 无桌面环境凭据回退 (PR #3476, Fixes #3472, Fixes #3473):
- 周配额熔断: 周配额耗尽(0%)强制锁定退出可用轮换池,解除 429 死循环轮询重试。
- Linux Keyring 容灾回退: 在无桌面环境(缺少
secret-tool/ D-Bus)时,自动降级回退至写入本地 SQLitestate.vscdb以及~/.gemini/oauth_creds.json,解决无法切换账号的报错。