---
summary: "两层实时模型烟雾:直接完成和网关+开发代理管道"
title: "真人烟雾模型(配置文件键)"
read_when:
- "您正在使用自己的个人资料密钥吸烟提供商或模型"
- "您需要区分损坏的提供商密钥和损坏的网关管道"
---
## 实时:模型冒烟(配置文件密钥)
实时模型测试分成两层,这样失败就能彼此隔离:
- “直接模式”告诉您provider/model是否可以用给定的密钥应答。
- “网关冒烟”用于判断该模型的完整网关 + agent 流程是否可用(会话、历史记录、工具、沙箱策略等)。
[Live 上列出的精选模型:模型矩阵](/help/testing-live/long-context-and-matrix#live-model-matrix-what-we-cover) 存在于 `src/agents/test-helpers/live-model-dynamic-candidates.ts` 中并随时间变化;将那里的数组视为事实来源,而不是此页面。
MiniMax M3 使用 `minimax/MiniMax-M3` 作为其默认 provider/model 引用。
显式 `provider/model` 选择使用代理的共享模型解析器,包括配置的模型和接受的捆绑别名。不明确的仅模型选择器继续枚举匹配的已发现模型。在检查运行之前会报告无效的选择器和无法解析的请求模型。提供商允许名单仍然缩小了选择范围,有意的模型上限仍然限制了候选人的数量。解析每个适用的选择器证明可用性,而不是对上限省略的模型的推断。
### 第 1 层:直接模型补全(无网关)
- 测试:`src/agents/models.profiles.live.test.ts`
- 目标:
- 枚举已发现的模型
- 使用 `getApiKeyForModel` 选择你拥有凭据的模型
- 为每个模型运行一次小型补全测试(并在需要时运行针对性的回归测试)
- 启用方式:
- `pnpm test:live`(如果直接调用 Vitest,则使用 `OPENCLAW_LIVE_TEST=1`)
- 设置 `OPENCLAW_LIVE_MODELS=modern`、`small` 或 `all`(`modern` 的别名)以实际运行此测试套件;否则会跳过,因此单独运行 `pnpm test:live` 时仍只会专注于网关冒烟测试。
- 模型选择方式:
- `OPENCLAW_LIVE_MODELS=modern` 运行策划的高信号优先级列表(请参阅 [Live:模型矩阵](/help/testing-live/long-context-and-matrix#live-model-matrix-what-we-cover))
- `OPENCLAW_LIVE_MODELS=small` 运行精选的小模型优先级列表
- `OPENCLAW_LIVE_MODELS=all` 是 `modern` 的别名
- 或使用 `OPENCLAW_LIVE_MODELS="openai/gpt-5.6-luna,anthropic/claude-opus-4-6,..."`(逗号分隔的允许列表)
- 本地Ollama小模型运行默认为`http://127.0.0.1:11434`;仅针对 LAN、自定义或 Ollama Cloud 端点设置 `OPENCLAW_LIVE_OLLAMA_BASE_URL`。
- Modern/all 和小型扫描默认以其策划列表长度作为上限;设置 `OPENCLAW_LIVE_MAX_MODELS=0` 进行详尽的选定轮廓扫描,或设置正数以获得较小的上限。
- 穷举扫描对整个直接模型测试使用 `OPENCLAW_LIVE_TEST_TIMEOUT_MS` 作为超时时间。默认值:60 分钟。
- Direct-模型检查默认以20路并行运行;将 `OPENCLAW_LIVE_MODEL_CONCURRENCY` 设置为覆盖。
- 提供方选择方式:
- `OPENCLAW_LIVE_PROVIDERS="google,google-gemini-cli"`(逗号分隔的允许列表)
- 密钥来源:
- 默认:配置文件存储和环境变量回退值
- 设置 `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1`,强制仅使用**配置文件存储**中的密钥
- 存在的原因:
- 将“提供方 API 故障/密钥无效”与“网关 agent 流程故障”区分开
- 包含小型、隔离的回归测试(例如:OpenAI Responses/Codex Responses 的推理重放 + 工具调用流程)
### 第 2 层:网关 + 开发 agent 冒烟(即“@openclaw”实际执行的内容)
- 测试:`src/gateway/gateway-models.profiles.live.test.ts`
- 目标:
- 启动一个进程内网关
- Create/patch `agent:dev:*` 会话(每次运行的模型覆盖)
- 遍历拥有密钥的模型,并断言:
- “有意义的”响应(无工具)
- a 真实工具调用有效(读取检查)
- 可选的额外工具检查(执行+读取检查)
- OpenAI 回归路径(仅工具调用 -> 后续跟进)仍然正常工作
- 检查详细信息(以便您可以快速解释故障):
- `read` 检查:测试在工作区中写入一个随机数文件,并要求代理 `read` 它并回显随机数。
- `exec+read` 检查:测试要求代理将 `exec`- 将随机数写入临时文件,然后将 `read` 返回。
- 图像检查:测试附加生成的PNG(猫+随机代码)并期望模型返回`cat `。
- 实现参考:`src/gateway/gateway-models.profiles.live.test.ts` 和 `test/helpers/live-image-probe.ts`。
- 启用方式:
- `pnpm test:live`(如果直接调用 Vitest,则使用 `OPENCLAW_LIVE_TEST=1`)
- 模型选择方式:
- 默认:精选的高信号(`modern`)优先级列表
- `OPENCLAW_LIVE_GATEWAY_MODELS=small` 通过完整的网关 + agent 流程运行精选的小模型列表
- `OPENCLAW_LIVE_GATEWAY_MODELS=all` 是 `modern` 的别名
- 或设置 `OPENCLAW_LIVE_GATEWAY_MODELS="provider/model"`(或逗号分隔的列表)来缩小范围
- Modern/all 和小型网关扫描默认以其策划列表长度作为上限;设置 `OPENCLAW_LIVE_GATEWAY_MAX_MODELS=0` 进行详尽的选定扫描,或设置正数以获得较小的上限。
- 提供方选择方式(避免“OpenRouter 全部模型”):
- `OPENCLAW_LIVE_GATEWAY_PROVIDERS="google,google-gemini-cli,openai,anthropic,zai,minimax"`(逗号分隔的允许列表)
- Tool + 图像检查在此实时测试中始终处于开启状态:
- `read` 检查 + `exec+read` 检查(刀具应力)
- 当模型通告图像输入支持时运行图像检查
- 流程(高层概述):
- Test 生成一个微小的 PNG,其中包含“CAT”+随机代码(`test/helpers/live-image-probe.ts`)
- 通过 `agent` `attachments: [{ mimeType: "image/png", content: "" }]` 发送
- 网关将附件解析为 `images[]`(`src/gateway/server-methods/agent.ts` + `src/gateway/chat-attachments.ts`)
- 内嵌 agent 向模型转发多模态用户消息
- 断言:回复包含 `cat` + 代码(允许 OCR 存在轻微错误)
要查看你机器上可以测试的内容(以及精确的 `provider/model` id),请运行:
```bash
openclaw models list
openclaw models list --json
```