# 会话内界面:上下文缓存 操作步骤和所有参数的说明见 [中文使用说明](USAGE.zh-CN.md)。 ## 界面入口 会话输入框旁的按钮显示“上下文缓存 开 / 关”。会话标签页、右侧面板标题与设置页统一命名为“上下文缓存”。 未生成会话 ID 时,按钮保存一次待应用的本地选择,不向后端提交空会话;首个未配置的会话接收该选择。已配置的会话保留自己的开关。切换失败显示原因并允许重试,8 秒超时后释放忙碌状态。 ## 设置与看板 设置页包含替换策略、显示位置、看板内容、数据与刷新四组卡片。显示偏好自动保存,替换策略显式保存到宿主数据库。看板包含指标卡片、替换状态与手动执行、窗口构成、重写曲线、供应商用量、换页记录,支持手动与周期刷新。 浏览器显示偏好使用独立可订阅状态,避免同一个 Slot StoreHandle 跨 root/session 作用域复用。每个槽位使用官方 `slots.inject` 等待父声明就绪,再注册组件。 ## 数据接口 | 接口 | 用途 | | --- | --- | | `GET /vctx/state?session=…` | 读取会话显示开关 | | `POST /vctx/session` | 保存 `{session, enabled}` | | `GET /vctx/dashboard?session=…&events=N` | 读取完整看板及替换策略状态 | | `GET /vctx/policy` | 读取 namespace 的统一替换策略 | | `POST /vctx/policy` | 校验并保存统一替换策略 | | `POST /vctx/replace` | 用户手动将当前会话工作页换出到归档,正文保留 | HTTP 前缀注册为 `/vctx`,处理器内部匹配 `/vctx/` 下的路径。宿主入口等待 `webServer` 和 `commands` 服务就绪后分别注册路由与命令。 ## 自动替换 用户消息事件的持久序号用于轮次去重;工具调用和同轮模型步骤不递增。每个模型步骤开始前额外检查占用阈值,并更新注入快照。策略与轮次保存在 SQLite,替换记录进入换页账本。核心页、核心索引和受保护的最近工作页不参与换出;保护导致无法达到目标时在看板说明。 ## 实时上下文 `dashboard.live_context` 包含每次查询重新派生的 `current`、插件加载后最后捕获的 `last_request` 以及查询时间。LLM 中间件只观察请求并原样调用 next,不修改消息。主看板通过宿主公开的 data 属性限定输入框隐藏规则,卸载看板即恢复,右侧槽位不注入该规则。