chore: establish YCode replication baseline and TODO
This commit is contained in:
commit
6dc59f89ba
1118 files changed
+196002
No files matched your search
@@ -0,0 +1,58 @@
|
||||
# 模型编辑、模型选择与上下文状态
|
||||
|
||||
## 对标依据
|
||||
|
||||
2026-10-09 通过 WorkBuddy 5.7.6 的真实渲染页 CDP、DOM、计算样式和安装包资源确认,未使用 computer-use。原始会话及采集资源只保存在用户私有目录。
|
||||
|
||||
- 模型入口高 32px,图标 16px、箭头 14px;弹层宽 280px、最大高 368px、圆角 16px、内边距 8px。列表按渠道分组,组标题高 28px,模型行基准高 32px;选中标记、悬停、滚动和键盘操作共用一个列表。
|
||||
- 上下文入口位于模型入口左侧,点击区域 32px,圆环 16px、线宽 2px。用量面板宽 280px、内边距 16px、圆角 16px,包含百分比、token 用量、占用条与分类图例。
|
||||
- WorkBuddy 的付费、Max 等专有功能没有对应的 Ygent 功能,不能添加无效入口。模型图标采用随包本地 SVG(Lobe Icons 1.95.1,保留 MIT 许可),按 canonicalId 模型归属匹配;未识别元数据时仅按已知模型名前缀回退,未知模型显示通用图形。模型按钮及列表共用组件,客户端不访问图标 CDN。
|
||||
|
||||
## 已实现
|
||||
|
||||
模型编辑恢复输入上下文、输出上限的选项按钮。输入提供 32K/64K/128K/256K,输出提供 8K/16K/32K/64K;精确模型上限作为独立选项,超出模型上限的预设不可选。默认不展示数字输入框,点击“自定义”后才能输入;保留元数据默认值、逐字段覆盖与恢复自动能力。
|
||||
|
||||
补充:两组均提供 128K/256K/1M,token 档位使用十进制 K=1000、M=1000000。模型声明在 1000000–1050000 的窗口归入 1M 显示档,但选中与保存采用模型的精确上限(例如 1050000),悬停显示准确 token 数。128000 对应 128K,不再因按 1024 换算而被误判超限。已有精确数字不重算。
|
||||
|
||||
自动输出预算直接使用元数据声明的输出上限(例如 gpt-6-luna 为 128000),不再统一限制为 8192 或上下文的一半;保留每字段手动覆盖,仅元数据未声明输出上限时兜底 8192。配置允许输出上限等于上下文上限,实际请求仍校验输入加输出预留是否超限。
|
||||
|
||||
对话模型菜单改为单层渠道分组列表,选择真实模型后关闭;支持方向键、Enter、Escape、外部点击关闭和焦点返回。当前模型的原生思考选项及预算仍可设置,配置入口打开模型设置。新建任务和对话复用同一模型组件。
|
||||
|
||||
对话输入区增加上下文圆环、悬停说明及点击详情。切换会话会清空旧显示,生成期间及面板打开时每两秒刷新;查询不启动、不切换、不重启 Agent。
|
||||
|
||||
## 用量语义与边界
|
||||
|
||||
- OMP 总量:读取已绑定当前会话的 `get_state.data.contextUsage`,标注“内核当前上下文估计”。读取最长等待两秒,操作冲突或失败使用本会话持久化快照。
|
||||
- 直连:读取实际 SSE 的最近请求输入计数,标注“最近请求的输入用量”。支持 Chat Completions、Responses、Anthropic Messages、Gemini;Anthropic 包含缓存读取与写入输入。
|
||||
- 不把各轮 token 累加作为上下文占用,不把输出或账单总量当成输入。没有真实计数/窗口时显示“—”,不能用运行时兜底窗口伪装模型实际上限。
|
||||
- OMP 分类:随包观测扩展读取主 Agent 的实际 `context` 输入与 `before_provider_request` 最终工具声明,通过 OMP 分词器本地计数;不是分类 RPC,也不按内核总量分摊比例。分类与内核当前总量是独立快照,可能不相等。
|
||||
- 分类包含系统提示词(扣除已识别的技能目录)、工具及子智能体的声明/调用/返回、对话正文、MCP 声明/调用/返回、技能目录及按需读取的正文。只计算当前主 Agent 实际输入中可见的内容,不推断子 Agent 的私有上下文。停用技能或连接器后,仍在输入历史中的调用和返回继续计入原分类。
|
||||
- 面板显示各类估计 tokens 及其占请求时上下文窗口的比例;悬停可查看精确估计数、快照时间、模型和请求身份。无法识别名称的工具声明列入“未归类”,仅非零时显示;供应商协议封装及未公开的隐藏输入不伪装成已分类内容。
|
||||
- 精度按真实计数路径标注“模型分词器”、`o200k_base` 或“UTF-8字节估算”。后两者及本地分类都不能当作上游账单实测值;没有请求快照、直连尚无可靠分类来源时继续显示“— / 暂无分类统计”,不以零补齐缺失数据。
|
||||
- 分类每次实际准备模型请求时替换,不累加;按宿主会话/请求/原生会话文件校验后持久化。取消保留已准备输入,拒绝取消后的迟到帧;重载和总量刷新保留同一分类快照。旧历史不反推分类,更新后的 OMP 进程产生新请求后才会有新统计。
|
||||
- 快照按会话持久化;直连数值是最近请求观察值,不代表用户编辑历史后已经重新计算;新请求开始清除旧的直连观察值。
|
||||
|
||||
## 验收
|
||||
|
||||
2026-10-09:后端 `cargo test --lib --quiet` 69 项通过、1 项忽略,包含各协议输入计数、覆盖而非累加、缓存计数、会话隔离和 OMP 字段解析。`npm run build`、`npm run models:check`、`npm run check:chat` 通过。
|
||||
|
||||
原生验收使用隔离数据库与真实 Tauri IPC,脚本 `scripts/model-context-native-check.mjs`;上游仅使用本机受控 SSE 服务,不操作用户正常会话,不替换前端 IPC。Windows WebView2 视口 1335×916、DPR 1:编辑器选项/精确上限/自定义/恢复自动、模型列表位置和方向键焦点、上下文面板/Escape、两轮输入 1250→2750 替换而非累加、跨会话隔离及重载恢复均通过;六档字号下两种面板均宽 280px,无横向截断。模型选择使用真实按钮激活验收,未将 CDP 的 Enter 默认行为计为已通过。
|
||||
|
||||
截图和 DOM 证据位于用户私有目录 `C:/Users/Administrator/.ygent/imports/model-composer-20261009/native`。OMP 实际返回的窗口可能是内核可用窗口,不能强制等于模型元数据最大窗口;以实际 `contextUsage.contextWindow` 为准。本次只实测 Windows,未声称 Mac/Linux 通过。
|
||||
|
||||
### OMP 输入分类验收(2026-10-10)
|
||||
|
||||
隔离数据库、真实 Tauri IPC / WebView2、OMP 18.6.3;模型上游为本机受控 SSE,技能通过真实安装及按需读取接入,MCP 通过真实 stdio 握手、工具发现及独立宿主授权调用。未替换 IPC、未注入前端分类数据,不把受控上游当成真实供应商计费验收。Windows 视口 1335×916、DPR 1;其他平台未实测。
|
||||
|
||||
八项场景通过:无请求时分类未知;技能与 MCP 调用后五类均有真实输入计数;刷新总量不覆盖分类;六档字号下 280px 面板无横向溢出、Escape 关闭并返回焦点;未启动的第二会话查询不创建内核会话文件且不串分类;下一请求替换而非累加并保留历史技能/MCP 输入;运行及取消保留已准备输入;真实 WebView 重载恢复同一快照且不产生新模型请求。DOM、计算字号/行高、边界及滚动尺寸与截图同时采集。
|
||||
|
||||
本次分词路径为 UTF-8 字节估算:首次内核总量 8,935,独立分类合计 9,383;停用扩展后的新请求分类合计 8,857,取消回合 8,878,重载后保持不变。分类没有缩放为内核总量,也没有把旧快照累加到新快照。
|
||||
|
||||
后端 `cargo test --lib --quiet --manifest-path src-tauri/Cargo.toml`:119 项通过、1 项忽略,覆盖分类和校验、溢出、会话隔离、旧请求/取消身份拒绝;`npm run build` 与 `npm run check:chat` 通过。构建仍有已有的大 chunk 和 `knowledge::context` 未使用警告,未扩展本轮范围处理。
|
||||
|
||||
证据:用户私有目录 `C:/Users/Administrator/.ygent/imports/context-categories-native-C7mOTZ`,含 `result.json`、真实上游请求、六档 DOM/计算样式及第 1/6 档截图。隔离进程与本机服务已关闭;临时验收脚本不留在仓库。
|
||||
|
||||
|
||||
## 本地图标验收
|
||||
|
||||
2026-10-09:14 个品牌 SVG 在真实桌面 WebView2 中均完成解码,模型按钮与列表图标为 16×16px,资源均为本地/内联资源。未知归属回退和 GPT 模型名回退已验证;类型检查、构建及 diff 检查通过。截图与 DOM 位于私有目录 `C:/Users/Administrator/.ygent/imports/model-icons-20261009`。
|
||||
Reference in new issue
Block a user