OmniaKey/OmniaKey-AI-Coding-Tools
0
1---2language:3- zh4- en5license: mit6tags:7- tutorial8- omniakey9- ai-coding10- claude-code11- codex12- cursor13- cline14- continue15- aider16- openai-compatible17- anthropic18- llm19- vscode20---21 22# OmniaKey AI Coding Tools23 24> 在 Claude Code、Codex、Cursor、Cline、Continue、Aider 等 AI 编程工具中使用 Claude、GPT、Gemini、Grok 等模型。25 26[OmniaKey](https://omniakey.com/) 为 AI 编程工具提供一把统一 API Key,同时支持 Anthropic Messages、OpenAI Chat Completions 和 OpenAI Responses 等协议。按实际用量计费,无需为每个工具分别管理订阅。27 28> This repository is a configuration guide, not a downloadable model checkpoint. English quick start is included below.29 30## 快速入口31 32- [创建 OmniaKey API Key](https://omniakey.com/dashboard/tokens)33- [查看模型目录](https://omniakey.com/models)34- [AI 编程工具完整指南](https://docs.omniakey.com/cn/coding)35- OpenAI-compatible Base URL:`https://api.omniakey.com/v1`36- Anthropic Base URL:`https://api.omniakey.com`37 38请勿把真实 API Key 提交到 Git、截图、Issue 或日志中。示例统一使用 `sk-your-omniakey-key`。39 40## 先检查当前可用模型41 42模型和权限会持续更新。不要依赖旧教程中的静态价格表,先用自己的 Key 查询:43 44```bash45curl https://api.omniakey.com/v1/models \46 -H "Authorization: Bearer sk-your-omniakey-key"47```48 49从返回结果复制准确的 model ID,再填入对应工具。50 51## Claude Code52 53Claude Code 使用 Anthropic Messages API,因此 Base URL **不要带 `/v1`**:54 55```bash56export ANTHROPIC_BASE_URL="https://api.omniakey.com"57export ANTHROPIC_AUTH_TOKEN="sk-your-omniakey-key"58claude59```60 61Claude Code 会自行请求 `/v1/messages`。如果把 Base URL 写成 `https://api.omniakey.com/v1`,最终会变成错误的 `/v1/v1/messages`。62 63进入会话后可以用 `/model` 显式选择当前可用的 Claude 模型。OmniaKey 不会静默把你指定的模型替换成其他模型。64 65## OpenAI Codex CLI66 67Codex 自定义 provider 使用 Responses API。编辑 `~/.codex/config.toml`:68 69```toml70model = "gpt-5.6-sol"71model_provider = "omniakey"72 73[model_providers.omniakey]74name = "OmniaKey"75base_url = "https://api.omniakey.com/v1"76env_key = "OMNIAKEY_API_KEY"77wire_api = "responses"78```79 80然后设置 Key 并启动:81 82```bash83export OMNIAKEY_API_KEY="sk-your-omniakey-key"84codex85```86 87示例 model ID 可能随目录更新;排障时先确认它出现在当前 Key 的 `/v1/models` 返回中。88 89## Cursor90 91在 Cursor 的模型或自定义 OpenAI 设置中填写:92 93| 配置项 | 值 |94| --- | --- |95| OpenAI API Key | `sk-your-omniakey-key` |96| Override OpenAI Base URL | `https://api.omniakey.com/v1` |97| Model | 从 `/v1/models` 复制一个当前可用 ID |98 99Cursor 不同版本对自定义模型、Agent 模式和 Tab Completion 的支持可能不同。若某功能仍走 Cursor 自有服务,这是客户端能力边界,并不代表 API Key 无效。100 101## Cline102 103在 Cline 设置中选择 **OpenAI Compatible**,然后填写:104 105| 配置项 | 值 |106| --- | --- |107| Base URL | `https://api.omniakey.com/v1` |108| API Key | `sk-your-omniakey-key` |109| Model ID | 从 `/v1/models` 复制 |110 111保存后建议先用一个小任务测试 streaming 和工具调用,再开始大型代码修改。112 113## Continue114 115在 Continue 中新增一个 OpenAI-compatible 模型:116 117```yaml118name: OmniaKey119version: 1.0.0120schema: v1121models:122 - name: OmniaKey Coding123 provider: openai124 model: YOUR_MODEL_ID125 apiBase: https://api.omniakey.com/v1126 apiKey: sk-your-omniakey-key127```128 129Continue 的配置格式会随版本变化;如果你的版本使用 UI 配置,填入相同的 Base URL、Key 和 Model ID 即可。130 131## Aider132 133先设置 OpenAI-compatible 凭证和端点:134 135```bash136export OPENAI_API_KEY="sk-your-omniakey-key"137export OPENAI_API_BASE="https://api.omniakey.com/v1"138aider --model openai/YOUR_MODEL_ID139```140 141Aider 通过 LiteLLM 识别 provider 前缀。若模型需要不同前缀或参数,请以当前 Aider/LiteLLM 文档和 `/v1/models` 返回为准。142 143## OpenAI SDK144 145### Python146 147```python148from openai import OpenAI149 150client = OpenAI(151 base_url="https://api.omniakey.com/v1",152 api_key="sk-your-omniakey-key",153)154 155response = client.chat.completions.create(156 model="YOUR_MODEL_ID",157 messages=[158 {"role": "user", "content": "Review this function for correctness."}159 ],160)161 162print(response.choices[0].message.content)163```164 165### Node.js166 167```javascript168import OpenAI from "openai";169 170const client = new OpenAI({171 baseURL: "https://api.omniakey.com/v1",172 apiKey: "sk-your-omniakey-key",173});174 175const response = await client.chat.completions.create({176 model: "YOUR_MODEL_ID",177 messages: [178 { role: "user", content: "Write tests for this TypeScript module." },179 ],180});181 182console.log(response.choices[0].message.content);183```184 185## 常见问题186 187| 现象 | 检查 |188| --- | --- |189| `401 Unauthorized` | Key 是否正确、是否带 `Bearer `、是否复制了多余空格 |190| `404 Not Found` | OpenAI-compatible 工具是否使用 `/v1`;Claude Code 是否错误地多加了 `/v1` |191| Model not found | 用当前 Key 请求 `/v1/models`,复制准确 ID |192| 工具调用失败 | 先确认客户端使用的协议和该模型的工具调用能力 |193| Streaming 中断 | 检查本地代理、企业网络和客户端超时设置;保留 request ID 便于排查 |194| `429` | 按响应中的 retry/reset 信息等待后重试,避免无上限自动循环 |195 196## 为什么选择 OmniaKey197 198- 一把 Key 连接 Claude、GPT、Gemini、Grok 等模型199- 同时提供 Anthropic 原生协议与 OpenAI-compatible 接口200- 支持 Chat Completions、Responses、streaming 和工具调用201- 模型 ID 显式可见,不静默替换202- 一个 Dashboard 管理 Key、余额和用量203 204---205 206## English quick start207 208Create a key at [OmniaKey Dashboard](https://omniakey.com/dashboard/tokens), then choose the protocol your coding tool actually uses.209 210### Claude Code211 212```bash213export ANTHROPIC_BASE_URL="https://api.omniakey.com"214export ANTHROPIC_AUTH_TOKEN="sk-your-omniakey-key"215claude216```217 218Do not append `/v1`; Claude Code appends `/v1/messages` itself.219 220### OpenAI-compatible tools221 222Use these values in Cursor, Cline, Continue, Aider, SDKs, and other compatible clients:223 224```text225Base URL: https://api.omniakey.com/v1226API Key: sk-your-omniakey-key227Model: choose an ID returned by GET /v1/models228```229 230### Codex231 232```toml233model = "gpt-5.6-sol"234model_provider = "omniakey"235 236[model_providers.omniakey]237name = "OmniaKey"238base_url = "https://api.omniakey.com/v1"239env_key = "OMNIAKEY_API_KEY"240wire_api = "responses"241```242 243Always verify the current model catalog before relying on an example ID:244 245```bash246curl https://api.omniakey.com/v1/models \247 -H "Authorization: Bearer sk-your-omniakey-key"248```249 250## Links251 252- [OmniaKey](https://omniakey.com/)253- [Get an API Key](https://omniakey.com/dashboard/tokens)254- [Model catalog](https://omniakey.com/models)255- [Coding tools guide](https://docs.omniakey.com/en/coding)256 257This repository contains documentation only and is not affiliated with Anthropic, OpenAI, Cursor, Cline, Continue, or Aider. Product names belong to their respective owners.258 