diff --git a/README.md b/README.md
index 4fdc0868de3..907a481db91 100644
--- a/README.md
+++ b/README.md
@@ -157,6 +157,10 @@ See [SPONSORS.md](./SPONSORS.md).
Thanks to PackyCode for sponsoring this project! PackyCode is a stable, high-performance API relay provider, offering relay services for Claude Code, Codex, Gemini, and more. With automatic failover, smart routing, and unlimited concurrency, it turns AI into a real productivity tool. Register via this link and get started! Pick PackyCode in the Add provider picker or run ocx provider add packycode. PackyCode 是一家稳定、高效的 API 中转服务商,提供 Claude Code、Codex、Gemini 等多种中转服务。具备自动故障转移、智能路由和无限并发等多种功能,让 AI 编程成为真正的生产力工具。点此链接注册,立即开始使用!
+
+
+
Thanks to TokenLab for sponsoring this project! TokenLab gives coding agents one API key for leading models, supporting OpenAI Responses and Chat Completions, Anthropic Messages, and Gemini's native API formats, with streaming and tool calling. It also provides an MCP server and agent Skills for easy integration. Choose your delivery mode and pay as you go. Pick TokenLab in the Add provider picker or run ocx provider add tokenlab. TokenLab 为编程智能体提供统一的多模型 API,一枚 API Key 即可接入主流模型,支持 OpenAI Responses、Chat Completions、Anthropic Messages 和 Gemini 原生 API 格式,以及流式输出和工具调用。同时提供 MCP 服务器和 Agent Skills,方便接入现有工作流;交付模式可选,按量付费。
+
diff --git a/SPONSORS.md b/SPONSORS.md
index 76a54c377b7..97506d9ce9a 100644
--- a/SPONSORS.md
+++ b/SPONSORS.md
@@ -47,8 +47,8 @@ sponsor receives:
policy. A second-language blurb (for example Chinese) may run alongside the English one.
- A built-in provider preset (`ocx provider add `) shipped in a public npm release,
listed near the top of the provider picker in the dashboard and CLI and marked as a sponsor
- there. (The registry field and picker ordering that back this land with the first sponsor
- preset; today the picker follows registry order.)
+ there. The dashboard picker, `ocx init` and `ocx provider presets` list sponsor rows Main
+ before Standard, then alphabetically by label, an order no sponsor can buy.
- A detailed entry on the [providers page](https://opencodex.me/guides/providers/) of the docs
site.
- Maintenance: if a release breaks the preset or its adapter, the maintainer fixes it; issues
@@ -66,9 +66,8 @@ and the placements themselves:
The README says nothing else about sponsorship; tiers, pricing, and contact channels live only on
this page.
-The translated READMEs under [`readme/`](./readme) carry one linking line right after their
-own quick-start block instead of duplicating the section, so a sponsor change is one edit in
-English.
+The translated READMEs under [`readme/`](./readme) carry the same sponsor section, with each
+row's thanks line and blurb translated, so a sponsor change updates every README together.
## Pricing
diff --git a/assets/sponsors/tokenlab-dark.png b/assets/sponsors/tokenlab-dark.png
new file mode 100644
index 00000000000..7c1ef48dac9
Binary files /dev/null and b/assets/sponsors/tokenlab-dark.png differ
diff --git a/assets/sponsors/tokenlab-light.png b/assets/sponsors/tokenlab-light.png
new file mode 100644
index 00000000000..37a0f17ef69
Binary files /dev/null and b/assets/sponsors/tokenlab-light.png differ
diff --git a/desktop/src-tauri/src/provider_icons.rs b/desktop/src-tauri/src/provider_icons.rs
index 1fc7ba747f2..750bd5cb7b1 100644
--- a/desktop/src-tauri/src/provider_icons.rs
+++ b/desktop/src-tauri/src/provider_icons.rs
@@ -91,6 +91,7 @@ const ALIASES: &[(&str, &str)] = &[
("orcarouter", "orcarouter.svg"),
("orcarouter-oauth", "orcarouter.svg"),
("packycode", "packycode.svg"),
+ ("tokenlab", "tokenlab.svg"),
("parallel", "parallel.svg"),
("sambanova", "sambanova.svg"),
("scaleway", "scaleway.svg"),
@@ -131,6 +132,7 @@ fn paint(file: &str) -> &'static str {
| "packycode.svg"
| "siliconflow.svg"
| "synthetic.svg"
+ | "tokenlab.svg"
| "vercel-ai-gateway-color.svg"
| "zenmux.svg" => "mask",
"baseten.svg" | "kilo.svg" | "sambanova.svg" | "venice.svg" | "zai.svg" => "plate",
@@ -200,6 +202,7 @@ fn svg(file: &str) -> Option<&'static str> {
"stepfun-color.svg" => svg!("stepfun-color.svg"),
"synthetic.svg" => svg!("synthetic.svg"),
"together.svg" => svg!("together.svg"),
+ "tokenlab.svg" => svg!("tokenlab.svg"),
"umans.svg" => svg!("umans.svg"),
"venice.svg" => svg!("venice.svg"),
"vercel-ai-gateway-color.svg" => svg!("vercel-ai-gateway-color.svg"),
diff --git a/devlog/_plan/260929_tokenlab_sponsor/000_roadmap.md b/devlog/_plan/260929_tokenlab_sponsor/000_roadmap.md
new file mode 100644
index 00000000000..3d14bac63ca
--- /dev/null
+++ b/devlog/_plan/260929_tokenlab_sponsor/000_roadmap.md
@@ -0,0 +1,13 @@
+# TokenLab — preset merge and third Standard sponsor
+
+TokenLab (TOKENLAB AI INC.) signed up as a Standard sponsor on 2026-09-29 (DocuSign envelope sent
+21:08 KST; USD 1,200 / 3 months, term starts at the npm release that ships the preset). Two units:
+
+| Doc | Work phase | Outcome |
+|-----|-----------|---------|
+| [010](./010_merge_6221.md) | wp1 | #6221 (fork `hedging8563`, ordinary API-key preset) merged into `dev` on green exact-head CI |
+| [020](./020_sponsor_pr.md) | wp2 | Separate maintainer PR: sponsor field, dashboard sponsor surface, README row #3, docs, assets |
+
+The sponsor PR stays unmerged for owner review. The Responses-first proposal in TokenLab's asset pack
+(`integration-notes.md`) is out of scope for both units: it changes the upstream protocol and needs
+its own evidence and PR.
diff --git a/devlog/_plan/260929_tokenlab_sponsor/010_merge_6221.md b/devlog/_plan/260929_tokenlab_sponsor/010_merge_6221.md
new file mode 100644
index 00000000000..789fa1aa080
--- /dev/null
+++ b/devlog/_plan/260929_tokenlab_sponsor/010_merge_6221.md
@@ -0,0 +1,37 @@
+# 010 — Merge #6221 (TokenLab API-key preset)
+
+## State at plan time
+
+- Head repo `hedging8563/opencodex`, branch `codex/tokenlab-provider`, draft, `maintainerCanModify`.
+- Branch updated onto `dev` with `gh pr update-branch` → head `6a9e571202`.
+- Fork runs `Cross-platform CI` (36566988054) and `React Doctor` (36566988033) approved by the maintainer.
+- Admission gap recorded in the PR body: routing/resale authorization evidence. The owner's
+ sponsorship agreement with the operator (§2.2: sourcing and delivery mode are TokenLab's
+ responsibility, not audited or guaranteed by opencodex) is the maintainer decision that closes it;
+ no upstream endorsement claim is added.
+
+## Steps
+
+0. Head moved to `fb565b7c48`: the `dev` union failed `docs-provider-preset-counts` (16 assertions,
+ localized 99/82 counts). Recounted the anchored lines; the test passes locally 18/18.
+1. Wait for every required check on `6a9e571202` to complete successfully. A red, skipped or
+ older-head result blocks merge; fix forward only if the failure is in this diff.
+2. Mark the PR ready (`gh pr ready 6221`).
+3. Post a maintainer-integration comment: owner instruction, exact head SHA, check list, and the
+ admission decision above.
+4. Squash-merge with the admin bypass (`gh pr merge 6221 --squash --admin`); the squash keeps the
+ PR author as commit author.
+5. Verify `dev` contains the squash commit and `src/providers/registry/entries-extended.ts` carries
+ the `tokenlab` entry.
+
+## Not in this unit
+
+Sponsor field, README, logos — see 020.
+
+## Outcome (2026-09-29)
+
+Merged as `f6cddd7d69` at 12:51 UTC from head `fb565b7c48`: 24 checks passed, 7 skipped by path
+conditions (Cross-platform CI 36567400620, React Doctor). CodeRabbit's assertive review found nothing
+actionable. The readiness gate re-drafted the PR on `ready`; the maintainer ticked the last two boxes
+after that review and recorded it on the PR. A full local `bun run test` cannot run from a worktree
+under `~/.codex`: the harness refuses to delete temporary directories inside the real Codex home.
diff --git a/devlog/_plan/260929_tokenlab_sponsor/020_sponsor_pr.md b/devlog/_plan/260929_tokenlab_sponsor/020_sponsor_pr.md
new file mode 100644
index 00000000000..0cbee8371cf
--- /dev/null
+++ b/devlog/_plan/260929_tokenlab_sponsor/020_sponsor_pr.md
@@ -0,0 +1,63 @@
+# 020 — TokenLab third Standard sponsor PR
+
+Branch `codex/tokenlab-sponsor`, started on the #6221 head and rebased onto `dev` after 010 lands.
+Pattern: #3914 (OrcaRouter, mechanism) and #3915 (PackyCode, second sponsor). Assets come from
+TokenLab's corrected pack (`TokenLab-OpenCodex-assets-corrected.zip`), artwork unchanged.
+
+## Diff
+
+- `src/providers/registry/entries-extended.ts` — the `tokenlab` entry gains
+ `sponsor: { tier: "standard", url: "https://tokenlab.sh/?utm_source=opencodex&utm_medium=readme" }`
+ with a comment naming SPONSORS.md and the signing date. No routing, default or discovery change.
+- `assets/sponsors/tokenlab-light.png`, `assets/sponsors/tokenlab-dark.png` — the pack's 500×125
+ lockups, unchanged (`-light` = for light page backgrounds, as in the pack). Listed in
+ `package.json` `files` beside the OrcaRouter/PackyCode logos.
+- `README.md` — third row of the `sponsors:standard` table, in signing order after PackyCode.
+ Logo in `` with a `prefers-color-scheme: dark` source so the dark lockup shows in
+ GitHub dark mode; the `` fallback is the light lockup (npm). Text: "Thanks to TokenLab for
+ sponsoring this project!", the sponsor's English blurb verbatim, then the picker /
+ `ocx provider add tokenlab` line.
+- `readme/README.{ko,ja,zh-CN,zh-TW,ru,fr,tr}.md` — the same row, translated like the existing
+ rows, image paths `../assets/...`. Keep the README drift gate green.
+- `gui/public/provider-icons/tokenlab.svg` — the pack's symbol mark; `gui/src/provider-icons.ts`
+ maps `tokenlab` to it, sets the display name, and applies dark-mode treatment like other
+ monochrome marks.
+- `gui/src/components/provider-workspace/ProviderSponsor.tsx` — replace the hardcoded
+ OrcaRouter/PackyCode ternaries with a small brand table so a sponsor is one row; add TokenLab.
+ i18n keys `pws.sponsor.tokenlabTitle` / `pws.sponsor.tokenlabDescription` in every
+ `gui/src/i18n/*.ts` locale (the closed catalog must stay exhaustive).
+- `docs-site/src/content/docs/guides/providers.md` — sponsor paragraph after PackyCode, and the
+ base-URL table row if #6221 has not already added it. Translated locales must not contradict it.
+- Tests — `tests/providers/sponsor-presets.test.ts` stays generic; the GUI sponsor overview test
+ covers the TokenLab card. Respect the file-size ratchet: move rather than grow capped files.
+
+## Verification
+
+## Audit folds (reviewer, NEAR-PASS)
+
+- `desktop/src-tauri/src/provider_icons.rs`: `("tokenlab", "tokenlab.svg")` in `ALIASES`, the same paint
+ arm as `MASKED_PROVIDER_ICONS`, and `svg!("tokenlab.svg")` (`gui/tests/provider-icons-native.test.ts`).
+- `readme/i18n-manifest.json`: refresh all seven `sourceSha256` values to the new LF-normalized README hash
+ (`docs-readme-translation-parity.test.ts`).
+- `` is gate-compatible: only `src=`/`href=` are asset-tracked, so each locale's `` must be
+ `../assets/sponsors/tokenlab-light.png`; include the dark `` too.
+- Icon provenance row in `gui/public/provider-icons/README.md`; `structure/dashboard-and-usage.md` owns the
+ `ProviderSponsor` description — update it for the brand table.
+- Docs: extend the existing TokenLab section in `guides/providers.md` with the sponsor link; do not add a
+ second paragraph.
+- `SPONSORS.md`: fix the stale "picker follows registry order" and "translated READMEs carry one linking
+ line" sentences.
+- Branch: after #6221 squashes, move only the sponsor commits onto `dev`
+ (`git rebase --onto origin/dev fb565b7c48`).
+
+## Verification (commands)
+
+Focused: sponsor-presets, provider-registry-parity, tokenlab-provider, README drift/translation
+gates, GUI sponsor tests, `bun run typecheck`, `bun run lint:gui`, `bun run privacy:scan`,
+`bun run structure:check`, `bun run build:gui`. Then `bun run test` or the documented focused
+exception. Screenshot of the dashboard sponsor card and picker uploaded to the `pr-assets` branch
+and linked by SHA in the PR description, never committed to the PR branch.
+
+## Out of scope
+
+Responses-first adapter and the `X-TokenLab-Delivery-Policy` header (pack `integration-notes.md`).
diff --git a/docs-site/src/content/docs/guides/providers.md b/docs-site/src/content/docs/guides/providers.md
index 821a5b81178..5bbf4735c66 100644
--- a/docs-site/src/content/docs/guides/providers.md
+++ b/docs-site/src/content/docs/guides/providers.md
@@ -553,7 +553,9 @@ region-pinned EU routes, is at [opper.ai/models](https://opper.ai/models). Opper
| Cloudflare AI Gateway | `https://gateway.ai.cloudflare.com/v1/{account-id}/{gateway}/anthropic` |
| …and more | opencode zen, Vercel AI Gateway, Venice, NanoGPT, Synthetic, Qianfan, Alibaba, Parallel, ZenMux, LiteLLM |
-**TokenLab** is an OpenAI-compatible API gateway operated by TOKENLAB AI INC.
+**TokenLab** ([sponsor](https://github.com/lidge-jun/opencodex/blob/main/SPONSORS.md)) is an
+OpenAI-compatible API gateway at [tokenlab.sh](https://tokenlab.sh/r/OPENCODEX),
+operated by TOKENLAB AI INC.
Create a workspace [API key](https://tokenlab.sh/dashboard/api?tab=keys), then run
`ocx provider add tokenlab` or select **TokenLab** in the dashboard's **Add provider** picker.
The preset uses [Chat Completions](https://docs.tokenlab.sh/quickstart) and discovers models at
@@ -566,7 +568,8 @@ policy. Use a valid key with a funded workspace for inference. `gpt-5.6-terra` i
default; choose another discovered model if your key does not allow it. The provider and model
prefixes remain separate: `tokenlab/gpt-5.6-terra` sends `gpt-5.6-terra` upstream.
TokenLab's [terms](https://tokenlab.sh/tos) and [privacy policy](https://tokenlab.sh/privacy-policy)
-apply to requests sent to this service.
+apply to requests sent to this service. The preset pins the row near the top of the Add provider
+picker and marks it as a sponsor, and nothing else about routing or defaults changes.
The MiniMax and MiniMax (CN) provider cards can also show Coding Plan quota when the configured
key has an active plan. The dashboard reads the plan's 5-hour window and, when present, weekly
diff --git a/gui/public/provider-icons/README.md b/gui/public/provider-icons/README.md
index 7efbbbac919..e53cfda2211 100644
--- a/gui/public/provider-icons/README.md
+++ b/gui/public/provider-icons/README.md
@@ -382,3 +382,12 @@ committing it.
gradient is the brand, so it must never be masked.
- `factory-droid.svg` — Factory Docs favicon, fetched 2026-09-28 from `https://docs.factory.ai/favicon.svg`; unmodified first-party asset for Factory Droid.
+
+## TokenLab (2026-09-29)
+
+- `tokenlab.svg` — TokenLab's "Specimen Split" symbol, `logos/tokenlab-symbol.svg` from the
+ sponsor asset pack TokenLab supplied for its Standard sponsorship (`SPONSORS.md`), committed
+ byte for byte (416 bytes, MD5 `fcb8c1325a34ed52b1dc89eabf08a0e6`), ``/`` included
+ since they do not affect rendering. `viewBox="0 0 48 48"`, one `#151714` ink, so it is
+ **masked** like `packycode.svg`: as an image it vanishes on the dark tile. The pack's reverse
+ symbol (`#F5F5F1`) is the same geometry and is not needed once the mark follows the theme.
diff --git a/gui/public/provider-icons/tokenlab.svg b/gui/public/provider-icons/tokenlab.svg
new file mode 100644
index 00000000000..6c193a9214e
--- /dev/null
+++ b/gui/public/provider-icons/tokenlab.svg
@@ -0,0 +1,8 @@
+
diff --git a/gui/src/components/provider-workspace/ProviderSponsor.tsx b/gui/src/components/provider-workspace/ProviderSponsor.tsx
index 6b52252b91a..621ac4a95b0 100644
--- a/gui/src/components/provider-workspace/ProviderSponsor.tsx
+++ b/gui/src/components/provider-workspace/ProviderSponsor.tsx
@@ -1,8 +1,26 @@
-import { useT } from "../../i18n/shared";
+import { useT, type TKey } from "../../i18n/shared";
import { IconExternal } from "../../icons";
import type { WorkspaceItem } from "../../provider-workspace/catalog";
import { matchingWorkspacePreset, type CatalogPreset } from "../provider-catalog/provider-presets";
+type SponsorBrand = { name: string; title: TKey; description: TKey };
+
+const ORCAROUTER: SponsorBrand = {
+ name: "OrcaRouter", title: "pws.sponsor.orcaTitle", description: "pws.sponsor.orcaDescription",
+};
+
+/**
+ * One row per sponsor preset id. The registry `sponsor` field decides whether a card shows;
+ * this table only supplies the brand name and localized copy, so a preset flagged as a sponsor
+ * without a row here still renders nothing rather than borrowing another sponsor's words.
+ */
+const SPONSOR_BRANDS: Readonly> = {
+ orcarouter: ORCAROUTER,
+ "orcarouter-oauth": ORCAROUTER,
+ packycode: { name: "PackyCode", title: "pws.sponsor.packyTitle", description: "pws.sponsor.packyDescription" },
+ tokenlab: { name: "TokenLab", title: "pws.sponsor.tokenlabTitle", description: "pws.sponsor.tokenlabDescription" },
+};
+
function webLink(value?: string): string | undefined {
if (!value) return undefined;
try {
@@ -16,25 +34,23 @@ function webLink(value?: string): string | undefined {
export default function ProviderSponsor({ item, preset }: { item: WorkspaceItem; preset?: CatalogPreset }) {
const t = useT();
if (!preset?.sponsor || !matchingWorkspacePreset(item, [preset])) return null;
- const brand = preset.id === "orcarouter" || preset.id === "orcarouter-oauth"
- ? "OrcaRouter" : preset.id === "packycode" ? "PackyCode" : undefined;
+ const brand = Object.hasOwn(SPONSOR_BRANDS, preset.id) ? SPONSOR_BRANDS[preset.id] : undefined;
if (!brand) return null;
- const orca = brand === "OrcaRouter";
const visit = webLink(preset.sponsorUrl);
const dashboard = webLink(preset.dashboardUrl);
- return
+ return
Merci à PackyCode pour son soutien à ce projet ! PackyCode est un fournisseur de relais API stable et performant, qui propose des services de relais pour Claude Code, Codex, Gemini et d'autres. Grâce au basculement automatique, au routage intelligent et à une concurrence illimitée, il fait de l'IA un véritable outil de productivité. Inscrivez-vous via ce lien et commencez ! Choisissez PackyCode dans le sélecteur Add provider ou exécutez ocx provider add packycode. PackyCode 是一家稳定、高效的 API 中转服务商,提供 Claude Code、Codex、Gemini 等多种中转服务。具备自动故障转移、智能路由和无限并发等多种功能,让 AI 编程成为真正的生产力工具。点此链接注册,立即开始使用!
+
+
+
Merci à TokenLab pour son soutien à ce projet ! TokenLab donne aux agents de code une seule clé API pour les principaux modèles, avec les formats OpenAI Responses et Chat Completions, Anthropic Messages et l'API native de Gemini, streaming et appel d'outils compris. Il fournit aussi un serveur MCP et des Skills pour agents afin de faciliter l'intégration. Choisissez votre mode de livraison et payez à l'usage. Choisissez TokenLab dans le sélecteur Add provider ou exécutez ocx provider add tokenlab. TokenLab 为编程智能体提供统一的多模型 API,一枚 API Key 即可接入主流模型,支持 OpenAI Responses、Chat Completions、Anthropic Messages 和 Gemini 原生 API 格式,以及流式输出和工具调用。同时提供 MCP 服务器和 Agent Skills,方便接入现有工作流;交付模式可选,按量付费。
diff --git a/readme/README.ko.md b/readme/README.ko.md
index 4facdfd7de1..26eee185dce 100644
--- a/readme/README.ko.md
+++ b/readme/README.ko.md
@@ -153,6 +153,10 @@ Codex Desktop 로그인처럼 다른 계정이 소진된 뒤에만 쓰고 싶은
PackyCode의 후원에 감사합니다. PackyCode는 안정적인 고성능 API 릴레이 프로바이더로, Claude Code, Codex, Gemini 등의 릴레이를 제공합니다. 자동 failover, 스마트 라우팅, 무제한 동시성으로 AI를 실제 생산성 도구로 만듭니다. 이 링크로 등록하고 바로 시작하세요. Add provider 선택기에서 PackyCode를 고르거나 ocx provider add packycode를 실행하세요. PackyCode 是一家稳定、高效的 API 中转服务商,提供 Claude Code、Codex、Gemini 等多种中转服务。具备自动故障转移、智能路由和无限并发等多种功能,让 AI 编程成为真正的生产力工具。点此链接注册,立即开始使用!
+
+
+
TokenLab의 후원에 감사합니다. TokenLab은 코딩 에이전트에게 주요 모델용 API 키 하나를 제공하며, OpenAI Responses와 Chat Completions, Anthropic Messages, Gemini 네이티브 API 형식을 스트리밍과 도구 호출까지 지원합니다. MCP 서버와 에이전트 Skills도 제공해 쉽게 연동할 수 있습니다. 전달 모드를 고르고 쓴 만큼 결제하세요. Add provider 선택기에서 TokenLab을 고르거나 ocx provider add tokenlab을 실행하세요. TokenLab 为编程智能体提供统一的多模型 API,一枚 API Key 即可接入主流模型,支持 OpenAI Responses、Chat Completions、Anthropic Messages 和 Gemini 原生 API 格式,以及流式输出和工具调用。同时提供 MCP 服务器和 Agent Skills,方便接入现有工作流;交付模式可选,按量付费。
+
diff --git a/readme/README.ru.md b/readme/README.ru.md
index c274d4f632b..6732e0f3126 100644
--- a/readme/README.ru.md
+++ b/readme/README.ru.md
@@ -164,6 +164,10 @@ opencodex также умеет управлять **пулом аккаунто
Благодарим PackyCode за спонсорскую поддержку проекта! PackyCode — стабильный высокопроизводительный API-релей, предоставляющий релей-сервисы для Claude Code, Codex, Gemini и других. Автоматический failover, умная маршрутизация и неограниченная конкурентность превращают AI в настоящий инструмент продуктивности. Зарегистрируйтесь по этой ссылке и начните работу! Выберите PackyCode в селекторе Add provider или выполните ocx provider add packycode. PackyCode 是一家稳定、高效的 API 中转服务商,提供 Claude Code、Codex、Gemini 等多种中转服务。具备自动故障转移、智能路由和无限并发等多种功能,让 AI 编程成为真正的生产力工具。点此链接注册,立即开始使用!
+
+
+
Благодарим TokenLab за спонсорскую поддержку проекта! TokenLab даёт агентам для программирования один API-ключ для ведущих моделей с поддержкой форматов OpenAI Responses и Chat Completions, Anthropic Messages и нативного API Gemini, включая стриминг и вызов инструментов. Также доступны MCP-сервер и Skills для агентов, чтобы упростить интеграцию. Выберите режим доставки и платите по мере использования. Выберите TokenLab в селекторе Add provider или выполните ocx provider add tokenlab. TokenLab 为编程智能体提供统一的多模型 API,一枚 API Key 即可接入主流模型,支持 OpenAI Responses、Chat Completions、Anthropic Messages 和 Gemini 原生 API 格式,以及流式输出和工具调用。同时提供 MCP 服务器和 Agent Skills,方便接入现有工作流;交付模式可选,按量付费。
+
diff --git a/readme/README.tr.md b/readme/README.tr.md
index 1a5e35ae823..6e99c74da04 100644
--- a/readme/README.tr.md
+++ b/readme/README.tr.md
@@ -160,6 +160,10 @@ Her yukarı akış protokol değişiminde opencodex'in bakımını sürdürebilm
Bu projeye sponsor olduğu için PackyCode'a teşekkürler! PackyCode, Claude Code, Codex, Gemini ve daha fazlası için aktarma hizmeti sunan istikrarlı ve yüksek başarımlı bir API aktarma sağlayıcısıdır. Otomatik failover, akıllı yönlendirme ve sınırsız eşzamanlılıkla yapay zekâyı gerçek bir üretkenlik aracına dönüştürür. Bu bağlantıdan kaydolun ve hemen başlayın! Add provider seçicisinden PackyCode seçin ya da ocx provider add packycode çalıştırın. PackyCode 是一家稳定、高效的 API 中转服务商,提供 Claude Code、Codex、Gemini 等多种中转服务。具备自动故障转移、智能路由和无限并发等多种功能,让 AI 编程成为真正的生产力工具。点此链接注册,立即开始使用!
+
+
+
Bu projeye sponsor olduğu için TokenLab'a teşekkürler! TokenLab, kodlama ajanlarına önde gelen modeller için tek bir API anahtarı sunar; OpenAI Responses ve Chat Completions, Anthropic Messages ve Gemini'nin yerel API biçimleri, akış ve araç çağırma ile desteklenir. Kolay entegrasyon için bir MCP sunucusu ve ajan Skills'i de sağlar. Teslimat modunuzu seçin, kullandıkça ödeyin. Add provider seçicisinden TokenLab seçin ya da ocx provider add tokenlab çalıştırın. TokenLab 为编程智能体提供统一的多模型 API,一枚 API Key 即可接入主流模型,支持 OpenAI Responses、Chat Completions、Anthropic Messages 和 Gemini 原生 API 格式,以及流式输出和工具调用。同时提供 MCP 服务器和 Agent Skills,方便接入现有工作流;交付模式可选,按量付费。
感谢 PackyCode 赞助本项目!PackyCode 是一家稳定、高性能的 API 中转提供商,为 Claude Code、Codex、Gemini 等提供中转服务。凭借自动故障转移、智能路由和无限并发,它让 AI 成为真正的生产力工具。通过此链接注册并开始使用!在添加提供商选择器中选择 PackyCode,或运行 ocx provider add packycode。 PackyCode 是一家稳定、高效的 API 中转服务商,提供 Claude Code、Codex、Gemini 等多种中转服务。具备自动故障转移、智能路由和无限并发等多种功能,让 AI 编程成为真正的生产力工具。点此链接注册,立即开始使用!
感謝 PackyCode 贊助本專案!PackyCode 是穩定、高效能的 API 轉送供應商,提供 Claude Code、Codex、Gemini 等轉送服務。具備自動 failover、智慧路由與無限並行,讓 AI 成為真正的生產力工具。透過此連結註冊即可開始!在「新增供應商」選擇器選 PackyCode,或執行 ocx provider add packycode。 PackyCode 是一家稳定、高效的 API 中转服务商,提供 Claude Code、Codex、Gemini 等多种中转服务。具备自动故障转移、智能路由和无限并发等多种功能,让 AI 编程成为真正的生产力工具。点此链接注册,立即开始使用!