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,48 @@
|
||||
# 输入框菜单与附件进度
|
||||
|
||||
2026-10-08:已将技能、连接器从输入框底栏合并到 WorkBuddy 风格的“+”二级菜单。新建任务、普通对话和项目内输入使用相同添加菜单与附件组件。专家仍按能力接入方案 P3 实施,当前菜单不显示未实现的专家操作。
|
||||
|
||||
2026-10-09:添加列表进一步统一为12px圆角、36px行高和线条图标;文件来源子菜单收窄至200px,两级菜单间隔4px,首行内容沿父条目对齐。技能/连接器的重复标题移除,勾选控件统一置于行右侧,空态和管理入口采用相同间距。原生9335验证三种子菜单在六档字号下均位于视口内,位置仍随内容尺寸与窗口边界调整;本轮实际列表为空,未新增安装或修改会话能力选择。
|
||||
|
||||
## 当前行为
|
||||
|
||||
- + → 添加文件 → 本地文件,调用系统多选选择器;也支持拖入输入框。拖到侧栏等输入框以外位置不添加。
|
||||
- 一次/一条消息最多8个附件,单文件不超过20MB。草稿展示名称、大小和移除按钮;可不填写文字直接发送,使用“请查看附件”作为请求。
|
||||
- 导入时将原文件复制到 Ygent 数据目录 `attachments/<独立ID>/`,保留文件扩展名,原文件不移动、不修改。相同名称独立保存,源文件随后改变不影响已保存副本。
|
||||
- 附件元数据由后端按ID解析,与用户消息在同一SQLite事务内保存到 render_meta;正文仍为用户输入,不混入附件路径和文件内容。显示、重载和分支使用此元数据。
|
||||
- OMP 请求加入附件副本路径;UTF-8文本内联前128KB,超过部分明确标注截取,工具可继续读取副本。图片/其他二进制保留真实扩展名和副本路径,由模型的文件工具读取;不能宣称所有文档格式均已支持。
|
||||
- 直连模式只支持128KB以内、不含NUL的UTF-8文本附件;不支持的二进制/大文本在发送前明确报错,不产生用户消息。直连后续请求重新从真实副本恢复历史附件上下文。
|
||||
- 发送后立即清空草稿;失败恢复文字和附件。切换会话/页面清理当前附件草稿,文件选择期间切换页面不会把旧选择落到另一输入框。生成中不改动当前回合附件。
|
||||
- 技能与连接器仍使用原会话选择逻辑,菜单显示已选数量,生成中不能修改选择;管理入口进入相应的技能/连接器标签页。
|
||||
|
||||
## 已验证
|
||||
|
||||
环境为真实Tauri WebView2、CDP9335,视口1335×916、DPR1。使用独立临时对话和本地测试文件,未在参照会话发送测试消息。
|
||||
|
||||
1. 真实IPC导入UTF-8文本,OMP模型回答附件中的验证口令。
|
||||
2. 在新建任务页面通过受控Tauri拖入事件触发前端导入,再点击实际发送按钮;模型正确读取,重新载入会话后附件名称/大小仍存在。
|
||||
3. PNG附件通过真实OMP `read` 工具读取,模型正确回答图片主色;不是仅将图片名称作为文字传入。
|
||||
4. 真实数据库回复分支包含两条用户消息的附件元数据。
|
||||
5. 用直连模式发送PNG,消息数不变,前端文字及附件恢复,显示明确限制提示。
|
||||
6. 1至6档真实原生DOM测量,菜单字号为13/14/15/16/16/16px,子菜单没有内部横向溢出,位于视口内。主菜单的scrollWidth包含向右定位的子菜单,不把此正常外部定位当作内部文字溢出。
|
||||
7. Rust 33项测试、前端构建、对话回归通过;附件测试覆盖副本独立性、路径越界拒绝、二进制直连拒绝与OMP引用。
|
||||
|
||||
证据位于用户私有目录 `~/.ygent/imports/hello-layout-20261008/yg-attachment-*` 和 `yg-add-fonts.json`,不提交真实消息/截图。测试对话已从可见列表删除,恢复原会话5、OMP及字号第2档。
|
||||
|
||||
## 验收边界与后续
|
||||
|
||||
系统文件选择器使用真实后端Dialog API,但本轮没有自动操作Windows原生文件选择窗口;受控拖入事件验证的是前端处理和真实导入链路,不等同于真实鼠标拖拽验收。项目内输入复用同一组件和发送合同,项目对话附件专项尚未单独发送模型测试。
|
||||
|
||||
尚未接入项目资产选择、云文件来源、附件内容预览、图片缩略图、OCR/文档转换及自动清理未发送的副本。二进制解析能力取决于当前OMP工具/模型;本轮明确实测UTF-8文本与PNG,不承诺PDF/Office等类型全部可读。当前副本保留用于历史与分支,移除草稿不会删除源文件或历史副本。
|
||||
|
||||
## 调试操作
|
||||
|
||||
按 `ygent-debug.md` 启动9335,打开临时对话;使用原生DOM和IPC采集,禁止用浏览器模拟IPC代替桌面验收。日常验证命令:
|
||||
|
||||
```powershell
|
||||
npm run build
|
||||
npm run check:chat
|
||||
cargo test --lib --manifest-path src-tauri/Cargo.toml
|
||||
```
|
||||
|
||||
真实模型验收分别发送含唯一口令的文本和具有明确主色的PNG,检查模型响应、工具调用、render_meta、重载及分支;失败路径检查消息未误发送、正文/附件恢复。恢复原会话与字号,清理临时对话,不改用户参考消息。
|
||||
Reference in new issue
Block a user