6.8 KiB
Task: 设计桌面端云智能体草稿工作区交互
Identity
- Task ID: 20260912-agent-draft-design-9d82c9b4
- Mode: Feature
- Branch: codex/20260912-agent-draft-design-9d82c9b4-agent-draft-design
- Worktree: D:\Datas\OthersProjects.codex-worktrees\makelore\20260912-agent-draft-design-9d82c9b4
- Base commit:
70fa916edf - Owner: codex
- Status: Ready for Integration
Scope
- 用户继续确认交互规格后,在同一隔离任务实施 MakeLore 桌面智能体编辑工作区:全高分栏、独立滚动、配置分类、保存与试用版本分离、快捷键、独立费用上限以及相关单元和 Electron 验证。只修改相关客户端源码、测试、README 和本人任务记录,不修改主目录或 canonical memory。
Intent And Constraints
- 已加载 maintain-project-docs 与 make-interfaces-feel-better。bundled check/start/status 成功,feature 模式、任务、基线、分支及绝对工作树一致;Concurrent/Planning Gates Passed。主目录由另一个已完成任务持有且有原有未提交文档,本任务在基于 main 的隔离树中工作。
- 已读入口、本人记录、共享快照、个人云平台已接受决策及相关架构/领域/证据/反思/承诺内容;读取 182 个 peer 的 Scope/Intent/Promotion 并核对同模块完整记录。历史占位任务保持未知、只读,无本提案的具体语义依赖。源 AGENTS/部分 shared 文档的三个模块说明早于个人云平台已接受决定,不把它当作禁止现有第四模块的依据。
- 用户已批准按设计实施。保持个人创作者、Main-owned 网络与凭据、Yuxi 执行/冻结请求及创建者付费;不创建子智能体,不调用真实云服务,不发布安装包、推送、部署或清理之前的工作树。首次实现采用明确保存,不加入自动保存或离线同步。
- 续接时 bundled check/start/status 通过,原任务恢复 planning,Planning Gate Passed。沿用已读的 182 个 peer 记录并读取更新的 image-input 任务;后者涉及 Code 模型图片能力,不与本任务云智能体界面冲突。
Outcome
- 已将已确认设计实现到 MakeLore 客户端。MainLayout 为 Agents 使用全高无外层滚动布局,标题改为账号级“智能体工作区”;列表和共享对话保留各自可达入口。
- DraftEditor 提取为独立组件,工具栏承载名称与保存状态;编辑/对话/自动任务保留已访问面板,发布与访问独立入口。指令/能力/知识/限制分组保留原知识、MCP、Skill、子智能体和运行配置功能;能力可搜索和选择,已不可用资源仍可取消选择。
- DesktopSplit 支持拖动、方向键调整、双击/Home 复位、展开/Esc 还原、F6 切焦点及仅尺寸偏好的本机记忆。剩余宽度小于 760px 时切换配置/试用面板。聊天区、配置区独立滚动,输入框固定;版本提示和附件区有高度约束。
- 草稿保存不再以修订 key 重挂 CloudChat。未发送文字、附件、历史、进行中/未知请求保留;新试用明确选择最新保存修订并携带未发送文字。已有请求重试维持原 request_id、expected_revision 和附件;旧修订新请求禁用,旧会话可从历史重开。清空模型并保存也不会卸载已有试用。
- Ctrl/⌘+S 明确保存,Enter 发送、Shift+Enter 换行及中文输入法保护。保存失败保留输入,冲突继续按用户选择处理;异步保存/版本恢复不会覆盖其间发生的本地内容修改。离开工作区仍保护未完成输入,采用已有 Radix Dialog 管理焦点。
- 费用上限移至限制分类独立保存,不触发草稿保存或发布。隐藏但继续运行的对话不写最近访问指针,也不提前标记已读。
- README 同步已实现行为。修正导航单测仍假设三个模块的旧断言,源码和已接受产品决定均已有第四个 Agents 入口。
Verification
-
pnpm 10.33.4 frozen install、typecheck、相关源码和测试 scoped ESLint 通过(CloudChat 两条既有 warning:混合导出及 generation ref cleanup;无 error)。build:vite 成功,保留既有动态/静态混合导入和 chunk 提示,未发布安装包。
-
全套 pnpm test 在主要改动后通过:229 个普通测试文件,2004 passed / 2 skipped;独立压力测试 1 passed。之后针对模型清空、隐藏对话已读、资源搜索和最后布局修正重跑最终 7 个相关文件,65 tests passed。
-
真实 Windows Electron E2E 通过:创建/离开保护、保存、恢复、预算独立保存、发布、正式聊天、建议生成自动任务及默认未启用;1366×768 与 980×680 窗口长回答、输入框底部可见、无外层滚动、拖动/键盘分栏、展开/Esc、F6、保存不丢文字/结果和新旧试用版本;Electron 内容缩放 125% / 150% 下输入框仍可见。该缩放测试不是 macOS 或 OS DPI 实机认证。
-
视觉回读发现并修复遗留 sm:p-6 外边距及小窗口/150% 下提示占高导致输入框裁切。截图来源是本分支构建的 Electron 应用,云端由现有 Host API fixture 提供;未调用真实服务或产生词元费用。
-
首次失败 E2E 退出时受未发送内容保护阻碍,已仅停止经路径核对的本任务测试进程,并在当前 spec finally 销毁所拥有的测试窗口;后续 E2E 正常完成。未影响用户主客户端。
-
独立 HTML 草图的原 file:// 浏览器安全拒绝未绕过。本轮通过实际源码 Electron fixture 验收,不是间接打开该草图。
-
Task Documentation Gate:检查基线以来的已提交设计和未提交实现;bundled check_doc_drift 与 git diff --check 通过。实际截图已另存到 C:\Users\7brot.codex\visualizations\2026\09\10\01a0890f-f36d-7f43-b7a0-d3d2232e3ca3\agent-draft-implemented.png 和 agent-draft-compact-implemented.png,未将构建/报告/截图提交到仓库。
Follow-ups
- 交付本地功能分支,未合并主分支、推送或替换已安装客户端;按用户后续指示集成。
- 自动保存和本机耐久草稿仍不在本轮范围,不能把当前的云端明确保存误称为离线同步。
- 本轮 Windows 实机验证;macOS 原生组合键由 metaKey 路径支持,未进行 macOS 实机验证。
Promotion Candidates
- Target:个人云智能体客户端 UX 与架构文档。Proposal:将全高桌面编辑工作区、保存与试用版本分离、独立费用政策、隐藏会话未读语义记入 canonical。Evidence:用户已确认规格,本分支源码及 unit/Electron 验收。Future impact:后续客户端迭代不得恢复保存即重建试用的行为。Semantic conflicts:旧三模块描述已早于个人云平台接受决定;本轮未修改 canonical。Human confirmation:方向已获确认,集成时核对最终实现即可。