Skip to content

Coding 工具接入 ​

平台协议与 OpenAI / Anthropic 生态兼容,主流 AI 编程工具(Claude Code、Codex CLI、Cline、Roo Code 等)无需改造成即可接入。本文给出各工具的最小配置。

通用原则

  • API 地址统一为 $URL,API Key 在控制台($CONSOLE_URL)「令牌管理」创建;
  • 编程工具配置的模型名必须与控制台模型列表一致,否则会返回 503「无可用渠道」;
  • 长任务建议保持流式(stream)开启,并将客户端超时设置为 ≥600 秒。

协议支持总览 ​

工具依赖协议平台端点状态
Cline / Roo Code / Aider 等OpenAI Chat/v1/chat/completions✅ 完全支持
Claude CodeAnthropic Messages/v1/messages✅ 完全支持(含 count_tokens)
Codex CLI(wire_api = "chat")OpenAI Chat/v1/chat/completions✅ 完全支持
Codex CLI(默认 wire_api = "responses")OpenAI Responses/v1/responses✅ 支持(上游不支持时自动降级转换;有状态字段见下方说明)
Gemini CLIGemini/v1beta/models/{model}:streamGenerateContent✅ 支持

平台会自动完成协议转换:例如 Claude Code 以 Anthropic 报文调用一个 OpenAI 兼容渠道时,请求与响应(含流式事件)均由平台双向转换,工具侧无感。

Responses API 使用须知(/v1/responses) ​

平台对 Responses 请求的兼容策略对所有渠道统一生效:

  • 上游原生支持 Responses API 时请求原样转发,功能完整;
  • 上游不支持时,平台自动降级为 Chat 协议转换转发(对工具透明,含流式事件与用量回转);
  • 例外——服务端状态字段:previous_response_id、conversation 等依赖「上游保存对话历史」的字段,在降级转换链路上无法兑现。这类请求会返回 400(invalid_request),错误信息中会列出不支持的字段名。编程工具的标准写法本就是每轮全量携带上下文(无状态),正常使用不会遇到;若你的自研客户端用了有状态写法,改为全量直传即可;
  • background 后台模式与 /v1/responses/compact 依赖上游原生支持,降级链路不支持(会返回上游原始错误而非错误格式的响应)。

Claude Code ​

通过环境变量指定接入地址、令牌与模型:

bash
export ANTHROPIC_BASE_URL="$URL"
export ANTHROPIC_AUTH_TOKEN="sk-xxxxxxxx"        # 控制台创建的令牌
export ANTHROPIC_MODEL="your-model-name"          # 平台可用模型名
export ANTHROPIC_SMALL_FAST_MODEL="your-model-name"  # 轻量任务模型(可与上同)

claude

也可以写入 ~/.claude/settings.json:

json
{
  "env": {
    "ANTHROPIC_BASE_URL": "$URL",
    "ANTHROPIC_AUTH_TOKEN": "sk-xxxxxxxx"
  }
}

说明

  • 平台完整支持 Anthropic Messages 协议(含流式、工具调用与 count_tokens 端点);请求打到 OpenAI 兼容渠道时由平台自动转换报文。
  • 会话内可用 /model 切换模型,模型名需为平台可用模型。

Codex CLI ​

编辑 ~/.codex/config.toml:

toml
model_provider = "euno"
model = "your-model-name"

[model_providers.euno]
name = "Euno AI"
base_url = "$URL/v1"
wire_api = "chat"
env_key = "EUNO_API_KEY"

并设置令牌环境变量:

bash
export EUNO_API_KEY="sk-xxxxxxxx"
codex

wire_api 的选择

  • wire_api = "chat"(推荐):走 /v1/chat/completions,所有渠道通用,行为最可预期。
  • wire_api = "responses"(Codex CLI 默认):走 /v1/responses,平台已全量兼容——上游不支持时自动降级转换;仅「服务端状态」类字段(见上文 Responses API 使用须知)不可用。

Cline / Roo Code(VS Code / JetBrains 插件) ​

  1. Provider 选择 OpenAI Compatible;
  2. Base URL 填 $URL/v1;
  3. API Key 填控制台令牌;
  4. Model ID 填平台可用模型名(可先在控制台「模型广场」确认)。

以 Cline 为例:

设置项值
API ProviderOpenAI Compatible
Base URL$URL/v1
API Keysk-xxxxxxxx
Model IDyour-model-name

Roo Code、Aider、Continue 等工具同理——凡是「OpenAI 兼容」类型的 Provider,Base URL 都填 $URL/v1。

常见问题 ​

Q: 返回 503「No available channel for model xxx」?

工具里配置的模型名在平台对应分组下没有可用渠道。请到控制台「模型广场」核对模型名的准确写法(注意版本后缀、大小写),或联系管理员开通。

Q: 长任务跑到一半连接被断开?

优先确认三点:① 工具保持流式输出(以上配置均为流式);② 客户端/自有代理的空闲超时 ≥600 秒;③ 使用最新接入文档(平台已启用流式心跳保活)。仍复现时,请带上响应头 X-Oneapi-Request-Id 中的请求 ID 联系我们精确定位。

Q: 返回 401 / 429?

401 为令牌无效或被禁用,请在控制台重新生成;429 为触发限流,请降低并发或联系管理员调整额度策略。

Q: 调用 /v1/responses 返回 400「does not support stateful fields: previous_response_id」?

请求里带了依赖上游保存会话历史的字段(如 previous_response_id),这类字段在协议转换链路上无法兑现。Codex CLI 默认配置不使用该字段、无需处理;自研客户端请改为每轮全量携带对话上下文的无状态写法(与大多数编程工具的实现一致)。

Q: 如何确认调用走了哪条协议链路?

控制台「日志」→ 对应请求详情中可查看请求路径与模型、用量信息;报障时提供请求 ID 可加速定位。

© 2026 Euno AI 版权所有