feat: 添加模型上下文管理并统一主题组件与用量交互
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# 主题组件覆盖检查(2026-09-05)
|
||||
|
||||
本次检查仓库内 3 个内置主题和 3 个社区预设,共扫描 105 个前端源文件的组件与语义样式变量。用户自行导入的第三方 CSS 不在仓库中,不据此声称已验收。
|
||||
|
||||
## 范围与结果
|
||||
|
||||
扫描到 70 个颜色、字体、间距、圆角、阴影、动效和行高变量引用,修复后未定义引用数为 0。颜色及控件样式由共享 token、组件样式和主题覆盖共同提供;继承共享样式不等于未适配。新增 `themeCoverage.spec.ts` 保持全源文件变量引用检查,并检查社区预设的交互色、Markdown 色及 color-scheme。
|
||||
|
||||
| 主题 | 新版本 | 修正 |
|
||||
| --- | --- | --- |
|
||||
| Light / Dark | 1.1.1 | 原生表单控件底色及浏览器 color-scheme |
|
||||
| Sepia | 1.1.1 | 控件底色、焦点、按下态、柔和悬停色 |
|
||||
| Ocean Blue | 1.3.1 | 活动态、反色文字、禁用色、Markdown 表格与标记色 |
|
||||
| Midnight Purple | 2.1.1 | 深色 color-scheme、原生控件及上述交互/Markdown 色 |
|
||||
| 纸间时光 | 1.6.1 | 新增分模型统计、缓存说明、数据提示及大图查看样式 |
|
||||
|
||||
MCP JSON 编辑器错误引用的 `--font-family-mono` 已改为共享 `--font-ui-mono`。全局原生控件底色使用零优先级选择器,组件和主题仍可覆盖。旧版社区主题需在主题页点击“更新”;不会覆盖用户自行修改的已安装 CSS。
|
||||
|
||||
这是全仓库静态样式覆盖和功能回归检查,不是所有屏幕尺寸下的逐页视觉验收,也不把变量有定义等同于对比度全部达标。
|
||||
|
||||
## 用量与交互
|
||||
|
||||
柱状图按日期和来源聚合,再以 Provider ID + 模型 ID 分割同柱。模型分段之和与来源总计一致;同一来源使用色彩深浅区分,提供商柱保留斜纹。缺失计数仍显示“未提供”,不补估历史值。
|
||||
|
||||
缓存命中率只对同时提供命中和未命中计数的请求计算:命中合计除以这些请求的输入合计;缺少输入时分母使用命中加未命中。本次本地记录检查中的两次 DeepSeek 调用,厂商明确报告命中 0,未命中分别为 1015、1219,写入缺失。没有新增外部模型调用。
|
||||
|
||||
AI 对话 Enter 发送,Shift+Enter 换行,输入法确认和长按 Enter 不触发重复发送。Mermaid 普通预览控件在悬停/键盘聚焦时显示,触屏保留按钮;大图可直接滚轮缩放,普通预览需中键启用。滚轮归一化并按时间限制缩放速度,每秒连续输入不会无限叠加瞬时倍率。
|
||||
|
||||
|
||||
## 下拉与折叠控件补充
|
||||
|
||||
编辑器外观行统一为标签、38px 控件、说明三层,避免只有代码主题字段带说明时将其他控件拉偏。补齐所有原生 details 的 `ui-disclosure` 样式,统一折叠箭头、展开背景和边框。下拉框增加共享箭头、选项配色、焦点及禁用态;支持 `appearance: base-select` 的浏览器使用可主题化选项面板,其他浏览器保留原生选择行为并应用可支持的颜色。原生系统弹出层的完整装饰不能仅靠 CSS 在所有浏览器中保证。
|
||||
@@ -0,0 +1,38 @@
|
||||
# 模型上下文管理
|
||||
|
||||
核对日期:2026-09-05。
|
||||
|
||||
Provider 表单按精确模型 ID 保存 `context_policies`,包含窗口、输出预留、触发比例、处理模式和摘要提示词。旧配置默认空列表,未配置模型保持原行为。窗口是用户设置的预算,不会改变厂商限制;同一厂商的不同模型、地域和部署不能共用推测的窗口规格。
|
||||
|
||||
## 请求行为
|
||||
|
||||
- 发送前对系统提示词、文本历史、工具定义、调用参数和输出格式进行 UTF-8 长度估算(字节数 / 2 向上取整,加 64)。这是启发式检测,不能替代厂商 tokenizer,也不能准确预测隐藏思考开销。
|
||||
- 输入预算为窗口减去输出预留;请求输出上限和自定义输出、思考参数会纳入预算。未指定输出上限时使用配置的输出预留。
|
||||
- 达到输入预算的触发比例后,“检测”模式停止请求并提示调整配置或新建会话。“压缩”模式额外调用当前模型,摘要仅替换本次请求中的旧历史,数据库原始记录不变。每次超阈值请求重新生成摘要,摘要调用单独计入用量。
|
||||
- 压缩保留系统消息和最近两个用户回合;只有两个回合时保留最新回合。摘要作为用户角色的参考材料,不提升为系统指令。
|
||||
- 无旧历史、附件、工具调用链、摘要请求超限、空摘要或压缩未缩短等情况停止,不截断原文、不循环重试。摘要失败仍可能产生已发生的厂商用量。
|
||||
- 流式聊天通过 `ContextStatus` 提示成功压缩,通过 `Error` / `Done` 提示检测失败。此实现不是厂商原生 compaction,也不通过缓存命中率判断是否压缩。
|
||||
|
||||
## 官方文档依据
|
||||
|
||||
表单提供对应文档链接。只有核对到精确模型 ID 的值用于建议;未识别型号显示可编辑的 32,768 初始预算,并明确其不是厂商规格。
|
||||
|
||||
| 预设 | 参考文档与限制 |
|
||||
| --- | --- |
|
||||
| OpenAI Chat / Responses | [上下文状态](https://developers.openai.com/api/docs/guides/conversation-state):输入、输出和推理共用模型窗口,原生压缩是独立功能。 |
|
||||
| Anthropic | [上下文窗口](https://platform.claude.com/docs/en/build-with-claude/context-windows)、[Compaction](https://platform.claude.com/docs/en/build-with-claude/compaction):原生压缩有独立的模型与接口约束。 |
|
||||
| DeepSeek | [模型规格](https://api-docs.deepseek.com/quick_start/pricing/):按实际模型核对窗口和输出上限,不根据缓存计数猜测压缩。 |
|
||||
| Ollama | [Context length](https://docs.ollama.com/context-length):实际窗口还受服务端配置和设备资源限制。 |
|
||||
| Kimi | [Chat API](https://platform.kimi.com/docs/api/chat):按具体模型核对请求限制。 |
|
||||
| 百炼 Qwen | [文本模型](https://help.aliyun.com/zh/model-studio/text-generation-model):型号和地域影响上下文、输入、输出限制。 |
|
||||
| 智谱 GLM | [模型概览](https://docs.bigmodel.cn/cn/guide/start/model-overview):按具体模型填写。 |
|
||||
| 火山方舟 | [官方文档入口](https://www.volcengine.com/docs/82379):接入点需以实际部署型号为准,本次不预填统一容量。 |
|
||||
| 硅基流动 | [文本生成](https://docs.siliconflow.cn/docs/userguide/capabilities/text-generation):各模型 context_length 不同,以模型广场为准。 |
|
||||
| 百度千帆 | [上下文管理](https://cloud.baidu.com/doc/qianfan-docs/s/Imkdq47r5):部分思考模型 max_tokens 仅限制回答,max_completion_tokens 包含思考。 |
|
||||
| 腾讯混元 | [官方产品动态](https://cloud.tencent.com/document/product/1729/97765):不同型号存在独立输入、输出限制,不预填厂商统一容量。 |
|
||||
| MiniMax | [OpenAI 兼容接口](https://platform.minimaxi.com/docs/api-reference/text-openai-api):M3 为 1,000,000;文档列出的 M2.x 为 204,800。仅对列出的精确 ID 提供建议。 |
|
||||
| 阶跃星辰 | [模型概览](https://platform.stepfun.com/docs/zh/guides/models/overview):按实际型号核对。 |
|
||||
|
||||
## 验证范围
|
||||
|
||||
离线测试覆盖预算触发、模型隔离、无副作用压缩、工具历史保护、单条输入超限、无效摘要、输出覆盖参数、流式错误事件以及配置校验。前端覆盖保存恢复与切换地址清理配置。没有调用用户的真实厂商账号进行收费验收。
|
||||
Reference in New Issue
Block a user