Back / 文章

2026/8/4 · 项目日志

Lociant v1.1.1 发布与缓存优化

Lociant v1.1.1 发布,优化本地模型自动缓存机制。支持无显式 sessionId 的连续对话复用 KV 上下文,修复 MNN 历史同步问题,提升断网环境下的 Agent 响应速度。

Lociant v1.1.1 正式发布,本次更新聚焦于优化本地模型的连续对话体验。针对无显式 sessionId 的完整 OpenAI 消息历史请求,系统增加了自动缓存续接能力,旨在减少等待时间并提升断网环境下的响应效率。

这次变化

核心改动在于引入了 AutomaticSessionCache 类与相关逻辑校验。当模型成功完成且未取消时,提交缓存快照;失败、工具调用或会话切换则主动放弃复用。同时修复了从 MNN history_tokens 重建真实 assistant 输出后同步 prompt cache 的问题,避免展示文本过滤思考段和停止 token 后造成 KV 与历史错位。API 契约版本也同步至 1.1.1,增加了 cancelled 字段以明确标识取消状态。

实现与取舍

为了保持客户端的通用性,缓存策略完全在运行时内部处理。这意味着即使没有显式会话 ID,本地模型也能复用上一轮提示词的 KV 缓存来减少等待时间。代价是刚启动、切换模型或会话后的第一轮请求必须重新计算上下文。此外,文档明确说明连续对话不需要额外打开缓存选项,但客户端仍应像普通 OpenAI 接口一样,在下一轮请求中发送完整的 messages 历史。这种设计避免了客户端维护复杂状态的风险,将复杂度下沉至原生运行时层。同时更新了 MNN 运行时的配置键生成逻辑,确保在不同线程数和推理后端切换时能正确识别缓存失效时机。

后续计划

目前主要关注点在于验证缓存命中率与不同推理后端(CPU/GPU)下的配置键一致性。已知限制包括刚启动或切换模型后的冷请求开销。接下来将继续维护现有逻辑,确保在断网环境下本地 Agent 的稳定性,并观察自动缓存单元测试的结果。对于未明确的功能路线,将优先处理现有的 TODO 事项及待验证的性能指标,不盲目增加新功能负担。