配置与测试
测试与验收
唯一开发态业务入口:active Workspace 的 WebChat。
配置文件、安装日志、进程存活、Tool 列表或页面 200 都不能替代真实用户请求。只有 workspace status=active 时才打开 CLI 返回的 WebChat URL。
最低测试矩阵
| 场景 | 操作 | 必须观察到 |
|---|---|---|
| 代表性正常请求 | 提交一个覆盖 Agent 核心价值的完整输入。 | main 返回非空、正确、可行动的最终回复;没有未声明依赖或 Secret。 |
| 附件请求 | 上传该 Agent 声明支持的真实小文件并明确任务。 | 只读取本次附件;内容被真实处理;若输出文件,可点击下载并核对。 |
| 边界/失败请求 | 省略必需输入、提供不支持格式或触发受控能力失败。 | 明确说明缺少什么或为何失败,不猜测、不伪造成功、不无限重试。 |
逐项验收外部能力
文件输出
在 WebChat 中点击 Agent 返回的附件或 Markdown 下载链接,打开文件并核对内容。只有 /oasn/... 字符串、文件存在日志或内部路径截图都不算通过。
Plugin
openclaw plugins inspect <plugin-id> --runtime --json
运行表面应包含预期 Tool/hook,随后用 WebChat 发起一次确定会触发它的业务请求,并检查输出。两项缺一不可。
MCP 与 A2A
每个实际使用的 MCP Tool 或 openagent_agent_run 至少真实调用一次,依次检查:
- 传输是否完成;
- 顶层
isError是否为错误; structuredContent.status或等价业务状态是否成功;- 最终文本、文件或页面产物是否真实可用。
“Tool 没抛异常”不能代替业务状态和产物检查。同一逻辑 A2A 重试要复用原 idempotency_key。
WebUI:分四层验收
- 声明层:运行
version webui-ports get,确认业务端口已在版本的完整列表中;set是整体替换而非追加。 - 服务层:确认业务进程监听
0.0.0.0:<声明端口>,并从 Workspace 内真实请求页面和业务 API;有 WebSocket 时验证往返与断线重连。 - 代理层:等待
sync_status=ready与proxy_status=ready,再逐一打开 CLI 返回的webui_urls。这两个 ready 只证明配置和代理会话,不证明业务 HTTP 健康;502优先检查监听,410按代理会话失效处理。 - 输出层:让
main的最终回复带精确小写oasn-webuifence,JSON 恰好包含type、title、url、defaultOpen;其中defaultOpen必须是布尔值。正式调用还要核对平台映射出的structuredContent.views[].uri,客户端不得自行解析文本正文。
空 webui_urls 只能记录为“本版本未配置”或对应失败状态,不能算 PASS。完整命令、严格 JSON 示例、错误示例和终端重开边界见 结构化输入与 WebUI JSON。
记录格式
每个测试用例至少保留下面信息,避免只有一张“看起来成功”的截图:
用例 ID:
测试时间:
Workspace ID: # 可记录;不要记录 Token/私钥
Workspace revision:
输入:
附件:
预期:
实际最终回复:
文件/Tool/业务状态证据:
结论:PASS | FAIL | NOT TESTED
遗留问题:
未执行就是 NOT TESTED。
不要把未配置、暂不可用或计划后续验证的能力写成 PASS。测试记录里禁止粘贴 OAuth code、Token、Cookie、私钥或完整敏感环境变量。
OpenAgent 插件测试:当前暂不支持
当前开发流程尚未提供“从 OpenAgent 插件搜索并调用当前草稿版本”的入口。不要搜索、安装或调用未提供的测试插件,也不要用模拟结果冒充插件验收。
- 开发阶段只使用 WebChat 完成业务验证。
- 发布并 Go Online 后,使用发布结果的
user_agent_url,或从官网公开 Agents 列表按准确名称找到 Agent;在公开页通过 Use in ChatGPT 或菜单中的 Claude/WorkBuddy 完成安装。随后还要在客户端按准确名称搜索/选择当前 Agent,核对说明和开发者身份,再做最终验收。 - 公开页、安装弹窗或目标客户端不可用时记录为
BLOCKED/NOT TESTED,不能把开发态 WebChat 结果升级为正式调用 PASS。 - 未来插件测试入口正式开放后,再单独增加搜索、选择、调用和结果检查。
进入发布前的 Go / No-Go
| 检查项 | Go | No-Go |
|---|---|---|
| 核心文本任务 | 正常与边界用例均符合预期 | 空回复、幻觉成功或不稳定 |
| 附件 | 真实上传、只读当次附件、结果正确 | 扫描目录、误用历史文件或未实测 |
| 产物 | 用户能打开/下载并核对 | 只有内部路径或日志 |
| 扩展 | 运行表面与真实业务调用都通过 | 只有配置/安装证据 |
| WebUI | 端口、进程、代理 URL、严格输出 JSON 与正式 structuredContent 均通过 | 只看到 ready/200、只在 WebChat 打开,或 JSON 字段/类型错误 |
| 敏感信息 | 输入、输出和版本文件均无泄露 | 发现任何 Secret、会话或私有日志 |