docs: 明确云智能体桌面编辑工作区交互
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
# MakeLore 云智能体桌面编辑工作区
|
||||
|
||||
状态:交互规格提案;桌面工作区方向已获用户确认,具体行为以本提案继续讨论。尚未修改产品代码或声明正式交付。
|
||||
|
||||
## 目标与边界
|
||||
|
||||
让个人创作者在同一个桌面窗口内反复完成“修改配置 → 用明确版本试用 → 查看结果 → 发布”。复用 MakeLore 现有浅色视觉、原生窗口控制、应用导航和 Main Host API;不另造网页外壳或多窗口应用。云智能体属于账号,不显示当前 Code 项目作为它的归属。
|
||||
|
||||
自用、试用、分享、API、主动及定时任务均保留;创建者付款、调用者内容隔离、不可变发布版本和原生云执行契约不变。关闭客户端不等于取消已接受的云任务。
|
||||
|
||||
本次只交付规格与本地交互草图。草图中的回答、保存、发布、资源与费用均为示意,不连接服务、不计费、不上传、不改变真实配置;不能用它证明实际 Electron 行为。
|
||||
|
||||
## 已核实的当前实现
|
||||
|
||||
基线:`70fa916edf74bf44308b279f90ccd945f8269f48`。用户截图是现场视觉证据,下面是基线源码事实,不推断已安装客户端与当前源码完全一致。
|
||||
|
||||
- `src/components/layout/MainLayout.tsx` 的普通内容为 `overflow-auto` 和页面 padding。Code/Canvas 有全高工作区分支,Agents 未接入。
|
||||
- `src/pages/CloudAgents/index.tsx` 的 DraftEditor 为居中 `max-w-6xl` 页面;返回、标题、页签和大间距依次占据垂直空间。
|
||||
- DraftEditor 明确调用 save 并携带 `expected_revision`,成功后更新已保存快照。不存在已证实的自动保存或未保存配置的本机持久化。保存失败会读取云端草稿并保留用户输入。
|
||||
- 试用通过 `CloudChat key={saved.draft_revision}` 渲染。保存新修订会重新挂载;未发送或未确认子操作由统一 pending 状态阻止保存/离开。
|
||||
- `CloudChat.tsx` 已有消息区内部滚动,但以 `max-h-[55vh]` 布局,叠加外层页面滚动;附件区和输入框仍参与页面高度。预览会话按修订过滤,已接受请求带冻结身份。
|
||||
- `ConfigurationFields.tsx` 把模型、全部资源目录、资源管理、知识管理、审批和运行限制纵向铺开。
|
||||
- `CloudCosts.tsx` 的费用上限走独立预算接口,当前位于发布与访问页。它是当前服务端政策,保存后影响后续模型调用,不是等待草稿发布才生效的配置。
|
||||
- `TitleBar.tsx` 已提供 `pageTitle` seam,也读取 Code 的 activeProject;应通过模块上下文提供 Agents 标题,而非改写 Code 项目状态。
|
||||
|
||||
## 桌面布局
|
||||
|
||||
| 当前形态 | 目标形态 |
|
||||
|---|---|
|
||||
| 居中长页面与整页滚动 | 填满标题栏以下剩余窗口;仅配置内容、聊天记录或当前管理页面内部滚动 |
|
||||
| 返回、标题、四页签分层占高 | 约 56–64 px 工具栏:智能体名称、草稿状态、编辑/对话/自动任务、发布与访问 |
|
||||
| 固定大侧栏与重复“我的智能体”返回 | 复用全局侧栏与既有折叠偏好;保留一处明确返回列表入口,不强行改变全局偏好 |
|
||||
| 左右固定比例 | 初始约 46% / 54%,分隔线可拖动及键盘调整;保存比例,限制两侧最小可读宽度 |
|
||||
| 内容撑出窗口 | 两栏 `min-height: 0` 与剩余高度约束;聊天记录伸缩,输入区停留在聊天面板底部 |
|
||||
| 窄窗纵向堆叠长页面 | 依据可用工作区宽度转为“编辑配置 / 试用”切换,保留两面状态;不切换成移动网页导航 |
|
||||
|
||||
两栏可用宽度约 760 px 以上时并排;配置约 340 px、试用约 380 px 为初步下限,最终以实际中文控件测量调整。编辑与试用均可独立展开到工作区,Esc 返回分栏;不是系统全屏或额外 BrowserWindow。窗口缩放和系统显示缩放按实际 CSS 可用空间重排。
|
||||
|
||||
标题栏继续保留 Windows 拖拽/最小化/最大化/关闭与 macOS 原生控制,不在内容页仿制。草图的窗口符号仅说明空间层级。
|
||||
|
||||
## 配置区的四个分类
|
||||
|
||||
| 分类 | 内容与交互 |
|
||||
|---|---|
|
||||
| 指令 | 名称在工具栏编辑,一句话简介占一行;角色与指令占主要空间,使用原生文本输入、撤销和上下文菜单 |
|
||||
| 能力 | 模型摘要与可用性、已添加工具/技能/MCP/子智能体;“添加能力”打开选择面板,支持搜索、分类、详情与明确添加/移除 |
|
||||
| 知识 | 已关联知识库/资料、处理状态、选择已有资源和文件导入;加载、索引、失败、替换分别可见 |
|
||||
| 限制 | 费用上限与工具审批、执行步数、输出量、时限;高级运行参数按需展开 |
|
||||
|
||||
分类切换不改变 Agent 身份,不保存、不发起模型调用,也不清空另一栏。目录名称与模型价格来自服务端,保留不可用的已选资源及其状态,不能因刷新静默移除。知识处理可能计费,应在执行入口保留现有说明。
|
||||
|
||||
费用上限虽移动到“限制”,仍使用独立的“保存费用上限”动作与独立状态。文案明确“保存后对后续模型调用生效,已获准调用继续结算”;覆盖自用、分享、API、预览、定时和知识调用,空值不限、0 阻止新增收费调用,沿用北京时间划日。不得被主草稿的“已保存”或“发布”状态掩盖。
|
||||
|
||||
## 保存、试用与版本
|
||||
|
||||
必须分别持有编辑缓冲、最近云端确认的草稿、正在查看的试用上下文。三个状态的区分服务用户判断,不直接把内部标识铺到主界面。
|
||||
|
||||
1. 编辑期间保留当前回答、滚动位置、未发送输入和活动请求。保存成功只更新云端草稿状态,不通过修订 key 自动拆掉当前试用面板。
|
||||
2. 旧试用显示“本轮 · 修订 N”;草稿变更后显示“配置已更新”与“用最新草稿试用”。该动作创建/选择当前修订的独立试用,保留历史结果,不把原请求或重试悄悄改成新配置。
|
||||
3. 本地修改未保存时,新配置试用的入口为“保存并开始新试用”。保存失败则停留、保留输入,不发起模型调用。点击保存本身不发送消息、不发布、不启用日程。
|
||||
4. 正在执行或结果未确认的请求仍绑定旧配置;保存或切换视图不取消、不自动重放。错误恢复继续沿用原幂等身份,不能以“重试”创建新的付费请求。
|
||||
5. 历史入口按时间和配置修订组织,支持查看旧修订。是否允许在过期草稿会话里继续发送,实施时以 Yuxi 当前契约为准;本提案的默认交互引导使用最新修订的新试用,不假设旧会话可套用新配置。
|
||||
6. 未发送文本、附件选择和未确认审批不能因配置分类/编辑模式切换丢失。离开智能体或切账号前按真实持久化能力保护,恢复记录必须以账号与智能体隔离。
|
||||
|
||||
首个可验证版本保留明确保存并增加 Ctrl/Cmd+S,确保上面三个状态先正确解耦。自动保存是该方向的后续增强,不直接在现有 save 上挂定时器:应串行保存稳定快照、保留保存期间新增编辑、暂停处理冲突/未知结果,并避免保存触发会话重建。未实现本机持久化前,不能显示“已保存在本机”;暂不把完整离线编辑/同步系统纳入界面重排。
|
||||
|
||||
| 状态 | 可见反馈与下一步 |
|
||||
|---|---|
|
||||
| 编辑有变化 | “未保存”;可保存或保存并新建试用,旧回答仍可读 |
|
||||
| 保存中 | 轻量状态;同一保存不重复提交,后续编辑不得被旧响应覆盖 |
|
||||
| 云端确认 | “云端已保存”;保存状态不代表发布或运行成功 |
|
||||
| 保存失败/结果未知 | 保留编辑与原操作信息,提供读取状态/明确重试;不用无限加载或静默重放 |
|
||||
| 云端版本冲突 | 比较本地和云端差异,用户选择后再提交,不用最后写入覆盖 |
|
||||
| 资源不可用 | 定位到能力项并说明;不清空原选择 |
|
||||
| 消息已接受、连接中断 | 显示正在恢复云端状态;不能引导用户重复发送同一业务意图 |
|
||||
|
||||
## 试用、发布与桌面操作
|
||||
|
||||
聊天区默认显示可读的深色正文;用户消息与助手回答层级明确。运行阶段、工具活动、产物、实际用量与审批附着于对应运行,完成后详情可折叠;可见费用以服务端结果为准,未结算显示待结算。原始错误、凭据、内部路径和模型内部推理不作为调试详情展示。
|
||||
|
||||
输入框固定于面板底部;附件以按钮和已选文件摘要进入,文件列表按需展开。支持 Enter 发送、Shift+Enter 换行及输入法组合保护,复用桌面原生复制/粘贴/撤销;不得覆盖输入控件既有快捷键。加载与恢复只影响相关动作,不能把整个窗口锁死。
|
||||
|
||||
“发布与访问”是一个完整管理入口,不能把已存在的分享撤销、应用凭据管理、停用、版本历史、归档和费用历史藏丢。按钮打开该管理视图并聚焦发布动作;发布明确基于已保存配置,采用现有版本与访问授权流程。普通对话使用已发布版本,自动任务保留独立导航,新任务保存后仍默认停用。
|
||||
|
||||
## 实施顺序与验收
|
||||
|
||||
先做全高布局、紧凑工具栏、可调分栏、固定输入框、配置分类及窗口标题上下文;随后解耦保存与试用状态、恢复编辑位置和输入、补快捷键与错误处理。自动保存和本机耐久草稿在其真实行为明确后实现,不能用视觉上的“已保存”代替。
|
||||
|
||||
后续实施至少验收以下可观察结果;本次没有运行这些产品测试:
|
||||
|
||||
- 1366×768、1440×900、窄窗口及系统 125%/150% 显示缩放下,长指令/长回答不会把输入框推离工作区;无非预期整页或横向滚动。
|
||||
- 拖动分隔线、键盘调整、展开/还原和窗口缩放后,两栏内容、输入与滚动位置保持;偏好正确恢复。
|
||||
- 输入未发送内容后切配置分类、修改并保存草稿,输入和当前试用结果不消失;新试用明确使用最新云端确认修订。
|
||||
- 保存期间继续输入、保存失败、修订冲突、请求结果未知时,编辑不丢失,状态不误报,没有重复运行或收费。
|
||||
- 知识处理/附件/审批保留原授权与确认语义;能力目录失败不抹去已有选择。
|
||||
- 费用上限独立保存且文案说明即时政策;草稿保存、发布、日程启用互不冒充。
|
||||
- 从 Code 切到 Agents 后标题表达账号级智能体,再返回 Code 时原项目上下文未改变;账号切换不会显示上一账号的草稿或试用数据。
|
||||
|
||||
## 交互草图与验证边界
|
||||
|
||||
本地草图:`C:\Users\7brot\.codex\visualizations\2026\09\10\01a0890f-f36d-7f43-b7a0-d3d2232e3ca3\agent-draft-desktop.html`。
|
||||
|
||||
支持配置分类、导航折叠、可调分栏、展开还原、长回复示例、试用输入、保存/旧试用保留及保存失败/冲突示意。费用政策独立保存。自动保存、本机耐久草稿、真实服务调用、生产资源选择和正式发布不在演示实现中。
|
||||
|
||||
内置浏览器因 URL 安全策略拒绝打开 file:// 页面;未绕过该限制,没有取得浏览器视觉或交互回读证据。草图不是已验收的产品界面。产品规格以本文件为准。
|
||||
|
||||
## Promotion Candidate
|
||||
|
||||
Target:已接受个人云平台 UX 与客户端架构记忆。Proposal:在实际实现和验收后记录账号级桌面全高编辑工作区、保存/试用状态分离、费用政策独立保存。Evidence:用户批准桌面工作区方向、上述基线源码与后续正式验证。Future impact:避免草稿保存重建对话、混淆费用政策与发布版本。Semantic conflicts:根 AGENTS/部分共享记忆仍只描述三个模块,个人云平台已接受决定拥有本模块边界;本提案不改写它们。Human confirmation:总体方向已确认,尚未把本设计提案冒充为产品已实现事实;canonical promotion 留待 Integration Gate。
|
||||
@@ -0,0 +1,43 @@
|
||||
# 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
|
||||
|
||||
- 将用户确认的桌面端云智能体编辑方向收敛为可实施的交互规格,并交付独立本地交互草图。只修改本人任务和提案,不改业务代码、主目录或 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 执行/冻结请求及创建者付费;不创建子智能体,不调用云服务,不打包、发布、推送、部署或清理之前的工作树。
|
||||
|
||||
## 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。演示有分类切换、分栏调整/展开、长回答、输入、保存与旧试用保留、错误/冲突示意和独立预算操作,所有内容/状态均明确为示例,无外部调用。
|
||||
|
||||
## 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 测试,因为没有产品代码变更,所列验收场景供后续实现使用。
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- 按已交付规格讨论和实施桌面编辑工作区;界面状态、未发送输入、费用独立保存与版本冻结共同验收。
|
||||
- 在允许本地页面预览的环境中视觉检查草图,尤其小窗口、长内容、分栏尺寸与键盘焦点。当前浏览器限制不等于草图完成视觉验证。
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- 见本人 desktop-workspace 提案末尾 Promotion Candidate。总体方向已确认;实际实现/证据与 canonical 提升留待后续,不改写 accepted ADR 或其他源任务。
|
||||
Reference in New Issue
Block a user