# Office 协同编辑用户故事 日期:2026-09-28。状态:需求设计,尚未完成实现与真实编辑器验证。 需求范围见 [PRD](./prd.md)。本轮补充 ONLYOFFICE 同会话编辑、右侧修改展示和选型验证用例。 ## US-A1 打开本地文档 **Given** 用户已连接支持 Office 编辑的 ShareServer,并在工作区选择一个受支持文件 **When** 用户选择“在文档页签中打开” **Then** GoodBuddy 显示目标服务和数据去向,验证并上传工作副本,然后以文件名创建新文档 页签;失败不会修改源文件或留下可重用文件授权。 ## US-A2 同时打开多个文档 **Given** 工作栏已经存在一个文档页签 **When** 用户打开另一个文档或再次打开同一文档 **Then** 工作栏创建独立页签,不替换现有实例;同名页签可辨认,文件、选区和保存状态不串联。 ## US-B1 人工编辑并保存 **Given** 文档编辑器已进入可编辑状态 **When** 用户修改内容并保存 **Then** ShareServer 先形成稳定检查点,Desktop 确认源文件未被外部修改后原子回写,并明确 显示“已写回源文件”。 ## US-B2 源文件发生冲突 **Given** 用户编辑期间源文件被其他程序修改 **When** 新检查点准备回写 **Then** GoodBuddy 禁止静默覆盖,并允许用户查看外部版本、另存编辑版本、放弃编辑版本或经 二次确认替换。 ## US-B3 关闭未保存文档 **Given** 页签存在未形成检查点或尚未回写源文件的修改 **When** 用户关闭页签或退出应用 **Then** GoodBuddy 根据真实可恢复状态提供保存、放弃或取消,不把未知结果显示为已保存。 ## US-C1 使用 AI 修改选区 关联:`FR-6`、`FR-13`。 **Given** 当前 Conversation 使用 Execute,用户在编辑器中选择受支持内容 **When** 用户提交 AI 修改要求 **Then** Agent 只接收当前会话的最新有界选区和必要上下文,右侧显示目标与处理状态;编辑器 确认后原位更新、临时高亮并支持定位修改范围,无需重载。完整结果作为一个事务应用,可以 单次撤销和重做;高亮不进入正文,完成状态不表示已写回源文件。 ## US-C2 Ask 模式请求修改 **Given** 当前 Conversation 使用 Ask **When** 用户请求 AI 修改当前选区 **Then** GoodBuddy 可以生成修改建议,但不会调用编辑器写入;界面提供切换 Execute 后重新应用 的明确入口。 ## US-C3 读取尚未保存的人工修改 关联:`FR-6`。 **Given** 用户已在右侧修改文档,但尚未保存到源文件 **When** 用户选择刚修改的内容并要求 Agent 继续编辑 **Then** Agent 基于当前编辑会话中的最新内容执行;磁盘旧文件和旧检查点不能替代本次上下文。 ## US-C4 Agent 思考期间继续编辑 关联:`FR-6`、`FR-8`。 **Given** Agent 已读取选区,正在生成修改 **When** 用户继续修改文档,或切换到另一个文档页签与选区 **Then** 切换页签不改变原请求目标;原文档版本变化或目标失效时不应用旧结果,保留人工修改并 提示基于最新内容重试。同一文档的其他页签也不能接收本次操作。源文件冲突仍按 `US-B2` 处理。 ## US-C5 编辑 Word、Excel 和 PPT 关联:`FR-3`、`FR-6`、`FR-13`。 **Given** 已分别准备 DOCX、XLSX 和 PPTX 样本,当前 Conversation 使用 Execute **When** 用户分别请求改写选中段落、修改选区公式及两位小数格式、修改指定幻灯片文本和对象属性 **Then** 按下表验证实际结果;每个样本均完成定位、高亮、单次撤销、重做、保存及重新打开检查。 | 样本 | 验收结果 | | --- | --- | | DOCX | 目标段落内容符合要求,约定文字与段落格式保留,范围外内容不变 | | XLSX | 目标区域公式及重算值符合预期,数字显示为两位小数,区域外内容不变 | | PPTX | 指定页面和对象定位正确,文本与属性变更符合要求,非目标对象及布局不变 | ## US-C6 不支持、取消和执行失败 关联:`FR-6`、`FR-13`。 **Given** 用户发起一次 AI 编辑请求 **When** 操作不受支持、用户取消或编辑器未能确认结果 **Then** 不支持时返回具体限制;提交前取消不修改文档,已应用事务提供撤销。未知结果明确显示 待核实,不自动重复写入,不以建议生成成功代替编辑成功;执行失败保留原因和实际已应用状态。 ## US-C7 编辑状态与源文件保存 关联:`FR-4`、`FR-13`。 **Given** 右侧已显示 Agent 修改完成,用户又进行了一次人工编辑 **When** 用户保存文档并重新打开源文件 **Then** 保存包含已确认的 AI 修改与后续人工修改;只有源文件回写成功才显示“已写回源文件”。 回调或回写失败时保留失败状态及可用检查点,不因右侧已经更新而宣称保存完成。 ## US-D1 网络中断后恢复 **Given** 编辑会话已经建立 **When** Desktop、ShareServer 或 ONLYOFFICE 之间的连接中断后恢复 **Then** 页签保留并显示失败阶段;只有 ShareServer 确认存在稳定检查点时才提供恢复和回写。 ## US-D2 服务未配置或不健康 **Given** 用户没有连接支持 Office 编辑的 ShareServer,或服务健康检查失败 **When** 用户打开文档能力 **Then** 入口仍可发现并解释不可用原因,同时保留使用系统默认应用打开本地文件的独立操作。 ## US-E1 权限撤销和保留到期 **Given** 管理员撤销编辑权限,或编辑会话达到保留期限 **When** 用户继续访问旧页签 **Then** 新读取、保存和 AI 操作被拒绝,旧令牌不能重用,本地源文件不受服务端清理影响。 ## US-F1 启用集中部署的 Office 服务 关联:`FR-7`、`FR-12`、`FR-14`。 **Given** 部署方已准备独立的 ONLYOFFICE 服务及所需授权,用户已连接 ShareServer **When** 用户首次在 Desktop 打开 Office 文档 **Then** 无需在用户电脑安装 Docker;打开前能看到工作副本进入哪个服务及保留期限。实际验证 文件下载、保存回调和中文字体;在 Windows、macOS 和 Linux 检查加载、焦点、快捷键与复制粘贴。 ## US-F2 决定正式采用 ONLYOFFICE 关联:`FR-14`。 **Given** 产品团队以 ONLYOFFICE Docs Developer 为首选,正在进行接口与授权验证 **When** 评审是否进入完整功能实施 **Then** 提供 `US-C1` 至 `US-C7` 的真实会话验证结果、三类文件样本兼容性记录,以及覆盖实际 部署与嵌入方式的授权条件和报价。Automation API 单独确认额外费用;插件替代方案单独验证。 未通过项明确列出限制与范围决定,仅安装容器、打开文档或完成转换不能视为实时编辑验证通过。