--- language: - zh - en license: mit tags: - tutorial - omniakey - ai-coding - claude-code - codex - cursor - cline - continue - aider - openai-compatible - anthropic - llm - vscode --- # OmniaKey AI Coding Tools > 在 Claude Code、Codex、Cursor、Cline、Continue、Aider 等 AI 编程工具中使用 Claude、GPT、Gemini、Grok 等模型。 [OmniaKey](https://omniakey.com/) 为 AI 编程工具提供一把统一 API Key,同时支持 Anthropic Messages、OpenAI Chat Completions 和 OpenAI Responses 等协议。按实际用量计费,无需为每个工具分别管理订阅。 > This repository is a configuration guide, not a downloadable model checkpoint. English quick start is included below. ## 快速入口 - [创建 OmniaKey API Key](https://omniakey.com/dashboard/tokens) - [查看模型目录](https://omniakey.com/models) - [AI 编程工具完整指南](https://docs.omniakey.com/cn/coding) - OpenAI-compatible Base URL:`https://api.omniakey.com/v1` - Anthropic Base URL:`https://api.omniakey.com` 请勿把真实 API Key 提交到 Git、截图、Issue 或日志中。示例统一使用 `sk-your-omniakey-key`。 ## 先检查当前可用模型 模型和权限会持续更新。不要依赖旧教程中的静态价格表,先用自己的 Key 查询: ```bash curl https://api.omniakey.com/v1/models \ -H "Authorization: Bearer sk-your-omniakey-key" ``` 从返回结果复制准确的 model ID,再填入对应工具。 ## Claude Code Claude Code 使用 Anthropic Messages API,因此 Base URL **不要带 `/v1`**: ```bash export ANTHROPIC_BASE_URL="https://api.omniakey.com" export ANTHROPIC_AUTH_TOKEN="sk-your-omniakey-key" claude ``` Claude Code 会自行请求 `/v1/messages`。如果把 Base URL 写成 `https://api.omniakey.com/v1`,最终会变成错误的 `/v1/v1/messages`。 进入会话后可以用 `/model` 显式选择当前可用的 Claude 模型。OmniaKey 不会静默把你指定的模型替换成其他模型。 ## OpenAI Codex CLI Codex 自定义 provider 使用 Responses API。编辑 `~/.codex/config.toml`: ```toml model = "gpt-5.6-sol" model_provider = "omniakey" [model_providers.omniakey] name = "OmniaKey" base_url = "https://api.omniakey.com/v1" env_key = "OMNIAKEY_API_KEY" wire_api = "responses" ``` 然后设置 Key 并启动: ```bash export OMNIAKEY_API_KEY="sk-your-omniakey-key" codex ``` 示例 model ID 可能随目录更新;排障时先确认它出现在当前 Key 的 `/v1/models` 返回中。 ## Cursor 在 Cursor 的模型或自定义 OpenAI 设置中填写: | 配置项 | 值 | | --- | --- | | OpenAI API Key | `sk-your-omniakey-key` | | Override OpenAI Base URL | `https://api.omniakey.com/v1` | | Model | 从 `/v1/models` 复制一个当前可用 ID | Cursor 不同版本对自定义模型、Agent 模式和 Tab Completion 的支持可能不同。若某功能仍走 Cursor 自有服务,这是客户端能力边界,并不代表 API Key 无效。 ## Cline 在 Cline 设置中选择 **OpenAI Compatible**,然后填写: | 配置项 | 值 | | --- | --- | | Base URL | `https://api.omniakey.com/v1` | | API Key | `sk-your-omniakey-key` | | Model ID | 从 `/v1/models` 复制 | 保存后建议先用一个小任务测试 streaming 和工具调用,再开始大型代码修改。 ## Continue 在 Continue 中新增一个 OpenAI-compatible 模型: ```yaml name: OmniaKey version: 1.0.0 schema: v1 models: - name: OmniaKey Coding provider: openai model: YOUR_MODEL_ID apiBase: https://api.omniakey.com/v1 apiKey: sk-your-omniakey-key ``` Continue 的配置格式会随版本变化;如果你的版本使用 UI 配置,填入相同的 Base URL、Key 和 Model ID 即可。 ## Aider 先设置 OpenAI-compatible 凭证和端点: ```bash export OPENAI_API_KEY="sk-your-omniakey-key" export OPENAI_API_BASE="https://api.omniakey.com/v1" aider --model openai/YOUR_MODEL_ID ``` Aider 通过 LiteLLM 识别 provider 前缀。若模型需要不同前缀或参数,请以当前 Aider/LiteLLM 文档和 `/v1/models` 返回为准。 ## OpenAI SDK ### Python ```python from openai import OpenAI client = OpenAI( base_url="https://api.omniakey.com/v1", api_key="sk-your-omniakey-key", ) response = client.chat.completions.create( model="YOUR_MODEL_ID", messages=[ {"role": "user", "content": "Review this function for correctness."} ], ) print(response.choices[0].message.content) ``` ### Node.js ```javascript import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://api.omniakey.com/v1", apiKey: "sk-your-omniakey-key", }); const response = await client.chat.completions.create({ model: "YOUR_MODEL_ID", messages: [ { role: "user", content: "Write tests for this TypeScript module." }, ], }); console.log(response.choices[0].message.content); ``` ## 常见问题 | 现象 | 检查 | | --- | --- | | `401 Unauthorized` | Key 是否正确、是否带 `Bearer `、是否复制了多余空格 | | `404 Not Found` | OpenAI-compatible 工具是否使用 `/v1`;Claude Code 是否错误地多加了 `/v1` | | Model not found | 用当前 Key 请求 `/v1/models`,复制准确 ID | | 工具调用失败 | 先确认客户端使用的协议和该模型的工具调用能力 | | Streaming 中断 | 检查本地代理、企业网络和客户端超时设置;保留 request ID 便于排查 | | `429` | 按响应中的 retry/reset 信息等待后重试,避免无上限自动循环 | ## 为什么选择 OmniaKey - 一把 Key 连接 Claude、GPT、Gemini、Grok 等模型 - 同时提供 Anthropic 原生协议与 OpenAI-compatible 接口 - 支持 Chat Completions、Responses、streaming 和工具调用 - 模型 ID 显式可见,不静默替换 - 一个 Dashboard 管理 Key、余额和用量 --- ## English quick start Create a key at [OmniaKey Dashboard](https://omniakey.com/dashboard/tokens), then choose the protocol your coding tool actually uses. ### Claude Code ```bash export ANTHROPIC_BASE_URL="https://api.omniakey.com" export ANTHROPIC_AUTH_TOKEN="sk-your-omniakey-key" claude ``` Do not append `/v1`; Claude Code appends `/v1/messages` itself. ### OpenAI-compatible tools Use these values in Cursor, Cline, Continue, Aider, SDKs, and other compatible clients: ```text Base URL: https://api.omniakey.com/v1 API Key: sk-your-omniakey-key Model: choose an ID returned by GET /v1/models ``` ### Codex ```toml model = "gpt-5.6-sol" model_provider = "omniakey" [model_providers.omniakey] name = "OmniaKey" base_url = "https://api.omniakey.com/v1" env_key = "OMNIAKEY_API_KEY" wire_api = "responses" ``` Always verify the current model catalog before relying on an example ID: ```bash curl https://api.omniakey.com/v1/models \ -H "Authorization: Bearer sk-your-omniakey-key" ``` ## Links - [OmniaKey](https://omniakey.com/) - [Get an API Key](https://omniakey.com/dashboard/tokens) - [Model catalog](https://omniakey.com/models) - [Coding tools guide](https://docs.omniakey.com/en/coding) This repository contains documentation only and is not affiliated with Anthropic, OpenAI, Cursor, Cline, Continue, or Aider. Product names belong to their respective owners.