xworkmate-app/docs/cases/core-integration-manual-cases.md
Cowork 3P 376797a553 docs(cases): clean up test cases — remove ai-security-evolution scenario, fix issues
- Delete ai-security-evolution-content-scenario/ (8 files, referenced by removed MANUAL-LOCAL-001A)
- Remove MANUAL-LOCAL-001A from core-integration-manual-cases.md
- Fix duplicate section numbering (#5#6 for general thread scenarios)
- Remove misplaced workspace sync rules from MANUAL-ACP-004 (bridge auth case)
- Update README.md index
2026-06-04 06:13:38 +00:00

16 KiB
Raw Blame History

核心功能集成测试手动 Case

1. 使用说明

这份文档只保留当前项目主线的核心手动用例:

  • 设置页面配置功能
  • 任务线程场景测试

每个 case 都要求记录统一证据,最少包含:

  • 当前模式
  • 当前 provider / endpoint
  • 输入提示词或操作
  • 结果摘要
  • 产物路径或截图点
  • 是否需要外部服务人工确认

2. 设置页面配置功能

MANUAL-ACP-001 在线用户同步后默认值与本地 override 共存

  • 前置条件
    • 已登录在线账户
    • 账户侧存在可同步的 Gateway / ACP 默认配置
    • 本地有一项可区分的 override 值
  • 操作步骤
    1. 打开 Settings -> Integrations -> Gateway
    2. 触发账户同步或重进设置页等待同步完成
    3. 观察远程默认 endpoint 与本地 override 的展示
    4. 返回主页面,再次进入设置页确认状态稳定
  • 期望结果
    • 远程默认配置被注入
    • 本地 override 没有被覆盖
    • 页面不显示 secret 明文
  • 建议记录项
    • 当前登录账户
    • 同步前后 endpoint 对比
    • 是否看到 secret 明文
    • 截图点:同步完成后的设置页

MANUAL-ACP-002 selfhost ACP 远程接入

  • 前置条件
    • 有可访问的 selfhost ACP 基址
    • 若服务需要 auth准备好 auth 值
  • 操作步骤
    1. 进入 Settings -> Integrations -> Gateway
    2. 输入 selfhost 基址,例如 https://host.example.com/opencode
    3. 如有需要,填写 auth
    4. 点击 测试连接
    5. 保存并生效,返回页面再次确认
  • 期望结果
    • 连接测试成功或失败信息明确
    • 内部派生路径符合 /acp/acp/rpc
    • 保存后页面状态稳定,重新进入不会丢失 endpoint
  • 建议记录项
    • provider / endpoint
    • auth 是否为空
    • 测试连接结果摘要
    • 截图点:测试连接结果

MANUAL-ACP-003 managed bridge ACP 接入

  • 前置条件
    • 账号同步已返回 managed bridge endpoint
    • bridge token 已配置
  • 操作步骤
    1. 登录 svc.plus 并同步 bridge profile
    2. 点击 测试连接
    3. 保存并生效
    4. 关闭设置页后重新进入确认仍然显示 managed bridge endpoint
  • 期望结果
    • App 侧任务发送只使用 managed bridge ACP 主入口
    • provider catalog 与 gateway provider 来自 acp.capabilities
    • 不会写入或拼接 local / loopback provider endpoint
  • 建议记录项
    • 当前模式
    • loopback endpoint
    • 测试连接结果
    • 是否需要本机服务日志人工对照

MANUAL-ACP-004 账号同步返回 bridge_auth_token_unavailable

  • 前置条件
    • 已登录 svc.plus 账号
    • 账户侧能正常拉起 session
    • 本地 App 可访问 https://accounts.svc.plus
  • 典型现象
    • 设置页顶部与账号面板显示 xworkmate-bridge 连接失败
    • 账号同步状态为 失败
    • 同步说明显示 bridge auth token is unavailable
    • 详情信息里可见 bridge_auth_token_unavailable
  • 排查步骤
    1. 在 App 中触发账号同步或重新进入设置页
    2. 直接请求 GET /api/auth/xworkmate/profile/sync
    3. 确认是否返回 409
    4. 检查本地 secure storage 中是否存在 xworkmate.account.managed.bridge.auth_token
    5. 检查 xworkmate-appaccountSyncState 是否被写成 blocked
    6. 回到 accounts.svc.plus 服务侧确认 shared bridge token 是否已注入 Vault 并可被读取
  • 期望结论
    • 若接口返回 409 bridge_auth_token_unavailable,问题不在 App 的 bridge 连接逻辑
    • 根因在 accounts.svc.plus 的 shared XWorkmate bridge token 供给链路
    • BRIDGE_AUTH_TOKEN 需要由 accounts 服务通过 Vault 读取并下发
  • 恢复条件
    • GET /api/auth/xworkmate/profile/sync 返回 200
    • 响应包含 BRIDGE_SERVER_URLBRIDGE_AUTH_TOKEN
    • App 重新同步后,accountSyncState.syncState 变为 ready
    • 本地 managed secret bridge.auth_token 被写入
  • 建议记录项
    • 登录账号
    • profile/sync HTTP 状态码
    • 响应错误码或成功字段
    • 本地 accountSyncState.syncState
    • tokenConfigured.bridge 是否为 true
    • 是否已在 accounts.svc.plus 侧确认 Vault / bootstrap 配置

3. 本地执行型任务线程

MANUAL-LOCAL-001 powerpoint-pptx

  • 前置条件
    • pptx 技能可用
    • 当前线程为空白或新建线程
  • 操作步骤
    1. 在 assistant 线程中选择 powerpoint-pptx
    2. 输入“生成一个三页产品介绍演示稿”
    3. 等待任务完成
    4. 在同一线程继续追问“把第二页改成对比页”
  • 期望结果
    • 当前线程生成 .pptx 产物
    • 产物显示在当前线程 artifact 区域
    • 第二次追问延续同一线程上下文
  • 建议记录项
    • 线程 ID 或线程标题
    • 输入提示词
    • 产物路径
    • 截图点artifact 列表与连续追问结果

MANUAL-LOCAL-002 word-docx

  • 前置条件
    • word-docx 技能可用
  • 操作步骤
    1. 选择 word-docx
    2. 输入“生成一份包含标题、目录和表格的周报文档”
    3. 等待结果生成
  • 期望结果
    • 当前线程返回 .docx 产物
    • 结果归属当前线程
    • 不会跳到其他 provider 或其他线程
  • 建议记录项
    • 当前模式
    • provider
    • 文档产物路径
    • 结果摘要

MANUAL-LOCAL-003 excel-xlsx

  • 前置条件
    • excel-xlsx 技能可用
  • 操作步骤
    1. 选择 excel-xlsx
    2. 输入“生成一个带汇总公式的销售表”
    3. 等待结果完成
  • 期望结果
    • 当前线程中出现 .xlsx 产物
    • 线程 workspace 有对应文件
    • 结果摘要说明生成成功
  • 建议记录项
    • 提示词
    • 文件名
    • artifact 区域截图

MANUAL-LOCAL-004 pdf

  • 前置条件
    • pdf 技能可用
  • 操作步骤
    1. 选择 pdf
    2. 输入“合并两个 PDF 并输出新文件”
    3. 等待任务完成
  • 期望结果
    • 当前线程生成 PDF 结果
    • 失败时线程中能看到错误摘要
    • 不会只显示文本而没有产物
  • 建议记录项
    • 输入操作
    • 产物路径
    • 成功或失败摘要

MANUAL-LOCAL-005 image-resizer

  • 前置条件
    • image-resizer 技能可用
    • 有可处理的本地图片
  • 操作步骤
    1. 选择 image-resizer
    2. 输入“将图片缩放到 1200x800 并压缩”
    3. 等待任务完成
  • 期望结果
    • 当前线程出现处理后的图片产物
    • 结果归属当前线程 workspace
    • 结果摘要包含尺寸或压缩信息
  • 建议记录项
    • 原图与结果图路径
    • 输出尺寸
    • 截图点:线程结果区

MANUAL-LOCAL-006 本地浏览器自动化

  • 前置条件
    • 本地浏览器自动化技能可用
    • 有可访问网页
  • 操作步骤
    1. 在当前线程选择浏览器自动化技能
    2. 输入“打开示例页面并提取标题”
    3. 等待结果返回
  • 期望结果
    • 线程内返回网页操作摘要
    • 如有截图或日志产物,进入当前线程 artifact
    • 切换到其他线程后不复用本线程结果
  • 建议记录项
    • 访问网址
    • 返回摘要
    • 是否生成截图或日志

4. 在线执行任务线程

MANUAL-ONLINE-001 image-cog

  • 前置条件
    • 在线 provider 可用
    • image-cog 技能可用
  • 操作步骤
    1. 在 assistant 线程选择 image-cog
    2. 输入“生成一张极简产品海报”
    3. 等待任务状态完成
  • 期望结果
    • 线程中显示在线任务结果
    • 产物图片回到当前线程 artifact
    • provider 显示为在线执行
  • 建议记录项
    • 当前 provider / endpoint
    • 任务状态变化
    • 图片产物路径或截图

MANUAL-ONLINE-002 image-video-generation-editting

  • 前置条件
    • 在线视频/图片生成服务可用
  • 操作步骤
    1. 选择 image-video-generation-editting
    2. 输入“基于这张图生成 5 秒镜头推近视频”
    3. 等待任务轮询完成
  • 期望结果
    • 线程内可见任务处理中间状态或最终状态
    • 最终产物回传到当前线程
    • 失败时有明确错误摘要
  • 建议记录项
    • 任务开始与结束时间
    • 视频或图片结果路径
    • 是否需要外部服务后台确认

MANUAL-ONLINE-003 video-translator

  • 前置条件
    • 在线翻译/配音服务可用
    • 准备一个待翻译视频
  • 操作步骤
    1. 选择 video-translator
    2. 输入“将视频翻译成英文并输出字幕版”
    3. 等待任务完成
  • 期望结果
    • 当前线程返回翻译后的视频或字幕产物
    • 线程中可见任务成功或失败摘要
    • 不会丢失当前线程上下文
  • 建议记录项
    • 输入视频来源
    • 结果产物路径
    • 错误信息或成功摘要

MANUAL-ONLINE-004 资讯采集

  • 前置条件
    • 在线采集能力可用
  • 操作步骤
    1. 选择资讯采集能力
    2. 输入“采集今天关于 AI Agent 的 5 条资讯”
    3. 查看结果
  • 期望结果
    • 线程返回结构化资讯结果
    • 标题、来源、摘要等字段完整
    • 结果留在当前线程内
  • 建议记录项
    • 当前 provider / endpoint
    • 输入提示词
    • 结果中的标题 / 来源 / 摘要
    • 是否回到当前线程

5. XWorkmate App -> XWorkmate Bridge 远端单 Agent / Gateway 验收

这些 case 用于验证 xworkmate-app 通过当前 bridge / gateway ACP 链路调用 xworkmate-bridge,再转发到远端 codex / opencode / gemini / openclaw 时的真实线程行为,重点关注:

  • provider 选择是否正确
  • follow-up 是否保持同一 thread
  • artifact 是否写回当前线程本地 workspace
  • lastRemoteWorkingDirectory / remoteWorkspaceRefKind 是否只作为 metadata

统一新增记录项:

  • 当前模式
  • 当前 provider / endpoint
  • 输入提示词
  • 线程 ID
  • 本地线程 workspace 路径
  • 产物路径列表
  • lastRemoteWorkingDirectory
  • remoteWorkspaceRefKind
  • 是否需要外部服务人工确认

MANUAL-REMOTE-001 Codex 对话 + pptx

  • 前置条件
    • 已选择任务对话模式 codex
    • bridge/provider 连通
  • 操作步骤
    1. 输入“生成一个两页产品介绍演示稿,输出为 deck.pptx
    2. 等待任务完成并确认 artifact 区出现 .pptx
    3. 在同一线程继续追问“把第二页改成总结页”
  • 期望结果
    • 对话可用
    • .pptx 写回当前线程本地 workspace
    • follow-up 复用同一线程,不漂移到其他 provider
    • lastRemoteWorkingDirectory 更新,但 workspaceBinding 仍是本地目录

MANUAL-REMOTE-002 Codex docx/xlsx/pdf

  • 前置条件
    • 已选择任务对话模式 codex
  • 操作步骤
    1. 执行 docx:生成一份周报文档
    2. 执行 xlsx:生成一个带汇总公式的销售表
    3. 执行 pdf:生成或转换出一个 PDF 摘要文件
  • 期望结果
    • 三类任务均可执行
    • 产物分别出现在 artifact 区
    • 文件落回当前线程本地 workspace

MANUAL-REMOTE-003 Codex image-resizer

  • 前置条件
    • 已选择任务对话模式 codex
    • 线程目录内有一张待处理图片
  • 操作步骤
    1. 输入“将 input.png 缩放到 1200x800 并输出 resized.png
    2. 等待结果完成
  • 期望结果
    • 图片处理成功
    • 输出图片写回当前线程本地 workspace
    • 结果摘要含尺寸或压缩信息

MANUAL-REMOTE-004 OpenCode 对话 + pptx

  • 前置条件
    • 已选择任务对话模式 opencode
  • 操作步骤
    1. 输入“生成一个两页演示稿 deck.pptx
    2. 等待完成
    3. 同线程继续追问修改第二页内容
  • 期望结果
    • 对话可用
    • .pptx 落回当前线程本地 workspace
    • follow-up 继续复用同一线程上下文

MANUAL-REMOTE-005 OpenCode docx/xlsx/pdf

  • 前置条件
    • 已选择任务对话模式 opencode
  • 操作步骤
    1. 执行 docx
    2. 执行 xlsx
    3. 执行 pdf
  • 期望结果
    • 三类任务可用
    • 产物可见且落回当前线程本地 workspace

MANUAL-REMOTE-006 OpenCode image-resizer

  • 前置条件
    • 已选择任务对话模式 opencode
    • 已准备本地输入图片
  • 操作步骤
    1. 输入图片缩放任务
    2. 等待结果
  • 期望结果
    • 输出图片可见
    • 线程 artifact 和本地 workspace 均可确认结果

MANUAL-REMOTE-007 Gemini 基础对话

  • 前置条件
    • 已选择任务对话模式 gemini
  • 操作步骤
    1. 输入“回复 exactly pong”
    2. 在同一线程继续追问“回复 exactly round2”
  • 期望结果
    • 基础对话可用
    • 两轮消息都停留在同一线程
    • provider 显示仍为 gemini

MANUAL-REMOTE-008 Gemini 文档 / 图片任务能力边界确认

  • 前置条件
    • 已选择任务对话模式 gemini
  • 操作步骤
    1. 分别尝试 docx / pptx / xlsx / pdf / image-resizer
    2. 记录每项成功或失败
  • 期望结果
    • 若成功artifact 落回当前线程本地 workspace
    • 若失败:错误摘要明确,可区分是 provider 能力限制还是 bridge/app 落盘问题

MANUAL-GATEWAY-001 OpenClaw Gateway 基础对话

  • 前置条件
    • 任务线程使用 remote gateway / openclaw gateway
    • openclaw.svc.plus 可连通
  • 操作步骤
    1. 输入普通对话任务
    2. 等待 gateway 返回结果
  • 期望结果
    • 可建立对话
    • 线程消息返回成功或明确失败摘要
    • provider / mode 显示为 gateway 路径

MANUAL-GATEWAY-002 OpenClaw Gateway 文档类任务

  • 前置条件
    • Gateway 路径可用
  • 操作步骤
    1. 执行 docxpptx
    2. 执行 xlsxpdf
  • 期望结果
    • 至少 1-2 类文档任务成功
    • 若返回 artifact应回写当前线程本地 workspace
    • 若只返回文本摘要,应记录为“对话成功但无 artifact”

MANUAL-GATEWAY-003 OpenClaw Gateway 浏览器自动化

  • 前置条件
    • Gateway 浏览器能力可用
    • 有可访问网页
  • 操作步骤
    1. 输入“打开示例页面并提取标题”
    2. 如支持截图,再追问“截图并保存结果”
  • 期望结果
    • 可执行浏览器任务
    • 返回网页摘要
    • 若有截图 / 日志产物,应进入当前线程 artifact

MANUAL-GATEWAY-004 OpenClaw Gateway 在线资讯汇总

  • 前置条件
    • Gateway 联网能力可用
  • 操作步骤
    1. 输入“汇总今天关于 AI Agent 的 5 条资讯”
    2. 查看结构化结果
  • 期望结果
    • 能返回标题、来源、摘要
    • 结果留在当前线程
    • 若生成文档或截图,写回当前线程本地 workspace
    • 查询词
    • 结果条数
    • 结果摘要截图

MANUAL-ONLINE-005 搜索

  • 前置条件
    • 在线搜索能力可用
  • 操作步骤
    1. 选择搜索能力
    2. 输入“搜索 XWorkmate ACP 配置说明”
    3. 查看结果后继续追问“把前 3 条结果做摘要”
  • 期望结果
    • 搜索结果结构完整
    • 连续追问复用同一线程
    • 不新建孤立线程
  • 建议记录项
    • 初始查询词
    • 连续追问内容
    • 搜索结果摘要

6. 通用线程场景

MANUAL-THREAD-001 同线程连续追问

  • 前置条件
    • 任意一个本地执行或在线执行任务已经成功完成
  • 操作步骤
    1. 在原线程继续提问“继续基于刚才结果展开 3 点”
    2. 观察回复
  • 期望结果
    • 沿用原线程
    • 回答引用刚才的结果
  • 建议记录项
    • 原线程标识
    • 连续追问内容
    • 是否保留上下文

MANUAL-THREAD-002 切换线程后的状态隔离

  • 前置条件
    • 至少准备两个不同线程
  • 操作步骤
    1. 在线程 A 完成一个任务
    2. 切换到线程 B 执行不同任务
    3. 再切回线程 A
  • 期望结果
    • A、B 两个线程的技能、provider、artifact 不串线
    • 当前线程状态只反映当前线程
  • 建议记录项
    • 线程 A/B 标识
    • 各自技能与产物
    • 切换前后截图

MANUAL-THREAD-003 失败回退观察

  • 前置条件
    • 准备一个可稳定触发失败的配置或任务
  • 操作步骤
    1. 使用错误 endpoint 或故意不可达的在线任务
    2. 提交任务并观察线程结果
  • 期望结果
    • 线程中出现清晰失败信息
    • 不会把失败误报为成功
    • 保留当前线程,便于继续修正并重试
  • 建议记录项
    • 失败输入
    • 错误摘要
    • 是否能在同线程重试