测试环境与 Console 日志
测试环境与 Console 日志
准确区分 test.xapi.to、sandbox.test.xapi.to 与 ai.xapi.to,并用服务端证据验收真实调用。
Sandbox 测试必须同时回答三个问题:请求打到哪个环境、使用哪个账户、日志应该在哪个 Console 查看。只看到页面成功或命令 stdout,不足以证明实例已经清理和账单已经结算。
环境矩阵
test.xapi.ai 不是 xAPI 测试域名,ai.test.xapi.to 当前也未提供服务。正确的测试站是
test.xapi.to,正确的测试 Sandbox API 是 sandbox.test.xapi.to。
测试类型必须明确标注
Sandbox-only test
所有计算、生命周期、Sandbox 审计和 Sandbox 计费都在测试环境。此测试不调用模型。
OpenAI Agents mixed-environment test
这是当前 OpenAI Sandbox Agents SDK E2E 的实际边界。它可以证明 DeepSeek tool calling 与 测试 Sandbox adapter 能协同运行,但不能证明“测试 AI Gateway + 测试 Sandbox”的完全 隔离链路,因为测试 AI Gateway 尚不存在。
使用哪个账户
普通 CLI Sandbox 命令的有效密钥优先级为:
在验收前运行:
config show 只显示脱敏 Key 和来源。若环境变量覆盖了配置文件,CLI 会使用环境变量对应
账户。不要从“自己刚粘贴过哪把 Key”推断实际账户;以 config show 和 Console 中的
Key 名称/尾号为准。
OpenAI SandboxAgent 混合环境应显式区分两项凭据:
不要用 Sandbox 测试 Key 能创建实例这一事实,推断它也有正式 AI Gateway 权限。验收报告 应分别记录两把 Key 的脱敏 preview 和来源,并确保完整 Key 不进入报告、prompt 或 Sandbox。
每个验收报告都应记录脱敏 Key preview、账户环境、Sandbox host、模型 gateway、模型、 Provider 和运行时间,但绝不能记录完整 Key。
Console 中查看日志
测试 Sandbox 日志
打开 test.xapi.to Console → Sandboxes:
- 监控:确认并发实例和消费趋势;
- 实例列表:按实例 ID、Provider 和时间定位资源;
- 调用日志:查看 CREATE、EXEC、FILE、PORT、SUSPEND、RESUME、TERMINATE;
- 展开实例详情,核对 operations、events、usage segments 和 settlement ledger。
时间显示可能使用浏览器本地时区,而 JSON 报告通常使用 UTC ISO 时间。比对时同时使用 实例 ID 和操作顺序,不要只靠肉眼匹配小时数。
DeepSeek 模型日志
使用 ai.xapi.to 的调用在
正式 Console → AI Logs 查看。可按:
- API Key 名称;
- Provider =
DeepSeek; - Model =
deepseek-v4-pro; - 时间范围和状态码;
进行筛选。一次 Agent 任务通常产生多次模型调用:初始规划、每次工具结果回传后的下一轮 推理,以及最终回答。因此“一个用户任务”不一定对应“一条 AI Log”。
单场景验收清单
每个会创建实例的场景至少验证:
- Quote 返回 Offering、价格和有效期,且不超过测试设定的上限;
- Create 返回实例 ID,并最终进入
RUNNING; - 真实能力被执行,例如命令退出码、文件内容或公网 URL marker;
- 操作日志记录输入摘要、状态、耗时和输出预览;
- 状态事件至少覆盖
PROVISIONING → RUNNING → TERMINATED; - usageSegments 全部关闭,没有
endsAt = null的遗留段; - billingPeriods 全部进入终态,
totalCost与结算汇总一致; - terminate 请求之后继续等待服务端
TERMINATED; - 最终
history --state ACTIVE不包含本次实例; - 报告中没有 API Key、供应商密钥或其他凭证。
Playground/CLI 多场景验收
xapi-cli 仓库提供真实多场景脚本:
场景覆盖:
- 目录、能力与预算报价;
- 一次性代码执行;
- AI 编码任务;
- CI 复现与修复;
- 数据上传、分析与报告取回;
- 多 Agent 独立实例;
- Cloudflare Web 预览与外部 URL 验证;
- 挂起、恢复与文件保留;
- GPU Offering 与连接信息;
- 操作、事件、用量、账单、历史和最终零活动实例检查。
聚焦重跑或跳过高成本 GPU:
GPU 容量不足、供应商配额或 HTTP 402 是外部前置条件失败,不等于场景通过。应保留本次 失败证据和最近一次真实成功报告,不能用页面结构测试或 mock 替代真实资源申请。
OpenAI SandboxAgent 验收
通过条件包括:
ai.xapi.toDeepSeek probe 返回预期 marker;SandboxAgent实际产生 Shell tool calls;- Daytona 实例写入并读取 Sandbox marker;
execCount足以证明任务不是模型直接编造;shellMarkerSeen = true;- 实例终态为
TERMINATED; - operations、events、usageSegments、billingPeriods 均有证据;
activeInstances = 0;- JSON 报告不包含 Key。
当前测试缺口
在上述缺口关闭前,报告应使用准确措辞:“Sandbox test E2E 通过”或 “OpenAI Agent mixed-environment E2E 通过”,不要写成“全 test.xapi.to 链路通过”。
失败后的强制清理
只有最后一次查询确认没有本次遗留实例,测试才能结束。若清理本身失败,应把实例 ID、当前 状态和错误作为最高优先级遗留事项交接。