服务商集成

一个 OpenAI Key,接入所有编程 Agent

在 AutoJev 中添加一次 OpenAI,之后 Codex、Claude Code、Gemini CLI、OpenCode、Hermes 等已连接的 Agent 都通过本地网关 http://127.0.0.1:9527/v1 调用你的 OpenAI 模型。

  • 内置预设:https://api.openai.com/v1
  • 按模型选择 Responses 或 Chat Completions
  • Claude Code 通过 Messages 转换调用 OpenAI
  • 请求从本机直连 OpenAI,无中转

服务商

+ 服务商

OpenRouter

https://openrouter.ai/api

DeepSeek

https://api.deepseek.com

OpenAI

https://api.openai.com/v1

Ollama

http://127.0.0.1:11434

一份 Key,所有 Agent 共用

每个编程 Agent 都想要一份自己的 OpenAI Key、自己的接口地址和模型列表。换一次模型,就得改好几个配置文件。AutoJev 把服务商集中管理:Key 只存一次,模型只加一次,Agent 统一连到本地网关,而不是各自直连 OpenAI。

请求依旧从你的电脑出发,用你自己的 Key 直接发往 api.openai.com。AutoJev 没有账号体系,没有云端中转,也不加价。它只负责三件事:决定由哪个模型处理请求;在 Agent 与模型协议不一致时做转换;在本地记录 Token、延迟、预估费用等元数据。

在 AutoJev 中添加 OpenAI

所有操作都在桌面应用的「服务商」和「模型」页面完成。

  1. 1

    创建服务商

    打开「服务商」→「添加服务商」,服务商类型选择 OpenAI,接口地址会自动填好。服务商名称(这里是 `openai`)会成为 Agent 看到的模型 ID 前缀。

    text
    Provider type: OpenAI Provider name: openai Base URL: https://api.openai.com/v1 API type: OpenAI Responses (or OpenAI Chat Completions) API key: sk-…
  2. 2

    运行服务商测试

    填写一个测试模型 ID,点击「测试」。AutoJev 会按所选 API 格式发送一条最小的文本请求,并显示实际测试地址,例如 https://api.openai.com/v1/responses。测试可能产生少量上游费用,通过后服务商会自动启用。

  3. 3

    添加模型

    在「模型」页面逐个添加 OpenAI 模型:模型 ID 与 OpenAI 官方列表保持一致,选择上游 API 类型,填写每百万 Token 的输入、输出、缓存价格,设置等级(快速、均衡、高性能)、能力标记和上下文窗口。价格用于日志和用量中的费用估算,也是「成本优先」路由的依据。

  4. 4

    连接 Agent

    在「智能体」页面选择一个或多个 OpenAI 模型(或包含它们的路由),点击连接。AutoJev 会先备份 Agent 配置,再指向本地网关,断开时自动恢复。单个模型对 Agent 显示为 `openai/<model_id>`。

上游 API 类型怎么选

API 类型描述的是 OpenAI 为该模型提供的接口,而不是 Agent 使用的协议。AutoJev 支持三种协议之间全部六个方向的转换。

AgentAgent 使用的协议模型类型:Responses模型类型:Chat Completions
CodexResponses原生直通自动转换
Claude CodeAnthropic Messages自动转换自动转换
OpenCode、Kimi、Grok Build、OpenClaw、OMPChat 或 Messages自动转换使用 Chat 时原生
HermesChat Completions自动转换原生直通
Gemini CLIGemini 桥接 → Chat自动转换桥接后原生

原生请求会保留服务商特有字段;转换请求会去掉没有对应能力的特性,详见下方限制说明。

Codex 最终的配置

选中 OpenAI 模型并连接 Codex 后,AutoJev 会在 ~/.codex/config.toml 中写入名为 `autojev` 的服务商,并在旁边生成模型目录文件。写入前会先备份原始文件。

~/.codex/config.toml(节选)
model = "openai/<model_id>" model_provider = "autojev" model_catalog_json = "/Users/you/.codex/autojev-models.json" web_search = "disabled" [model_providers.autojev] name = "AutoJev" base_url = "http://127.0.0.1:9527/v1" wire_api = "responses" [model_providers.autojev.http_headers] x-autojev-agent = "codex"

比直接用 Key 多了什么

用路由代替写死的模型

把 OpenAI 模型放进 `autojev/quality` 这样的路由,选择负载均衡或智能选择,还能和其他服务商的模型混用;也可以直接用 <provider>/<model_id> 调用单个模型。

输出前自动故障转移

在开始输出前遇到连接错误或 HTTP 401/402/403/408/429/5xx 时,AutoJev 会切换到路由中的其他候选模型,并遵守 Retry-After。

实测速度

测速会记录每个 OpenAI 模型的首字延迟和输出速度(tokens/s),「速度优先」策略直接基于实测数据选择。

协议转换有边界

请求被转换时,`previous_response_id`、联网搜索等托管工具、音频和文件内容会被拒绝,思考块会被丢弃。转换也无法给模型凭空加上视觉、工具或推理能力。如果你的 Codex 工作流依赖托管工具,请让它使用原生 Responses 类型的模型。

每次 OpenAI 调用都能在日志中查到

每条请求都会显示 Agent、模型、服务商、路由 ID、Token、首字节时间、总耗时、预估费用和状态。不保存提示词和响应正文。

日志

时间模型状态
14:02:31deepseek/deepseek-chat200
14:02:18openrouter/claude-sonnet200
14:01:55ollama/qwen3:14b200
14:01:40openai/gpt-5-mini429
14:01:12deepseek/deepseek-chat200

常见问题

OpenAI 模型应该选 Responses 还是 Chat Completions?

按 OpenAI 实际为该模型提供的接口来选。如果两者都支持:选 Responses,Codex 可以原生直通;选 Chat Completions,Hermes 等使用 Chat 的 Agent 可以原生直通。另一类 Agent 由 AutoJev 自动转换。

Claude Code 能通过 AutoJev 使用 OpenAI 模型吗?

可以。Claude Code 向网关发送 Anthropic Messages 请求,AutoJev 将其转换为该 OpenAI 模型的 API 类型,再把响应转换回来,流式输出和函数工具都支持。

AutoJev 会看到或转卖我的 OpenAI 用量吗?

不会。请求用你自己的 Key 从本机直连 OpenAI,AutoJev 不加价,也没有云端中转。请求日志只保存元数据,不保存提示词和响应。

OpenAI Key 存在哪里?

保存在本机的 ~/.autojev/autojev.db 中。目前 Key 以未加密形式存储,请像对待其他本地凭据一样保护好这个文件。

为什么 Codex 的请求在转换后失败了?

目标协议中没有对应能力的 Codex 特性(例如托管的联网搜索、previous_response_id)会在转换时被拒绝。让 Codex 使用 API 类型为 Responses 的模型即可保留这些特性。

继续了解

更新于 2026-10-14

给每个智能体,配上合适的模型。

安装 AutoJev,添加你已有的模型服务商,一键接入智能体。所有数据都留在你的电脑上。

免费开源 · macOS · Windows · Linux