Files
makelore/.project-docs/30-worklog/tasks/20260912-agent-draft-design-9d82c9b4.md
T

54 lines
6.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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: 70fa916edf74bf44308b279f90ccd945f8269f48
- 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:方向已获确认,集成时核对最终实现即可。