Agent 测试指南

本文档说明如何为 innate-aiswitcher 支持的各个 Agent(Claude Code、Codex CLI、OpenCode 等)配置 Provider、运行连通性测试,以及验证启动计划。


支持的 Agent 与 Adapter 对照

Agent Binary Adapter 说明
Claude Code claude claude 生成临时 settings.json,通过 --settings 传入
Codex CLI codex codex 生成临时 CODEX_HOME/config.toml + auth.json
Gemini CLI gemini gemini 设置 GEMINI_API_KEY + GOOGLE_GEMINI_BASE_URL
Kimi CLI kimi openai_env 设置 OPENAI_API_KEY + OPENAI_BASE_URL
Trae CLI trae openai_env 设置 OPENAI_API_KEY + OPENAI_BASE_URL
OpenCode opencode openai_env 设置 OPENAI_API_KEY + OPENAI_BASE_URL
Hermes hermes openai_env 设置 OPENAI_API_KEY + OPENAI_BASE_URL
OpenClaw openclaw openai_env 设置 OPENAI_API_KEY + OPENAI_BASE_URL

注意test providertest modelsProvider 级别的测试,不依赖具体 Agent。任何支持 anthropicopenai_chatopenai_responses 协议的 Provider 都可以被测试。


通用测试命令

1. 测试 Provider 连通性

发送一个最小请求验证 API Key 和模型是否可用:

./bin/aisw test provider <provider-slug>

可选覆盖模型:

./bin/aisw test provider <provider-slug> --model <model-name>

2. 测试模型列表

拉取 Provider 支持的模型列表:

./bin/aisw test models <provider-slug>

3. Dry Run 预览启动计划

在真正启动 Agent 前,预览生成的配置:

./bin/aisw start <agent> <profile-or-provider> --dry-run

Claude Code 测试流程

前提

  • 已安装 Claude Code:npm install -g @anthropic-ai/claude-code
  • Claude Code 使用 Anthropic Messages API 兼容端点

配置步骤

# 1. 添加 Provider(Anthropic 兼容模式)
./bin/aisw provider add minimax-claude \
  --name "MiniMax (Claude-compatible)" \
  --base-url https://api.minimaxi.com/anthropic \
  --api-key-env MINIMAX_API_KEY \
  --protocol anthropic \
  --model MiniMax-M3 \
  --endpoint messages=/v1/messages \
  --endpoint models=/v1/models

# 2. 测试连通性
./bin/aisw test provider minimax-claude

# 3. 查看可用模型
./bin/aisw test models minimax-claude

# 4. 创建 Profile
./bin/aisw profile add claude-minimax \
  --agent claude \
  --provider minimax-claude \
  --model MiniMax-M3 \
  --default

# 5. Dry Run 预览
./bin/aisw start claude claude-minimax --dry-run

# 6. 实际启动
./bin/aisw start claude claude-minimax

快速路径:如果不想手动配置 Provider,可以从内置预设导入 —— ./bin/aisw provider presets 列出预设,然后用 TUI / Web UI / POST /api/aisw/providers/from-preset 一键导入 minimax-claude

启动原理

Claude Adapter 生成临时 settings.json

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "<api-key>",
    "ANTHROPIC_API_KEY": "<api-key>",
    "ANTHROPIC_BASE_URL": "https://api.minimaxi.com/anthropic",
    "ANTHROPIC_MODEL": "MiniMax-M3",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "MiniMax-M3",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "MiniMax-M3",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "MiniMax-M3"
  },
  "skipDangerousModePermissionPrompt": true
}

skipDangerousModePermissionPrompt 始终为 true,跳过 Claude Code 自带的「enable dangerous mode?」UI 弹窗(实际权限由 --dangerously-skip-permissions 控制,由 applySkipPermissions 根据 agent.skip_permissions_arg / profile.skip_permissions 决定)。

启动命令:

claude --settings /tmp/aisw-claude-xxx.json [--dangerously-skip-permissions] [...]

Codex CLI 测试流程

前提

  • 已安装 Codex CLI:npm install -g @openai/codex
  • Codex 使用 OpenAI Responses APIChat Completions API

配置步骤

# 1. 添加 Provider(OpenAI Responses 兼容模式)
./bin/aisw provider add minimax-codex \
  --name "MiniMax (Codex-compatible)" \
  --base-url https://api.minimaxi.com/v1 \
  --api-key-env MINIMAX_API_KEY \
  --protocol openai_responses \
  --model MiniMax-M3 \
  --endpoint responses=/responses \
  --endpoint models=/models

# 2. 测试连通性
./bin/aisw test provider minimax-codex

# 3. 创建 Profile
./bin/aisw profile add codex-minimax \
  --agent codex \
  --provider minimax-codex \
  --model MiniMax-M3 \
  --default

# 4. Dry Run 预览
./bin/aisw start codex codex-minimax --dry-run

# 5. 实际启动
./bin/aisw start codex codex-minimax

快速路径:MiniMax 内置预设 minimax-codex 已经把 capabilities.codex_auth_mode = "experimental_bearer_token" 配好,从预设导入即可。

启动原理

Codex Adapter 创建临时目录 CODEX_HOME,并按 capabilities.codex_auth_mode 选择认证方式:

  • 默认(requires_openai_auth:把 key 写入 auth.json
  • experimental_bearer_token:把 key 直接嵌入 config.tomlexperimental_bearer_token 字段(适合 MiniMax / Xiaomi 等不支持标准 OpenAI OAuth 的网关)

experimental_bearer_token 模式生成的 config.toml

model = "MiniMax-M3"
model_provider = "minimax-codex"
model_context_window = 512000

[model_providers.minimax-codex]
name = "minimax-codex"
base_url = "https://api.minimaxi.com/v1"
experimental_bearer_token = "<api-key>"
wire_api = "responses"

默认模式生成的 config.toml + auth.json

# CODEX_HOME/config.toml
model_provider = "minimax-codex"
model = "MiniMax-M3"

[model_providers.minimax-codex]
name = "minimax-codex"
base_url = "https://api.minimaxi.com/v1"
wire_api = "chat"
requires_openai_auth = true
// CODEX_HOME/auth.json
{"OPENAI_API_KEY": "<api-key>"}

启动命令:

CODEX_HOME=/tmp/aisw-codex-xxx codex

OpenCode 测试流程

前提

  • 已安装 OpenCode CLI
  • OpenCode 使用 OpenAI Chat Completions API 兼容端点

配置步骤

# 1. 添加 Provider(OpenAI 兼容模式)
./bin/aisw provider add minimax-openai \
  --name "MiniMax (OpenAI-compatible)" \
  --base-url https://api.minimaxi.com/v1 \
  --api-key-env MINIMAX_API_KEY \
  --protocol openai_chat \
  --model MiniMax-M3 \
  --endpoint chat_completions=/chat/completions \
  --endpoint models=/models

# 2. 测试连通性
./bin/aisw test provider minimax-openai

# 3. 创建 Profile
./bin/aisw profile add opencode-minimax \
  --agent opencode \
  --provider minimax-openai \
  --model MiniMax-M3 \
  --default

# 4. Dry Run 预览
./bin/aisw start opencode opencode-minimax --dry-run

# 5. 实际启动
./bin/aisw start opencode opencode-minimax

OpenCode / Kimi / Trae / Hermes / OpenClaw 都使用同一个 openai_env Adapter(仅 OPENAI_API_KEY + OPENAI_BASE_URL),把 --agent 换成 kimitraehermesopenclaw 即可复用同一份 Provider。

启动原理

OpenCode 使用 openai_env Adapter,设置环境变量:

OPENAI_API_KEY=<api-key>
OPENAI_BASE_URL=https://api.minimaxi.com/v1

启动命令:

OPENAI_API_KEY=<api-key> OPENAI_BASE_URL=https://api.minimaxi.com/v1 opencode

项目级配置(.aiswrc)

为不同项目绑定不同 Agent/Profile:

# 在项目目录创建 .aiswrc
cd ~/work-project
./bin/aisw init --profile claude-minimax

# 文件内容
# profile = "claude-minimax"
# agent = "claude"   # 可选;与 start 时传入的 agent 不一致会报错

# 进入目录直接启动
cd ~/work-project
./bin/aisw start claude
# 自动使用 claude-minimax

跳过项目配置:

./bin/aisw start claude --ignore-project

.aiswrc 也支持直接绑定 Provider:

provider = "minimax-claude"

测试协议支持矩阵

Provider 协议 test provider test models 支持的 Agent
anthropic ✅ 发送 /v1/messages ✅ 发送 /v1/models Claude Code
openai_chat ✅ 发送 /chat/completions ✅ 发送 /models Codex, OpenCode, Kimi, Trae
openai_responses ✅ 发送 /responses ✅ 发送 /models Codex
gemini_native ❌ 未实现 ❌ 未实现 Gemini CLI

故障排查

测试返回 401 Unauthorized

  • 检查 API Key 是否正确设置
  • 确认环境变量名与 --api-key-env 一致

测试返回 404 Not Found

  • 检查 base_url 是否正确
  • 确认 endpoint override 路径正确

Agent 启动失败

  • 先运行 --dry-run 查看生成的配置
  • 检查 Agent binary 是否在 PATH 中:which claudewhich codexwhich opencode

模型不支持

  • 使用 --model 覆盖默认模型
  • 运行 test models 查看 Provider 支持的模型列表

最后更新:2026-07-06