- Implement end-to-end tests for user skill creation and editing, ensuring proper handling of name conflicts and partner bindings. - Add tests for importing skills from a directory, verifying that existing resources are preserved or replaced correctly. - Introduce tests for skill partner budget management, ensuring that skills are isolated between partners and that budget limits are enforced. - Enhance existing tests to validate the integration of AI processes with user skills, ensuring that updates to skills are reflected in AI outputs. - Create necessary fixtures and scripts to support the new tests, including skill definitions and rules for processing.
179 KiB
Workbench PRD
1. 产品目标
- 用户通过对话让 AI 完成搜索、分析、回答、整理和文档处理等任务。
- 用户可以把本地资料作为上下文,让 AI 优先据此完成检索、分析、回答和受支持文件处理。
- 让 workbench 成为“发起任务、查看过程、处理中断、查看修改的文件并按需回退、继续执行”的主工作台。
- workbench 应把任务推进到完成;无法完成时明确说明原因、限制或所需条件。
2. 产品原则
- 本地资料是重要上下文,但不是唯一能力边界;未显式选择资料时,AI 仍可完成通用任务。
- workbench 的发送前提是已有伙伴且输入非空。
- 未显式插入
@时,知识库默认覆盖设置页全部已索引文件地址与全局网页资料;@只用于在此基础上再收窄。工作地址列表按设置页现表进入本轮对话上下文,不作为 Composer 选择器。 - 当用户插入
@参考资料时,AI 应优先基于这些范围完成任务,而不是忽略用户给出的约束。 - workbench 不只展示问答过程,还要交付可消费结果,或给出明确失败信息。
- 用户可见能力边界必须明确可见,尤其是哪些资料可检索、哪些格式可直接写回并回退、哪些情况只能查看或分析。
3. 范围
- 包含伙伴管理(创建、编辑、切换、删除、置顶、空态)。
- 包含 composer 输入、发送与取消;Composer 只有智能模式。
- 包含智能模式下 AI 推进偏好的选择与本机恢复。
- 包含附件拖放和智能模式下执行权限的选择与伙伴级恢复。
- 包含
@参考资料 token 的插入与维护。 - 包含按天时间轴跳转,以及清空消息记录。
- 包含 AI 运行中的审批与上下文压缩过程提示。
- 包含右侧内容面板中的文档查看与修改的文件回退入口。
- 包含基于本地资料和网页资料的上下文使用。
- 包含定时任务的入口、独立主区视图、任务配置、启用开关与到点触发。
- 包含 AI 写回或回退已打开的 WPS
.docx/.pptx/.xlsx时自动刷新(默认功能,无设置项)。
4. 当前能力边界
- 本地知识库支持 PDF、DOC/DOCX、Markdown、TXT 及 Excel 元数据索引;不索引 Excel 单元格内容。空文本仍可按文件名找到,DOC 只读。
- 受控写回与回退支持 DOCX、PPTX、XLSX、PNG/JPEG/WebP 图片及 UTF-8 普通文本;其他格式可由 AI 尝试处理,不提供同等保证。完整边界见
WB-CORE-003、WB-EXCEL-001。 - 知识库功能要求本地向量模型可用;模型缺失或出错时返回明确错误,不隐式下载、不终止普通聊天、不扩大所选范围。更新索引期间暂停知识库查询,检查更新不拦截;空库、空范围与无命中返回空结果。
- 附件按真实路径供 AI 使用;粘贴附件保存副本。具体交互与格式限制见
WB-COMPOSER-010。 - 应用内手动文本编辑不生成 AI 修改记录,见
WB-EDIT-001;WPS 自动刷新见WB-WPS-001;终端修改不提供馆长回退,见WB-TERMINAL-001。
5. 术语
- 伙伴:一条一直聊下去的对话记录。侧栏只有伙伴列表。
- 参考资料:通过
@插入的目录、文件或网页资料 token。 - 工作地址:设置页添加的本地目录根路径。
- 智能模式:Composer 唯一发送路径;启动 AI 运行,允许产生阻塞、审批、文件直接写回与回退入口。
- 受支持文件:当前已具备直接写回与回退能力的文件类型;当前包括
docx、pptx、xlsx、生成的 PNG、JPEG、WebP 图片(.png/.jpg/.jpeg/.webp)和 UTF-8 普通文本文件。 - 目标文件:用户要求新建受支持文件时,AI 写工具直接创建的文件路径。
- 直接写回:AI 写工具将最终 docx、pptx、xlsx、生成图片或普通文本结果原子写入源文件或创建目标文件的流程;工具成功即代表正式路径已可读取,run 收尾不再提交文件。
- 修改记录:一次 AI run 中由受控文件工具直接写回产生的创建、更新、删除或重命名记录;提供打开文件、适用格式的审核模式与回退本次修改入口。终端造成的磁盘变化不记修改记录。
- 回退本次修改:恢复本次修改前的原始文件;新建文件回退时删除目标文件,若文件在 AI 写回后又被修改,需提示用户确认会丢失后续修改。
- 清空消息记录:删除该伙伴全部对话消息记录及对应任务过程及旧运行缓存,界面回到空对话;伙伴保留。确认框默认不勾选删除文件修改历史,保留回退记录、备份和审核材料;主动勾选后同步删除。
- 内部引用链接:assistant 回答中使用标准 Markdown 语法
[显示名](绝对本地路径或 https URL)引用的本地文件或网页链接;点击可在右侧工作台预览文件或打开内置浏览器。本地文件做可达性检查,不可访问时展示弱化状态并禁止点击;http(s)网页链接不做可达性检查,默认可点。详细校验与交互见WB-COMPOSER-003-AC8。 - AI 推进偏好:智能模式下用户对资料使用边界的附加约束,界面选项包括“默认”“本地资料·宽松”“本地资料·严谨”。当前“本地资料”范围包含全部已索引文件地址、全局网页资料、工作地址内文件和显式参考资料。宽松模式优先使用这些资料,资料不足时允许补充模型知识或外部网页;严谨模式只能把这些资料作为事实依据,资料不足时必须明确说明,不得把模型知识、外部搜索或浏览器结果伪装成资料内事实。
- 执行权限:智能模式下对本次运行是否等待工具审批的选择,独立于 AI 推进偏好。选项为“审核”和“完全访问”。
6. 需求明细
6.1 核心能力与约束
Workbench 的系统文案、菜单、日期及文件预览/审核编辑器跟随应用有效语言;伙伴名、用户正文、AI 输出和历史内容保留原文。语言与服务线路设置遵循 Settings 的 SET-GENERAL-005/006。免费模型、预设目录和帮助入口使用所选服务线路;应用更新渠道固定由发行包决定,不随语言或服务线路改变。
WB-CORE-001 本地资料是可选上下文,不是唯一前提
- 系统行为:workbench 发送前要求已有伙伴;在此基础上,即使用户未显式选择任何本地参考资料,AI 仍可执行不依赖本地文档的通用任务;当存在本地参考资料时,可将其作为任务上下文使用。未创建伙伴时 Composer 为空态,不能发送。
- 验收:
WB-CORE-001-AC1用户已创建并选中伙伴但未选择任何本地参考资料时,智能模式仍可正常发起不依赖本地文档的任务。WB-CORE-001-AC2系统不会把“没有显式本地参考资料”误表现为“workbench 不可用”;未创建伙伴时才表现为 Composer 空态。
WB-CORE-002 用户显式选择的参考资料或默认知识范围必须影响执行
- 系统行为:当用户插入
@参考资料后,后续检索、分析和执行应优先基于这些显式范围收敛;当用户未显式选择参考资料时,知识库默认覆盖设置页全部已索引文件地址与全局网页资料。 - 验收:
WB-CORE-002-AC2智能模式下,系统不会忽略用户已经给出的@参考资料或默认知识范围;已选资料作为优先缩圈候选,但不自动变成唯一可搜索范围。
WB-CORE-003 当前受支持文件的直接写回能力边界必须明确
- 系统行为:workbench 明确区分“可直接写回并支持回退的受支持文件”和“可由 AI 自行尝试处理但不提供同等保证能力的其他任务”;当前受支持文件类型包括
docx、pptx、xlsx、生成的png、jpg、jpeg、webp图片和 UTF-8 普通文本文件。xlsm、xltx、xltm只读,不属于可直接写回范围。 - 验收:
WB-CORE-003-AC1当前支持直接写回与回退的受支持文件类型列表明确可见,包括docx、pptx、xlsx、PNG/JPEG/WebP 图片(.png/.jpg/.jpeg/.webp)的修改和新建,以及 Markdown、TXT、配置文件和代码等 UTF-8 普通文本文件。WB-CORE-003-AC2不在当前受支持文件类型列表中的资料不会被伪装成可进入同一直接写回与回退流程的编辑或创建目标。
WB-CORE-004 资料优先级受 AI 推进偏好约束
- 系统行为:默认或宽松偏好下,当用户已插入参考资料或存在已索引文件地址 / 全局网页时,系统优先基于这些资料完成任务;未显式
@时,默认使用全部已索引文件地址与全局网页作为知识范围。资料不足时,默认或宽松偏好允许补充模型通用知识或外部网页信息,但不能忽略或违背用户已给定的资料。严谨偏好下,只允许把已索引文件地址、全局网页与显式参考资料作为事实依据;资料不足时应明确说明缺口,不得使用模型知识、后台网页搜索与抓取 或 内置浏览器操作 的外部内容补足事实。 - 验收:
WB-CORE-004-AC1用户已有默认知识范围或显式参考资料时,问答或受支持文件结果不会脱离这些资料另起一套无关内容。WB-CORE-004-AC2默认或宽松偏好下,资料不足以覆盖通用部分时,系统仍可补充模型通用知识或外部网页信息,并明确区分资料内事实与补充信息。WB-CORE-004-AC3严谨偏好下,资料不足时系统明确说明资料缺口,不使用默认知识范围和显式参考资料之外的信息补足事实。
WB-CORE-005 任务过程中的中间结果必须服务于后续结果
- 系统行为:当任务执行过程中产生搜索结果、文件读取结果、执行结果或其他中间信息后,后续 assistant 回答、分析结论和文件产物应实际使用这些信息继续推进用户诉求;若当前中间结果不足以支撑继续完成,系统应明确说明限制,而不是伪造后续内容。
- 验收:
WB-CORE-005-AC1任务过程中产生的中间结果,会体现在后续用户可见回答、结论或文件产物中,而不是只表现为“执行过某些步骤”。WB-CORE-005-AC2当前中间结果不足或执行失败时,assistant 会明确说明为什么无法继续完成、缺少什么条件或当前能确认到什么范围,而不是编造结论或文档内容。WB-CORE-005-AC3用户可见输出优先围绕用户原始诉求组织;若引用中间结果,应使用用户能理解的表达,而不是暴露内部工具或过程标签。
WB-CORE-006 用户诉求应被推进到完成或明确失败
- 系统行为:用户已提供足够上下文且当前能力允许时,持续推进任务直到交付可消费结果,避免无必要的重复操作。无法完成时明确说明失败原因、限制或所需条件,不能停在搜索结果、工具调用或过程提示等中间态。
- 验收:
WB-CORE-006-AC1用户诉求可完成时,系统会把任务推进到可消费结果、明确产物或可确认的下一步动作,而不是停留在中间态。WB-CORE-006-AC2用户诉求当前无法完成时,系统会明确说明失败原因、限制信息或下一步所需条件,而不是无声中断或只留下过程信息。WB-CORE-006-AC3最终收口默认直接围绕用户显式提出的问题组织;若同时需要说明产物、依据或限制,也应使用用户可理解的语言表达,而不是依赖内部标识、tool 名或固定章节标题。WB-CORE-006-AC4简单任务不强制创建 plan;复杂或多依赖任务才维护 plan,不为汇报进度单独更新。目标满足且必要检查通过后可直接交付。
WB-CORE-007 网页信息可用于任务推进
- 系统行为:默认或宽松偏好允许 AI 通过后台 后台网页搜索与抓取 搜索网页、读取指定网页正文,并在需要登录或人工操作时使用 内置浏览器操作 打开右侧内置浏览器继续任务;严谨偏好不得把外部网页作为资料内事实依据。后台网页搜索与抓取 是 Human 图后台工具,结果只回模型与过程层,不得自动展开右侧列表,也不得替代 内置浏览器操作 的可见浏览器交互。
- 验收:
WB-CORE-007-AC1用户要求查找公开网页信息时,AI 可搜索并读取搜索结果或用户给出的 URL,再用所得内容完成回答或产物。WB-CORE-007-AC2网页搜索、读取或浏览失败时,系统明确说明失败边界,不伪造网页内容。WB-CORE-007-AC3严谨偏好下,外部网页能力不会绕过资料范围限制。WB-CORE-007-AC4AI 调用 后台网页搜索与抓取 时,Workbench 不得因工具结果自动打开右侧搜索列表;过程层可展示“搜索网页 / 抓取网页”等状态,但右侧面板保持原状,除非用户手动打开资源或 AI 触发 内置浏览器操作。WB-CORE-007-AC5后台网页搜索与抓取 抓取时用户不得看到带窗框的独立浏览器窗口,也不得让网页内容遮挡主界面。WB-CORE-007-AC6后台网页搜索与抓取 读取网页应返回可读正文或明确失败,不得无限挂起。
WB-CORE-008 Workbench 窗口层与业务内容分层
- 系统行为:Windows Workbench 的原生窗口控制层独立位于业务内容上方;无伙伴空态拖动区、侧栏入口和业务内容不互相遮挡。非 Windows 平台保留页面顶部拖动区。
- 验收:
WB-CORE-008-AC1无伙伴空态仍提供可命中的 44px 拖动区。WB-CORE-008-AC2Windows 原生控制层为独立 36px 区域,业务内容从其下方开始。WB-CORE-008-AC3Windows 侧栏切换按钮保持no-drag且与原生控制按钮对齐。
6.2 伙伴管理
侧栏只有伙伴列表与「创建伙伴」;伙伴创建弹窗提交即落库。
WB-SESSION-001 无伙伴时展示空态,创建即落库
- 系统行为:页面初始化时拉取伙伴列表。列表为空或当前未选中伙伴时,主区展示空态文案,Composer 不出现可输入草稿;侧栏提供「创建伙伴」,列表区为空时不展示空态文案。创建弹窗填写名称,并选择 6 种外形 × 12 种颜色的头像(圆、圆角方、横向胶囊、圆角六边形、云、水滴;2D 圆润色块,眼睛可正视或上下左右张望,转身时眼睛绕到背面再从另一侧进入)。创建/编辑弹窗中的形象保持自然动画。提交成功后立即保存并选中该伙伴。侧栏伙伴项展示头像、名称和相对时间(刚刚 / N小时 / N天);无任务运行时头像保持静止初始姿态,仅当该伙伴存在 running / waiting_human / waiting_approval 任务时才播放跳跃、转眼与张望。有用户消息时副文案为最新用户语句预览,没有则展示「做点啥呢?」。
- 验收:
WB-SESSION-001-AC1首次进入且没有伙伴时,侧栏列表区不展示空态文案,主区为空态并保留 44px 拖动区,而不是不可操作空白页;Composer 不出现可发送输入框。WB-SESSION-001-AC4创建弹窗提交成功后,新伙伴立即出现在侧栏并成为当前选中项;名称与头像外形 / 颜色按提交值保存。WB-SESSION-001-AC5伙伴列表项展示头像、名称与相对时间;无任务运行时头像静止,任务运行中才播放动画;发送用户消息后副文案更新为该语句预览,尚无用户消息时展示「做点啥呢?」。WB-SESSION-001-AC6创建伙伴时名称不能为空,且不得与其他伙伴重名;去除首尾空白后按名称完全相同判断重名。重名时保留弹窗并提示用户改名,任何写入入口均不得创建同名伙伴。
WB-SESSION-002 切换伙伴时恢复目标伙伴状态并隔离上一伙伴运行态
- 系统行为:切换伙伴后,主区原子加载目标伙伴的消息、运行状态和界面快照。加载完成前保留原画面并展示切换态,不先闪成空白。完成后恢复目标伙伴自己的输入草稿、
@范围、附件、AI 推进偏好、执行权限、模型、右侧标签和面板展开状态。上一伙伴的运行态和 UI 状态不得泄漏到目标伙伴,但目标伙伴自身的 active run 与 pending approval 必须可继续操作。 - 验收:
WB-SESSION-002-AC1点击其他伙伴后,消息区展示目标伙伴的历史消息。WB-SESSION-002-AC2切换加载完成后恢复目标伙伴自己的输入和右侧面板,不保留上一伙伴的修改面板或运行中阻塞提示;加载过程中主消息区不先闪成空白态。WB-SESSION-002-AC3目标伙伴存在正在运行或最近完成的 AI run 时,切换回来后能看到已持久化的过程流、当前 partial answer 或最终回答;若切走时仍处于 AI 思考等待(「让俺想想」),切回后该提示仍在,不得因整表重建而消失。正在运行的 run 可继续停止。WB-SESSION-002-AC4目标伙伴存在等待审批的 AI run 时,切换回来后审批卡片仍可继续提交。WB-SESSION-002-AC5伙伴列表中存在running或waiting_approvalrun 的伙伴显示“任务运行中”标记,且该伙伴头像播放跳跃、转眼与张望;运行完成、失败或取消后标记与头像动画一起消失,且不会错误显示到其他伙伴。
WB-SESSION-003 标题就是伙伴名称,不因消息改名
- 系统行为:伙伴标题始终为创建时填写的
name。 - 验收:
WB-SESSION-003-AC2继续发送消息时,不会自动改写已有伙伴名称。WB-SESSION-003-AC3顶栏与侧栏展示的标题与伙伴name一致。
WB-SESSION-004 删除伙伴后保持可继续操作
- 系统行为:删除伙伴后刷新列表;删除该伙伴的消息、任务、界面快照、浏览器标签和本地运行资源。若删除的是当前伙伴,则清空当前选中;列表为空时回到无伙伴空态。
- 删除前使用主窗口原生子窗口承载自绘确认弹窗与遮罩,覆盖在内置浏览器上方;不隐藏、重建浏览器或改变网页视口。弹窗保留伙伴名称、删除说明、关闭、取消与删除按钮;支持 Escape 和点击遮罩取消。删除期间禁用重复确认及取消;失败保留弹窗并显示错误,可重试。子窗口随主窗口移动、缩放,关闭后销毁。
- 验收:
WB-SESSION-004-AC1删除成功后,该伙伴不再出现在列表中。WB-SESSION-004-AC2删除当前伙伴后,页面仍保持可继续操作(有剩余伙伴则可选择,无伙伴则回到空态),而不是落到不可操作状态。WB-SESSION-004-AC3删除后该伙伴的浏览器标签关闭,该伙伴本地运行资源不再保留。WB-SESSION-004-AC4内置浏览器显示时,删除确认的关闭、取消与删除按钮仍可操作;确认期间网页继续运行,浏览器实例与视口不变;取消后浏览器保持原页面,弹窗子窗口不残留。
WB-SESSION-005 同一伙伴里的续做保持任务主线
- 系统行为:用户始终面对同一伙伴窗口。用户在同一伙伴内基于上一轮结果继续提出局部修改、补写或 refinement 请求时,系统继续沿用当前伙伴上下文、上一轮产物和有效文件/回退入口,不把续做误当成全新无关任务。同一伙伴的历史原文会一直带给主模型,直到 compaction 把它折进摘要。若用户要开始一个干净的新话题,使用「清空消息记录」或新建伙伴;界面不出现「新会话」或草稿会话控件,也不会自动丢掉历史原文。
- 验收:
WB-SESSION-005-AC1续做请求发出后,系统会复用上一轮相关产物或上下文,而不是丢失已有任务主线。WB-SESSION-005-AC2续做完成后的结果体现的是对上一轮结果的继续修改或补充,而不是简单重复旧输出或重新开题。WB-SESSION-005-AC3用户要换无关新话题时,可通过清空消息记录或新建伙伴得到干净上下文;不自动丢掉当前伙伴里还没压缩的历史原文。WB-SESSION-005-AC4用户侧无会话切换控件;换话题入口是已有的清空消息记录与新建伙伴。清空后该伙伴不再保留旧对话作为模型上下文(另见WB-SESSION-011-AC3)。
WB-SESSION-006 用户消息复制与编辑
- 系统行为:用户消息支持复制纯文本;没有任务运行时,最新一条用户消息支持编辑。点击编辑须先确认:确认框标题为「编辑这条消息?」,正文说明将撤回该消息之后的回答、原文回到输入框,且已编辑的文件不会被还原;主按钮为「确定」(危险态)。确认后才撤回该轮消息、回答与关联任务过程,并把原文字、参考资料和附件恢复到输入区,等待用户修改后重新发送。取消确认则不撤回。已编辑的真实文件和修改记录不回滚。
- 验收:
WB-SESSION-006-AC1复制操作写入消息的可读文本,并给出成功或失败反馈。WB-SESSION-006-AC2只有最新用户消息且当前没有运行中任务时显示编辑入口。WB-SESSION-006-AC3点击编辑先出现确认框;确认后目标消息及关联回答和任务过程从伙伴记录中撤回,原输入、参考资料和附件恢复为草稿;取消确认则消息与草稿不变。WB-SESSION-006-AC4撤回失败时恢复原消息和原草稿,不留下半完成状态。
WB-SESSION-007 同一伙伴内恢复被中断任务
- 系统行为:任务因停止、模型请求失败、进程中断、输出截断、运行上限或其他异常未完成时,保留已有任务记录。用户在同一伙伴再次发送消息后,AI 结合此前进展、计划、已加载工具包和说明技能和新消息继续推进。压缩过的历史使用已保留的摘要,尚未压缩的历史继续保留;新消息不改写旧任务,也不会被重复追加。历史消息沿用发送当时的资料与附件,新消息使用当前 Composer 配置。重启只标记中断,不自动继续执行。
- 验收:
WB-SESSION-007-AC1用户停止、模型请求失败(含网络、超时、鉴权、余额等定案后)、进程中断、输出截断、运行上限或未知异常后,下一条消息可继续已有任务,包括计划与已加载工具包和说明技能。WB-SESSION-007-AC2续做使用已有任务摘要及仍保留的历史内容,新消息只追加一次;新语句和新配置不改写历史任务或历史配置。摘要作为任务上下文,不作为新用户气泡展示;用户气泡仍展示用户输入。WB-SESSION-007-AC3连续多次中断和恢复后仍保留完整任务主线,原始任务仍可在首条用户记录中查看,不被重复包装为新的原始任务。WB-SESSION-007-AC4切换伙伴或重启后仍可续做原伙伴的任务;其他伙伴不能读取或混入该任务历史。WB-SESSION-007-AC5编辑并重新发送最后一条用户消息,只撤回该轮消息、回答和关联过程,其他历史不变;已写文件不随之回滚。WB-SESSION-007-AC6正常完成后清空计划展示,历史记录继续保留;删除伙伴时同时删除其记录。WB-SESSION-007-AC7达到运行上限时显示“已达到运行上限,可继续对话推进”,允许在同一伙伴继续。WB-SESSION-007-AC8失败气泡展示短标题,如「模型请求失败」;「查看详情」可展开错误原文及可用的 HTTP/服务商错误码。Toast 只显示短标题。
WB-SESSION-008 伙伴界面状态独立持久化
- 系统行为:每个伙伴独立保存 Composer 与右侧资源面板状态,正常切换、离开页面和退出前保存,重启恢复最后活动伙伴。未发送选区及关联想法遵循
WB-DOCUMENT-REFERENCE-001的内存保留边界。后台 AI 和浏览器结果只更新所属伙伴,不覆盖其他伙伴。 - 验收:
WB-SESSION-008-AC1A/B 伙伴可分别保存并恢复模式无关的 Composer 状态:AI 推进偏好、执行权限、主模型、普通文字、@ 引用、附件和附件桶,反复切换互不串联。旧快照缺少执行权限时按“审核”恢复。WB-SESSION-008-AC2A/B 伙伴可分别保存并恢复资源标签、活动标签和面板展开状态;后台返回只更新事件所属伙伴。WB-SESSION-008-AC3正常退出并使用同一用户目录重启后,恢复最后活动伙伴及其持久化 UI 状态,不恢复未发送文档选区和关联想法;其他草稿在异常崩溃时最多丢失最后一个输入防抖窗口。WB-SESSION-008-AC5删除伙伴时同步删除其 UI 快照和浏览器标签;删除当前伙伴后按现有规则回落并更新最后活动伙伴。WB-SESSION-008-AC6模型、引用或附件失效时清理或回退到可用状态并保存修复后的快照;文件预览路径失效时保留标签并展示不可用状态。
WB-SESSION-009 伙伴置顶
- 系统行为:侧边栏伙伴条目悬停时提供「置顶 / 取消置顶」、编辑与删除入口,三个图标使用同一套 hover 浅底。置顶状态在本机保存。已置顶伙伴排在列表最上方(按置顶时间新到旧),不再单独展示「已置顶」分组文案;置顶后图钉图标常驻显示。取消置顶后伙伴回到未置顶顺序。
- 验收:
WB-SESSION-009-AC1悬停伙伴条目时,标题与操作图标(置顶、编辑、删除)之间有明显间距,图标顺序为置顶、编辑、删除,且三个图标都有 hover 浅底。WB-SESSION-009-AC2置顶后该伙伴排到列表最上方,图钉常驻显示,且不出现「已置顶」分组文案。WB-SESSION-009-AC3取消置顶后图钉不再常驻,伙伴回到未置顶区域;列表仍不展示「已置顶」文案。WB-SESSION-009-AC4重启应用后置顶状态与列表顺序保持不变。
WB-SESSION-010 消息时间轴
- 系统行为:
- 当前伙伴存在消息时,消息区左侧展示固定竖线时间轴(自身不滚动)。
- 当前可见节点以固定间距自底部向上堆叠(最新节点靠近输入框上方),不随可用高度拉开等距。
- 轴线叠在主区上,水平位于侧栏右缘与 Composer 左缘之间的居中位置。
- 轴线始终是一条实线:底端停在最新节点圆心(不向下突出),顶端与主区顶栏横线留出空隙;节点整体底边按白色输入框顶部量齐;近端(底部)对比清晰,越往上(更早)越透明。不使用虚线。
- 仅有消息的日期才出现节点。默认:近 7 个本地日(含今天)有消息则显示日节点(今/昨/前或
M/D);更早同年按月聚合;往年按年聚合。日/月/年圆点造型区分。 - 点日节点跳到当天最早一条消息。点月/年节点跳到该范围最早有消息日的第一条。
- 月节点与年节点文案下方提供搜索图标,点击后打开 Ant Design
DatePicker;仅可选择该月/该年内真正有消息的本地日,选天后左侧轴节点不变,右侧瞬时跳到该天最早一条消息;同一天可再次选中并再次跳转;关闭弹层时不得把点击穿透到月/年节点、从而再跳到该范围最早日。不再提供月/年展开收起、淡段标或「收起」入口。 - 点击节点只滚动消息列表容器,并将该天最早一条消息瞬时贴顶(不使用平滑滚动);仅当已贴顶(偏差小于 2px)时不重复滚动,避免带动侧栏或 Composer。
- 列表底部常驻刚够让最新有消息日最早一条贴顶的阅读留白(该日已撑满一屏则为 0),因此任意更早的日/月/年都能直接贴顶。
- 滚到底部时视口顶是最新日、轴高亮该日;今天消息少时输入框上方允许留白。点轴只滚动,高亮仍跟视口顶部走。当前高亮节点的圆点与文案大于未选中节点。
- 消息列表预留稳定滚动条空间,过程态显隐不造成宽度抖动。右侧滚动时以视口顶部附近第一条消息的日期高亮左侧对应节点(日优先,否则高亮包含该日的月/年)。
- 紧凑态按「完整态轴宽(含左偏移)是否会与 Composer / 审批卡左缘碰撞」判断,与是否展开右侧面板无关:会碰撞则只保留圆点与轴线,悬浮 Tooltip 显示节点时间文案;不会碰撞则保持完整文案与月/年搜索。宽栏下节点无 Tooltip。审批卡替换 Composer 时仍以审批卡为布局锚点,轴线底边对齐与紧凑态判定持续生效。
- 向上滚动到顶部仍懒加载更早消息;目标天未加载时先加载再跳。
- 验收:
WB-SESSION-010-AC1有消息的伙伴主区可见时间轴;无消息的日/月/年不出现节点。WB-SESSION-010-AC2近 7 日外的同年消息收成月节点,往年收成年节点;点月/年跳到该范围最早有消息日的第一条,轴上节点集合不因点击而展开成子节点。WB-SESSION-010-AC3点击日节点后,消息区滚动到该天最早一条消息;近端日期第一次点击即稳定贴顶且高亮不闪回月/年节点。打开伙伴或滚到底部后,视口顶为最新有消息日的最早一条,轴高亮该日。WB-SESSION-010-AC4滚动到消息区顶部会加载更早消息,且不切换伙伴;时间轴自身不出现独立滚动。WB-SESSION-010-AC5月/年节点文案下有搜索图标;打开 DatePicker 后只能选择该范围内有消息的天;选天后轴节点不变,消息区瞬时跳到该天最早一条;同一天再次打开仍可点选并再次跳转;选天关闭弹层不得连带触发月/年节点的默认跳转。WB-SESSION-010-AC6点击时间轴节点只滚动消息列表,并将目标日最早消息瞬时贴顶(无平滑滚动);列表底部常驻刚够让最新日贴顶的阅读留白,已贴顶则不重复滚动,侧栏与 Composer 位置不变。WB-SESSION-010-AC7节点以固定间距自底部向上堆叠并靠近输入框;轴线底端对齐最新节点圆心、不向下突出,顶端不与顶栏横线相接。WB-SESSION-010-AC8完整态时间轴(含水平左偏移)会与 Composer / 审批卡左缘碰撞时进入紧凑态(仅圆点 + 悬浮 Tooltip);不会碰撞时保持完整态,不因右侧面板展开本身强制收起;审批替换 Composer 期间轴线与紧凑态仍按同一锚点生效。WB-SESSION-010-AC9当前高亮节点圆点与文案大于未选中节点。
WB-SESSION-011 清空消息记录
- 系统行为:当前伙伴有消息且空闲时,Composer 上方显示「清空消息记录」胶囊(擦除图标)。hover 提示
清空「{伙伴名}」的全部消息记录,无法恢复。。确认复用原生子窗口组件及遮罩,覆盖内置浏览器,不隐藏、重建浏览器或改变网页视口。正文为将清空「{伙伴名}」的全部对话消息及临时缓存。;下方选项默认不勾选,单行灰色 14px 文字「同时删除文件修改历史」,与正文间隔 16px、与底部按钮保留间距。文字旁的常用问号图标支持悬浮及键盘聚焦说明:AI 修改的源文件都会进行备份。删除后,将无法回退到对应的修改前版本。。问号不切换勾选状态;勾选框、文字及行内空白可点击,并支持键盘切换,每次打开恢复不勾选。主按钮「清空」为危险态;关闭、取消、Escape、遮罩均取消操作。执行期间禁用重复确认及取消,失败保留弹框、勾选值和错误提示以便重试。确认后删除该伙伴主任务与子任务消息、任务过程和旧运行缓存;草稿正在使用的附件跳过。勾选修改历史则同步删除记录、备份与审核材料;不勾选完整保留这些资源。伙伴、草稿文字、模型偏好和浏览器标签保留;已清除资源的旧标签显示不可用。清空后列表为空,胶囊消失;运行、提交、收尾或清理中不能清空。 - 验收:
WB-SESSION-011-AC1确认清空后该伙伴消息列表为空,不再保留旧气泡。WB-SESSION-011-AC2清空后仍停留在同一伙伴;Composer 草稿与右侧标签保持不变。WB-SESSION-011-AC3清空后下一次发送不再把旧对话作为模型上下文。WB-SESSION-011-AC4当前伙伴存在 running / waiting_human / waiting_approval 时,清空入口不显示。WB-SESSION-011-AC5胶囊文案为「清空消息记录」;hover tooltip 含伙伴名且说明无法恢复。WB-SESSION-011-AC6点击胶囊先出现原生子窗口确认框,覆盖内置浏览器且保持浏览器实例、可见性和视口;关闭、取消、Escape、遮罩不删除任何消息,关闭后销毁子窗口。WB-SESSION-011-AC7确认框每次打开默认不勾选删除文件修改历史;灰色单行选项支持整行点击及键盘切换,问号悬浮/聚焦说明备份与不可回退后果且不切换勾选值。正文、选项与按钮之间留有间距。默认清空后文件修改记录、备份和审核完整保留;主动勾选后同步删除这些数据,正式文件保持当前内容。WB-SESSION-011-AC8伙伴有消息且空闲时显示清空入口;切换伙伴或重启后,只要仍有消息且空闲仍应显示。
WB-SESSION-012 编辑伙伴
- 系统行为:悬停伙伴条目时提供编辑入口;点击后打开与创建共用的弹窗,标题为「编辑伙伴」,主按钮为「保存」,并带入当前名称、外形和颜色。保存只更新这三项,不改变消息记录、置顶状态和当前选中。创建入口仍打开空白创建弹窗。
- 验收:
WB-SESSION-012-AC1编辑弹窗预填当前名称与形象,保存后侧栏立即显示新名称和形象;若主区顶栏可见,则同步显示新名称。WB-SESSION-012-AC2编辑不创建新伙伴,也不清空该伙伴的消息。WB-SESSION-012-AC3改名不得与其他伙伴重名;保持当前名称时仍可只修改形象,已有同名历史记录不阻止保存自身形象。
WB-SESSION-013 用户消息时间条
- 系统行为:仅用户消息在气泡上方居中展示时间(微信式),assistant 不展示。出现条件:该伙伴当前列表中的第一条用户消息;或与上一条用户消息间隔 ≥ 30 分钟;或与上一条用户消息跨了本地日历日(即使间隔不足 30 分钟)。文案:当天
16:45;昨天昨天 16:45;7 日内星期三 16:45;更早YYYY/M/D 16:45。hover 操作区不再附带时间。 - 验收:
WB-SESSION-013-AC1第一条用户消息上方居中展示时间条。WB-SESSION-013-AC2与上一条用户消息间隔不足 30 分钟且同日时不展示时间条。WB-SESSION-013-AC3与上一条用户消息间隔 ≥ 30 分钟时展示时间条。WB-SESSION-013-AC4跨本地日时即使间隔不足 30 分钟也展示时间条。WB-SESSION-013-AC5assistant 消息不展示时间条;hover 复制/编辑区不含时间。
WB-SESSION-014 伙伴待协助提示
- 系统行为:伙伴列表在最新用户消息预览旁展示「需要你的协助」,该伙伴的当前待处理交互为 question 时显示;若子审批排在问题之后,仍显示此提示。仅等待审批时不显示。用户提交答案、run 被取消或结束后立即清除;伙伴切换和应用重启后按持久化 run 状态恢复。
- 验收:
WB-SESSION-014-AC1AI 提问等待回答时,伙伴列表在最新用户消息预览旁显示蓝色「需要你的协助」标签;无待回答问题时不显示。WB-SESSION-014-AC2刷新或切换伙伴后,仍按对应伙伴的待处理提问状态显示或清除标签;提交答案、取消或结束 run 后标签消失。
6.3 Composer 输入与发送
Composer 使用 18px 圆角、15px 正文和 24px 行高;正文随内容增高,最大高度取 240px 与窗口高度 30% 中的较小值,超出后仅正文内部纵向滚动,底部工具栏保持可见。工具栏采用 12px 字号、28px 控件高度及紧凑间距。发送/停止按钮为 28px 圆形、12px 图标,主动作深灰底白色图形,禁用浅灰底弱化图形。
正文按输入顺序保留普通文字、@ 引用和文档选区片段;发送、复制和重新编辑保持该顺序与引用关联。选区交互见 WB-DOCUMENT-REFERENCE-001。底部工具栏左侧放附件、AI 推进偏好和执行权限,右侧放上下文用量、模型和发送。
WB-COMPOSER-001 发送前置条件
- 系统行为:首次启动 run 时,只有当前已选中伙伴、正文包含有效文字且当前没有待发请求时,发送按钮才可执行;仍需满足已选主模型等现有条件。普通 AI run 正在运行时,Composer 仍可提交追加消息;发送按钮因其他前置条件不满足而不可执行时,用户可通过 hover 查看具体原因提示。未创建伙伴时 Composer 为空态,不出现可发送按钮。空输入占位文案为「输入你想让{当前伙伴名}做的事情或者@文件」(名为空时回落「馆长」);占位与发送分别判断:用户输入的空格、换行和引用会隐藏占位;零长度空文本、空壳和编辑器光标占位不算用户内容。发送仍要求有效正文,纯空白、换行或不可见字符不允许发送,输入区与提交校验对有效正文的判断一致。清空实际内容后占位恢复,光标、原生撤销和输入法保持正常;附件卡片不隐藏空正文占位。用户正文的空格、首尾及段内换行原样保留到已发送消息与模型用户诉求,判空不裁剪正文。AI 自称使用同一伙伴名。
- 验收:
WB-COMPOSER-001-AC1纯空白、换行或不可见字符输入不会触发发送;这些实际输入保留在编辑区并隐藏占位。WB-COMPOSER-001-AC2未选中伙伴或当前提交请求尚未返回时,不会重复触发同一次发送;普通 AI run 运行期间仍可提交新的追加消息。WB-COMPOSER-001-AC3已选中伙伴但发送按钮因前置条件不可执行时,hover 可见具体禁用原因。未创建或未选中伙伴时 Composer 为空态、不出现可发送按钮(见WB-CORE-001-AC2/WB-SESSION-001-AC1),不适用本条 hover 文案。WB-COMPOSER-001-AC4Composer 空输入占位含当前伙伴名;实际内容清空后占位恢复,系统光标占位或零长度空节点不隐藏占位;用户输入的空格、换行或引用隐藏占位,不因发送禁用而清空输入;审批指导输入占位为「告诉{当前伙伴名}该怎么做」;改名后占位与后续 AI 自称同步新名,本地数据不丢。WB-COMPOSER-001-AC5未配置工作空间、未下载向量模型或模型初始化失败均不阻止 AI run 启动;普通聊天不准备或下载向量模型。WB-COMPOSER-001-AC6空对话与已有消息时,长文本、连续换行及窄窗口自动换行均不会把发送/停止按钮推到可见区外;正文达到高度上限后在输入区内滚动,粘贴和换行后的光标所在行保持可见,底部工具栏保持可见,清空正文后恢复紧凑高度。
WB-COMPOSER-002 键盘行为
- 系统行为:
Enter发送或追加消息,Shift + Enter插入换行;中文等输入法组词期间不应被输入区同步、光标恢复或候选刷新打断。 - 验收:
WB-COMPOSER-002-AC1空闲时按Enter启动智能模式 run;普通 run 运行时按Enter提交追加消息。WB-COMPOSER-002-AC2按Shift + Enter后,输入区保留内容并新增换行,不触发发送。WB-COMPOSER-002-AC3使用中文输入法快速输入时,输入区不会中断组词并遗留未确认的英文拼音字符。
WB-COMPOSER-003 智能模式发送路径
- 系统行为:发送前校验伙伴、输入、模型和资料范围;接受后先显示用户消息和助手占位,随后逐步展示决策、工具活动、压缩、重试和最终回答。切换或重进页面可恢复过程、草稿及待处理交互。Composer 不展示模式切换。
- 验收:
WB-COMPOSER-003-AC1智能模式发送后,主区先可见用户消息与 assistant 占位消息。WB-COMPOSER-003-AC2AI 运行成功启动后,assistant 过程流通过事件逐步追加更新,而不是一次性静态替换。WB-COMPOSER-003-AC3assistant 在 AI 思考阶段于过程流最下方展示“让俺想想”并带有微光流动视觉反馈。运行未结束且尚无最终回答时预留同高占位,避免文案显隐导致消息区上挤抖动。当思考请求发起时展示文案;当收到输出、思考结束、出现“正在重试”过程组、已有可见流式 Thought / 最终回答、或 run 已结束(完成 / 失败 / 取消)时,必须隐藏“让俺想想”。WB-COMPOSER-003-AC4assistant turn 中 最终回答始终位于过程流下方,并按 markdown 渲染;最终回答在内容分片到达后直接流式渲染,不展示独立收尾等待层;金额等普通文本中的单个$不作为公式边界,数学公式使用$$...$$语法;无序和有序列表分别显示圆点和序号;链接图标和链接文字与周围正文沿基线对齐;内部文件链接打开右侧文件预览,网页链接打开右侧内置浏览器;若当前伙伴已有浏览器 Tab 正停留在同一 URL,则激活该 Tab,不新开。WB-COMPOSER-003-AC5决策层(Thought)只展示面向用户的短摘要,不得展示模型原始长篇推理;决策层出现时,当前“让俺想想”必须立即隐藏;Thought 内容使用正常正文色(#37352F)呈现;未超出单行时不展示折叠图标,超出单行时默认以单行省略号截断展示且不常驻图标,鼠标悬浮时显示展开图标,点击展开后常驻浅灰卡片背景并展示收起图标,展开内容受最大高度限制(超出纵向滚动),流式阶段平铺展开。WB-COMPOSER-003-AC6过程流使用用户可理解的文案,不直接暴露内部 tool 名或底层事件名;两次 Thought 之间的工具调用(含工具包与说明技能加载)合并为一个 Activity 面板,展开后按时间平铺自然语言说明;压缩与重试单独成行。Activity header 汇总规则见WB-COMPOSER-009-AC5;等待审批时的 header 与审后工具行图标见WB-BLOCKER-001-AC6/WB-BLOCKER-001-AC7。WB-COMPOSER-003-AC7AI 输出中切到 Settings 或触发界面重新挂载后,回到 Workbench 能通过伙伴消息记录投影恢复过程流、partial answer、最终回答或等待审批状态。WB-COMPOSER-003-AC8最终回答用标准 Markdown 链接引用资料名称与本地绝对路径或网页 URL。交付时检查本地文件链接:可访问则可预览,不可访问或无法识别时仍保留链接文字,使用强调色降低透明度、提示「链接无法访问」并禁止点击。网页链接默认可点,不做可达性检查。裸 URL/www 不自动转为链接。流式阶段本地链接可先点击,交付后更新状态;渲染和点击不重复检查,含中文及编码差异的同一路径不能被误判。WB-COMPOSER-003-AC9终端待审批表示尚未执行,不属于失败,用户未允许前不产生实际执行。命令自然退出即为执行完成,保留真实退出码;只有终端执行器、Shell 或会话异常才显示「执行终端指令失败」。用户停止单独记为取消;正常中断后会话可复用,强制终止进程树后关闭会话。
WB-COMPOSER-007 模型、AI 推进偏好与执行权限选择
- 系统行为:输入区底部展示主模型。模型选择分为预设视图与自定义视图。
- 推荐配置默认和回退使用官网目录规定的稳定模型调用名,不取服务商模型列表第一项。官网目录按用户已配置服务商展示;有缓存时先展示,过期可后台刷新,无缓存且拉取失败时不伪造推荐模型。
- 用户从自定义视图选中的任意 服务商的精确模型名(含推荐配置下的快照名)必须保留,不得被回退逻辑强行改回预设。
- 预设模型是否可用,按该配置 服务商返回的实际模型名与预设调用名做精确全等匹配;列表非空且匹配失败时,该预设行禁用,悬浮侧栏说明「该模型不存在」并展示实际查找的模型名。remote 列表为空(拉取失败或确无模型)时不因空列表禁用预设。
- 预设列表为统一滚动区(付费预设在上、免费模型在下,无「免费模型」分区标题);列表行展示目录下发的模型图标、展示名、竖向排列且不重叠的价格档位图标(较低 1 / 适中 2 / 较高 3,统一
#9B9A97;免费行尾部用同色约 11px 的「免费」文字替代硬币)和选中勾;菜单宽度按内容自适应,保留描边、不加投影;列表区最大高度 300px,底部「自定义模型」入口固定在滚动区外。 - 预设视图目录刷新叠在菜单右上角(不单独占一行):同时刷新付费预设与免费模型目录;按钮态为 idle / loading / success / error,成功图标使用
#356B5A,失败图标使用错误色,约 1.4s 后回到 idle。无缓存时先展示 loading,拉取失败且仍为空时展示错误态与刷新入口;有缓存时立即展示列表,过期后台刷新只驱动右上角刷新按钮 spinner。 - 免费条目开箱即用,不依赖用户配置,图标与名称由模型目录提供。
- 鼠标悬浮或键盘聚焦可用或不可用的预设模型时,在列表右侧固定展示约 200px 宽的信息侧栏(与菜单约 1px 间距,竖直位置限制在视口内);右侧空间不足时整体左移菜单,保证侧栏仍贴在菜单右侧。可用时展示模型名、短介绍、价格档位文案、是否支持视觉理解(侧栏不展示档位图标);不可用时只说明该模型不存在。悬浮免费模型时侧栏展示展示名、描述、价格档位「免费」、是否视觉理解,并附加「不保证稳定和隐私性」。
- 自定义模型视图不展示信息侧栏;自定义列表可含带日期快照等 服务商原始模型名;自定义行仍可用本地服务商 logo。
- 伙伴保存选中的服务配置与实际模型名,包括免费模型与自定义模型的精确名称。所有免费模型通过官网统一调用,用户无需填写 Key;免费目录移除或改变型号后,原选择失效,需要重新选择,不自动切换其他型号。免费视觉能力以目录声明为准,Qwen3.8 Flash Next 可用于图像理解。
- 验收:
WB-COMPOSER-007-AC1模型选择展开后展示预设模型区与底部「自定义模型」入口;进入自定义模型视图后为原服务商分组面板效果,可按模型名称搜索候选。WB-COMPOSER-007-AC2预设模型平铺展示且不出现分组标题(含不出现「免费模型」标题);列表行含模型图标(刷新后优先缓存图)、展示名、竖向不重叠的价格档位图标(或免费文案)和选中勾;菜单宽度按内容自适应。WB-COMPOSER-007-AC3悬浮或键盘聚焦预设模型时在列表右侧固定显示信息侧栏(贴近菜单);可用预设展示短介绍、价格档位文案和是否视觉理解(侧栏无档位图标);匹配失败的预设禁用且侧栏说明该模型不存在;自定义视图不展示侧栏。WB-COMPOSER-007-AC4选中预设模型后输入框展示该模型图标 与展示名,选中自定义模型后展示模型名;伙伴保存所选配置与实际模型名;推荐配置默认选中预设稳定调用名而非 remote 列表第一项;从自定义视图选中的 remote id 不会被强制改回预设。WB-COMPOSER-007-AC5用户切换 AI 推进偏好、执行权限或模型后,切回该伙伴或重启应用时恢复该伙伴自己的本机快照。WB-COMPOSER-007-AC6当伙伴快照中的模型已失效(含推荐配置上存了非预设 id、或预设 id 在非空 remote 列表中精确匹配失败)时,系统自动清理或回退到当前可用候选,并保存修复后的快照。WB-COMPOSER-007-AC7模型选择入口有可识别图标,而不是只展示纯文本。WB-COMPOSER-007-AC14有免费模型目录时预设列表在付费项之后展示免费模型行(图标来自模型目录、尾部「免费」文案);右上角提供统一目录刷新(含成功/失败反馈,不单独占顶栏行);侧栏价位为「免费」并含稳定性/隐私提示;无缓存 loading、失败空态与有缓存后台刷新行为对齐系统行为;选中后 trigger 展示图标与展示名;无用户配置时可将免费模型作为默认候选。WB-COMPOSER-007-AC15付费预设推荐模型来自官网目录;用户仅配置 DeepSeek Key 时可见deepseek-flash(DeepSeek V4.1 Flash)等下发条目,换目录不必发桌面版。WB-COMPOSER-007-AC9可选择默认、本地资料宽松和本地资料严谨三种推进偏好;本地资料入口通过二级菜单选择宽松或严谨。WB-COMPOSER-007-AC11发送智能任务时,当前 AI 推进偏好影响本次任务的资料使用边界。WB-COMPOSER-007-AC12新伙伴默认“审核”;本次任务固定使用发送时的执行权限,发送后改变 Composer 选择不得影响已启动的 run。WB-COMPOSER-007-AC13切换到“完全访问”权限时系统弹出高危风险二次确认弹窗(包含文件读写删除、终端命令和网络访问三项高危说明与注入风险警示),未在弹窗中确认前不改变当前权限;在弹窗中点击取消或关闭弹窗维持原权限;确认后正式切换为完全访问;从“完全访问”切回“审核”为安全降权,直接生效无需二次确认。
WB-COMPOSER-013 主模型图片输入
- 系统行为:不单独配置视觉模型。AI 调用内置 图片读取 时,若当前运行使用免费目录中明确无
vision能力的模型,AI 收到不支持图片的工具反馈并继续处理已有文字,可向用户解释限制及建议更换支持视觉的模型;本次不读入图片,保留用户附件。其余模型读图后,图片直接加入当前主模型的下一次多模态请求;provider 拒绝图片时仍展示原始错误。若选中的免费无视觉模型面对已有有效图片历史,Composer 发送按钮不可用,hover 提示「当前免费模型不支持视觉理解,请更换其他模型或清空历史消息」;更换支持视觉的模型或清空历史消息后恢复可发送。 - 验收:
WB-COMPOSER-013-AC1模型选择器不展示独立视觉模型入口;预设是否支持视觉理解只在统一模型信息侧栏中说明;列表行可用价格档位图标,不另加眼睛或视觉图标。WB-COMPOSER-013-AC2用户附件和@图片只向 AI 提供路径,不在发送前自动识别。WB-COMPOSER-013-AC3伙伴记录保留图片路径与元数据,不将完整图片编码嵌入对话记录。WB-COMPOSER-013-AC4本地图片由 图片读取 生成运行时缓存,HTTP(S)@图片保留原地址;运行时文件丢失后允许显示不可用占位。WB-COMPOSER-013-AC5选中免费且无 vision 的模型,且有效上下文含图片历史时,发送按钮禁用且 hover 可见上述视觉不支持提示;切换到非该类模型或清空消息记录后可再发送。已压缩掉的图片历史不触发本条拦截。成功、失败和取消结束后及时更新判定,无需切换伙伴;切换伙伴后的旧查询结果不得覆盖当前伙伴状态。WB-COMPOSER-013-AC6当前运行使用免费目录中明确无 vision 的模型时,图片读取返回明确能力限制,由 AI 继续文字处理;不将图片加入有效上下文,不编造图片内容,不因本次读图触发模型图片输入错误;用户附件保留。支持视觉或目录未命中的模型保持既有读图行为。
WB-COMPOSER-014 流式回答、Thought 与计划进度
- 系统行为:回答内容分片到达后立即在最终回答位置按 Markdown 渲染;一旦进入工具执行,同一草稿转为紧凑 Thought。自动重试前清空上一尝试草稿。正常结束且无工具调用时原位成为最终回答;有工具调用时按 Thought 切段聚合为 Activity 面板(默认折叠,可展开查看工具平铺详情),聊天区不直接展示工具原始结果。Composer 正中上方使用 28px 中性环形控件展示当前计划进度,浮层白底、中性边框,hover 显示 Todo 浮层,移开后隐藏,不支持点击固定。
- 验收:
WB-COMPOSER-014-AC1多段内容在任务完成前逐段 Markdown 渲染,切换伙伴再回来可恢复当前草稿。WB-COMPOSER-014-AC2有工具调用的内容成为 Thought;无工具且正常结束的内容成为最终回答。未确认结束前不会提前收尾。WB-COMPOSER-014-AC3自动重试不会重复拼接上一尝试;输出被截断时显示可继续错误,已确认的半截回答进入日志,网络中断草稿不进入后续对话上下文。WB-COMPOSER-014-AC4有计划时显示环形进度;Todo 浮层仅 hover 展示、移开隐藏,正常完成后短动画隐藏,中断后保留。WB-COMPOSER-014-AC5两次 Thought 之间的工具调用合并为 Activity 面板(布局、展开行与 header 规则见WB-COMPOSER-009);聊天区不直接展示工具原始结果。
WB-COMPOSER-015 LLM 自动重试过程层
- 系统行为:遇到可重试的模型请求错误,首次失败后最多自动重试 5 次。过程区独立显示重试行,同一任务只保留一行并就地更新次数,不并入 Activity。重试时隐藏「让俺想想」;成功后移除重试行并继续任务,耗尽后保留「重试失败 n/5」及模型请求失败提示。重试前清空上一尝试草稿,见
WB-COMPOSER-014-AC3;错误分类与退避机制由 Human Harness 定义。 - 验收:
WB-COMPOSER-015-AC1第一次自动重试展示“正在重试 1/5”;同一调用后续 attempt 在同一行更新为 2/5 … 5/5,不新开一行。WB-COMPOSER-015-AC2同一 run 内后续 LLM 调用若再次进入自动重试,仍只保留这一行并就地更新,不得同时出现多条“正在重试 / 重试失败”。WB-COMPOSER-015-AC3重试行处于 running 时过程区不得同时展示“让俺想想”;重试行出现后思考等待立即隐藏。WB-COMPOSER-015-AC4429 / rate limit 使用 2s 起、上限 15s 的指数退避;退避结束后继续原调用,成功则该行消失并继续过程流,耗尽则收口为“重试失败 n/5”。
WB-COMPOSER-016 Run 用时与过程记录折叠
- 系统行为:run 开始后,过程记录上方显示细分隔线和「已处理 X分钟Y秒」;不足一分钟时省略分钟,只显示「已处理 Y秒」。即使尚无 Thought 或 Activity 也显示;经过时间从 run 创建持续到结束,包含等待提问或审批的时间。run 完成、失败或取消后显示固定「用时 X分钟Y秒」,不足一分钟时显示「用时 Y秒」,并提供可折叠入口;运行中计时和 Thought 内容使用正常正文色;结束后的「用时」文字和展开/收起箭头使用中性灰色(#9B9A97),文字 13px、箭头 14px,Thought 内容保持正常正文色;Activity header 常态使用中性灰色(#9B9A97),展开面板内容使用浅灰色(#787774);过程内容不因 run 完成而整体降低透明度;过程记录初始收起,最终回答、失败提示和修改文件入口不随过程记录折叠。伙伴切换或刷新后从 run 持久化的创建和结束时间恢复。
- 验收:
WB-COMPOSER-016-AC1run 开始后立即显示「已处理」计时和分隔线,运行期间每秒更新;不足一分钟仅显示秒数;等待提问或审批时计时继续。WB-COMPOSER-016-AC2完成、失败、取消后显示固定「用时」并默认收起过程记录;不足一分钟仅显示秒数。点击用时行可展开或折叠 Thought、Activity 等过程内容。WB-COMPOSER-016-AC3刷新或切换伙伴后显示的用时基于同一 run 的持久化时间;最终回答、失败提示及修改文件入口始终不受过程折叠影响。
WB-COMPOSER-008 上下文用量提示
- 系统行为:智能模式输入区展示当前伙伴上下文 token 用量圆圈,显示当前已估算 token、当前模型有效上下文窗口 token 与已用占比;hover 展示已用比例与 token 数,不展示剩余比例。最大用量按当前模型的有效上下文预算展示,预算规则见 Human Harness。该用量在切换伙伴和 human run 完成后刷新。
- 验收:
WB-COMPOSER-008-AC1智能模式下输入区可见上下文用量圆圈,hover 或辅助文本可读到已用比例与已用 / 最大 token,不展示剩余比例。WB-COMPOSER-008-AC2human run 完成后,用量圆圈会基于最新伙伴消息记录刷新。
WB-COMPOSER-009 消息流布局
- 系统行为:workbench 消息区不展示用户与 assistant 头像;assistant 回复以左对齐内容流展示,过程流没有独立标题或左侧竖线,且与最终回答共用消息 rail;最终 markdown 输出直接位于内容流中;用户消息使用右对齐紧凑气泡。无消息时输入区位于主工作区中部;存在消息后输入区固定在主区底部,只允许消息区独立滚动,右侧面板展开或折叠不得改变输入区定位。过程流按真实时间展示决策层与过程层:思考层“让俺想想”是 AI 请求阶段的临时等待状态,位于过程区最下方展示,请求时出现、结束时隐藏;决策层(Thought)内容使用正常正文色(#37352F),未超出单行时不显示折叠图标,超出单行时默认单行省略且鼠标 hover 显示展开图标,展开后常驻浅灰卡片背景并支持内部滚动;两次 Thought 之间的全部工具调用(含工具包与说明技能加载)合并为一个 Activity 面板(默认折叠,hover 显示展开箭头),header 与展开行规则见
WB-COMPOSER-009-AC5/WB-COMPOSER-009-AC6;压缩层和决策层累计保留;重试行仅在进行中或失败时展示,成功后移除。压缩与重试单独成行、不并入 Activity。LLM 自动重试行规则见WB-COMPOSER-015。 - 验收:
WB-COMPOSER-009-AC1用户与 assistant 消息不展示头像或头像占位;过程区的临时子任务头像按WB-SUBAGENT-001-AC2展示。WB-COMPOSER-009-AC2assistant 过程流和最终输出左边缘与底部 composer 内容 rail 对齐。WB-COMPOSER-009-AC3assistant 最终 markdown 输出默认无独立背景卡片,保持在过程流下方。WB-COMPOSER-009-AC4用户消息以右对齐紧凑气泡展示;长 URL 和无空格文本在气泡内部换行,不能撑宽消息区或被左侧裁切。WB-COMPOSER-009-AC5Activity header 按工具 UI 类型归并后做短句汇总:短句使用可独立成句的动作说明,不出现缺少对象的半截连词;同类多次展示为「短句 N 次」(例如「搜索网页 3 次」);归并后类别为 1 时与短句(或带次数)一致;2~3 类时用顿号、连接且两侧无空格(例如「正在加载 Excel 编辑器、执行命令、搜索网页」),不再使用「并」「但」;归并后类别大于 3 时收敛为「已完成 n 项」(n 为总工具次数;进行中也使用该句式,不再在「正在执行 / 已完成」间切换;失败态保留对应失败句式;Activity header 常态使用中性灰色(#9B9A97),hover / 流光时可使用正文色(#37352F),不因内部工具失败变红)。header 不携带命令参数、文件路径、query 或 URL;展开行仍展示带对象的完整工具原句。终端 AI 审核进行中时,流光动效只显示在 Activity header,展开后的命令项保持静态。header 从 Activity 出现起保持滑动,直到下一段 AI content(Thought 或最终回答)出现。header 文本单行显示,超出宽度时 省略号裁切。header 只展示一个图标;单一工具类型使用对应语义图标,混合工具使用流程图标。示例:查看/提取/操作页面的 header 分别为「查看页面 / 提取内容 / 操作页面」,不得出现「查看页面并」「从页面中」「在页面上」;查看 Word 结构的 header 为「查看 Word 文档结构」。WB-COMPOSER-009-AC6展开行使用“动作 + 对象”的完整自然语言,不重复状态,不使用冒号。例如查看 Word 文档 xx 的结构、读取文档 xx 范围、读取文件 xx、执行命令 xxxx、搜索网页 query、抓取网页 url。浏览器按打开、列出标签、查看、提取、操作、截图和滚动展示动作与对象;不完整连词仅用于连接对象,不能作为 header。图片读取行显示「读取图片」,按输入顺序横排可点击缩略图,点击图片灯箱放大,不展示完整路径。WB-COMPOSER-009-AC7文件名、query、命令、URL 和技能名不使用粗体或冒号强调,保持正常字重;可以通过文字颜色表达层级。WB-COMPOSER-009-AC8工具包与说明技能加载作为普通工具行展示,分别使用工具包通用名称或说明技能名称,例如docx 阅读器、docx 编辑器、资料查阅器、命令执行器;运行中展示“正在加载 xx”,完成后展示“已加载 xx”,不作为独立加载层。WB-COMPOSER-009-AC9Activity header、压缩层和重试层展示对应图标;浏览器各动作(打开网页使用地球图标、查看页面使用眼睛图标、操作页面使用指针图标、提取内容使用双眼图标、截取页面使用相机图标、滚动页面使用上下箭头图标、列出标签使用浏览器标签图标)、网页抓取使用蜘蛛图标、网页搜索使用放大镜图标、询问用户使用困惑表情图标、读取图片与生成图片使用照片相框图标(截取页面并读取图片的视觉成对动作统一使用照片图标,不退化为闪电)、知识库、文件、终端和加载使用独立语义图标;其他混合动作或混合工具时使用工作流闪电图标。展开后的每条工具句子不展示图标,也不渲染前置小圆点或“AI 思路”类图标。WB-COMPOSER-009-AC10决策层、Activity、压缩层、重试层按事件时间顺序累计展示;决策层内容使用正常正文色(#37352F),未超出单行时不显示折叠图标,超出单行时单行截断省略,折叠状态展开图标在 hover 时显示且垂直居中于单行文本,展开时常驻浅灰卡片背景、折叠按钮居顶对齐第一行文本并在最大高度内纵向滚动,Activity 默认折叠且 header 常态使用中性灰色(#9B9A97),hover / 流光时可使用正文色(#37352F);展开面板内容使用浅灰色(#787774),失败工具行保留红色提示;终端审核更新复用同一工具项,AI 审核结论和人工审批决定仅在对应审核完成后显示于该工具项下的内嵌线中,内部审核 reason 不展示;不存在独立加载层或最终收尾等待层;AI 思考期间在消息流最下方展示“让俺想想”。成功的自动重试行不保留(见WB-COMPOSER-015-AC4);失败重试行保留。重试行次数与互斥规则见WB-COMPOSER-015。WB-COMPOSER-009-AC16Activity header 在成功、失败和部分失败状态下均保持中性灰色层级,不因内部工具失败变红;失败句式保留,展开后的失败工具行继续使用红色提示。进入 Activity 的工具即使在执行前因参数校验被拒绝,也必须即时显示失败项;调用关联和入参须与消息记录一致,恢复后不得遗漏或重复。WB-COMPOSER-009-AC11无消息时输入区保持居中;存在消息后消息区为唯一纵向滚动容器,输入区固定在主区底部且不被消息内容向下推出窗口。WB-COMPOSER-009-AC12“正在 / 已检索知识库”只来自 AI 实际调用知识库工具;新建干净智能对话、仅切换伙伴时不得凭空出现该过程文案。
WB-COMPOSER-006 AI 运行取消
- 系统行为:智能模式在普通任务运行时,Composer 右侧只有一个主按钮:草稿没有可发送内容时显示停止;有可发送内容时显示发送,提交后按
WB-COMPOSER-017追加到当前 run 的消息队列,草稿清空后按钮恢复为停止。点击停止后 UI 保持占用当前 run,直到系统确认取消、失败或完成;清理期间该按钮为转圈态并禁用,提示「正在停止本次运行」。若当前 run 正在等待提问或审批,停止也必须释放对应等待、移除交互卡并结束本次 run;Activity 不得继续显示「等待用户处理」。取消是独立终态,不生成失败气泡,也不在 assistant turn 中追加或保留「已取消」正文;取消前已经产生的回答片段、过程记录和文件修改入口继续保留。正在执行 内置浏览器操作(含页面加载、查看、操作和提取)时,停止须立刻中断并结束 run,不得等页面或浏览器操作自然完成后再结束。当前 run 仍在等待模型首个 token(流式尚未返回)时,停止也须立刻进入取消状态,不得等待服务商拆掉连接或 stream 自然结束。 - 验收:
WB-COMPOSER-006-AC1普通运行中右侧只显示一个主按钮:草稿无可发送内容时显示停止,有可发送内容时显示发送并排队;排队发送后草稿清空,按钮恢复为停止。点击停止会停止当前 run,页面不显示额外的文字“取消”按钮。WB-COMPOSER-006-AC2点击停止图标后,当前运行进入取消终态;界面可给出一次性取消反馈,但 assistant turn 不展示失败气泡或「已取消」正文。WB-COMPOSER-006-AC3当前运行卡在审批等待时,点击停止图标也会结束本次 run,而不是继续等待审批提交。WB-COMPOSER-006-AC4当前 run 正在执行 内置浏览器操作 导航或页面操作时,点击停止图标后须立刻结束本次 run 并进入取消状态,不得继续等待页面加载完成或页面操作超时。WB-COMPOSER-006-AC5点击停止后、运行尚未终态前,唯一主按钮保持禁用并展示停止转圈及「正在停止本次运行」;清理完成前不能发送新消息。WB-COMPOSER-006-AC6当前 run 仍在等待模型首个 token 时点击停止,须立刻结束本次 run 并进入取消状态,不得等待 stream 拆连接或将停止误报为普通失败。
WB-COMPOSER-017 运行中追加消息
- 系统行为:普通任务运行中可继续输入和发送。Composer 只显示一个主按钮:没有可发送内容时为停止,有文字、附件或引用等内容时为发送。提交后清空草稿,追加消息立即以浅灰气泡显示,不提供编辑、撤回或等待文案。系统完成当前工具执行与结果处理后,按提交顺序接续这些消息;若当前回答已经开始,则先完成原回答。审批或提问期间改用交互卡,不接受普通消息排队。停止、失败或应用中断后,已提交消息保留为普通历史,不自动继续执行。
- 验收:
WB-COMPOSER-017-AC1普通运行中只显示一个主按钮;空草稿为停止,可发送草稿为白色向上箭头。发送后追加消息立即位于消息末尾,呈浅灰且没有状态文字、编辑或撤回入口;草稿清空,按钮恢复为停止。WB-COMPOSER-017-AC2当前工具及结果处理完成前不开始接续任务。接续上下文先保留已有工具结果,再按提交顺序保留每条追加消息;接续使用最后一条追加消息的模型、偏好和执行权限。WB-COMPOSER-017-AC3原回答已经开始时先完成原回答,再处理追加消息;交接后浅灰气泡恢复普通用户消息样式。WB-COMPOSER-017-AC4审批或提问时由交互卡替代 Composer,不显示普通输入框或主按钮;只能通过现有交互卡提交或停止。WB-COMPOSER-017-AC5停止、失败或进程中断后,已提交消息保留为普通历史,不自动启动 AI;用户之后显式发送新消息时可以继续。WB-COMPOSER-017-AC6中途停止后,已经返回的工具结果保留;只有缺少结果的调用按未执行处理,不伪造成功结果,也不自动重放原操作。WB-COMPOSER-017-AC7追加消息正在校验时不开始下一次 AI 推进;校验成功后安全交接,失败后当前任务继续。交接后原助手过程停止计时、显示固定用时,并排在对应用户气泡之后。
WB-COMPOSER-010 附件保存与传递规则
- 系统行为:用户点击
+后直接打开系统附件选择器,可在同一窗口中选择一个或多个本地文件、目录;也可将文件或目录拖入中间聊天区。附件记录其源路径,不复制文件;目录不递归扫描、不预解析。粘贴文件因不保证有稳定源路径,保存副本到当前伙伴的附件目录;添加附件不会创建新伙伴。文件或目录拖入中间聊天区时显示透明覆盖层“松开以添加文件或文件夹”,拖离或放下后消失;覆盖层不覆盖左侧栏、顶部栏或右侧资源面板。发送给 AI 的附件上下文只包含顺序、名称和绝对路径。未选中伙伴时不允许添加附件。 - 验收:
WB-COMPOSER-010-AC1未选中伙伴时不允许添加附件,并提示先创建或选择伙伴。WB-COMPOSER-010-AC2已选中伙伴后,+和拖放文件或目录均保留源绝对路径;粘贴文件保存副本到当前伙伴的附件目录。WB-COMPOSER-010-AC3文件附件不限扩展名、大小或数量;不因这些条件提示或拒绝加入。文件内容是否可被 AI 工具处理由 AI 工具层自行判断。WB-COMPOSER-010-AC4发送给 AI 的附件上下文只包含顺序、名称和路径,不包含发送前预解析摘要。WB-COMPOSER-010-AC5+直接打开同时支持文件和目录的系统选择器;拖放接受文件和目录。目录仅以路径附件呈现,不扫描内容;文件和目录卡片均只显示对应图标与名称,不显示类型副标签;点击可打开路径,移除方式与文件一致。拖放提示为「松开以添加文件或文件夹」,不显示大小限制提示。WB-COMPOSER-010-AC6发送后附件卡片区限宽且可横向滚动;未溢出时右对齐,溢出时从首张卡片起可访问,触控板横滑和鼠标滚轮横向操作可达首尾,滚动边界不阻断消息区纵向滚动。
WB-COMPOSER-011 使用帮助入口
- 系统行为:Workbench 左侧栏底部在设置入口旁展示使用帮助按钮,点击后通过系统默认浏览器打开国内官网中文使用手册
https://www.guanzhangai.cn/zh/manual。 - 验收:
WB-COMPOSER-011-AC1使用帮助按钮可见,具有“查看使用帮助”的可访问名称和说明。WB-COMPOSER-011-AC2点击使用帮助按钮后,系统打开官方中文使用手册,不改变当前伙伴和输入草稿。
WB-COMPOSER-012 应用更新入口
- 系统行为:应用更新入口位于 Workbench 左侧栏底部、使用帮助入口旁。应用启动 5 秒后静默检查更新,持续运行时每 4 小时再检查一次;发现新版本后显示“更新”,由用户主动点击后才开始下载,下载时显示进度,下载完成后显示“重启更新”;设置页不重复提供更新入口。Windows 上用户选择立即重启安装时,先完成应用关闭(刷新工作区、终止 embedding / 网页抓取 sidecar / 终端会话等子进程),再触发安装器覆盖升级,避免旧文件被占用导致卸载失败。
- 验收:
WB-COMPOSER-012-AC1没有可用更新时不显示更新入口;发现更新后入口可见。WB-COMPOSER-012-AC2用户主动点击后才开始下载,下载中显示进度且失败后可重试。WB-COMPOSER-012-AC3下载完成后可立即重启或稍后处理,稍后处理时入口保留为“重启更新”。WB-COMPOSER-012-AC4当前应用检测到本机数据库版本高于应用支持版本时,不初始化 Workbench 和其他业务服务,只显示独立升级恢复页,并明确展示检测版本与当前支持版本。WB-COMPOSER-012-AC5升级恢复页自动检查更新,按状态提供检查、下载、进度、失败重试和重启安装;始终保留官网中文下载页入口与退出入口。恢复模式的官网入口必须实际打开系统默认浏览器,不能仅显示链接。更新失败或不可用时不能绕过进入业务界面。页面使用可理解的中文失败提示。恢复页顶部保留 44px 窗口拖动条(Windows 另有独立 36px 原生标题栏,业务内容从其下方开始),按钮和链接可操作,不触发窗口拖动。
6.4 资料引用与文档选区
WB-SCOPE-001 @ 候选来源规则
- 系统行为:输入
@后,根据当前关键字返回目录、文件和网页资料候选。本地候选相对每个工作地址根最多收录两级路径(根为第 0 级,可引用工作地址本身;其下第一层、第二层的目录与文件进入列表;第三层及更深不出现)。列表为「文件 / 网页」两组平铺,无展开、无点进目录;点击任一项即插入对应 token。工作地址根、目录、文件、网页均可选中。候选按页懒加载,单次最多 50 条,滚到底加载下一批;有关键字时在上述扁平集合内子串过滤后再分页。本地索引只补充索引状态,不决定候选是否出现。键盘上下移动高亮项时列表滚动跟随使当前项可见;Enter 插入当前高亮项。未创建或未选中伙伴时 Composer 为空态,不开放@发送路径。 - 验收:
WB-SCOPE-001-AC1未选中伙伴时不把资料选择当作正常发送路径暴露给用户。WB-SCOPE-001-AC2已选中伙伴后,候选可同时出现工作地址根、根下两级内的目录/文件与全局网页;只展示“文件”和“网页”两组;点击目录与点击文件一样直接插入,不进入子层。WB-SCOPE-001-AC3在上一次索引或候选打开后新增、修改或删除本地文件时,再次打开@(或搜索)必须反映真实目录;深度超过两级的路径不出现;新增或变更但未索引的文件仍可选择,并显示“未索引”。WB-SCOPE-001-AC4浏览与搜索均按页加载且单次不超过 50 条;滚到底可继续加载;键盘高亮超出可视区时滚动条跟随。
WB-SCOPE-002 @ 插入与删除规则
- 系统行为:候选可通过键盘或鼠标插入为内联 token;目录、文件和网页资料都可作为合法 token 插入;输入区支持多个已插入 token 共存;token 使用无边框、无独立底色的紧凑图标加名称样式,与文档选区引用共享圆角、间距和基线。目录、网页、PDF、DOCX、PPT/PPTX、Excel 使用各自的专属样式;Markdown 使用带 MD 标识的库图标,TXT 和其他文件使用普通文档库图标。候选名称及 token 名称统一正文色
#37352F,仅图标保留各类型原有配色;候选、输入 token 和消息回显的目录图标均为 16px,其他类型均为 18px,图形与基线对齐保持一致,token 名称基线与相邻正文对齐;已插入 token 同步更新当前类型图标和样式,保留正文与光标位置。按Backspace可移除参考资料;发送后,用户消息中保留本轮参考资料 token 回显,样式与输入区 token 保持一致。 - 验收:
WB-SCOPE-002-AC1目录、文件或网页资料插入成功后,参考资料以 token 形式保留在输入流中,并进入后续发送参数。WB-SCOPE-002-AC2输入区支持多个已插入 token 共存,而不是后插入覆盖前一个范围。WB-SCOPE-002-AC3删除 token 后,对应范围不再参与后续发送。WB-SCOPE-002-AC4发送后,用户消息仍展示本轮@参考资料 token,用户可从消息中看见当时选择的资料范围。WB-SCOPE-002-AC5目录、网页、PDF、DOCX、PPT/PPTX、Excel 保留专属样式;Markdown 使用独立 MD 图标,TXT 和其他扩展名使用普通文档图标。目录、MD、普通文件的图形在候选、输入 token、消息回显、附件及文件树中一致。
WB-SCOPE-003 重复范围清理
- 系统行为:已插入的参考资料不重复出现在候选中。
- 验收:
WB-SCOPE-003-AC1同一范围不会被连续重复插入。
WB-SCOPE-004 空候选提示
- 系统行为:若当前没有可插入范围,系统按上下文给出明确提示。
- 验收:
WB-SCOPE-004-AC2已选中伙伴但没有匹配项时,提示没有匹配项。
WB-DOCUMENT-REFERENCE-001 DOCX 选区引用
- 系统行为:右侧真实 DOCX 预览选中文字后保留淡紫色背景高亮,先展示星光图标+「AI 引用」入口,点击后展开紧凑输入条,placeholder 为「描述你想对引用内容做什么」。输入条使用 13px 字号、20px 行高,单行高度约 38px,随内容增高至三行后滚动;右侧约 28px 的深色圆形按钮使用对勾图标,新增时提示「添加到输入框」,编辑已有引用时提示「确认修改」。浮层默认在选区下方,以文档预览可见区域做碰撞检测,下方不足时翻到上方,左右超出时调整;滚动、缩放及输入条增高时重新定位。输入获得焦点后原文高亮仍保留,不添加下划线。点击对勾或 Enter 将内容同步到左侧输入区,尚不发送 AI;Shift+Enter 换行,IME 确认不提交;空原文或空想法不提交,Esc/点击外部放弃未确认改动。
- 选区片段由不可编辑的文档图标+文件名+编号胶囊以及可编辑的想法组成;胶囊为浅紫底,与正文基线对齐、保留间距,不展示方括号;长文件名省略,悬浮可看完整名称和原文。想法可含
@,两侧编辑同一份内容。选区既可用于修改也可用于提问。 - 支持原生连续文字选择,包括跨段落、跨页、跨单元格、整表及正文与表格混选;页眉页脚和文本框中的真实 HTML 文字同样支持。引用只保留实际选中的文字及前后各最多 150 字上下文,保持段落和单元格内换行;表格单元格以 Tab 分隔、行以空行分隔,空单元格及合并单元格的占位保留,合并文字不重复。图片与文字混选时只提取文字,不包含图片、图形像素文字或文字格式。提取、高亮与回跳对应同一段真实原文。
- 选区没有可读取文字或原文无法可靠定位时,使用系统 toast 自动消失,同一提示合并;文档内不显示提示条。重复/重叠选区继续静默保留当前选中范围。
- 确认后收起输入条,在正文末尾以空格分隔追加片段,不主动换行;空草稿仅排除编辑器占位,未输入换行时首次引用从第一行开始;用户已有空格及换行原样保留,宽度不足时自然折行。右侧原文只保留紫色背景,不显示编号、不添加下划线、不改变 DOCX 排版。悬停已保存选区时背景加深并显示手形光标,单击直接打开输入条重新编辑,已有引用提供删除图标;拖动或 Shift 选取文字仍按普通文本选择处理。相同或重叠选区只保留当前选中范围,不展示 AI 引用或提示,不新增引用。点击左侧引用展开对应文件并定位;删除片段或浮层删除同步移除引用与右侧高亮。左侧当前草稿按伙伴和文件分别从 1 连续编号,按正文中选区片段的顺序排列;删除后重新连续编号,全部删除或发送成功后,新建选区从 1 开始。引用以独立 ID 关联,重新编号不改变原文和想法;已发送消息保留发送时的编号。
- 未发送选区及关联想法只存内存,伙伴/文件切换与关闭 Tab 不丢失,重启丢失;其他正文和附件继续保存。提交期间锁定正文和标注编辑,消息被接受或排队成功后清除本批标注,提交失败保留。已发送消息可回显和再次编辑;原文变化导致无法可靠定位时提示,保留引用内容。
- 文档选区不自动收窄知识库范围,未索引选区仍可发送。
- 验收:
-
WB-DOCUMENT-REFERENCE-001-AC1跨段落、跨页、跨单元格、整表、正文/表格混选及可读取的页眉页脚/文本框原文和上下文准确;表格行列、空单元格、合并占位与单元格内换行保留;混选图片不阻断文字引用;无可读取文字不新增引用,提示使用系统 toast 且不重复。 -
WB-DOCUMENT-REFERENCE-001-AC2选中先展示 AI 引用,点击后展开小字号紧凑输入条;对勾图标及新增/编辑提示正确,确认后同步到输入区;紫色选区在输入时保留,浮层在预览区域内随滚动/缩放定位并支持上下翻转,缩放不丢失未确认输入;确认、换行、取消、空内容与 IME 行为正确。 -
WB-DOCUMENT-REFERENCE-001-AC3图标、文件名和编号胶囊与正文清晰分隔,输入区与消息回显样式一致;引用与想法按输入顺序保留,支持 @;追加引用不主动换行,用户手动换行与自然折行保留;两侧编辑同步。 -
WB-DOCUMENT-REFERENCE-001-AC4右侧紫色高亮无编号和附加下划线,悬停反馈可点击,单击打开对应输入条,文本选择不受影响;重复/重叠选区保留选中范围且无入口或提示;定位和删除正确;左侧编号连续,删除全部后从 1 开始,重新编号不串原文和想法,历史消息编号不变。 -
WB-DOCUMENT-REFERENCE-001-AC5未发送选区按伙伴隔离,切换保留、重启丢失;普通文字、@ 引用和附件仍可恢复。 -
WB-DOCUMENT-REFERENCE-001-AC6提交期间禁止编辑;接受或排队成功后清理,提交失败保留;历史消息可回显、复制和重新编辑。 -
WB-DOCUMENT-REFERENCE-001-AC7DOCX 普通预览右侧使用固定 16px 的滚动与位置标记共用轨道,不再并排显示原生竖向滚动条。紫色方块仅表示当前伙伴、当前文件中可可靠定位的已确认 AI 引用;临时选区不显示。方块按正文纵向位置和范围映射,最小高 4px;半透明灰色滑块覆盖在标记上层,按可见范围与滚动位置同步,悬停/拖动加深且不遮住标记。轨道支持拖动和滚轮滚动、空白处点击跳转;拖动超过 3px 后不再触发标记定位。轻点色块或 Enter/Space 将目标居中,超长目标定位起始处,并强调 700ms;色块与滑块重叠时仍可轻点定位或拖动滚动。重叠方块合并且连续点击轮流定位。引用新增、删除、发送清理、伙伴/文件切换与排版变化后同步更新;无标记仍保留滚动轨道,正文未溢出时不显示滑块,不改变正文引用编辑行为。
-
WB-DOCUMENT-REFERENCE-002 多格式选区引用
- 公共交互:PPTX、Excel、MD/TXT 类 UTF-8 文本和 PDF 复用 DOCX 的 AI 引用入口、想法输入、编号、回跳、双向编辑、删除和草稿生命周期;只有真实预览允许新增引用,审核 Diff 不允许。文字紫色高亮,引用入口出现时保留原生文字选区及 Ctrl/Cmd+C 复制,复制跟随当前焦点和选区;视觉对象/单元格使用淡紫覆盖及边框;同粒度重复/重叠选区不新增,PPT 整页与局部可并存。
- PPTX:点击引用完整文本框/表格/图片/图表,以及引用当前页;一条局部引用只对应一个元素,组合图形引用工具可读取的外层组合。文本框按完整元素引用,不选择其中部分文字;局部改字通过想法描述。左键从元素、已引用元素或空白处拖拽均平移画布,任意缩放比例下位移完整跟随鼠标,不受画布边界限制;缩放按钮保留位移,滚轮缩放保持鼠标锚点,均不因缩小到 100% 以下而回中,点击“适应窗口”恢复 100% 和中心。移动超过 5px 后不再按点击处理,即使拖回起点也不触发引用、编辑浮层或文字选择提示;空格拖动和中键平移作为快捷操作。悬停可引用元素使用点击手形,空白处始终使用抓手,实际平移时使用抓紧光标且优先于元素悬停;按下元素尚未拖动时保持点击光标。底部提示「点击元素引用 / 滚轮缩放 / 拖拽平移」。引用指向源文件中的真实页面或元素;组合只引用外层对象,子元素不重复渲染或独立点击。对象与整页不生成截图,AI 根据引用读取源文件,不将预览文字当作文件当前内容。
- Excel:每条一个有限连续矩形(最多 10,000 个单元格),支持空白区域;整行/整列/整张工作表及不连续多选不新增引用并提示缩小范围。合并单元格扩展到完整合并范围,空格保留;引用保留所选工作表、区域及确认时的内容,确认选区不触发额外重算。模型只收到工作表与范围,按定位读取源文件内容。
- 普通文本:MD/TXT 和现有可编辑 UTF-8 文本支持跨行、段落、列表及代码块;保留源文位置及上下文,Markdown 维护源文与可见文字映射,排除隐藏语法标记与重复渲染节点,支持跨标题、列表、粗体、行内代码和 GFM 表格;重复正文结合选中块位置与上下文定位。高亮不修改文件或撤销历史。普通文本回跳恢复编辑器的原生选区与焦点,可继续复制和编辑;高亮绘制在正文下方,临时、已保存及悬停选区均保留文字可读性;MD、普通文本及 Excel 已保存选区悬停显示手形光标,单击可编辑引用,拖选仍保持原生行为。
- PDF:基于真实文字层选字并支持跨页,记录页内位置;临时、已保存及悬停高亮均使用半透明紫色,保持 canvas 正文与图片可见;扫描件、区域框选与 OCR 不在此能力内,无文字使用统一 toast。
- 引用展示:资料按文档组织,保留原文、想法与必要定位信息。文字类引用保留空格、Tab、换行和代码围栏;PPT 与 Excel 引用提供页面/元素或工作表/区域位置,AI 读取源文件取得当前内容,不重复附带截图或整份内容。引用悬浮仍展示紧凑位置和确认时的内容。
- 确认时的文字与单元格内部快照不随源文件变化改写;PPT 视觉对象与 Excel 区域的模型内容以 AI 读取时的源文件为准。回跳核对内部快照与位置,无法可靠匹配时保留引用并提示;Excel 不把变化后的旧坐标当作原内容。提交等待被引用文本的待保存内容落盘;失败保留草稿,接受或排队成功后清除。引用不自动收窄知识库或授权修改。
- 验收:
WB-DOCUMENT-REFERENCE-002-AC1各格式选择、浮层、高亮、两侧编辑、删除和回跳正确;切页/Sheet、滚动和缩放不串选区。WB-DOCUMENT-REFERENCE-002-AC2PPT 点击引用完整元素,元素/整页定位标识与 PPT 工具读取结果一致,不附带选区截图;文本无重复片段,纯提问不改文件,局部改字保留其他元素。从文字、图片、已引用元素及空白处左键拖动只平移画布,不产生引用、编辑浮层或 toast;任意缩放比例下可自由拖动且不受边界限制,缩放不强制回中,“适应窗口”恢复中心;拖回起点和 Esc/失焦取消手势不误触点击,点击/悬停/拖动光标与实际动作一致。WB-DOCUMENT-REFERENCE-002-AC3Excel 空白、公式、合并格、多 Sheet、范围上限和不支持选择均按规则处理,区域填公式不覆盖外围。WB-DOCUMENT-REFERENCE-002-AC4文本/Markdown/PDF 原文与位置正确,Markdown 样式不污染文件;文件变化不错误高亮,保存失败不发送。WB-DOCUMENT-REFERENCE-002-AC5混合引用经提交、排队、历史回显和重新编辑保留文字、单元格内容与定位标识;草稿按伙伴隔离,关闭 Tab 保留、重启丢失。
6.5 AI 运行中的阻塞与提示
WB-SUBAGENT-001 子任务协作
- 验收标准:
WB-SUBAGENT-001-AC1主伙伴可创建任意数量的临时子任务,深度一层,默认同时执行 2 个,其余按顺序排队。子任务继承模型、偏好、权限和工作地址,使用独立上下文,不复制主聊天。AI 对可独立完成的任务按需协作。WB-SUBAGENT-001-AC2:当前主回答过程区竖排显示子任务,每行只有稳定的随机内置组合头像和名称。排队头像和名称置灰且静止;运行头像动画,等待用户审批及结束后停止;支持减少动态效果偏好。鼠标悬浮或键盘聚焦打开小云,保留云轮廓及尾巴,云朵整体位于头像右上方,尾部小圆点与头像保持间隙、不重叠;最大宽 220px、云面最大高 96px;文字区域避开轮廓凹陷,左右至少 24px 留白,长路径换行且文字和黑球均限制在云面内部。云内始终只有最新一条公开消息:排队显示「我在排队」,等待审批显示「等待你审核操作」且无请求黑球;执行中尚无可见文案(含空白片段或重试清空)显示「我在思考中」,无文字流黑球;有文案时随实际模型文本流式追加,新消息替换旧消息;工具期间保留附带公开说明,无说明使用现有工具动作文案;完成先流式显示最终交付,结束两秒后自动云隐藏,再悬浮显示「已完成」,失败及交回主伙伴显示「我干失败了:{错误原因}」,已知错误使用现有明确原因,其余原样展示返回错误,空原因显示「未知错误」;停止和中断显示对应状态。不显示原始内部推理。最新公开消息第一个字到达即自动显示云,实际文字流期间黑色呼吸圆球跟随文字尾部;文字流结束后黑球消失,停留 2 秒自动隐藏,后续工具执行或审核不延长黑球。一次只自动展示最新开始输出的子任务云;鼠标悬浮、进入云内或键盘聚焦优先且保持显示。按公开消息标识识别新消息,每轮首个可见字及非流式公开消息均触发显示;同一消息的片段、完成快照和工具状态更新不重复触发,换行不另起周期;切换伙伴、刷新或展开历史不重播旧自动云。排队、审批和历史交付仍可悬浮查看。内容换行、不省略;隐藏滚动条但可滚动,打开及新内容到达时自动滚到底部。鼠标可进入云内,完成后沿用整个过程区折叠规则。派发调用在成功、执行中及失败时均不进入 Activity,无原位展开、额外分组标题、完成计数或正常状态文字。执行前派发失败也保留目标助手行以展示错误云;无法识别名称时显示「临时帮手」,不创建真实子会话或执行。当前过程区同一目标助手重试后更新原行的最新状态,失败尝试保留在日志中;失败云沿用自动展示、两秒隐藏和手动悬浮规则。WB-SUBAGENT-001-AC3:子任务不创建伙伴、侧栏项、独立气泡或通知;不得再次派发、提问或管理定时任务。需用户补充信息时交回主伙伴;人工审批使用主对话统一审批卡,子实例等待决定后继续。WB-SUBAGENT-001-AC4:受控文件修改、快照、产物和回退统一归主伙伴和主 run。同路径保留首次基线与最后状态;跨执行文件工作态互斥,冲突交回主伙伴串行处理。子卡片无独立文件修改列表。终端写入沿用不自动记账规则。WB-SUBAGENT-001-AC5:子任务自行创建和操作独立浏览器标签,只能查看和操作自己的执行标签,不同标签可并行。同一页面调用依次执行。后台网页视图隐藏显示且保留有效页面尺寸,不遮挡主界面;后台操作不切换用户伙伴、活动资源或展开面板;控制结束后标签保留为主伙伴资源,登录状态共享。WB-SUBAGENT-001-AC6子任务的后台网页搜索和抓取依次执行;排队可取消,执行超时从真正提交开始。已提交请求取消后,其他请求等待其完成或超时;取消一个子任务不打断其他任务的共享网页服务。WB-SUBAGENT-001-AC7:子执行结束后释放内存上下文和运行资源,保留已落盘文件及主日志中的精简结果;只有完成交付才删除持久子会话,失败、取消或交回主伙伴保留历史。切伙伴不停止,主任务停止取消子任务。真实应用退出后不自动恢复子执行实例,保留未完成会话供主伙伴续接;重启保留已完成结果、未完成显示中断;用户续聊修复悬空派发反馈,可查询并续接未完成子会话或按需创建新子任务。WB-SUBAGENT-001-AC8:主子运行共用审核和审批执行链,以当前执行者的任务作为审核输入;人工审批保留原子实例,允许后执行原操作,拒绝或指导反馈给原子模型。等待占用执行名额,不产生模型请求。主任务内审批 FIFO,一次展示一个批次,不合并不同执行者的批次;有待审批批次时主任务保持等待审批,已有提问仍优先展示,处理后推进审批。来源头像、名称及指导占位文案 对应执行者;当前批次提交后自动切换并清空草稿。WB-SUBAGENT-001-AC9:审批来源、请求、决定和取消归主日志,保存决定并确定下一批待处理项后,才允许执行者继续;重复/过期决定无效。切伙伴及界面刷新恢复当前审批;停止清除全部等待并保留已有文件;应用退出不自动恢复子执行实例或重放旧审批,保留未完成会话供主伙伴续接;重启时等待审批任务标记中断。WB-SUBAGENT-001-AC10:子会话默认持久化,未完成任务可由主伙伴查询 ID、名称、原任务和状态并续接;不提供过程详情工具。续接保持会话 ID/名称/头像,生成新执行 ID,使用独立历史及已保存压缩状态。完成交付后清理完整子会话,主历史结果保留。
WB-BLOCKER-001 人机交互阻塞
- 系统行为:
- AI 提问使用
waiting_human,待审批使用waiting_approval,共用底部交互位置,已有问题优先于后续审批。两类卡片共用外框、顶部「问题 / 操作确认」、右上分页与停止、整行选择及多行输入提交区;问题或操作说明独占标题区。仅一项时隐藏分页;停止结束整个 run,拒绝操作则交回伙伴继续处理。等待期间普通 Composer 隐藏,不接受排队消息,内置网页仍可由用户操作。 - 提问每次包含 1 至 3 题,支持单选、多选、纯输入及请求用户完成网页操作等协作。每题可提供 0 至 4 个选项,选项可省略或为空;无选项时只显示正文和多行输入框。单选使用数字徽标与深灰选中标记,多选使用方框及「可多选」轻提示;推荐项使用轻量文字,无默认选择。取消独立「其他」选项;无选择时输入即为回答,已有选择时输入为补充,再次点击已选单选项可以清空选择。选项与文字均为空不能提交。
- 提问和审批点选后均停留当前项;当前项有效才允许「下一步」,顶部箭头可自由查看各项并保留本次草稿,最后统一提交;存在未回答 / 未决定项时显示提示并禁止提交。新的提问或审批批次清空草稿并回到首项;切伙伴或刷新恢复待处理交互,未提交草稿重置,不新增草稿持久化。同一模型回复中的多个提问及混合工具仍按原顺序逐项处理,所有工具获得结果后才继续 AI;完全访问也不会自动回答。用户协作回复是反馈,不代替网页状态验证,AI 可继续通过浏览器工具核实结果。
- 提问与审批输入共用 全局多行输入主题与自动高度:有选项时从标准单行高度开始,纯输入题从三行开始,最多展示六行后滚动。选项下的补充输入与审批指导默认及悬停时无边框、无阴影,获得焦点后显示全局 Input 主题的边框与阴影,失焦后隐藏;纯输入题保留完整细描边。提问与审批卡内按 Enter 等同点击右下角当前主动作(下一步、发送回复、允许执行、确认拒绝或发送指导),选项行和输入框获得焦点时均可使用,不切换或清空已有选择;Shift+Enter 换行,Ctrl/Cmd+Enter 也可执行当前主动作。顶部翻页和停止按钮保留各自键盘操作。输入法组合输入与长按重复键不触发主动作,禁用、提交或取消期间不得触发。提交期间禁止重复提交并冻结选择、输入和翻页,停止入口保留;取消期间禁用全部操作。提交失败显示错误并保留草稿,成功由运行事件移除卡片。
- 审批指导输入显示「告诉{对应伙伴名}该怎么做」:子任务优先使用来源子伙伴名,否则使用当前伙伴名;均缺失时使用「伙伴」,不硬编码产品名。保留子任务来源展示。提问输入依次使用「或直接输入回复…」「补充说明(可选)…」或纯输入题的「回复…」。
- 审核权限下,已知文件增删改、写入重定向、明确的脚本/程序运行、系统/进程操作和网络写入先由本次任务的主模型审核;未命中副作用规则的命令默认执行,丢弃错误输出不算写文件,空命令和语法错误仍报错。授权包括完成目标所必需、合理的配套操作;实际操作在授权范围内、目标及重要影响明确、约束和前置已满足且风险未超出授权时,才可自动通过。任何重要不确定、条件不满足或审核失败都转人工确认。进入审核即显示对应 Activity 命令项,重试更新原项,不重复计数。
- AI 审核自动通过时直接执行且不展示审批卡;存在需人工确认的命令时,在底部用审批卡片替换普通 Composer。卡片一次只展示当前一条审批项,用户可通过左右切换浏览整批,整批在人工决定前都不执行;任一项拒绝或指导时整批零执行。AI 审核结论写入运行日志,供排查和恢复读取。
- 审批卡不展示内部策略原因;完整命令放在独立浅灰代码块,支持换行和滚动。下方「允许本次操作 / 拒绝本次操作」为整行单选,不默认选择、不标推荐。非空指导文字清除当前选择并禁用选择行,清空指导后恢复未选状态;指导不是允许执行的附言。末项按钮按整批决定显示「允许执行 / 允许执行 N 项」「确认拒绝」或优先显示「发送指导」,此前仅为「下一步」。任何一项拒绝或指导均整批不执行;全部允许且最终提交后才执行。审批不自动超时,等待明确提交或取消。
- 等待 AI 审核期间,Activity header 显示「正在审核终端命令」,多条命令时显示数量;展开行显示正在审核的命令。AI 自动通过后,同一工具项转为准备执行和执行状态。需要人工决定时 header 显示「等待用户处理」,展开行显示待确认命令;审批后同一工具项继续显示实际执行结果,拒绝或指导且整批未执行时显示「命令未执行」。刷新后从消息日志恢复审核与人工决定状态;取消后清除运行中等待状态。
- Activity header 按当前工具汇总文案显示,但无论工具执行成功、失败或部分失败均保持中性灰色层级;失败句式保留,具体失败工具行仍以红色提示。被人工拒绝或指导、实际未执行的终端命令不算工具执行失败;独立错误提示气泡规则不变。
- Activity 展开后,在对应工具行下按时间顺序显示问题、选项文字、自定义答案和审核结果;AI 审核结果与人工审批决定均使用与问答一致的内嵌竖线层级,只展示审核结论 / 用户决定,不展示 AI 内部 reason;不再使用审核图标前缀或 hover 替换工具文案。
- 不在过程流展示只读 blockers 提示,也不弹出「有 n 条命令需要审核 / 审核已通过」toast。审批结果保留在伙伴任务记录中,刷新后可恢复。
- 完全访问权限下跳过 AI 与人工审核,不创建等待审批状态、不发送审批事件、不展示审批卡片与审批叙事;工具自身的禁止规则、取消及其他运行时保护仍生效。
- AI 提问使用
- 验收:
WB-BLOCKER-001-AC1同一批次全部选择“允许本次操作”并点击最终“允许执行”后,当前运行恢复加载态,并按原 serial 顺序继续执行该批对应命令;只点选择行不执行、不自动翻页。WB-BLOCKER-001-AC2任一项拒绝或提供非空指导并最终提交后,本批命令均不执行,反馈交回原执行者继续处理。WB-BLOCKER-001-AC3指导输入使用对应伙伴名;输入非空清除选择并禁用选择行,清空后恢复未选状态;最终提交指导不执行本批命令。WB-BLOCKER-001-AC4用户不操作审批卡片时,审批不会因固定超时时间自动失败。WB-BLOCKER-001-AC5完全访问 run 的审批项会自动通过且继续执行,不产生waiting_approval、审批事件或审批卡片。WB-BLOCKER-001-AC6AI 审核期间 Activity header 显示「正在审核终端命令」(多条时含数量),命令行显示审核中;等待审批时 header 为「等待用户处理」;审完后恢复常规工具汇总或显示「命令未执行」;过程流不出现「等待批量审核」只读 blockers,且不弹出开始/通过 toast。WB-BLOCKER-001-AC7AI 审核完成后,同一工具行的内嵌竖线区域展示「AI 审核结果:已通过」或「AI 审核结果:需要人工确认」;人工审批后在同一区域展示同意、拒绝或指导结果(指导可附反馈语)。只在 AI / 人工审核完成后显示对应结果,不展示内部审核 reason;不使用结果图标前缀或 hover 替换工具文案。拒绝或指导的行显示命令未执行,不标记为工具执行失败;刷新伙伴后仍可从消息记录恢复。WB-BLOCKER-001-AC8浏览器操作(内置浏览器操作,包括打开、查看、操作、截图、滚动等)属于受控沙箱交互,不触发审批卡片与审批阻塞;审核仅针对终端命令(终端执行)安全策略。展开行中浏览器操作不前缀审批结果图标。WB-BLOCKER-001-AC9两类交互共用轻量卡片,顶部为「问题 / 操作确认」,正文独占标题区;多项数量位于左右箭头前,仅一项隐藏分页。底部为采用全局 Ant Design Input 默认间距的自适应多行输入和明确主动作;补充输入与审批指导仅聚焦时显示边框及阴影,默认、悬停和失焦时隐藏,纯输入题保留细描边;选择行无尾部勾叉,键盘焦点不显示整行蓝色外描边;选项行或输入框按 Enter 执行右下角主动作,Shift+Enter 换行。右上停止入口独立,长内容及窄宽度不溢出。WB-BLOCKER-001-AC10提问或审批等待中取消 run 后,交互卡和 Activity 的等待状态同时清除;取消前已落盘的文件修改记录仍显示并可审核、回退。WB-BLOCKER-001-AC11提问每题允许 0 至 4 个选项,支持无选项纯输入及 1 至 4 项单选 / 多选;无独立其他选项、无默认选择;数字徽标 / 方形勾选区分类型,推荐为轻量文字。选择不跳题,逐项下一步并最终发送;空回答禁用;Enter 等同点击下一步或发送回复,Shift+Enter 换行,输入法确认和长按重复键不提交;错误重试和新交互草稿隔离正确。WB-BLOCKER-001-AC12同一模型回复包含多个提问或混合工具时,按返回顺序逐项处理;每个提问使用独立卡片状态,全部工具获得结果后才继续 AI。等待任一提问时停止 run,当前卡和尚未执行的工具同时终止。WB-BLOCKER-001-AC13macOS/Windows 的目录浏览和文本搜索即使丢弃错误输出也不进入 AI 或人工审核;明确副作用命令先进入一次结构化 AI 审核,自动通过则无卡片,审核不确定或失败才出现人工卡片。WB-BLOCKER-001-AC14同批混合 AI 自动通过与人工项时,用户完成整批确认前无命令执行;人工拒绝后整批零副作用。完全访问跳过两层审核。WB-BLOCKER-001-AC15AI 审核、审批与执行沿同一命令更新单条 Activity 工具项;不得重复计数。AI 审核 reason 仅记录在日志中,不在过程流展示。
WB-BLOCKER-003 上下文压缩过程提示
- 系统行为:AI 开始整理上下文时,过程流显示“东西太多了,让俺整理下”;完成后更新为“呼,终于整理好了,累死俺了”。
- 验收:
WB-BLOCKER-003-AC1上下文整理开始后,当前回答过程区出现运行中的整理项。WB-BLOCKER-003-AC2整理完成后,同一过程项更新为完成态并展示完成文案。
6.6 右侧内容面板
WB-PANEL-001 面板状态切换
- 系统行为:右侧资源工作台默认折叠,折叠时不渲染面板 shell、不占主内容宽度,只在窗口右边缘保留展开按钮。展开后宽度占「中间对话区 + 右侧面板」主区的可配置比例(默认约 48%,用户拖拽后持久化);窗口缩放时中间与右侧按同一比例同步变化;中间对话区至少保留约 500px;中间|右分隔条支持拖拽,拖至约 200px 以下立即吸合折叠。资源工作台拥有独立于对话区的 44px 顶部标签栏和 44px 上下文工具栏;资源 Tab 支持文件和多个内置浏览器。顶部标签栏不使用底部边线,资源 Tab 溢出时支持触控板或鼠标滚轮横向滚动,激活 Tab 自动滚动到可见位置。同一伙伴内继续发送消息时不清空已打开资源;切换伙伴时恢复目标伙伴自己的 Tab、活动内容和展开状态。
- 验收:
WB-PANEL-001-AC1打开文件时新增并激活对应资源 Tab;再次打开同一路径文件时切换并更新已有 Tab,不重复创建;从“打开文件”选择器选中文件后,选择器 Tab 被该文件 Tab 原位替换,不残留空的选择器 Tab;通过 Tab 尾部「浏览器」或加号新建空白浏览器时每次都创建独立 Tab;从 assistant Markdown 网页链接打开时,若当前伙伴已有浏览器 Tab 正停留在同一 URL,则激活该 Tab,不重复创建。WB-PANEL-001-AC2普通文件预览和同一文件的修改 diff 共用一个文件 Tab,后打开的状态成为该 Tab 当前内容,不产生两个同路径 Tab。WB-PANEL-001-AC3关闭活动 Tab 后由相邻 Tab 接管;关闭最后一个 Tab 后显示空面板;关闭非活动 Tab 不改变当前内容。WB-PANEL-001-AC4Tab 尾部+菜单只提供“文件”和“浏览器”;“文件”创建工作区文件选择标签且不弹系统文件选择器,“浏览器”创建新的空白浏览器标签;两个入口使用同色线性图标。WB-PANEL-001-AC5切换伙伴后恢复目标伙伴自己的资源标签、活动标签、浏览器导航历史和面板展开状态;目标伙伴没有已打开资源时恢复空态。恢复过程中的异步数据刷新(如审核记录加载)只更新内容,不得把折叠态的面板重新展开;折叠期间刷新完成后,用户展开时直接看到最新内容。WB-PANEL-001-AC6展开态的折叠按钮位于右侧标签栏末端;折叠态只在窗口右边缘保留展开按钮。Windows 使用独立 36px 原生标题栏覆盖层,业务内容从该层下方开始;原生拖动区域只覆盖无交互空白区,资源标签、地址栏、侧栏切换、折叠入口和所有按钮均使用no-drag且不得被拖拽命中层覆盖。WB-PANEL-001-AC7资源 Tab 横向溢出后,鼠标纵向滚轮可转换为横向滚动;点击或新增活动 Tab 时,该 Tab 自动进入可见范围。WB-PANEL-001-AC8页面首次进入、创建伙伴和切换伙伴后,右侧 shell 不存在于布局中;点击文件、修改记录、浏览器入口或展开按钮后,以约 200ms 的宽度和位移动画滑入。折叠时先播放滑出动画,结束后再卸载并释放宽度。WB-PANEL-001-AC9折叠态展开按钮位于主标题栏右侧,展开后立即隐藏;展开和折叠按钮不得使用会撑大页面滚动范围的 portal tooltip,悬浮后页面不得出现额外横纵滚动条。WB-PANEL-001-AC10面板展开时宽度占「中间对话区 + 右侧面板」主区的可配置比例(默认约 48%,持久化用户拖拽结果);窗口拉宽/收窄时中间与右侧按同一比例同步变化;用户可通过中间|右分隔条拖拽调整;中间对话区至少保留约 500px,右侧面板至少约 280px;拖至约 200px 以下立即吸合折叠;折叠时宽度归零、多余宽度归对话区。窗口缩放或拖拽分栏时面板与内置浏览器应对齐跟手,松手后停在最终比例,不得出现错位遮挡或明显滞后。
WB-PANEL-003 文档查看与修改文件衔接
- 系统行为:
- 文件预览态与修改文件工作区共用 44px 紧凑头部,但主体使用不同渲染组件;头部使用“目录 > 文件”面包屑,顶层显示文件地址的目录名或文件名。
- 支持差异渲染的修改文件在面包屑旁展示当前模式 Tag:“审核”表示展示修改差异,“预览”表示展示修改后的干净文件;Tag 旁的切换图标负责在两种模式间切换。差异数量、修改状态和回退按钮只在审核模式展示,预览模式不得展示
+N -N、“已回退 / 已删除”或回退按钮。 - “打开方式”组合按钮展示当前生效的默认应用名称和图标:优先使用馆长内按扩展名保存的偏好,否则跟随系统默认。下拉展示系统关联应用,应用行只负责本次打开,生效应用仅显示淡灰色“默认”标记;应用较多时仅应用列表滚动,底部设置与文件夹入口始终可见;“默认打开应用…”在同一浮层进入选择页,标题提供返回入口,选择应用只保存偏好并返回列表,不打开文件。“使用系统设置”清除馆长偏好;不常驻显示扩展名和生效范围说明。偏好跨伙伴和工作空间生效、重启保留,设置后立即同步相关面板,不修改系统关联。确认偏好应用不可用时清除偏好并提示,查询失败保留偏好,并在列表底部使用分割线隔开放置纯文字“打开所在文件夹”。
- 当前文件为
.docx/.pptx/.xlsx且打开方式列表含 WPS 时,组合按钮左侧显示问号图标,悬停说明 WPS 联动作用,点击打开官网“WPS 联动使用”专项手册;其它格式或未检测到 WPS 时不显示。 - 文件列表入口使用文件夹图标;普通预览和修改文件工作区中的文件列表从工具栏底部开始贴右悬浮,不挤压预览宽度,也不得覆盖工具栏交互。点击面板外部、按 Escape 或再次点击文件列表按钮关闭悬浮列表;选择文件打开预览后默认保持列表展开,保留目录展开、筛选、滚动和选择状态。“打开文件”初始空页面继续使用常驻文件列表。
- 尚未添加文件目录时,“打开文件”页合并为占满 Tab 内容区的统一空态,不再并排展示打开文件说明和文件列表提示。空态使用线性文件夹图标、标题“尚未添加文件目录”、说明“在工作空间中添加目录,即可在这里浏览和打开文件。”和“前往设置”按钮;按钮进入设置的工作空间文件页,跳转前保存当前伙伴的草稿与资源 Tab,返回工作台后恢复原活动 Tab 并重新读取目录。普通文件预览中的悬浮列表复用同一空态,不替换预览内容。目录信息加载时显示加载状态;已配置目录但根目录没有条目时显示“目录中暂无文件”;文件浏览不依赖向量模型或索引完成。
- 文件列表提供“全部 / 本次运行改动”切换:“全部”按目录懒加载,每次打开列表都会重新拉取根目录与当前已展开目录的最新磁盘内容;仅当文件列表处于展开状态时,窗口重新获得焦点或恢复可见、以及 AI Run 结束才会再刷新已加载目录,列表收起时不做这两类后台刷新;点击任何文件只打开正常预览;“本次运行改动”只聚合当前打开修改记录所属 run 的文件变化,点击后才打开该文件的审核模式。
- 文件列表和工作空间树的 DOCX、Excel、PPT、PDF 复用 Composer 原有彩色类型图标;MD 与普通文件使用
react-icons的PiFileMdLight / PiFileTextLight细线文档图标,目录使用 Bootstrap 的线性图标,文件及媒体图标为 18px、目录为 16px,与@候选一致;所有目录图标(含附件、设置入口、空态和权限说明)统一使用该组件;展开/收起目录及列表入口分别使用BsFolder2Open / BsFolder,列表保留真实文件名后缀。Composer 的目录、MD、普通文件图形与文件树统一,Office/PDF 保持原有图标和配色,候选及内联引用的目录为 16px、其他类型为 18px,附件为 21px,并保持基线对齐。左键或右键选择条目后保持中性灰高亮;右键只改变列表选择、不打开文件或切换预览,关闭菜单不取消选择。点击空白、搜索框或列表外部取消选择,未选中行不显示悬停底色。 - “全部”常驻/悬浮列表复用右键菜单:目录、空白处及文件都提供“新建文件”;文件另提供“重命名 / 删除”。空白处创建到列表根目录,目录上创建到该目录并展开,文件上创建到文件所在目录。类型子菜单用图标和“Word / Excel / PPT / 其他文件”标签,不显示后缀。新建输入行位于目标层级最后一个目录之后、第一个文件之前。只有一个完整文件名输入框:Office 预填固定后缀,选中并编辑名称部分;其他文件直接输入“名称.后缀”。Enter 创建(输入法组词期间不提交),Escape 取消输入行且不关闭列表;点击输入行外部或切换列表模式/工作目录取消。启动新建时清空筛选,重名、非法名称或失败保留输入并就近提示,处理中防重复提交。成功后刷新、滚动到新文件并保持选中,不自动打开、不改变当前预览/Tab、不收起列表。
- 文件重命名在原行使用相同单框编辑,自动选中名称、固定保留原后缀;Enter 提交、Escape/外部点击取消。成功清空筛选让新名称可见,并同步已打开普通文件 Tab 的标题、路径和预览,保持当前 Tab;先保存待写文本再移动,旧路径不被延迟保存重建。重名、非法名称或失败保留输入,不覆盖已有文件。手动新建、重命名、删除不生成 AI 修改记录,历史审核快照保留。
- Word 新建为有效空白文档,Excel 包含一个空白
Sheet1,PPT 包含一页空白幻灯片。其他文件创建空文件,自填后缀为.docx/.xlsx/.pptx时仍生成对应有效 Office 文件;预览和编辑沿用现有格式支持。新建目标必须位于当前工作目录内,创建不得覆盖已有文件。 - 文件右键“删除”先确认移到系统回收站,可取消;确认后等待当前文本保存完成再移动。处理中禁用重复确认和取消;保存或回收站操作失败保留弹窗并提示,可重试,不降级为永久删除。成功后立即刷新目录,已打开的普通预览显示“文件已删除”,清理待保存任务且停止编辑,关闭编辑器或自动保存不得重建已删除文件。手动增删不生成 AI 修改记录;历史审核快照仍可查看,索引沿用设置页检查更新流程。
- 验收:
WB-PANEL-003-AC1普通文件打开后,右侧除轻量工具条外全部用于文件预览;工具条提供系统打开方式,并通过其下拉菜单中的“打开所在文件夹”定位文件,不单独展示定位按钮。WB-PANEL-003-AC2同一轮 AI 修改存在多个文件时,用户点击不同修改入口会打开或切换到对应文件 Tab;每个文件 Tab 只展示当前文件的记录和预览。WB-PANEL-003-AC3PDF 搜索命中打开预览时,预览应保留整份 PDF 可滚动内容,并自动定位到命中 chunk 对应页,而不是只显示该页内容。WB-PANEL-003-AC4Markdown 使用专用预览;.txt、.log、代码、JSON、HTML 等严格 UTF-8 文件使用纯文本预览;解码失败的二进制文件不得误进纯文本渲染。WB-PANEL-003-AC5打开普通文本修改记录时使用独立文本 diff:每行只显示一个有效行号,删除行取旧行号,其余行取新行号;hunk 间以“N 行未修改”紧凑展示。WB-PANEL-003-AC6“N 行未修改”可点击展开真实未修改内容;展开数据来自修改时保存的不可变修改后行,不依赖之后可能变化的磁盘文件。WB-PANEL-003-AC7“全部”列表可标记当前伙伴内状态为applied的 AI 修改,点击后默认打开正常文件预览;文件存在可审核的修改记录时,同时展示“预览 / 审核”切换,默认关联该文件最新有效修改批次;可计算行数时显示+N -N,否则显示“已改”。WB-PANEL-003-AC8“本次运行改动”默认每个逻辑文件只显示一次,展示修改次数;文件恢复到本次运行基线后不再显示,删除文件仍保留修改入口。WB-PANEL-003-AC9同一文件存在多个 Run 修改批次时,默认展示最新批次;工具栏下拉使用用户请求摘要和时间切换历史批次,不展示内部 Run ID,也不把多个 Run 强制合成一份累计 Diff。WB-PANEL-003-AC10“全部”和“本次运行改动”以用户当前选择保持稳定浅灰选中态;列表选择独立于打开的预览,点击列表外取消选择后不随预览恢复高亮。WB-PANEL-003-AC11assistant turn 的“修改的文件”列表使用目录/文件路径;右侧文件预览工具栏继续使用目录 > 文件面包屑。WB-PANEL-003-AC12文本 Diff 行背景至少覆盖整个可见画布宽度;长行产生横向滚动时,新增、删除和上下文背景应延伸到完整可滚动宽度,不得在文件列表前留下无意义白块。WB-PANEL-003-AC13从修改文件入口进入修改文件工作区时,工作区文件列表默认关闭;用户点击文件夹图标后,列表从 44px 工具栏底部开始贴右悬浮并默认进入“本次运行改动”。悬浮层不得改变预览宽度或覆盖工具栏,点击外部、按 Escape 或再次点击按钮关闭;选择文件打开普通预览或审核后保持展开、筛选、滚动和选择状态。点击文件总分类或其历史记录时,必须按所选记录重新进入默认模式;未回退记录进入审核模式,已回退记录进入预览模式,即使所选记录 ID 与当前记录相同也必须执行重置。打开“全部”列表时必须重新读取磁盘目录(含已展开子目录),不得继续展示上次缓存的过期条目;仅当列表处于展开状态时,窗口重新获得焦点或恢复可见、以及 AI Run 结束才会同样刷新已加载目录;列表收起时不得因窗口焦点或 AI Run 结束触发目录刷新。WB-PANEL-003-AC14文件在当前伙伴内存在可审核的修改记录时,无论通过普通文件入口还是修改入口打开,面包屑旁展示“审核 / 预览”模式 Tag 及切换图标;docx、pptx、xlsx和普通 UTF-8 文本文件均支持该切换。普通文本的预览模式打开 当前正式路径的真实本地文件:若为可编辑 Markdown/UTF-8 文本则进入与普通打开一致的应用内编辑态;审核模式使用结构化文本 Diff;xlsx的预览模式展示正式工作簿,审核模式展示带单元格边框标记的工作簿。普通文件入口默认进入预览;对话“修改的文件”、本次运行改动或历史记录入口,每次点击都按所选批次进入审核,即使同一记录已打开并切到预览;已回退记录默认预览。同一文件复用原 Tab,单纯切换 Tab 保留该记录当前模式,后台刷新不重置模式。已打开的普通预览在 AI 运行收尾、审核记录生成后自动出现切换入口,保留当前 Tab 和阅读位置。不同文件独立关联,最新有效批次按文件匹配;明确打开的历史批次不因后续运行收尾自动切换。切入预览或回退后,差异数量、修改状态和回退按钮全部隐藏。WB-PANEL-003-AC15打开方式列表来自操作系统,生效默认应用排在首项并统一标记“默认”;其他关联应用去重后展示。默认设置经独立入口进入同一浮层选择页,选项以勾选表示当前偏好,应用行仅本次打开;只能使用系统查询到的应用,不能任意指定应用路径。查询失败明确报错并保留馆长偏好,不误用其他应用打开。WB-PANEL-003-AC16文件工具栏不单独展示“打开所在文件夹”按钮;该入口继续放在打开系统应用的下拉列表底部。工作区文件列表使用独立文件夹图标,收起时为透明按钮,展开后保持浅灰背景、边框和圆角,收起后选中样式立即消失。WB-PANEL-003-AC18右侧处于预览模式且展示真实本地文件时,必须监听当前激活文件的外部修改;路径不区分工作地址根目录、子目录或伙伴运行附件目录,范围覆盖所有当前支持应用内预览的文件类型,包括文本与其他可预览格式:PDF、DOCX、PPTX、XLSX/XLSM/XLTX/XLTM、PNG/JPG/JPEG/GIF/WebP/BMP/SVG、Markdown,以及严格 UTF-8 的 TXT、LOG、代码、JSON、HTML 等文件。仅当文件内容相对上次预览发生变化时才自动读取最新磁盘内容并提示“检测到当前文件被外部修改,已自动刷新”;仅打开外部应用、锁文件或 mtime/ctime 变化而正文不变时不得刷新或提示。切换文件、关闭 Tab 或切换到审核模式后停止旧监听,窗口重新获得焦点或恢复可见时补检查;AI Run 执行期间及结束后短暂保护期内的写入只刷新不提示。Office 审核使用固定快照,不监听或刷新源文件;文本审核右侧使用当前文件并沿用文本编辑的外部修改协调规则;修改记录切换到预览模式时必须展示并监听正式路径的真实当前文件,而不是修改时快照。WB-PANEL-003-AC19任意受支持文件类型的 AI 修改记录处于applied状态时,通过系统默认应用或指定关联应用打开成功后,提示“如果外部应用仍显示旧内容,请关闭该文档后重新打开。”;该提示不按 TXT、DOCX、PPTX 或 XLSX 等扩展名区分。普通文件、失败记录、已回退记录和打开失败场景不得显示该提示。WPS 加载项已连接时仍可出现该提示,不作为失败;实际刷新由WB-APPLY-002-AC8负责。WB-PANEL-003-AC20DOCX、PPTX、XLSX、图片和普通文本专用工具已通过写入校验与前后校验证明文件有效变化时,保存修改记录时立即保留该状态和快照;不得因目标位于 伙伴运行附件目录 而将成功记录改为失败。只有明确确认前后内容相同时才按无有效变化处理,不展示修改入口或固定错误条,仅临时提示“本次未检测到文件内容变化”。WB-PANEL-003-AC21DOCX 已有表格中的单元格文字或格式变化必须进入 Review Docx;内容替换在对应单元格内显示旧内容红色和新内容绿色,纯格式变化只高亮对应单元格,未变单元格不得被整表标记。变更数量按最终净变化单元格统计,修改后回读必须返回所属表格的真实内容。WB-PANEL-003-AC22当前预览文件为.docx/.pptx/.xlsx,且系统打开方式列表包含 WPS 时,打开方式组合按钮左侧显示问号;悬停说明加载项可刷新写回内容并从审核定位,点击打开官网统一的“WPS 联动使用”手册(macOS、Windows 共用)。PDF、Markdown、纯文本、.xlsm/.xltx/.xltm以及打开方式列表不含 WPS 时不显示该图标。授权弹窗本身仍由 WPS 负责,见WB-WPS-001-AC5。WB-PANEL-003-AC23未添加文件目录时,“打开文件”Tab 只显示一个全宽设置引导;普通预览的悬浮列表复用该引导且不替换预览。“前往设置”进入工作空间文件页,返回后恢复原伙伴、输入草稿与资源 Tab;新增目录后自动展示列表。目录信息加载中不闪现未配置提示;已配置空目录显示“目录中暂无文件”;无向量模型或未完成索引不阻止浏览。WB-PANEL-003-AC24“全部”常驻/悬浮列表在目录、文件和空白处右键均提供四种带图标的新建类型,标签不显示后缀;位置分别为目标目录、文件所在目录和列表根目录。文件菜单另提供重命名/删除。WB-PANEL-003-AC25选类型后在目标层级最后一个目录之后、第一个文件之前自动聚焦单个完整文件名输入框,Office 固定后缀且仅选中名称,其他文件自行输入名称和后缀。Enter 创建且输入法组词不提交,Escape 仅取消输入行,点击外部或切换模式/工作目录取消;重名、非法输入及失败保留输入并提示,重复提交不重复创建。WB-PANEL-003-AC26新建三种 Office 文件结构有效且包含空白文档/一个 Sheet/一页幻灯片;其他文件可自填后缀。成功立即更新列表、保持目录展开并让新文件可见且持续选中,不自动打开或改变活动 Tab/预览,不收起列表,不覆盖已有文件。WB-PANEL-003-AC27删除必须经确认后移到系统回收站,取消不改变磁盘;处理中防重复操作,失败保留弹窗并可重试,不永久删除,成功立即更新列表。WB-PANEL-003-AC28删除当前打开的文本先完成保存,随后预览显示“文件已删除”、停止编辑且清理待保存任务;关闭编辑器或延迟自动保存不重建文件。手动增删不记为 AI 修改,历史审核快照继续可查看。WB-PANEL-003-AC29DOCX 审核右侧复用 16px 滚动与位置标记共用轨道:左列红色表示删除,右列绿色表示新增或格式修改,悬停区分类型;半透明滑块、拖动/滚轮/空白点击滚动、标记与滑块重叠时的手势区分、位置、最小高度、重叠轮流定位、键盘操作和短暂强调与普通预览一致。方块只来自 Review DOCX 的真实变更语义,不根据字体颜色判断;同类父子范围去重,不同类型保留,无可视位置的文档级变化只进入原有统计。审核/预览、历史批次切换和回退后按当前正文重建,不残留旧标记,不依赖分页或跨模式滚动比例。WB-PANEL-003-AC30左/右键选中条目后保持中性灰高亮,右键不切换预览、关闭菜单后保持;点击空白/搜索/列表外取消,未选中行无悬停底色。工作台列表和工作空间树的目录图标为 16px、文件图标为 18px,与@候选一致;DOCX/Excel/PPT/PDF 复用原有彩色图标,目录/MD/普通文件的库图标在输入框及文件树一致,内联引用的目录为 16px、其他类型为 18px,并保留基线,列表保留后缀。WB-PANEL-003-AC31文件原行重命名使用单框,选中名称并固定原后缀;取消不改磁盘,重名/非法/失败保留输入且不覆盖。成功更新已打开普通 Tab 标题、路径和预览;先完成待保存文本,旧路径不被重建,AI 历史审核快照保持。
WB-PANEL-004 内置浏览器面板
- 系统行为:
- 各浏览器标签使用独立页面,共享持久化登录和浏览数据。本面板服务用户及 AI 浏览器操作,后台网页抓取独立运行,不污染本面板。
- 普通打开网页不启用远程调试;自动化只在操作当前页面时连接本机控制通道,结束后释放。
- 切换文件、折叠右侧栏或切换伙伴时,网页在后台继续运行,AI 操作不被打断;重新显示时保留同一页面,并展示后台操作后的实时状态。
- 浏览器导航栏提供后退、前进、刷新/停止、URL 输入、输入框内“前往”按钮、地址栏右侧“将打开外部浏览器”按钮和更多操作;从 Markdown 网页链接打开内置浏览器时,先按当前伙伴已有 Tab 的当前 URL 匹配,命中则激活已有 Tab,未命中再新建并导航;地址栏导航仍作用于当前 Tab。
- 用户地址栏与 AI
navigate共用同一套网址补全:输入什么协议就打开什么;未写协议时只补成https://,失败不改成http://。 - 页面开始加载即展示面板与地址栏进度线,不等待加载完成。网络失败显示统一错误页和浏览器错误码,地址栏保留尝试打开的地址;用户停止不显示网络错误。AI 打开页面要等待真实标题、正文或表单才报告成功,网址本身与空白首屏不算就绪;失败仍返回目标标签信息,允许在原标签重试。
- 浏览器更多菜单及新增标签页菜单使用主窗口原生子窗口承载自绘内容,覆盖在浏览器上方且不隐藏浏览器。
- 验收:
WB-PANEL-004-AC1AI 使用浏览器后,右侧显示对应标签。面板动画期间网页尺寸保持稳定,动画结束后与最终视口对齐。拖动分栏时以静态页面画面占位,结束后立即对齐并恢复真实网页;占位画面延后退出,避免白屏闪烁。WB-PANEL-004-AC2AI 可新建或导航指定标签,列出当前伙伴标签,查看、提取、操作、截图与滚动目标页面。所有操作定位明确的标签;页面操作可执行先前观察到的动作或自然语言指令,输入只作用于可填写项。截图取当前视口,滚动可加载后续内容。WB-PANEL-004-AC3切换文件、收起面板或切换伙伴后,网页转入后台,页面脚本、网络请求、登录数据、滚动、表单和应用状态继续保留。WB-PANEL-004-AC4AI 浏览器任务完成后,assistant 最终输出应使用浏览器操作获得的结果完成用户诉求,右侧浏览器面板状态与最终回答形成可理解的任务闭环。WB-PANEL-004-AC5多个标签可以打开相同 URL,AI 必须操作指定标签,不能按 URL 猜测或串页。WB-PANEL-004-AC6浏览器标签共享 Cookie、登录态、LocalStorage、IndexedDB、Service Worker 和 HTTP 缓存;除非用户主动清除浏览数据,应用不得自动清空持久分区。WB-PANEL-004-AC7新增标签页和更多菜单以无边框浮层显示在浏览器上方;菜单打开时网页保持原尺寸和可见性。点击外部、Escape、主窗口移动或切换标签关闭菜单;焦点在网页和菜单之间切换、窗口布局调整不能误关,只有确认焦点已离开菜单才关闭。加载失败或超时提示错误。WB-PANEL-004-AC8浏览器更多菜单的缩小、百分比、放大必须位于同一行且都可点击;缩放操作不关闭菜单,百分比可恢复 100%;更多菜单不再提供系统浏览器打开入口。WB-PANEL-004-AC9地址为空时“前往”按钮禁用;地址非空时点击按钮或按 Enter 都导航到相同目标,按钮 tooltip 与无障碍名称均为“前往”。用户导航(含 Markdown 网页链接与地址栏前往)启动后立即返回,不等待整页加载完成;AI 内置浏览器操作 的navigate必须等到页面有真实内容,或系统错误页/空白验证超时后再返回工具结果。WB-PANEL-004-AC10应用不依赖固定远程调试端口,本地端口占用不影响正常启动;用户普通打开的网页不自动暴露为调试目标。页面自动化和后台抓取按需连接本机控制通道。WB-PANEL-004-AC11浏览器不显示时 AI 仍可连续查看、操作、提取及导航同一页面;恢复时显示最新 URL、内容、滚动及表单状态,不通过重建页面丢失后台操作结果。WB-PANEL-004-AC12后台浏览器在应用运行期间不得自动销毁;仅应用退出、用户主动关闭浏览器 Tab 或删除所属伙伴时销毁。应用重启后按伙伴恢复标签顺序、URL、导航历史和缩放并按需重新创建;不承诺恢复页面 JS、内存滚动状态或未提交表单。WB-PANEL-004-AC13AI 通过 内置浏览器操作 的act触发网页操作时,通过虚拟光标提供移动和点击视觉反馈;单次动作执行完毕时光标保持常驻在最后操作位置(不提前隐藏),后续动作平滑连续移动;仅当整轮 AI Run 结束(正常完成、用户取消或异常中断)时,统一平滑淡出隐藏。WB-PANEL-004-AC14地址栏右侧提供“将打开外部浏览器”按钮(右上角外链图标);有可打开 URL 时可点击,tooltip 与无障碍名称为“将打开外部浏览器”,点击后通过系统默认浏览器打开当前页或地址栏中的 URL。WB-PANEL-004-AC15用户地址栏与 AInavigate对网址协议的处理一致:输入什么协议就打开什么。只填主机(如epub.cnipa.gov.cn)时补成https://,失败停在 https,不自动改 http;写明http://只走 http;写明https://只走 https。地址栏始终展示本次实际尝试的地址。WB-PANEL-004-AC16网络打不开时由馆长在同一内置页写入 Chrome 式错误文档:标题「无法访问此站点」、副文「无法加载 {主机}」、建议列表、底部 浏览器给出的网络错误码、灰色圆角「重新加载」按钮。只处理主页面的网络失败,用户主动停止不算失败;不另设馆长加载超时。连接或 TLS 何时失败由 Chromium 自己报。不因 https 失败改走 http。错误反馈直接展示在该页,不用额外遮罩。地址栏显示尝试的站点,不显示chrome-error://。navigate一开始就打开右侧浏览器面板,失败也打开。重新加载走当前地址栏同一套导航。WB-PANEL-004-AC17AInavigate不得把反爬/安全验证空白第一屏当成成功。等到有真实标题或正文/表单,或超时仍空白则失败(说明可能卡在站点安全验证)。Chromium 把网址当成标题(主机、主机:端口、路径)时不算真实标题。observe/extract/screenshot/act/scroll若当前已是系统错误页或仍空白,同样失败,不得空结果报完成。WB-PANEL-004-AC18打开成功时向 AI 提供目标标签、可用标题及最终 URL;失败提供目标标签、错误说明与错误码,必要时包含尝试地址,便于在原标签重试。标题和地址清楚区分,不混成一行难以辨认的内容。WB-PANEL-004-AC19主框架加载期间,地址栏行底边出现约 2px 浅蓝色进度线(约 12% 起向 85% 推进);主页面加载结束,或已写入馆长错误页后,走到 100% 并淡出。错误页展示期间不得继续显示进度线。不在原生网页上叠转圈遮罩。
6.7 直接写回与回退
WB-APPLY-001 打开 AI 修改记录后的默认选中逻辑
- 系统行为:从 assistant turn 打开修改记录时,自动展开右侧面板并打开或激活对应文件 Tab,但工作区文件列表默认保持关闭;用户手动打开文件列表后默认进入“本次运行改动”,并选中当前文件。同一路径只保留一个文件 Tab。Docx 工具修改使用 Review Docx,普通文本记录使用结构化文本 diff。
- 验收:
WB-APPLY-001-AC1成功打开修改记录后,界面立即可见当前文件面包屑;若记录存在审核内容则默认进入审核模式并展示回退入口,切到预览模式后隐藏回退入口和差异信息。WB-APPLY-001-AC2在同一轮多文件场景下,点击哪个修改文件入口,右侧就加载该文件记录,而不是空白态或自动跳到其他文件。WB-APPLY-001-AC3用户点击 assistant turn 中的本轮“修改的文件”入口后,右侧应进入修改的文件工作区,并默认加载该入口对应的本轮修改记录。
WB-APPLY-002 AI 修改完成后直接写回
- 系统行为:受支持
docx、pptx、xlsx、图片生成和普通文本写任务完成后直接写回源文件或创建目标文件,并生成修改记录。普通文本支持创建、完整改写、唯一文本编辑和全部精确匹配替换;保存前校验失败时不写入,保存后校验或后续处理失败时不自动恢复,错误须说明实际文件状态并提示重新读取(见WB-APPLY-003-AC14)。各格式写入细节由 AI tool / live 回归覆盖(见doc/ai-harness/tool-design.md)。 - 验收:
WB-APPLY-002-AC1修改现有docx后,源文件立即变为 AI 最终净稿,assistant turn 展示本轮「修改的文件」入口。WB-APPLY-002-AC2新建docx后,目标文件立即存在,assistant turn 展示本轮「修改的文件」入口。WB-APPLY-002-AC3创建或修改普通文本文件后,目标文件立即更新并生成修改记录;运行期间不展示修改入口,任务完成、失败或取消后 assistant turn 才展示本轮「修改的文件」,右侧可查看由真实写入前后内容计算的文本 diff。回答文本完成不等于任务收尾结束。WB-APPLY-002-AC4普通文本局部编辑只能匹配唯一且互不重叠的目标;全部替换处理所有非重叠精确匹配。匹配或范围等保存前校验失败时文件保持原样,保存后失败遵循WB-APPLY-003-AC14。WB-APPLY-002-AC5同一次 AI Run 对同一个 pptx 的多次编辑只生成一条修改记录;PPT Diff 固定比较本 Run 第一次接触文件时的状态和 Run 完成后的最终状态。WB-APPLY-002-AC6创建或修改xlsx后,正式路径立即包含最终净工作簿并生成一条修改记录;同一次 AI Run 对同一路径连续编辑时保持首次写入前基线,不重复生成记录。WB-APPLY-002-AC7生成 PNG、JPEG 或 WebP 图片后,正式路径立即包含可读取图片并生成一条修改记录;同一次 AI Run 对同一路径再次生成时自动更新并保持首次写入前基线。WB-APPLY-002-AC8写回.docx/.pptx/.xlsx后的 WPS 自动刷新见WB-WPS-001。
WB-TERMINAL-001 终端执行
- 系统行为:智能模式可通过终端执行命令;默认 cwd 为用户主目录。单次 终端执行 可指定最长盯着命令结束的时间;到点后命令继续执行,本次调用不再盯。未指定时按原有默认盯时。长命令可在运行中让出控制权并由后续读取续接;命令遵守审批与安全策略。绝对路径可访问工作地址外文件。终端改文件不进入修改记录,也不能从馆长回退。涉及数据计算、对账、统计等数值处理时,须通过终端真实执行计算,不得仅靠模型推算后直接写出结论文件。终端工具协议与并发/游标细节由 AI tool 回归覆盖。
- 验收:
WB-TERMINAL-001-AC3删除伙伴、取消所属 run 或退出应用不会遗留进程。WB-TERMINAL-001-AC4terminal 命令继续遵守审批与其他安全策略;不能访问其他伙伴的终端。WB-TERMINAL-001-AC7AI 涉及数据计算、对账、统计、求和、对比等数值处理时,必须通过 terminal 执行真实计算;计算结果由终端命令产出,结果文件不自动进入修改记录与回退。WB-TERMINAL-001-AC8终端执行 的 指定等待时间 只限制本次调用盯着命令结束的时间;到点后命令继续执行,不中断命令。
WB-APPLY-003 回退本次 AI 修改
- 系统行为:受控文件写回保存本次任务的修改记录与修改前原始文件;外部编辑和终端修改不归入 AI 修改记录。历史审核固定比较本次原始内容与最后确认内容,不受以后文件变化影响。回退恢复原始字节,不反向计算差异。
- 验收:
WB-APPLY-003-AC1未发生后续修改时,回退恢复写回前 checkpoint,记录状态变为reverted。WB-APPLY-003-AC2新建文件回退时删除 AI 新建目标文件。WB-APPLY-003-AC3回退成功后,右侧修改的文件工作区应刷新记录状态;普通文本历史 diff 继续保留并标记“已回退”或“已删除”,避免丢失本次修改记录。WB-APPLY-003-AC5Word 审核保留修改前原始文件和固定审阅稿,审阅展示段落、表格、图片、字体及页面结构。WB-APPLY-003-AC6PPT 修改记录在审核模式提供固定的修改前后页面快照;不支持的审核格式明确报错。Excel 专用工具修改xlsx时在审核模式提供单元格边框标记,并可切换到预览模式。WB-APPLY-003-AC7图片生成记录直接预览最终图片并提供回退,不显示不存在的图片 Diff;更新图片回退后恢复首次生成前的文件,新建图片回退后删除目标文件。WB-APPLY-003-AC8Docx Review 固定比较本次任务首次原始文档和最终文件,不依赖编辑操作历史;删除保留原位置,新增保留最终位置,移动使用原位置红删和新位置绿增。相同首尾状态生成相同净审阅;恢复原状、新增后删除不留下本轮修改记录或过期统计。WB-APPLY-003-AC11同位置段落及单元格文字使用用户感知字符级 Diff:未变字符只出现一次,删除字符红色加删除线,新增字符绿色,替换旧字符在前新字符在后;跨 run、超链接、空白、emoji 和组合字符保留正确格式及结构。字段、公式、图片等结构按对象处理。WB-APPLY-003-AC12纯格式变化在最终内容上局部标绿,不复制正文,不插入说明文字。文字样式仅标记变化字符,段落、单元格、表格及节设置标记对应范围;默认浅绿背景,已有背景或背景变化使用绿边框,保持真实字体颜色。格式恢复取消标记;不可定位的文档级变化只保留有效记录,不误标无关正文。WB-APPLY-003-AC13Docx 预览、统计及有效记录使用同一净差异结果;文字新增、删除按内容块或单元格计数,替换和移动计 +1/-1 且有效修改计一项,逐字展示不逐字计数;纯格式及独立文档级变化计有效修改但不伪造文字增删,组合变化不重复计数。WB-APPLY-003-AC9专用写工具成功前正式文件已保存并校验;Office 历史审核固定首次原始 A→最后确认 B,后来正式文件变为 C 时预览显示 C、Office 审核仍显示 A→B;文本审核使用所选 run 的 A 对比当前 C,原始 AI 修改记录及其计数仍固定 A→B。只在主 run 真正完成、失败或取消时生成审核,子任务、yield 和追加消息续接不提前生成。WB-APPLY-003-AC14保存失败不自动恢复。提示与实际文件状态一致,已成功保存的修改继续有效;运行中断后启动补生成审核,不继续 AI 或改变正式文件。审核失败显示错误并保留重试输入。WB-APPLY-003-AC15清理临时 B 后历史审核仍完整可用,文本审核产物保留完整 A、B 文本,界面可展开未变行。审核产物缺失、损坏或格式不支持时明确报错,不回退到当前文件。PPT 备注变化只保留修改标记;Excel 保留空白样式、行高、列宽及合并,删除 Sheet 以唯一合法“原名(已删除)”展示,新 Sheet 保留正式名。WB-APPLY-003-AC16不同 run 的审核独立;两轮依次撤销可分别恢复 B、A 的原始字节。清空消息的勾选项决定是否保留回退记录与资源,删除伙伴清理对应目录。WB-APPLY-003-AC10回退.docx/.pptx/.xlsx后的 WPS 自动刷新见WB-WPS-001。
WB-WPS-001 已打开的 WPS 文档随写回自动刷新
-
系统行为:默认支持 WPS 中已经打开的 Word 文档、Excel 表格、PPT 演示文稿
.docx、.xlsx、.pptx随 AI 写回或回退刷新,设置页无需开关。馆长自动准备加载项,首次是否需要授权或手动启用由 WPS 决定,三类文件可能分别要求启用;刚启用或更新后仍未连接时,先保存并正常重启 WPS。尊重用户禁用加载项的选择。Workbench 在打开方式旁提供手册入口。 -
系统行为:写回前先关闭持有目标文件的 WPS 文档并释放文件锁,写回成功后重新打开新稿,尽量恢复滚动和选区。多个 WPS 实例之间不得误关或误开文件;关闭最后一篇文档后也应能重新打开目标文件,降级重开不得重复打开。同一组件完成授权后,不能因馆长重新启动或更新而无故重复要求授权。
-
异常边界:未安装、未授权或未连接时不强制关闭 WPS,仍尝试写盘;如果文件被独占且无法释放锁,写盘可以失败。刷新失败不撤销已成功的写盘。刷新会丢失 WPS 中尚未保存的编辑。旧格式
.doc/.ppt/.xls与 Microsoft Office 不在范围内,刷新不触发知识库重索引。 -
验收:
WB-WPS-001-AC1启动时自动准备 WPS 集成,无需用户配置开关;未发现 WPS 安装环境时不写系统配置。加载项可以载入馆长功能区及其代码,注册身份保持稳定。WB-WPS-001-AC2AI 写回三种支持格式后,原持有目标文件的窗口展示重新打开后的内容;不能以仍打开的旧内容冒充刷新成功。WB-WPS-001-AC3回退后同样刷新;目标是组件最后一篇文档时仍能重开。组件无法自行重开时可使用系统打开,每次刷新同一路径最多执行一次,且需要确认最终内容已更新。WB-WPS-001-AC4未连接或拒绝授权时不强制关文档;未独占的文件仍能写盘与回退,独占且无法释放时允许失败。同组件多实例不会错误关闭或重新打开其他实例的文档。WB-WPS-001-AC5三组件各自首次授权;同一集成身份授权成功后不因重复注册或临时通信地址变化而重复提示。WPS 已运行或加载项更新时按要求重启后可载入「馆长」页签。首次授权弹窗由 WPS 负责,不作为馆长自有 UI 验收;Workbench 授权问号遵循WB-PANEL-003-AC22。
-
审核定位:仅当前生效默认应用为 WPS 时,Office 修改区域提供点击反馈。DOCX 定位文字、段落或表格内容,PPT 定位页及可确认的元素,Excel 激活表并选中有效区域;拖选和拖动不触发定位。打开目标始终为正式文件,已打开则激活实际持有文件的实例。导航不关闭、重载或强制保存文档,保留未保存编辑;删除区域只定位可确认的邻近位置,不能确认时仅打开并说明。区分精确位置、容器、仅打开及失败反馈。WPS 编辑不实时重算审核。定位读取 WPS 当前内存中的内容,兼容已保存或未保存的后续编辑。Word 通过保留原文及文字上下文寻找段落,追加文字或相邻段变化不直接否定位置;PPT 优先使用实际幻灯片和元素身份,文字变化不直接否定元素;Excel 使用单元格原值、同行与同列上下文确认当前位置,无关单元格保存不阻止定位,可唯一确认的行列位移使用当前位置。查找有耗时和次数上限,重复、歧义、删除或超限时只打开并说明,不盲跳旧位置。
-
WB-WPS-001-AC6三种 Office 修改区域在默认 WPS 下打开当前文件并定位;非 WPS 默认不触发。多实例、重复点击不误开,不丢失未保存编辑,后续结构变化不得盲用旧坐标。 -
WB-WPS-001-AC7目标删除、文字重复、定位超时和文件缺失均有具体 toast;只定位到段落、单元格或幻灯片时说明范围及后续变化,精确成功无需额外提示。加载项问题与位置问题分别反馈,应用启动成功不能代替定位成功。 -
WB-WPS-001-AC8审核点击、用户在馆长内用 WPS 打开,以及已确认曾打开的文件写回刷新,共用按文件类型区分的加载项判断。明确禁用记录提示“未启用”;启用但无连接提示“未连接”;缺少或无法读取配置提示“无法确认状态”;不能由无连接推断“未授权”。已连接但目标未登记或响应超时按文档问题反馈。 -
WB-WPS-001-AC9加载项问题首次用统一说明框提供“稍后”和“查看使用手册”;当前会话相同类型、相同问题去重,再次点击审核时仅用 toast 明确提示未启用、未连接或无法确认状态及无法定位。确认该类型恢复可用后清除其提醒记录和过时提示,再次故障重新弹框,不影响其他类型的去重。连续问题合并在同一弹框,不因未在 WPS 打开的普通文件写入弹框。官网单篇手册只说明联动作用、授权与启用步骤,以及审核定位要求默认 WPS;两平台共用。刷新失败不改变磁盘写入结果,提示不得将打开成功说成刷新或定位成功。
WB-APPLY-004 后续修改后的强制回退
- 系统行为:若回退时检测到当前文件与 AI 写回后的内容不一致,先提示用户该文件已被后续修改,继续回退会丢失这些内容;用户确认后仍允许强制回退。
- 验收:
WB-APPLY-004-AC1点击任何可回退记录时先展示统一确认框“回退这次修改?”,说明文件将恢复到这次修改发生前的状态;用户确认后才发起回退。WB-APPLY-004-AC2检测到后续修改时,在统一确认之后继续展示“仍然回退这次修改?”风险确认;用户确认强制回退后,系统恢复 checkpoint 或删除新建文件。WB-APPLY-004-AC3强制回退完成后,右侧修改的文件工作区应刷新为最新记录状态,并让用户能确认回退已经生效。
WB-APPLY-005 同一轮多个修改记录入口保留
- 系统行为:同一轮任务若实际修改多个文件,assistant turn 保留本轮全部修改入口;点击入口后打开或切换到对应文件 Tab。每个入口直接展示该文件本次真实修改与删除数量,无需点击即可见,切换伙伴后依然保持。文件入口超过 3 个时列表默认折叠,只展示前 3 个,底部提供“显示剩余 N 个文件”展开入口,展开后该入口变为“收起文件”;头部总数始终展示完整数量。Assistant 最终回答只在修改文件区域展示文件入口。
- 验收:
WB-APPLY-005-AC1同一轮任务生成的多个用户文件修改记录都会出现在同一 assistant turn 的修改的文件列表中。应用运行时的生成资源和临时脚本不进入修改列表或本次运行改动列表;用户明确提交的附件仍保留其修改入口。WB-APPLY-005-AC2点击不同修改记录入口时,右侧会加载对应修改记录;有 diff 预览的记录展示对应预览稿,而不是按源文件跳到最新轮次。WB-APPLY-005-AC3同一轮多文件修改的全部入口保留在 assistant turn 列表中,不因切换当前文件而丢失其他文件的检查或回退入口。WB-APPLY-005-AC4修改记录入口未点击时即展示真实非零的修改/删除数量;切换伙伴再切回后不点击仍保持真实数量,不重置为 0。WB-APPLY-005-AC5文件入口超过 3 个时默认只展示前 3 个,列表底部展示“显示剩余 N 个文件”(N 为剩余数量);点击后展示全部入口,底部入口变为“收起文件”,再次点击恢复折叠;头部文件总数不受折叠影响。
6.8 PPT 创建、编辑与审核模式
WB-PPT-001 AI 创建和编辑 PPT
- 系统行为:AI 可通过 PPT 读写能力创建和编辑 pptx;写回成功后正式文件立即可读,同一次任务对同一路径聚合为一条修改记录。
- 验收:
WB-PPT-001-AC1AI 可自行新建 pptx,不依赖用户点击新建入口。WB-PPT-001-AC2AI 可逐页创建演示文稿或插入页面;页面由可编辑的结构化内容组成,不以 HTML 或整页截图替代演示文稿内容。WB-PPT-001-AC3文本、形状、线条、图片、表格、图表和公式按支持类型转换,不把整页默认导出为截图。WB-PPT-001-AC4AI 可继续编辑已有页面和元素。WB-PPT-001-AC5公式可正确显示,整体可移动和缩放,内部字符为只读内容。WB-PPT-001-AC9一次编辑失败时,正式文件保持调用前状态。WB-PPT-001-AC10编辑返回成功时,其他程序已经可以读取最终 pptx。
WB-PPT-002 PPT 单页左右审核模式
- 系统行为:用户打开 pptx 修改记录后,主区域左侧显示当前页修改前画面,右侧显示同一页修改后画面;最右侧显示缩略图。点击缩略图或滚动时左右同步切页。主区域支持滚轮缩放与拖拽平移,任意缩放比例下均可自由拖动且不受画布边界限制;缩放不强制回中,点击“适应窗口”恢复 100% 和中心;底部居中固定显示「滚轮缩放 / 拖拽平移」轻提示,不因缩放或拖拽操作而隐藏。审核内容只反映本次任务修改前到最终文件的净变化,不根据画面渲染差异推测修改。PPT 普通预览和审核完整显示中文及全角标点,表格容纳全部文字,不以遮挡或省略隐藏内容。
- 验收:
WB-PPT-002-AC1主区域按左侧修改前、右侧修改后一次各显示一页。WB-PPT-002-AC2缩略图支持只看变化页和查看全部页两种图标模式,默认只看变化页。WB-PPT-002-AC3新增、修改、移动页使用绿色标记,整页删除使用红色标记,不显示“修改几页”等文字差异说明;已有页面只删除内部元素时,该页仍按修改显示绿色。WB-PPT-002-AC4新增页左侧为空;删除页右侧为空。WB-PPT-002-AC5点击缩略图或滚动后,左右主区域与当前缩略图保持同步。WB-PPT-002-AC6+N统计最终保留的新增、修改和移动单位,-N统计最终保留的删除单位。新增整页为+1、删除整页为-1、移动整页为+1,整页增删不重复统计内部元素。WB-PPT-002-AC7已有页面内新增元素为+1、删除元素为-1、修改或移动元素为+1;同一元素同时修改内容、样式、位置、大小或层级只计一次。页面移动并修改两个元素时为+3。WB-PPT-002-AC8插入或删除页面造成的自然页码变化不算移动;元素增删或置顶造成其他元素层级编号自然变化时,也不得把其他元素误算为修改。WB-PPT-002-AC9A→B→A、移动后移回、新增后删除等零净变化不生成记录;原元素修改后删除只计-1,新页面继续修改仍只计+1。WB-PPT-002-AC10审核模式使用固定 Diff 快照,预览模式使用干净的正式 PPT;正式文件不得包含 Diff 标记,回退按修改前 bytes 恢复。WB-PPT-002-AC11主区域滚轮缩放与拖拽平移可用,任意缩放比例下两侧同步自由平移且不受边界限制;底部居中固定展示「滚轮缩放 / 拖拽平移」提示,缩放或拖拽后仍保持可见。
6.9 Excel 读取、编辑与审核模式
WB-EXCEL-001 AI 读取和编辑 Excel
- 系统行为:AI 可通过 Excel 读写能力读取工作簿并创建或编辑
xlsx;读取支持xlsx、xlsm、xltx、xltm,写入只支持xlsx。Excel 不进入本地知识库单元格内容索引,只索引文件名、文档标题与工作表名等元数据。产品侧 Diff / 修改记录 / 回退由系统维护。 - 验收:
WB-EXCEL-001-AC3编辑参数等保存前校验失败时不写入;保存后失败不自动恢复,反馈遵循WB-APPLY-003-AC14;文件在连续编辑之间被外部修改时拒绝覆盖并提示冲突;无实际变化时不生成修改记录。WB-EXCEL-001-AC4xlsm、xltx、xltm可以读取但不能写回;拒绝写入时源文件保持不变,并明确说明是为了避免丢失宏或模板信息。WB-EXCEL-001-AC5Excel 创建或编辑成功后,正式文件中的值与公式可被其他程序立即读取,正式文件不包含审核模式使用的红绿边框。WB-EXCEL-001-AC6新建工作簿只包含显式创建的 Sheet,不自动生成Sheet1;最终至少保留一个 Sheet,删除最后一个 Sheet 必须失败。WB-EXCEL-001-AC7新增已存在的 Sheet、删除不存在的 Sheet、重命名到已存在名称都必须失败,且不写入部分结果。
WB-EXCEL-002 Excel 单网格审核模式
- 系统行为:用户打开普通 Excel 文件或
xlsx修改记录后,分别预览正式工作簿和历史差异工作簿。普通预览显示实际公式计算结果,历史审核固定修改前后文件各自的结果,保留的删除行不改变公式计算。Excel 预览是只读预览:不允许编辑单元格内容,但允许切换工作表、滚动、缩放和拖动列宽查看内容。Diff 只展示本次 Run 首个 baseline 到最终工作簿的净变化;操作记录只用于识别 Sheet 和行的结构身份,不直接累加为最终差异。新增和修改单元格使用绿色中等粗细边框,删除或清空的单元格在 Diff XLSX 中保留修改前值并使用红色中等粗细边框。审核模式下,存在净变化的工作表标签右上角显示绿色圆点,仅表示该工作表有改动,不区分新增或删除;预览模式与普通打开的正式工作簿不显示该圆点。用户不使用 PPT 的修改前/修改后左右画面对比。 - 验收:
WB-EXCEL-002-AC1预览模式展示正式净工作簿,审核模式展示基于首次写入前基线生成的差异工作簿;两者均为只读预览,且均可切换工作表、滚动、缩放和拖动列宽。WB-EXCEL-002-AC2新增和修改单元格显示绿色中等粗细边框,删除或清空的单元格显示红色中等粗细边框并保留修改前值;未变化单元格不增加差异边框,正式工作簿也不带差异边框。仅公式结果缓存变化不增加差异标记;局部样式修改不得影响其他行或 Sheet 中共享原样式的单元格,未指定的格式保持原样。WB-EXCEL-002-AC3同一 AI Run 对同一路径连续编辑后只保留一条有效修改记录,差异始终相对该 Run 首次写入前基线计算。WB-EXCEL-002-AC4回退已有xlsx时恢复写入前原始字节;回退新建xlsx时删除目标文件,修改记录状态同步更新。WB-EXCEL-002-AC5Diff XLSX 中新增 Sheet 的标签为绿色,删除 Sheet 以修改前完整内容恢复到 Diff XLSX 的原位置并将标签标为红色;恢复内容包括单元格值、样式、行高、列宽和合并单元格;正式 XLSX 不带这些差异标记。WB-EXCEL-002-AC6本版本不支持移动 Sheet 位置的 Excel Diff。WB-EXCEL-002-AC7插入或删除行时按逻辑行对齐生成联合预览:新增行只标绿最终新增内容,删除行在原逻辑位置保留旧内容并标红;其他仅因插入或删除而改变地址的原有行不得产生红绿边框,预览末尾不得生成重复行。WB-EXCEL-002-AC8同一 Run 中单元格、行或 Sheet 被多次修改时只保留最终净变化;改回 baseline、插入后删除、新增 Sheet 后删除均不产生红绿标记或变更计数;原始 Sheet 多次重命名只保留最终名称和一次重命名状态,不复制整张 Sheet 作为删除加新增。WB-EXCEL-002-AC9审核模式中存在净变化的工作表标签右上角显示绿色圆点;未变化的工作表不显示;预览模式与普通打开的正式工作簿不显示该圆点。
6.10 图片生成
WB-IMAGE-001 AI 生成图片
- 系统行为:AI 可按目标路径生成 PNG、JPEG 或 WebP 图片,只交付目标图片,不在工作地址额外保存内部绘制文件。
- 验收:
WB-IMAGE-001-AC1输出格式由目标路径的 .png、.jpg、.jpeg 或 .webp 扩展名确定。WB-IMAGE-001-AC2工具成功后只交付目标图片文件,assistant turn 展示该图片的修改入口,右侧面板可直接预览。WB-IMAGE-001-AC3目标路径已存在时自动更新;目标不存在时自动创建,无需用户另选创建或覆盖操作。WB-IMAGE-001-AC4绘制内容无法安全解析、渲染或编码,或输出格式不受支持时,工具返回错误且目标文件保持调用前状态;工作地址外绝对路径可以写入,但不提供修改记录或回退。
6.11 应用内文本编辑
WB-EDIT-001 Markdown 与普通文本应用内即时渲染编辑
-
系统行为:
- 右侧面板打开真实本地
.md/.markdown文件时,使用即时渲染(IR)编辑方式——文件内容渲染为排版预览,点击任意位置直接编辑文字;光标进入加粗、行内代码等 markdown 语法元素时,该元素局部露出 markdown 源可编辑。 - 点击链接时打开目标:
http(s)经系统默认浏览器打开;相对路径 /file:/// 本地绝对路径相对当前.md所在目录解析后经系统默认应用打开;目标不存在或无法打开时 toast 提示。 - 标题元素前不展示 H1/H2 等标题级别标签与
#/##等标题源标记,标题不加额外装饰(无下划线),保持沉浸式排版;编辑区始终撑满右侧面板,不出现右侧灰色残留。编辑器不展示任何操作按钮、工具栏或交互栏,用户打开即可直接编辑。 - 内嵌图片:相对路径、
file://与本地绝对路径按当前.md所在目录解析后在编辑器内展示(不改写磁盘源);http(s)可直接显示。双击已加载成功的图片打开应用内图片灯箱;加载失败的图片双击不打开预览并 toast「图片无法加载」。 - 打开
.txt及其他严格 UTF-8 普通文本(如.log、.json、代码、配置文件、无扩展名文本)时,使用与纯文本预览一致的纯文本编辑框直接编辑;纯文本内容(编辑态与只读预览态)每行前显示行号,行号随内容同步滚动。 - AI 修改记录切入「预览」且目标为上述可编辑文本时,与普通打开一致进入应用内编辑并自动保存;「审核」态文本使用 Monaco 源码双栏:左侧“本次运行前”只读,右侧“当前文件”可编辑并自动保存;Markdown 显示源码及语法高亮。预览弹窗以及 PDF/DOCX/PPTX/XLSX/图片等其他格式保持只读。
- 右侧面板打开真实本地
-
保存:不做显式保存按钮与"未保存"提示;每次内容变更后防抖(约 400ms)自动原子写入磁盘,并对内容做 UTF-8 合法性校验;纯文本保存时保留原文件的换行符风格(CRLF/LF)与 UTF-8 BOM。自动保存为纯覆盖,不做冲突提示。
-
外部修改:磁盘内容与编辑器最后成功写入的内容一致时不响应;空闲(无未保存改动)时检测到外部修改自动重载最新磁盘内容;编辑中存在未保存改动时不打断编辑,下一次自动保存覆盖外部内容。
-
范围边界:应用内编辑不生成 AI 修改记录、不进入回退体系;不限定只能编辑已添加工作地址内的文件,任意本地真实文件均可编辑。
-
验收:
WB-EDIT-001-AC1打开真实.md文件后直接进入即时渲染编辑态,无工具栏/操作按钮;点击任意位置光标落下,输入内容实时渲染并反映在编辑区。WB-EDIT-001-AC2点击链接打开目标:http(s)用系统默认浏览器;相对 /file:/// 本地绝对路径相对当前.md目录解析后用系统默认应用打开;目标缺失或打开失败时 toast 提示。光标进入加粗、行内代码等其他 markdown 语法元素时,该元素仍局部露出 markdown 源可编辑。WB-EDIT-001-AC3打开.txt、.json、代码等严格 UTF-8 文本后直接进入纯文本编辑框,输入与保存内容一致,不出现 markdown 化改写;没有创建或选中伙伴时,已打开的本地文件仍可编辑,不因空的伙伴 ID 被误判为提交锁定。WB-EDIT-001-AC4编辑后无需点击保存,约 400ms 内自动落盘,磁盘内容更新为编辑结果;界面不展示保存按钮或"未保存"标记。WB-EDIT-001-AC5空闲时外部保存文件自动重载最新内容;编辑中存在未保存改动时外部保存被下次自动保存覆盖,不弹出冲突提示。WB-EDIT-001-AC6纯文本文件保存后保留原换行符风格(CRLF/LF)与 UTF-8 BOM。WB-EDIT-001-AC7AI 修改记录「审核」态 Markdown/文本左侧为所选 run 修改前的内容、只读;右侧为当前实际文件、可编辑自动保存;预览弹窗保持只读,普通编辑和「预览」使用现有编辑器。WB-EDIT-001-AC8应用内编辑保存不产生 AI 修改记录。WB-EDIT-001-AC9打开.md后编辑区撑满右侧面板(无右侧灰色残留);标题前不显示 H1/H2 等标题级别标签与#/##等标题源标记,标题无下划线等额外装饰;拉宽窗口后页面不白屏、编辑态保持。WB-EDIT-001-AC10纯文本内容(编辑态与只读预览态)每行前显示从 1 开始递增的行号,行号随内容滚动同步对齐。WB-EDIT-001-AC11Markdown 内相对路径、file://与本地绝对路径图片相对当前.md所在目录解析;磁盘文件存在时正文内正常显示。解析只影响编辑区展示,不改写磁盘上的 Markdown 源路径。WB-EDIT-001-AC12双击已成功加载的图片打开应用内图片预览(可缩放、Esc/按钮关闭),不显示白底全屏破图预览层。WB-EDIT-001-AC13加载失败的图片(缺失本地文件、失效https等)双击不打开预览,并 toast 提示「图片无法加载」。WB-EDIT-001-AC14http(s)图片可直接显示;加载失败时按 AC13 处理。
-
文本审核顶部为单行紧凑栏,左侧“本次运行前”、右侧“当前文件(可编辑)”,暂不可编辑时右侧标明“当前文件(只读)”;右端使用 28px 无常驻边框的上一处/下一处差异和展开/折叠图标按钮,悬停说明操作、键盘焦点清晰可见。未变内容提示为“已折叠 N 行”,可单击或通过键盘展开,单块恢复提示为“恢复这处修改”。文本审核提供同步滚动、自动换行、未变内容折叠及单块恢复。右侧编辑实时更新审核区差异计数,不覆盖原始 AI 计数,不生成修改记录,单块恢复可撤销且不改变整条记录状态。切换模式、记录、关闭和回退前等待保存,失败保留内容。当前文件不存在时禁止写入,不自动重建。
-
WB-EDIT-001-AC15双栏修改、撤销、单块恢复、换行和联动滚动正确;不同 run 的左侧基线独立,右侧始终是当前文件。 -
WB-EDIT-001-AC16自动保存保留完整内容、BOM 和换行风格;切换与回退前等待保存,失败保留可重试内容。 -
WB-EDIT-001-AC17差异计算超时提示并暂停自动比较,保留完整文本编辑保存及重试;文件缺失不重建。 -
WB-EDIT-001-AC18当前审核计数随手动修改更新,原始 AI 记录及计数不变;旧审核产物格式不支持时明确报错。
6.12 定时任务
定时任务绑定伙伴,支持手动配置或由 AI 协助创建;到点使用伙伴当前模型、偏好和执行权限。表单、绑定失效及触发规则由下列 ST 需求分别定义。
ST-ENTRY-001 左侧栏入口
- 系统行为:Workbench 左侧栏「创建伙伴」下方展示同级、同样式的「定时任务」入口;点击后整个主区域(除左侧伙伴列表外)切换为定时任务视图,不展示聊天对话和资源面板。当存在已启用定时任务时,入口右侧展示蓝色数量 chip(显示已启用个数),时钟图标同步使用蓝色;已启用数为 0 时不展示 chip,入口恢复安静态。
- 验收:
ST-ENTRY-001-AC1「定时任务」入口位于「创建伙伴」下方,使用与「创建伙伴」一致的侧栏选项样式。ST-ENTRY-001-AC2点击入口后,主区域整块切换为定时任务视图,聊天对话与资源面板不再显示。ST-ENTRY-001-AC3存在已启用定时任务时,入口右侧可见蓝色数量 chip,数值等于已启用任务数;全部关闭或无任务时 chip 不显示。
ST-VIEW-001 视图独立与返回
- 系统行为:定时任务视图是独立自包含组件,占据除左侧伙伴列表外的整个主区域;该视图没有聊天对话。视图顶部提供标题栏(标题旁复用与侧栏同款的已启用数量 chip),点击「创建伙伴」或点击左侧任意伙伴即返回聊天视图并切换 / 停留在该伙伴。侧栏伙伴的编辑 / 删除确认弹窗在定时任务视图下仍可正常展示。
- 验收:
ST-VIEW-001-AC1定时任务视图中不展示聊天对话或资源面板。ST-VIEW-001-AC2点击左侧任意伙伴后返回聊天视图并切换到该伙伴。ST-VIEW-001-AC3点击「创建伙伴」后返回聊天视图并打开创建弹窗。ST-VIEW-001-AC4存在已启用定时任务时,标题栏「定时任务」旁可见与侧栏同款的蓝色数量 chip。ST-VIEW-001-AC5定时任务视图下点击侧栏伙伴删除,删除确认弹窗可见且可操作。
ST-LIST-001 列表展示
- 系统行为:视图打开后拉取全部定时任务并展示;每个任务项展示名称、绑定伙伴、调度时间摘要、启用开关、「立即执行」按钮、编辑图标与删除图标。无任务时展示空态与创建入口。
- 验收:
ST-LIST-001-AC1视图打开后可见已配置任务列表,而不是未初始化状态。ST-LIST-001-AC2任务项展示名称、绑定伙伴和调度时间摘要。ST-LIST-001-AC3无任务时展示空态和创建入口。ST-LIST-001-AC4任务项提供「立即执行」入口。
ST-FORM-001 新增与编辑配置
- 系统行为:手动新增和编辑从右侧打开约半屏宽的 Drawer,窄窗口时占满可用主区;字段从上到下为任务名称、任务描述、伙伴、执行周期和执行时间。内容区独立纵向滚动,取消和保存固定在底部,点击遮罩不关闭;标题栏保留可用的关闭按钮,通过关闭按钮、取消或按 Esc 尝试关闭时,有未保存修改先确认。伙伴必选;手动创建、编辑和 AI 创建均使用动态头像伙伴列表,每行显示头像、截断名称和清晰选中态,最多显示四项(208px),超出后内部滚动。没有伙伴时保存被拦截,AI 创建不能继续。任务描述复用 Composer 输入框,默认高度为 120px,超出后内部滚动;支持
@资料候选,所选资料以行内 token 展示在正文中,候选面板按可用空间自动显示在输入框上方或下方;不渲染 Markdown。保存任务描述中的文字、引用与输入顺序。手动创建保存后默认开启;编辑保存保留原启用状态,并支持重新绑定伙伴。任务执行时读取绑定伙伴当前 Composer 的模型、偏好和执行权限。创建入口分为手动创建和 AI 创建。 - 验收:
ST-FORM-001-AC1新增时可填写全部字段并保存,编辑时带出当前配置值。ST-FORM-001-AC2伙伴、名称、任务描述、执行时间或周期字段缺失时,保存被拦截并给出明确提示。ST-FORM-001-AC3选择「每周」时必须选择星期几。ST-FORM-001-AC4新增和编辑 Drawer 点击遮罩不关闭;标题栏关闭按钮可用;有未保存修改时,通过关闭按钮、底部取消或 Esc 关闭必须先确认,确认后关闭、取消后保留表单。ST-FORM-001-AC6新增保存成功后绑定所选真实伙伴。ST-FORM-001-AC7编辑保存后启用状态与保存前一致;已启用任务不会因保存被关闭。ST-FORM-001-AC8任务描述复用 Composer 输入框,默认高度为 120px,超出后内部滚动;@候选被选中后以行内 token 展示,候选面板根据可用空间自动显示在输入框上方或下方;Markdown 符号保持普通文本不渲染,编辑时正文和 token 回填。ST-FORM-001-AC9手动创建、编辑和 AI 创建均使用伙伴列表选择,每行显示动态头像、截断名称和清晰选中态;最多显示四项(208px),更多伙伴时列表内部滚动;没有伙伴时保存被拦截且 AI 创建不能继续。ST-FORM-001-AC10新增和编辑使用右侧半屏 Drawer,字段按名称、描述、伙伴、周期、时间纵向排列;窄窗口占满可用主区,内容独立滚动,底部取消和保存固定;标题栏关闭按钮可用,未保存时先确认。ST-FORM-001-AC11保存任务描述后,文字和资料引用保持原来的输入顺序;定时触发时引用随消息交给 AI。ST-FORM-001-AC12AI 创建选择伙伴后切换到该伙伴并预填任务设置引导语,只准备草稿,不创建任务、不发送消息或启动运行;切换伙伴后草稿仍保留。
ST-PARTNER-001 伙伴绑定生命周期
- 系统行为:每个新任务必须绑定现有伙伴。删除伙伴后关联任务保留、清空绑定并停用;未绑定任务不能启用。
- 验收:
ST-PARTNER-001-AC1删除伙伴后,定时任务仍存在但显示未绑定且停用。
ST-SWITCH-001 启用开关
- 系统行为:每个任务项提供启用开关;新建任务默认开启,编辑保存不改变原启用状态。切换后立即生效。未绑定伙伴的任务不能启用。
- 验收:
ST-SWITCH-001-AC1新建任务默认开启,保存后即可按调度执行。ST-SWITCH-001-AC2关闭后该任务到点不再触发。ST-SWITCH-001-AC3编辑并保存配置不会打开或关闭任务。
ST-DELETE-001 删除
- 系统行为:删除前二次确认,确认后从列表移除。
- 验收:
ST-DELETE-001-AC1删除前有确认弹窗,取消不删除。ST-DELETE-001-AC2确认后任务从列表移除。
ST-RUN-001 到点触发
- 系统行为:程序运行期间,已启用任务到达调度时间时,向绑定伙伴追加任务描述,读取该伙伴当前 Composer 的主模型、偏好和执行权限;不新建额外会话,也不操作用户当前页面。绑定伙伴不存在时自动解绑并停用。伙伴已有
running/waiting_human/waiting_approval时,取消本次调度并推进到下一调度时间。 - 验收:
ST-RUN-001-AC1到点后往绑定伙伴追加任务消息。ST-RUN-001-AC2触发过程不改变用户当前正在查看的伙伴或输入草稿。ST-RUN-001-AC3绑定伙伴已有 running / waiting_human / waiting_approval 时取消本次执行并推进下一周期,不自动补跑。
ST-RUN-002 伙伴列表刷新
- 系统行为:定时任务触发并往伙伴追加消息后,广播伙伴列表刷新,Workbench 伙伴列表展示该伙伴及其运行状态。
- 验收:
ST-RUN-002-AC1定时任务触发后,目标伙伴显示运行状态。ST-RUN-002-AC2用户无需手动刷新即可看到该伙伴运行标记。
ST-RUN-003 程序关闭错过不补跑
- 系统行为:程序关闭期间错过的调度时间不补跑,重新打开后只等待下一次到点。
- 系统行为:程序运行期间因系统休眠跨过触发点(超过 60 秒宽限)同样视为错过,不补跑并顺延到下一周期;到点后 60 秒内的正常延迟仍触发。
- 验收:
ST-RUN-003-AC1程序关闭期间错过的调度时间,重新打开后不会立即触发补跑。ST-RUN-003-AC2系统休眠跨过触发点后唤醒,不补跑并顺延到下一周期。
ST-RUN-004 立即执行
- 系统行为:定时任务列表与忙碌取消胶囊均提供「立即执行」。点击后先弹出确认框;确认后按该任务当前配置在绑定伙伴执行。若伙伴仍占用,不提交并提示「请等待当前任务结束,或先停止后再执行」。
- 验收:
ST-RUN-004-AC1列表「立即执行」点击后出现确认框;取消确认不执行。ST-RUN-004-AC2确认后在绑定伙伴启动执行(空闲时)。ST-RUN-004-AC3绑定伙伴仍占用时提示等待结束或先停止,不启动新 run。
ST-RUN-005 忙碌取消消息操作胶囊
- 系统行为:到点因绑定伙伴占用取消后,在该伙伴 Composer 显示时,于其上方展示可关闭的消息操作胶囊(与清空消息记录同壳)。问答或审批卡片替换 Composer 时暂不展示,卡片收起、Composer 恢复后继续展示未处理提示。主文案为
立即执行「{任务名}」(过长省略);提供×关闭提示。点击主操作走ST-RUN-004确认后立即执行。 - 验收:
ST-RUN-005-AC1忙碌取消后进入绑定伙伴,Composer 显示时可见该胶囊,文案含任务名;问答或审批卡片收起后提示仍可见。ST-RUN-005-AC2点击×后胶囊消失且不执行任务。ST-RUN-005-AC3点击主操作先确认,确认后按立即执行逻辑处理。
共享用户技能
WB-SKILL-001 管理与按伙伴启用
- 用户操作:通过定时任务旁的「技能」进入管理页;导入包含
SKILL.md的文件夹,或通过与创建伙伴相同风格的弹窗填写名称、适用场景和 Markdown 规范正文。列表支持编辑、删除,选择伙伴后逐项启用或停用。 - 系统行为:文件复制到应用管理目录,资源与未知 YAML 字段保留,新资产默认不分配伙伴。编辑、重命名和同名导入替换保留资产身份与伙伴绑定;名称冲突拒绝保存。导入先暂存校验,同名时明确确认替换,取消清理暂存。关闭未保存表单时确认,失败保留输入,提交期间阻止重复操作。
- 预算:单份
SKILL.md最多 32 KiB,伙伴启用的技能正文合计最多 64 KiB,按 UTF-8 字节计。配置显示用量;启用、编辑与替换均校验,后两者检查所有绑定伙伴,超限列出受影响伙伴并保留旧内容。停用允许释放损坏的配置。外部修改造成超限时明确反馈,不静默丢弃说明,不进行遗忘。 - 边界:不自动发现 WorkBuddy 目录、不做账号迁移;编辑只更新应用内副本和说明文件,资源由目录导入维护。导入保留普通文件权限,加载动作不执行脚本。运行时下一次推理读取最新有效说明。
- 验收:
WB-SKILL-001-AC1独立入口与其他视图互斥;创建编辑弹窗、未保存确认、失败保留输入和重复提交保护有效。WB-SKILL-001-AC2导入和替换保留正文、未知元数据、完整相对资源及执行位;取消和失败不破坏旧文件,源目录删除后仍可使用。WB-SKILL-001-AC3伙伴独立启停,切换伙伴的过期请求不覆盖新选择;编辑、重命名和替换保留绑定,删除伙伴不删除共享资源。WB-SKILL-001-AC4模型按名称加载,真实使用说明与相对资源;恢复和压缩不复活已停用或删除的技能。WB-SKILL-001-AC5内容不变时目录和正文排列稳定,编辑后后续调用使用新规则;供应商缓存命中率由缓存专项验收。WB-SKILL-001-AC6删除需确认,取消不变,成功移除全部绑定;失败明确反馈。WB-SKILL-001-AC7启用、编辑与替换超过正文预算时原子拒绝,显示用量和受影响伙伴;外部修改超限明确反馈。
7. 非目标
- 不定义设置页中的工作地址、网页资料或模型配置行为。
- 全局视觉、配色和基础控件规范由 UI 风格 维护;本 PRD 保留页面专属展示与交互规格。
- 不定义 AI 内部节点实现、prompt 结构、工具路由或工具 operation / schema / 结果信封细节。