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 69 built-in registry presets or `custom` to type a base
1. **Pick a provider** — choose one of the 71 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
16 changes: 15 additions & 1 deletion docs-site/src/content/docs/guides/providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ selectors, then retry. Signing in from a machine with no existing `kiro-cli` ses

## 3. API-key catalog

opencodex ships 69 built-in presets: 58 key-based, seven OAuth, three local, and one default
opencodex ships 71 built-in presets: 60 key-based, seven OAuth, three local, and one default
ChatGPT-forward preset. The dashboard's **Add provider** picker opens a key provider's dashboard,
validates the key, and stores it; validation is provider-specific, and Command Code's public
catalog reports keys as unverifiable. Notable entries:
Expand Down Expand Up @@ -227,6 +227,8 @@ free-experimentation model.
| Hyperbolic | `https://api.hyperbolic.xyz/v1` |
| Baseten Model APIs | `https://inference.baseten.co/v1` |
| Command Code | `https://api.commandcode.ai/provider/v1` |
| SambaNova Cloud | `https://api.sambanova.ai/v1` |
| Nebius Token Factory | `https://api.tokenfactory.nebius.com/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 Down Expand Up @@ -282,6 +284,18 @@ instead of a false positive. Chat requests use the configured Bearer key; API ac
Provider plan, and CLI auth bridging for Go/Pro subscriptions is not yet available. Create keys at
[Command Code Studio](https://commandcode.ai/studio/).

**SambaNova Cloud discovery.** The preset reads SambaNova Cloud's public `/v1/models` list from the fixed API
host, preserves provider-native ids, and caps discovery at 128 KiB and 128 raw rows. Chat requests
use the configured Bearer key and disable parallel function calls, which SambaNova does not yet
support. Private SambaStudio deployment endpoints are out of scope. Create keys in
[SambaNova Cloud](https://cloud.sambanova.ai/apis).

**Nebius Token Factory discovery.** The preset requests the authenticated verbose model catalog and
keeps only rows whose architecture produces text, excluding embedding and image-generation models.
It preserves slash-containing native ids plus reported context and input-modality metadata, and caps
discovery at 512 KiB and 512 raw rows. Dedicated deployment hosts are out of scope. Create keys in
[Nebius Token Factory](https://tokenfactory.nebius.com).

> **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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ ocx init

`ocx init` では次の手順を説明します。

1. **プロバイダーを選択してください** — 69 の組み込みレジストリ プリセットのいずれか、または `custom` を選択してベースを入力します
URLとアダプター。
1. **プロバイダーを選択してください** — 71 個の組み込みレジストリプリセットのいずれか、または `custom` を選択してベース URL とアダプターを入力します。
2. **API キー** — キーを貼り付けるか、`${ANTHROPIC_API_KEY}` のような環境変数を参照します。
3. **デフォルト モデル** — キー、ローカル、カスタム プロバイダーの場合は、プリセットを受け入れるか、モデル ID を入力します。
4. **プロキシ ポート** — デフォルトは `10100` です。
Expand Down
16 changes: 15 additions & 1 deletion docs-site/src/content/docs/ja/guides/providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ Kiro のログインには Kiro CLI が必要です。Unix では `curl -fsSL ht

## 3. API キーカタログ

opencodex には組み込みプリセットが 69 個含まれています。キー方式 58、OAuth 7、ローカル 3、
opencodex には組み込みプリセットが 71 個含まれています。キー方式 60、OAuth 7、ローカル 3、
デフォルト ChatGPT 転送プリセット 1 です。ダッシュボードの **Add provider** ピッカーはキー発行ページを開き、
入力したキーを検証した後保存します(検証はプロバイダー固有で、Command Code の公開カタログはキーを
検証不能として報告します)。主な項目は以下のとおりです:
Expand Down Expand Up @@ -156,6 +156,8 @@ Cline IDE/CLI のみで API からは使えません。`minimax/minimax-m2.5`
| Hyperbolic | `https://api.hyperbolic.xyz/v1` |
| Baseten Model APIs | `https://inference.baseten.co/v1` |
| Command Code | `https://api.commandcode.ai/provider/v1` |
| SambaNova Cloud | `https://api.sambanova.ai/v1` |
| Nebius Token Factory | `https://api.tokenfactory.nebius.com/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 Down Expand Up @@ -205,6 +207,18 @@ Provider API ホストから読み、スラッシュを含むネイティブモ
API アクセスには Provider プランが必要で、Go/Pro サブスクリプション向けの CLI 認証ブリッジはまだ利用できません。
キーは [Command Code Studio](https://commandcode.ai/studio/) で作成します。

**SambaNova Cloud の discovery:** preset は固定 API ホスト上の SambaNova Cloud の公開 `/v1/models` 一覧を読み、
プロバイダー固有の ID を保持し、discovery を 128 KiB と raw 128 行に制限します。chat リクエストは
設定済み Bearer キーを使い、SambaNova がまだ対応していない並列 function call は無効にします。
非公開の SambaStudio deployment endpoint は対象外です。キーは
[SambaNova Cloud](https://cloud.sambanova.ai/apis) で作成します。

**Nebius Token Factory の discovery:** preset は認証付きの verbose モデルカタログを取得し、architecture
が text を出力する行だけを残して embedding と image-generation モデルを除外します。スラッシュを含む
ネイティブ ID と、報告された context / input modality metadata を保持し、discovery を 512 KiB と raw
512 行に制限します。dedicated deployment のホストは対象外です。キーは
[Nebius Token Factory](https://tokenfactory.nebius.com) で作成します。

> **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`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ocx init

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

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

## 3. API 키 카탈로그

opencodex에는 빌트인 프리셋이 69개 들어 있습니다. 키 방식 58개, OAuth 7개, 로컬 3개,
opencodex에는 빌트인 프리셋이 71개 들어 있습니다. 키 방식 60개, OAuth 7개, 로컬 3개,
기본 ChatGPT 포워드 프리셋 1개입니다. 대시보드의 **Add provider** 선택기는 키 발급 페이지를 열고,
입력한 키를 검증한 뒤 저장합니다(검증은 프로바이더별로 다르며, Command Code의 공개 카탈로그는 키를
검증 불가로 보고합니다). 주요 항목은 다음과 같습니다:
Expand Down Expand Up @@ -157,6 +157,8 @@ Cline IDE/CLI에서만 제공되며 API로는 사용할 수 없습니다. `minim
| Hyperbolic | `https://api.hyperbolic.xyz/v1` |
| Baseten Model APIs | `https://inference.baseten.co/v1` |
| Command Code | `https://api.commandcode.ai/provider/v1` |
| SambaNova Cloud | `https://api.sambanova.ai/v1` |
| Nebius Token Factory | `https://api.tokenfactory.nebius.com/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 Down Expand Up @@ -205,6 +207,17 @@ Bearer API 키를 사용합니다. registry가 소유하는 DeepInfra 모델 목
필요하고 Go/Pro 구독자용 CLI 인증 브리지는 아직 제공되지 않습니다. 키는
[Command Code Studio](https://commandcode.ai/studio/)에서 생성합니다.

**SambaNova Cloud 검색:** 프리셋은 고정 API 호스트의 SambaNova Cloud 공개 `/v1/models` 목록을 읽고, 프로바이더
네이티브 ID를 보존하며 discovery를 128 KiB와 raw 행 128개로 제한합니다. chat 요청은 설정된 Bearer
키를 사용하고 SambaNova가 아직 지원하지 않는 병렬 function call은 비활성화합니다. 비공개 SambaStudio
deployment 엔드포인트는 범위에서 제외합니다. 키는 [SambaNova Cloud](https://cloud.sambanova.ai/apis)에서 생성합니다.

**Nebius Token Factory 검색:** 프리셋은 인증된 verbose 모델 카탈로그를 요청하고 architecture가 text를
출력하는 행만 유지해 embedding 및 image-generation 모델을 제외합니다. 슬래시가 포함된 네이티브 ID와
보고된 context 및 input modality metadata를 보존하며 discovery를 512 KiB와 raw 행 512개로 제한합니다.
dedicated deployment 호스트는 범위에서 제외합니다. 키는
[Nebius Token Factory](https://tokenfactory.nebius.com)에서 생성합니다.

> **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` 엔드포인트는
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ocx init

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

1. **Выбор провайдера** — выберите один из 69 встроенных пресетов реестра или `custom`, чтобы
1. **Выбор провайдера** — выберите один из 71 встроенного пресета реестра или `custom`, чтобы
ввести базовый URL и адаптер вручную.
2. **API-ключ** — вставьте ключ или сошлитесь на переменную окружения вида `${ANTHROPIC_API_KEY}`.
3. **Модель по умолчанию** — для провайдеров с ключом, локальных и `custom` примите значение из
Expand Down
16 changes: 15 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 поставляется с 69 встроенными пресетами: 58 на основе ключей, семь OAuth, три локальных и
opencodex поставляется с 71 встроенным пресетом: 60 на основе ключей, семь OAuth, три локальных и
один пресет ChatGPT-форварда по умолчанию. Селектор **Add provider** в дашборде открывает страницу
выдачи ключей провайдера, проверяет ключ и сохраняет его; проверка зависит от провайдера, а публичный
каталог Command Code сообщает ключ как непроверенный. Наиболее заметные записи:
Expand Down Expand Up @@ -163,6 +163,8 @@ opencodex поставляется с 69 встроенными пресетам
| Hyperbolic | `https://api.hyperbolic.xyz/v1` |
| Baseten Model APIs | `https://inference.baseten.co/v1` |
| Command Code | `https://api.commandcode.ai/provider/v1` |
| SambaNova Cloud | `https://api.sambanova.ai/v1` |
| Nebius Token Factory | `https://api.tokenfactory.nebius.com/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 Down Expand Up @@ -214,6 +216,18 @@ endpoint в него не входят. Ключи создаются в [Hyperb
настроенный bearer-ключ; для доступа к API требуется план Provider, а CLI-мост аутентификации для
подписок Go/Pro пока недоступен. Ключи создаются в [Command Code Studio](https://commandcode.ai/studio/).

**Discovery для SambaNova Cloud.** Пресет читает общедоступный список SambaNova Cloud `/v1/models` на
фиксированном API-хосте, сохраняет нативные id провайдера и ограничивает discovery размером 128 KiB
и 128 исходными строками. Chat-запросы используют настроенный Bearer-ключ; параллельные вызовы
функций отключены, поскольку SambaNova пока их не поддерживает. Частные endpoint развёртываний
SambaStudio не входят в область пресета. Ключи создаются в [SambaNova Cloud](https://cloud.sambanova.ai/apis).

**Discovery для Nebius Token Factory.** Пресет запрашивает аутентифицированный verbose-каталог и
оставляет только модели, architecture которых выдаёт текст, исключая embedding и image-generation.
Он сохраняет нативные id со знаком `/`, а также заявленные context и input-modality metadata, и
ограничивает discovery размером 512 KiB и 512 исходными строками. Хосты dedicated deployment не
входят в область пресета. Ключи создаются в [Nebius Token Factory](https://tokenfactory.nebius.com).

> **Область 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` используют другие хосты и
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 的 69 个预设中选择一个,或选择 `custom` 手动输入 base URL 和 adapter。
1. **选择 provider** — 从内置 registry 的 71 个预设中选择一个,或选择 `custom` 手动输入 base URL 和 adapter。
2. **API key** — 粘贴一个 key,或引用一个环境变量,例如 `${ANTHROPIC_API_KEY}`。
3. **默认模型** — 对于 key、本地和 custom provider,接受预设值或输入模型 id。
4. **代理端口** — 默认为 `10100`。
Expand Down
14 changes: 13 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 @@ -111,7 +111,7 @@ Kiro 登录需要 Kiro CLI:Unix 使用 `curl -fsSL https://cli.kiro.dev/instal

## 3. API 密钥目录

opencodex 内置 69 个预设:58 个密钥预设、7 个 OAuth 预设、3 个本地预设,以及 1 个默认的
opencodex 内置 71 个预设:60 个密钥预设、7 个 OAuth 预设、3 个本地预设,以及 1 个默认的
ChatGPT 转发预设。仪表盘的 **Add provider** 选择器会打开密钥提供商的控制台,验证并保存密钥。
验证因提供商而异,Command Code 的公开目录会将密钥报告为无法验证。主要条目包括:

Expand Down Expand Up @@ -147,6 +147,8 @@ Cline IDE/CLI 中提供,不能通过 API 使用;`minimax/minimax-m2.5` 是
| Hyperbolic | `https://api.hyperbolic.xyz/v1` |
| Baseten Model APIs | `https://inference.baseten.co/v1` |
| Command Code | `https://api.commandcode.ai/provider/v1` |
| SambaNova Cloud | `https://api.sambanova.ai/v1` |
| Nebius Token Factory | `https://api.tokenfactory.nebius.com/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 Down Expand Up @@ -191,6 +193,16 @@ image、audio 和 GPU 端点不在范围内。密钥可在 [Hyperbolic](https://
bearer 密钥;API 访问需要 Provider 套餐,Go/Pro 订阅用户的 CLI 认证桥接尚不可用。
密钥可在 [Command Code Studio](https://commandcode.ai/studio/) 创建。

**SambaNova Cloud 发现:**该预设从固定 API 主机读取 SambaNova Cloud 的公开 `/v1/models` 列表,保留提供商原生
模型 id,并将发现限制为 128 KiB 和 128 条原始记录。chat 请求使用已配置的 Bearer 密钥;由于
SambaNova 尚不支持并行 function call,该能力会被禁用。私有 SambaStudio 部署端点不在范围内。
密钥可在 [SambaNova Cloud](https://cloud.sambanova.ai/apis) 创建。

**Nebius Token Factory 发现:**该预设请求需要鉴权的 verbose 模型目录,仅保留 architecture 输出 text
的记录,从而排除 embedding 和 image-generation 模型。它保留含 `/` 的原生模型 id、上游报告的 context
和 input modality metadata,并将发现限制为 512 KiB 和 512 条原始记录。dedicated deployment 主机不在
范围内。密钥可在 [Nebius Token Factory](https://tokenfactory.nebius.com) 创建。

> **Baseten 范围:**该预设仅覆盖 Baseten 的共享 [Model APIs](https://docs.baseten.co/inference/model-apis/overview)。
> 本地使用可选择个人 [API 密钥](https://docs.baseten.co/organization/api-keys);共享或生产用途请使用具备
> **Call Model APIs** 权限的团队密钥。
Expand Down
11 changes: 11 additions & 0 deletions src/codex/catalog/provider-fetch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,17 @@ function modelInputModalities(
value === "text" || value === "image" || value === "audio"
));
if (explicit && explicit.length > 0) return explicit;
const architecture = plainRecord(item.architecture);
const architectureModality = typeof architecture?.modality === "string"
? normalizedMetadataString(architecture.modality, 64)
: undefined;
if (architectureModality?.includes("->")) {
const [rawInput] = architectureModality.split("->");
const inferred = rawInput
?.split("+")
.filter(value => value === "text" || value === "image" || value === "audio");
if (inferred && inferred.length > 0) return [...new Set(inferred)];
}
if (capabilityRecord?.vision === false) return ["text"];
if (capabilityRecord?.vision === true || capabilities?.some(value => value === "vision" || value === "image-input")) {
return ["text", "image"];
Expand Down
Loading
Loading