feat: 改造云智能体桌面编辑与试用工作区
This commit is contained in:
@@ -86,7 +86,7 @@
|
||||
|
||||
先做全高布局、紧凑工具栏、可调分栏、固定输入框、配置分类及窗口标题上下文;随后解耦保存与试用状态、恢复编辑位置和输入、补快捷键与错误处理。自动保存和本机耐久草稿在其真实行为明确后实现,不能用视觉上的“已保存”代替。
|
||||
|
||||
后续实施至少验收以下可观察结果;本次没有运行这些产品测试:
|
||||
以下为产品验收目标;后续本任务已实施首版,实际完成的检查与平台边界见本人任务记录:
|
||||
|
||||
- 1366×768、1440×900、窄窗口及系统 125%/150% 显示缩放下,长指令/长回答不会把输入框推离工作区;无非预期整页或横向滚动。
|
||||
- 拖动分隔线、键盘调整、展开/还原和窗口缩放后,两栏内容、输入与滚动位置保持;偏好正确恢复。
|
||||
|
||||
@@ -12,32 +12,42 @@
|
||||
|
||||
## Scope
|
||||
|
||||
- 将用户确认的桌面端云智能体编辑方向收敛为可实施的交互规格,并交付独立本地交互草图。只修改本人任务和提案,不改业务代码、主目录或 canonical memory。
|
||||
- 用户继续确认交互规格后,在同一隔离任务实施 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 执行/冻结请求及创建者付费;不创建子智能体,不调用云服务,不打包、发布、推送、部署或清理之前的工作树。
|
||||
- 用户已批准按设计实施。保持个人创作者、Main-owned 网络与凭据、Yuxi 执行/冻结请求及创建者付费;不创建子智能体,不调用真实云服务,不发布安装包、推送、部署或清理之前的工作树。首次实现采用明确保存,不加入自动保存或离线同步。
|
||||
- 续接时 bundled check/start/status 通过,原任务恢复 planning,Planning Gate Passed。沿用已读的 182 个 peer 记录并读取更新的 image-input 任务;后者涉及 Code 模型图片能力,不与本任务云智能体界面冲突。
|
||||
|
||||
## Outcome
|
||||
|
||||
- 交互规格已保存到 .project-docs/10-decisions/proposals/20260912-agent-draft-design-9d82c9b4__desktop-workspace.md:全高工作区、紧凑导航、独立滚动和固定输入框、可调分栏、四类配置、独立预算保存、保存与试用版本分离、键盘/窗口/恢复行为及验收场景。
|
||||
- 基线源码证明 Agents 未采用 MainLayout 全高分支、DraftEditor 为居中长页面、明确保存成功后通过 revision key 重挂 CloudChat;费用上限是独立即时政策。规格据此明确保留试用内容,不把每次保存当成切换试用的动作。
|
||||
- 首次实现优先布局与状态解耦、明确保存和 Ctrl/Cmd+S;自动保存需处理保存期间新增编辑、冲突与未知结果。没有发现现成的未保存配置耐久草稿能力,不能凭端应用身份承诺离线保存。
|
||||
- 独立演示文件位于 C:\Users\7brot\.codex\visualizations\2026\09\10\01a0890f-f36d-7f43-b7a0-d3d2232e3ca3\agent-draft-desktop.html。演示有分类切换、分栏调整/展开、长回答、输入、保存与旧试用保留、错误/冲突示意和独立预算操作,所有内容/状态均明确为示例,无外部调用。
|
||||
- 已将已确认设计实现到 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
|
||||
|
||||
- 只读核对 CloudAgents/index.tsx、ConfigurationFields.tsx、CloudChat.tsx、CloudCosts.tsx、CloudAccess.tsx、MainLayout.tsx 与 TitleBar.tsx;产品行为结论对应已观察的实际源码,不从截图推断后台状态。
|
||||
- 尝试内置浏览器打开本地 file:// 草图被 URL 安全策略拒绝,未使用其他入口或间接执行绕过;没有浏览器视觉和真实交互回读证据。设计稿不冒充已实现或已验收产品。
|
||||
- 交付检查通过:Node --check 确认草图 JavaScript 语法有效;HTML 36 个静态元素 ID 无重复、无外部资源链接;bundled check_doc_drift 及 git diff --check 通过。未运行产品 unit/build/Electron 测试,因为没有产品代码变更,所列验收场景供后续实现使用。
|
||||
- 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
|
||||
|
||||
- 见本人 desktop-workspace 提案末尾 Promotion Candidate。总体方向已确认;实际实现/证据与 canonical 提升留待后续,不改写 accepted ADR 或其他源任务。
|
||||
- Target:个人云智能体客户端 UX 与架构文档。Proposal:将全高桌面编辑工作区、保存与试用版本分离、独立费用政策、隐藏会话未读语义记入 canonical。Evidence:用户已确认规格,本分支源码及 unit/Electron 验收。Future impact:后续客户端迭代不得恢复保存即重建试用的行为。Semantic conflicts:旧三模块描述已早于个人云平台接受决定;本轮未修改 canonical。Human confirmation:方向已获确认,集成时核对最终实现即可。
|
||||
|
||||
Reference in New Issue
Block a user