Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs-site/src/content/docs/getting-started/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ocx init

`ocx init` walks you through:

1. **Pick a provider** — choose one of the 50 built-in registry presets or `custom` to type a base
1. **Pick a provider** — choose one of the 61 built-in registry presets or `custom` to type a base
URL and adapter.
2. **API key** — paste a key, or reference an environment variable like `${ANTHROPIC_API_KEY}`.
3. **Default model** — for key, local, and custom providers, accept the preset or enter a model id.
Expand Down
9 changes: 8 additions & 1 deletion docs-site/src/content/docs/guides/providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ selectors, then retry. Signing in from a machine with no existing `kiro-cli` ses

## 3. API-key catalog

opencodex ships 53 built-in presets: 42 key-based, seven OAuth, three local, and the default
opencodex ships 61 built-in presets: 50 key-based, seven OAuth, three local, and the default
ChatGPT-forward preset. The dashboard's **Add provider** picker opens a key provider's dashboard,
validates the key, and stores it. Notable entries:

Expand All @@ -202,6 +202,7 @@ validates the key, and stores it. Notable entries:
| MiniMax · MiniMax (CN) | `https://api.minimax.io/v1` · `https://api.minimaxi.com/v1` |
| DeepSeek | `https://api.deepseek.com` |
| Cerebras | `https://api.cerebras.ai/v1` |
| Baseten Model APIs | `https://inference.baseten.co/v1` |
| Together | `https://api.together.xyz/v1` |
| Fireworks | `https://api.fireworks.ai/inference/v1` |
| Moonshot (Kimi API) · Kimi (coding) | `https://api.moonshot.ai/v1` · `https://api.kimi.com/coding/v1` |
Expand All @@ -221,6 +222,12 @@ validates the key, and stores it. Notable entries:
Most use the `openai-chat` adapter with a bearer key; a few that expose only an Anthropic-compatible
endpoint (e.g. **Xiaomi MiMo**) use the `anthropic` adapter (`x-api-key`).

> **Baseten scope:** The preset covers Baseten's shared [Model APIs](https://docs.baseten.co/inference/model-apis/overview)
> only. Use a personal [API key](https://docs.baseten.co/organization/api-keys) for local use, or a team key
> with **Call Model APIs** access for shared/production use. Dedicated Truss `predict` endpoints use different
> hosts and schemas and are not routed by this preset.
> Live discovery for this preset is capped at a 1 MiB response and 256 raw model rows.

Comment thread
coderabbitai[bot] marked this conversation as resolved.
> **Tencent Cloud Coding Plan usage restriction:** Tencent documents this subscription for
> interactive coding tools only. General API automation, custom application backends, and
> non-interactive batch use are prohibited and may cause the plan key to be suspended.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ocx init

`ocx init` は次の手順を案内します:

1. **プロバイダー選択** — 組み込みレジストリのプリセット 50 個から一つを選ぶか、`custom` を選んで
1. **プロバイダー選択** — 組み込みレジストリのプリセット 61 個から一つを選ぶか、`custom` を選んで
base URL とアダプターを直接入力します。
2. **API キー** — キーを貼り付けるか、`${ANTHROPIC_API_KEY}` のような環境変数を参照します。
3. **デフォルトモデル** — API キー、ローカル、custom プロバイダーではプリセット値を使うかモデル ID を直接入力します。
Expand Down
9 changes: 8 additions & 1 deletion docs-site/src/content/docs/ja/guides/providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ Kiro のログインには Kiro CLI が必要です。`curl -fsSL https://cli.ki

## 3. API キーカタログ

opencodex v2.7.1 には組み込みプリセットが 50 個含まれています。キー方式 40、OAuth 6、ローカル 3、
opencodex には組み込みプリセットが 61 個含まれています。キー方式 50、OAuth 7、ローカル 3、
デフォルト ChatGPT 転送プリセット 1 です。ダッシュボードの **Add provider** ピッカーはキー発行ページを開き、
入力したキーを検証した後保存します。主な項目は以下のとおりです:

Expand All @@ -133,6 +133,7 @@ opencodex v2.7.1 には組み込みプリセットが 50 個含まれていま
| MiniMax · MiniMax (CN) | `https://api.minimax.io/v1` · `https://api.minimaxi.com/v1` |
| DeepSeek | `https://api.deepseek.com` |
| Cerebras | `https://api.cerebras.ai/v1` |
| Baseten Model APIs | `https://inference.baseten.co/v1` |
| Together | `https://api.together.xyz/v1` |
| Fireworks | `https://api.fireworks.ai/inference/v1` |
| Moonshot (Kimi API) · Kimi (coding) | `https://api.moonshot.ai/v1` · `https://api.kimi.com/coding/v1` |
Expand All @@ -152,6 +153,12 @@ opencodex v2.7.1 には組み込みプリセットが 50 個含まれていま
大半は bearer キーと共に `openai-chat` アダプターを使い、Anthropic 互換エンドポイントのみを公開する一部
(例: **Xiaomi MiMo**)は `anthropic` アダプター(`x-api-key`)を使います。

> **Baseten の対象範囲:** このプリセットは Baseten の共有 [Model APIs](https://docs.baseten.co/inference/model-apis/overview)
> のみを対象とします。ローカル利用では個人の [API キー](https://docs.baseten.co/organization/api-keys)を、
> 共有/本番利用では **Call Model APIs** 権限を持つチームキーを使用してください。専用 Truss `predict`
> エンドポイントはホストとスキーマが異なるため、このプリセットではルーティングされません。
> このプリセットのライブディスカバリーは、レスポンス 1 MiB、モデルの生行 256 件が上限です。

Comment thread
coderabbitai[bot] marked this conversation as resolved.
> **Tencent Cloud Coding Plan の利用制限:** Tencent はこのサブスクリプションを対話型
> コーディングツール専用としています。一般的な API 自動化、カスタムアプリのバックエンド、
> 非対話型バッチ利用は禁止されており、プランキーが停止される場合があります。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ocx init

`ocx init`은 다음 과정을 안내합니다:

1. **프로바이더 선택** — 내장 레지스트리 프리셋 50개 중 하나를 고르거나, `custom`을 선택해
1. **프로바이더 선택** — 내장 레지스트리 프리셋 61개 중 하나를 고르거나, `custom`을 선택해
base URL과 adapter를 직접 입력합니다.
2. **API 키** — 키를 붙여넣거나, `${ANTHROPIC_API_KEY}`와 같은 환경 변수를 참조합니다.
3. **기본 모델** — API 키, 로컬, custom 프로바이더에서는 프리셋 값을 쓰거나 모델 id를 직접 입력합니다.
Expand Down
9 changes: 8 additions & 1 deletion docs-site/src/content/docs/ko/guides/providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ Kiro 로그인에는 Kiro CLI가 필요합니다. `curl -fsSL https://cli.kiro.d

## 3. API 키 카탈로그

opencodex v2.7.1에는 빌트인 프리셋이 50개 들어 있습니다. 키 방식 40개, OAuth 6개, 로컬 3개,
opencodex에는 빌트인 프리셋이 61개 들어 있습니다. 키 방식 50개, OAuth 7개, 로컬 3개,
기본 ChatGPT 포워드 프리셋 1개입니다. 대시보드의 **Add provider** 선택기는 키 발급 페이지를 열고,
입력한 키를 검증한 뒤 저장합니다. 주요 항목은 다음과 같습니다:

Expand All @@ -133,6 +133,7 @@ opencodex v2.7.1에는 빌트인 프리셋이 50개 들어 있습니다. 키 방
| MiniMax · MiniMax (CN) | `https://api.minimax.io/v1` · `https://api.minimaxi.com/v1` |
| DeepSeek | `https://api.deepseek.com` |
| Cerebras | `https://api.cerebras.ai/v1` |
| Baseten Model APIs | `https://inference.baseten.co/v1` |
| Together | `https://api.together.xyz/v1` |
| Fireworks | `https://api.fireworks.ai/inference/v1` |
| Moonshot (Kimi API) · Kimi (coding) | `https://api.moonshot.ai/v1` · `https://api.kimi.com/coding/v1` |
Expand All @@ -152,6 +153,12 @@ opencodex v2.7.1에는 빌트인 프리셋이 50개 들어 있습니다. 키 방
대부분은 bearer 키와 함께 `openai-chat` 어댑터를 사용하며, Anthropic 호환 엔드포인트만 노출하는 일부
(예: **Xiaomi MiMo**)는 `anthropic` 어댑터(`x-api-key`)를 사용합니다.

> **Baseten 범위:** 이 프리셋은 Baseten의 공유 [Model APIs](https://docs.baseten.co/inference/model-apis/overview)만
> 지원합니다. 로컬 사용에는 개인 [API 키](https://docs.baseten.co/organization/api-keys)를, 공유/프로덕션
> 사용에는 **Call Model APIs** 권한이 있는 팀 키를 사용하세요. 전용 Truss `predict` 엔드포인트는
> 호스트와 스키마가 다르므로 이 프리셋으로 라우팅되지 않습니다.
> 이 프리셋의 실시간 검색은 응답 1 MiB와 원시 모델 행 256개로 제한됩니다.

> **Tencent Cloud Coding Plan 사용 제한:** Tencent는 이 구독을 대화형 코딩 도구 전용으로
> 안내합니다. 일반 API 자동화, 사용자 애플리케이션 백엔드 및 비대화형 일괄 호출은 금지되며
> 플랜 키가 정지될 수 있습니다.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ocx init

`ocx init` проведёт вас по следующим шагам:

1. **Выбор провайдера** — выберите один из 50 встроенных пресетов реестра или `custom`, чтобы
1. **Выбор провайдера** — выберите один из 61 встроенного пресета реестра или `custom`, чтобы
ввести базовый URL и адаптер вручную.
Comment thread
coderabbitai[bot] marked this conversation as resolved.
2. **API-ключ** — вставьте ключ или сошлитесь на переменную окружения вида `${ANTHROPIC_API_KEY}`.
3. **Модель по умолчанию** — для провайдеров с ключом, локальных и `custom` примите значение из
Expand Down
9 changes: 8 additions & 1 deletion docs-site/src/content/docs/ru/guides/providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ OAuth-провайдеры, чьи учётные данные содержат

## 3. Каталог API-ключей

opencodex поставляется с 53 встроенными пресетами: 42 на основе ключей, семь OAuth, три локальных и
opencodex поставляется с 61 встроенным пресетом: 50 на основе ключей, семь OAuth, три локальных и
пресет ChatGPT-форварда по умолчанию. Селектор **Add provider** в дашборде открывает страницу
выдачи ключей провайдера, проверяет ключ и сохраняет его. Наиболее заметные записи:

Expand All @@ -143,6 +143,7 @@ opencodex поставляется с 53 встроенными пресетам
| MiniMax · MiniMax (CN) | `https://api.minimax.io/v1` · `https://api.minimaxi.com/v1` |
| DeepSeek | `https://api.deepseek.com` |
| Cerebras | `https://api.cerebras.ai/v1` |
| Baseten Model APIs | `https://inference.baseten.co/v1` |
| Together | `https://api.together.xyz/v1` |
| Fireworks | `https://api.fireworks.ai/inference/v1` |
| Moonshot (Kimi API) · Kimi (coding) | `https://api.moonshot.ai/v1` · `https://api.kimi.com/coding/v1` |
Expand All @@ -163,6 +164,12 @@ opencodex поставляется с 53 встроенными пресетам
только Anthropic-совместимую конечную точку (например, **Xiaomi MiMo**), используют адаптер
`anthropic` (`x-api-key`).

> **Область Baseten:** пресет поддерживает только общие [Model APIs](https://docs.baseten.co/inference/model-apis/overview)
> Baseten. Для локальной работы используйте личный [API-ключ](https://docs.baseten.co/organization/api-keys),
> а для общего/промышленного использования — командный ключ с правом **Call Model APIs**. Выделенные конечные точки Truss `predict` используют другие хосты и
> схемы и этим пресетом не маршрутизируются.
> Для этого пресета live discovery ограничен ответом размером 1 MiB и 256 исходными строками моделей.

> **Ограничение Tencent Cloud Coding Plan:** Tencent разрешает использовать эту подписку только
> в интерактивных инструментах программирования. Автоматизация общего API, серверы пользовательских
> приложений и неинтерактивные пакетные вызовы запрещены и могут привести к блокировке ключа плана.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ocx init

`ocx init` 会引导你完成:

1. **选择 provider** —— 从内置 registry 的 50 个预设中选择一个,或选择 `custom` 手动输入
1. **选择 provider** —— 从内置 registry 的 61 个预设中选择一个,或选择 `custom` 手动输入
base URL 和 adapter。
2. **API key** —— 粘贴一个 key,或引用一个环境变量,例如 `${ANTHROPIC_API_KEY}`。
3. **默认模型** —— 对于 API key、本地和 custom provider,可接受预设值或输入模型 id。
Expand Down
9 changes: 8 additions & 1 deletion docs-site/src/content/docs/zh-cn/guides/providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ Kiro 登录需要 Kiro CLI:使用 `curl -fsSL https://cli.kiro.dev/install | b

## 3. API 密钥目录

opencodex v2.7.1 内置 50 个预设:40 个密钥预设、6 个 OAuth 预设、3 个本地预设,以及默认的
opencodex 内置 61 个预设:50 个密钥预设、7 个 OAuth 预设、3 个本地预设,以及默认的
ChatGPT 转发预设。仪表盘的 **Add provider** 选择器会打开密钥提供商的控制台,验证并保存密钥。
主要条目包括:

Expand All @@ -125,6 +125,7 @@ ChatGPT 转发预设。仪表盘的 **Add provider** 选择器会打开密钥提
| MiniMax · MiniMax (CN) | `https://api.minimax.io/v1` · `https://api.minimaxi.com/v1` |
| DeepSeek | `https://api.deepseek.com` |
| Cerebras | `https://api.cerebras.ai/v1` |
| Baseten Model APIs | `https://inference.baseten.co/v1` |
| Together | `https://api.together.xyz/v1` |
| Fireworks | `https://api.fireworks.ai/inference/v1` |
| Moonshot (Kimi API) · Kimi (coding) | `https://api.moonshot.ai/v1` · `https://api.kimi.com/coding/v1` |
Expand All @@ -143,6 +144,12 @@ ChatGPT 转发预设。仪表盘的 **Add provider** 选择器会打开密钥提

大多数使用带 bearer 密钥的 `openai-chat` adapter;少数仅暴露 Anthropic 兼容端点的提供商(例如 **Xiaomi MiMo**)使用 `anthropic` adapter(`x-api-key`)。

> **Baseten 范围:**该预设仅覆盖 Baseten 的共享 [Model APIs](https://docs.baseten.co/inference/model-apis/overview)。
> 本地使用可选择个人 [API 密钥](https://docs.baseten.co/organization/api-keys);共享或生产用途请使用具备
> **Call Model APIs** 权限的团队密钥。
> 专用 Truss `predict` 端点使用不同的主机和请求 schema,不由此预设路由。
> 该预设的实时发现上限为 1 MiB 响应和 256 条原始模型记录。

Comment thread
coderabbitai[bot] marked this conversation as resolved.
> **腾讯云 Coding Plan 使用限制:**腾讯将此订阅限定为交互式编程工具使用。禁止通用 API
> 自动化、自定义应用后端和非交互式批量调用;违规使用可能导致套餐密钥被停用。

Expand Down
62 changes: 62 additions & 0 deletions src/providers/registry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -408,6 +408,43 @@ const NEURALWATT_REASONING_HISTORY_MODELS = [
"kimi-k2.6", "kimi-k2.7-code",
"qwen3.5-397b", "qwen3.6-35b",
];

// 260728 Baseten Model APIs: `/v1/models` owns the live lineup, while these hints
// describe only capabilities that Baseten documents per slug. Unlisted live models
// intentionally inherit the empty provider ladder instead of being advertised with
// opencodex's generic reasoning defaults. Audio is omitted because the current proxy
// request model does not carry OpenAI `audio_url` parts.
// Evidence: https://docs.baseten.co/inference/model-apis/reasoning
// https://docs.baseten.co/inference/model-apis/vision
const BASETEN_FULL_REASONING_EFFORTS = ["low", "medium", "high", "xhigh", "max"];
const BASETEN_MODEL_REASONING_EFFORTS: Record<string, string[]> = {
"deepseek-ai/DeepSeek-V4-Pro": BASETEN_FULL_REASONING_EFFORTS,
"thinkingmachines/inkling": BASETEN_FULL_REASONING_EFFORTS,
"openai/gpt-oss-120b": BASETEN_FULL_REASONING_EFFORTS,
"moonshotai/Kimi-K3": ["low", "high", "max"],
"zai-org/GLM-5.2": ["high", "max"],
"zai-org/GLM-5.2-Fast": ["high", "max"],
};
const BASETEN_MODEL_REASONING_EFFORT_MAP: Record<string, Record<string, string>> = {
"deepseek-ai/DeepSeek-V4-Pro": { none: "none", minimal: "minimal" },
"thinkingmachines/inkling": { none: "none", minimal: "minimal" },
"openai/gpt-oss-120b": { none: "none", minimal: "minimal" },
"moonshotai/Kimi-K3": { none: "none" },
"zai-org/GLM-5.2": { none: "none" },
"zai-org/GLM-5.2-Fast": { none: "none" },
};
const BASETEN_MODEL_DEFAULT_REASONING_EFFORTS: Record<string, string> = {
"deepseek-ai/DeepSeek-V4-Pro": "medium",
"thinkingmachines/inkling": "high",
"openai/gpt-oss-120b": "medium",
"moonshotai/Kimi-K3": "max",
};
const BASETEN_MODEL_INPUT_MODALITIES: Record<string, string[]> = {
"thinkingmachines/inkling": ["text", "image"],
"moonshotai/Kimi-K2.6": ["text", "image"],
"moonshotai/Kimi-K2.7-Code": ["text", "image"],
"moonshotai/Kimi-K3": ["text", "image"],
};
const UMANS_MODELS = [
"umans-coder",
"umans-kimi-k2.7",
Expand Down Expand Up @@ -828,6 +865,31 @@ export const PROVIDER_REGISTRY: readonly ProviderRegistryEntry[] = [
},
// llama-3.3-70b was deprecated by Cerebras on 2026-02-16. Evidence: devlog/_plan/260710_provider_hardening/003_research_aggregators.md.
{ id: "cerebras", label: "Cerebras", baseUrl: "https://api.cerebras.ai/v1", adapter: "openai-chat", authKind: "key", dashboardUrl: "https://cloud.cerebras.ai/platform/apikeys", defaultModel: "gpt-oss-120b" },
{
id: "baseten",
label: "Baseten Model APIs",
baseUrl: "https://inference.baseten.co/v1",
adapter: "openai-chat",
authKind: "key",
dashboardUrl: "https://app.baseten.co/settings/api_keys",
liveModels: true,
preserveCustomDestination: true,
// Baseten's Chat Completions contract documents parallel_tool_calls as default-on.
parallelToolCalls: true,
// Baseten says models outside its reasoning table do not support reasoning. Keep
// unknown/new live slugs conservative until an official-docs registry refresh proves it.
reasoningEfforts: [],
modelReasoningEfforts: BASETEN_MODEL_REASONING_EFFORTS,
modelReasoningEffortMap: BASETEN_MODEL_REASONING_EFFORT_MAP,
modelDefaultReasoningEfforts: BASETEN_MODEL_DEFAULT_REASONING_EFFORTS,
modelInputModalities: BASETEN_MODEL_INPUT_MODALITIES,
modelDiscovery: {
path: "models",
maxResponseBytes: 1_048_576,
maxModels: 256,
},
note: "Shared Model APIs only (personal API key, or team key with Call Model APIs access); dedicated Truss predict endpoints are outside this preset.",
},
// FREEZE 2026-07-10: exact serverless ids remain auth-gated/unverified. Evidence: devlog/_plan/260710_provider_hardening/003_research_aggregators.md.
{ id: "together", label: "Together", baseUrl: "https://api.together.xyz/v1", adapter: "openai-chat", authKind: "key", dashboardUrl: "https://api.together.xyz/settings/api-keys" },
{ id: "fireworks", label: "Fireworks", baseUrl: "https://api.fireworks.ai/inference/v1", adapter: "openai-chat", authKind: "key", dashboardUrl: "https://fireworks.ai/account/api-keys" },
Expand Down
Loading
Loading