Skip to content

AI 配置持久化(IndexedDB)

系统概览

ADR-196 浏览器端 AI 配置持久化层,复用 backend/idb.ts IndexedDB,取代 Web Storage(FR-9/AC-5)。提供同步读(loadAiConfig)与同步写(saveAiConfig)+ 异步落盘。

核心职责

  • AiConfig{ endpoint, apiKey, model }
  • DEFAULT_AI_CONFIG — 零 key 本地 Ollama 默认
  • loadAiConfig() — 优先内存缓存,未加载触发异步回源
  • saveAiConfig(partial) — 合并写缓存 + fire-and-forget 落盘
  • ensureAiConfigLoaded() — 主动预加载,建议 init 后台调用

与其他子系统关系

  • browser-adapter.tsmenus/settings-diagnostic.ts 调用
  • 依赖 core/backend/idb.ts

不变量

  • 仅服务浏览器适配器;桌面端配置由 Go 侧持有,前端不暴露 key
  • 默认零 key 路径:本地 Ollama(http://localhost:11434/v1/chat/completions,model llama3.2)
  • capabilities() 同步语义:内存缓存 + 异步回源,未加载时回退默认不阻塞调用方