Claude Code
opencodex, /v1/responses uç noktasının yanında POST /v1/messages (artı
count_tokens) sunar; böylece Claude Code, sıfır ekstra kimlik doğrulama
işlemiyle yönlendirilen tüm sağlayıcıları — OAuth girişleri, hesap havuzları,
anahtar yük devretme ve sidecar’lar dahil — kullanabilir.
Claude OAuth hesap havuzu (deneysel)
Bölüm başlığı “Claude OAuth hesap havuzu (deneysel)”Sağlayıcılar kontrol panelinden (ocx login anthropic / hesap ekle) birden
fazla Claude hesabına giriş yapabilirsiniz. Varsayılan olarak her istek yalnızca
aktif hesabı kullanır.
Deneysel, isteğe bağlı bir Claude hesap havuzu
(anthropicAccountPool.enabled), bu OAuth hesapları arasında yapışkan oturum
bağlılığı ve kullanıma dayalı yeni oturum seçimi ekler. 429 yük devretmesini kontrol etmez: iki veya daha fazla kullanılabilir hesap saklandığında, hız sınırına takılan istek bu anahtar açık da kapalı da olsa başka bir hesaba geçer ve bu kapatılamaz. Yalnızca
yeni oturumlar için anthropicAccountPool.strategy uygun hesaplar arasından
seçim yapar: quota (varsayılan), autoSwitchThreshold üzerinde olduğunda
anthropicAccountPool.quotaWindow ile yapılandırılan penceredeki bilinen en düşük kullanımı
seçer (five-hour varsayılandır; weekly ve max-utilization da kullanılabilir); round-robin eşit olarak dağıtır
(stickyLimit, varsayılan 1); fill-first, bekleme süresi, yeniden kimlik
doğrulama veya eşiğe kadar aktif hesabı tüketir, ardından ilerler. Varsayılan
olarak kapalıdır, bir GUI uyarısı gösterir ve sahada kapsamlı olarak test
edilmemiştir — Anthropic otomatik rotasyona benzeyen hesapları kısıtlayabilir;
rotasyon sağlayıcı yaptırımlarına karşı koruma sağlamaz.
Etkinleştirildiğinde operasyonel sözleşme:
- Yukarı akıştan gelen 429, varsa
Retry-After(yoksa varsayılan bir geri çekilme) kullanarak o hesabı soğutur, bağlılıklarını temizler ve aynı istek içinde uygun başka bir hesaba dönebilir (sınırlı). - Bağlılık işleme özeldir (process-local) (proxy yeniden başlatıldığında kaybolur).
- Token yenileme hataları mevcut
needsReauthkuralını korur. Doğrulanmış abonelik veya hesap ödeme 403 hatası çıktı başlamadan hesap değiştirebilir; soğumaRetry-Afterveya varsayılan on dakikadır. Genel izin reddi terminal kalır. Bkz. hesap kurtarma. - Uygun tüm hesaplar soğutuluyorsa, proxy bilindiğinde
Retry-Afterile birlikte 429 (401 değil) döndürür. - 429 yük devretmesi dahil kurtarma, mevcut soğuma ve yük devretme sınırlarını
değiştirmeden uygun yedek hesapları sıralamak için
quotaWindowkullanır;round-robinisequotaWindowayarını yok sayar.
Bkz. Yapılandırma.
Hızlı Başlangıç
Bölüm başlığı “Hızlı Başlangıç”ocx claudeocx claude, proxy’nin çalıştığından emin olur, ardından ortam değişkenleri
bağlanmış olarak Claude Code’u başlatır:
| Değişken | Değer |
|---|---|
ANTHROPIC_BASE_URL |
http://127.0.0.1:<port> |
ANTHROPIC_AUTH_TOKEN |
Yalnızca proxy bir API anahtarı gerektirdiğinde — aksi takdirde AYARLANMAZ, böylece claude.ai girişiniz (abonelik + bağlayıcılar) aktif kalır |
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY |
1 (yerel /model seçici keşfi) |
CLAUDE_CODE_AUTO_COMPACT_WINDOW |
Otomatik bağlam sıkıştırma eşiği (varsayılan 829800); yalnızca otomatik bağlam etkinleştirildiğinde enjekte edilir |
ANTHROPIC_MODEL |
claudeCode.model (isteğe bağlı) |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
claudeCode.tierModels.haiku ?? claudeCode.smallFastModel (isteğe bağlı; eski ANTHROPIC_SMALL_FAST_MODEL da geçerlidir) |
ANTHROPIC_DEFAULT_{OPUS,SONNET,FABLE}_MODEL |
claudeCode.tierModels.*; abonelikle başlatmada ayarlanmamışsa yerel claude-opus-5-5[1m] / claude-sonnet-5[1m] / claude-fable-5-1[1m] |
CLAUDE_CODE_ALWAYS_ENABLE_EFFORT |
alwaysEnableEffort açık olduğunda 1 (koşullu) |
ENABLE_TOOL_SEARCH |
claudeCode.toolSearch ayarlandığında (koşullu; varsayılan olarak kapalı) |
CLAUDE_CODE_MAX_CONTEXT_TOKENS |
maxContextTokens ayarlandığında eski bağlam geçersiz kılma (koşullu) |
Kendi dışa aktardığınız değişkenler her zaman önceliklidir. Ekstra argümanlar
doğrudan iletilir: ocx claude -p "hello".
Bir istisna, öncelikle değil, bir değişkenin nereden geldiğiyle ilgilidir.
Paketlenmiş Bun çalışma zamanı bir projedeki .env / .env.local dosyasını
otomatik olarak yükler, bu nedenle başlattığınız dizindeki sahipsiz bir
ANTHROPIC_API_KEY, kasıtlı bir dışa aktarma gibi görünürdü — ve sağlıklı bir
claude.ai aboneliğini sessizce API faturalandırması lehine devre dışı bırakırdı.
ocx claude artık yalnızca bir proje dotenv dosyasının getirdiği Anthropic
kimlik bilgilerini yok sayar. Kabuğunuzda dışa aktardığınız bir değer, her
kimlik doğrulama modunda her zaman geçerlidir. Bir API anahtarını kasıtlı olarak
kullanmak için, onu bir proje dosyasında bırakmak yerine dışa aktarın (export ANTHROPIC_API_KEY=...).
Claude yönlendirmesi kapalıyken yerel geri dönüş
Bölüm başlığı “Claude yönlendirmesi kapalıyken yerel geri dönüş”ocx claude eskiden Claude yönlendirmesi kapalıyken hata vererek çıkardı.
Artık bunun yerine yerel claude ikili dosyasını başlatır; böylece komut,
yönlendirme kapalıyken de kullanışlı kalır:
| Yönlendirmenin kapalı olduğu yer | Ne olur |
|---|---|
Yapılandırmada claudeCode.enabled: false |
Yönlendirmenin kapalı olduğunu bildiren bir uyarıyla yerel başlatma |
Çalışan vekil GET /api/claude-code üzerinden enabled: false bildiriyor |
Yerel başlatma ve yeniden etkinleştirdikten sonra servisi yeniden başlatma önerisi |
claudeCode.enabled yok veya true |
Değişmeden vekil üzerinden yönlendirme |
Geri dönüşü yalnızca açık bir false tetikler; bu alandan önceki bir vekil
yönlendirilmiş kalır. Vekilin bulunmaması da bir tetikleyici değildir —
yönlendirme açıkken ocx claude vekili yine başlatır.
Yerel bir oturum vekil durumunu devralmamalıdır; bu nedenle geri dönüş yalnızca
OpenCodex’in sahipliğini kanıtlayabildiği değerleri kaldırır:
ANTHROPIC_BASE_URL yalnızca bu vekilin kendi geri döngü adresini ve
yapılandırılmış bağlantı noktasını gösteriyorsa ve eşlenmiş kabul belirteci
vekilin verdiği bir belirteçse; CLAUDE_CODE_* keşif ve otomatik bağlam
anahtarları; ve yalnızca vekil üzerinden çözülen model yuvaları (yönlendirme
takma adları ve provider/model kimlikleri). Geri kalan her şey sizindir ve
korunur — ilgisiz bir http://localhost:8080 ağ geçidi ve kendi sk-ant-
kimlik bilginiz birlikte hayatta kalır.
Kaydedilmiş /model seçici varsayılanınız yalnızca vekile özgü bir modelse,
yerel oturum claudeCode.model yerel olarak kullanılabildiğinde ona döner;
aksi hâlde --model <Anthropic modeli> geçmeniz için uyarır. Açık bir
--model argümanı her zaman kazanır.
Kimlik doğrulama modu (Auth mode)
Bölüm başlığı “Kimlik doğrulama modu (Auth mode)”Claude Code’un bir ağ geçidiyle konuşabilmesi için ANTHROPIC_AUTH_TOKEN içinde
bir belirtece ihtiyacı vardır, ancak bu değişkeni ayarlamak aynı zamanda
claude.ai girişinizi ve bağlayıcılarını da devre dışı bırakır. İkisinden
hangisini istediğiniz opencodex’in bakabileceği bir şeye bağlıdır, bu nedenle
varsayılan olarak bunu yapar.
Claude → Claude Code altında Kimlik doğrulama modu’nu Otomatik (varsayılan) olarak bırakın; opencodex her başlatmada karar verir:
| Ne bulur? | Ne yapar? |
|---|---|
Bir Claude girişi (~/.claude.json OAuth hesabı, .credentials.json, macOS anahtarlığı veya dışa aktarılmış ANTHROPIC_API_KEY) |
Belirteci ayarlanmamış olarak bırakır, böylece aboneliğiniz ve bağlayıcılarınız çalışmaya devam eder |
| Hiçbir Claude kimlik doğrulaması yok | Yer tutucu bir belirteç enjekte eder, böylece Claude Code sizden giriş yapmanızı istemeyi bırakır ve proxy üzerinden yönlendirilir |
| Anlaşılamıyor (okunamayan anahtarlık, bozuk dosya) | Abonelik olduğunu varsayar ve bir uyarı yazdırır — başarısız bir okumada ödeme yapan bir aboneyi asla proxy’ye taşımaz |
Bu, her başlatmada yeniden hesaplanır, hatırlanmaz; böylece giriş yapmak veya
çıkış yapmak, yeniden yapılandırılacak hiçbir şey olmadan bir sonraki ocx claude çalıştırmasında algılanır.
Sabit olmasını istediğinizde açıkça Abonelik (Subscription) veya Proxy
seçeneğini belirleyin. Açık bir seçim claudeCode.authMode içinde saklanır ve
algılama bunu asla geçersiz kılmaz — daha sonra giriş veya çıkış yapsanız bile.
Kararı geri devretmek için Otomatik seçeneğine geri dönün.
macOS’ta otomatik bağlantı (claudeCode.systemEnv) aynı çözümlemeyi takip eder,
bu nedenle ocx dışında başlatılan düz bir claude aynı şekilde davranır. Bu
dosya, proxy başladığında veya ayarları kaydettiğinizde yenilenen bir anlık
görüntüdür; ocx claude ise her zaman canlı olarak çözümler.
Sistem ortamı entegrasyonu (macOS)
Bölüm başlığı “Sistem ortamı entegrasyonu (macOS)”Claude Desktop modları: ağ geçidi (varsayılan) ve first-party
Bölüm başlığı “Claude Desktop modları: ağ geçidi (varsayılan) ve first-party”Birbirini dışlayan modlardan birini Claude → Desktop → Bağlantı modu bölümünden veya
ocx claude desktop apply --first-party|--gateway komutuyla seçin.
Ağ geçidi (varsayılan)
Bölüm başlığı “Ağ geçidi (varsayılan)”Yeni kurulumlarda ağ geçidi profili uygulanır; Chat sekmesi dâhil tüm uygulama OpenCodex’i
kullanır. Yalnızca claude.ai üzerinden sunulan özellikler kullanılamaz. Eski --static,
--hybrid ve --discovery-only bayrakları da ağ geçidini seçer.
First-party (isteğe bağlı)
Bölüm başlığı “First-party (isteğe bağlı)”Desktop first-party, Code sekmesini ve alt ajanlarını OpenCodex üzerinden yönlendirir. Bağımsız Claude Code CLI için ayrı bir anahtar vardır. İkisi de settings.json içindeki aynı vekil ve CA ayarlarını okur: yalnızca biri açıkken diğeri de TLS’nin yerelde sonlandığı yerel vekilden geçer, ancak Messages istekleri değiştirilmeden Anthropic’e iletilir.
Mod claudeCode.desktopMode içinde saklanır. First-party modunu açıkça veya bu sürümden önce
uygulayan kurulumlar bu modu korur; mevcut ağ geçidi de korunur. Açık mod yoksa önce OpenCodex’e
ait seçili ağ geçidi satırı, sonra kayıtlı ağ geçidi parmak izi, ardından settings.json
içindeki OpenCodex’e ait first-party ayarları değerlendirilir; hiçbiri yoksa ağ geçidi seçilir. Yalnızca CLI first-party için yazılmış bir ortam, Desktop’ın first-party modunda olduğunun kanıtı değildir.
Katalog eşitlemesi ve model listesi güncellemesi, first-party kurulumunun üstüne ağ geçidi
profili yazmaz. claudeCode.intercept.enabled: false olduğunda mevcut first-party kurulumunda
apply işlemi intercept_disabled ile reddedilir; yeni kurulum ağ geçidini uygular. Başka bir
vekilin ayarları üzerine yazılmaz. Mod değiştirince Desktop’ı tamamen kapatıp yeniden açın.
Claude Code CLI first-party
Bölüm başlığı “Claude Code CLI first-party”Claude → Code bölümünde CLI anahtarını açın veya ocx claude config set --first-party on çalıştırın; kapatmak için off kullanın. Yerel vekil kullanılamıyorsa, CA hazırlanamazsa, ayarlar okunamazsa veya anahtarlar başka bir programa aitse açma isteği reddedilir. Kapatma yine de kaydedilir. Yalnız Desktop first-party açıkken terminalde tamamen yerel bağlantı için kabukta NO_PROXY='*' ayarlayın. Yukarıdaki hesap riski CLI için de geçerlidir.
Claude yönlendirmesini kapatmak yönetilen vekil ayarlarını korur. Dinleyici çalışırken tüm Messages istekleri değiştirilmeden iletilir; durduğunda OpenCodex çalışana veya Desktop/CLI first-party kapatılana kadar doğrudan claude bağlanamaz. ocx claude yerel başlatması NO_PROXY=* değerini yalnızca yönetilen ayarlar varken ve yabancı bir HTTPS vekili miras alınmamışken ayarlar. Aksi halde yabancı vekili korur ve ayarlardaki kesmenin sürdüğünü bildirir: first-party özelliğini kapatın veya ayarı kaldırın.
Arayüz okunamayan ayarları (unknown), opencodex belirteçli URL ile yabancı CA birleşimini (foreign: HTTPS_PROXY / NODE_EXTRA_CA_CERTS değerlerini elle düzeltin) ve Claude yönlendirmesi kapalıyken dinleyicinin istekleri değiştirmeden iletmeye devam etmesini (disabled: yeniden başlatmadan önce first-party modunu kapatın) ayırt eder. Dinleyici yoksa stopped; yönetilen CA ile port veya belirteç uyuşmuyorsa broken durumudur. First-party açıkken kesme kullanılamıyorsa stopped ve broken, routingOff uyarısını gösterir: Claude yönlendirmesi veya kesme kapalı ya da bu makine başka bir opencodex merkezinin istemcisidir; bu makinede yeniden etkinleştirin veya ayarları kaldırmak için first-party modunu kapatın. Kesme kullanılabilirken stopped opencodex uygulamasını başlatmayı, broken ise ocx ensure ya da yeniden başlatmayı önerir. Yalnız CLI açık ama vekil yoksa uygulanmadı, tek istemci açık ve vekil çalışıyorsa paylaşılan iletim, iki istemci kapalıyken vekil kalmışsa artık ayar uyarısı görünür.
unknown, ayarların hâlâ opencodex vekiline işaret edip etmediğinin belirlenemediği anlamına gelir. Yabancı CA ile birlikte 127.0.0.1 üzerindeki belirteçsiz vekil local durumudur: sahipliği doğrulanamaz; artık kullanmıyorsanız ~/.claude/settings.json içindeki HTTPS_PROXY değerini kaldırın. disabled yalnızca ayarlar çalışan dinleyiciyle eşleşiyorsa geçerlidir; port veya belirteç farklıysa yönlendirme kapalı olsa bile broken görünür.
Picker modu: first-party Code sekmesinde opencodex modelleri
Bölüm başlığı “Picker modu: first-party Code sekmesinde opencodex modelleri”Picker modu first-party modunun bir parçasıdır. macOS’ta first-party seçildiğinde varsayılan olarak
açıktır; claudeCode.intercept.picker: false ayarlanırsa kapalı kalır. First-party Desktop’ın Code
sekmesindeki model seçiciyi değiştirerek kullanılabilir opencodex modellerini adlarıyla listeler.
İlk etkinleştirmede macOS, giriş anahtar zincirinde yerel bir sertifika yetkilisine güvenmenizi isteyebilir.
Bu yetkili claude.ai ve alt alan adlarıyla sınırlıdır. İmza anahtarı yalnızca çalışan OpenCodex sürecinde
bulunduğundan her OpenCodex yeniden başlatılmasında yeni bir yetkili yayımlanır ve macOS güveni yeniden ister —
her yeniden başlatmadan sonra iletişim kutusunu onaylayın veya daha sonra ocx claude desktop picker trust
komutunu çalıştırın.
Picker modu açıkken Claude Desktop ağa OpenCodex üzerinden çıkar. OpenCodex durursa Desktop, tamamen yeniden
başlatılana veya picker modu kapatılana kadar çevrimdışı kalır. Durumu ocx claude desktop picker status
ile görün, güven adımını ocx claude desktop picker trust ile tekrarlayın veya ocx claude desktop picker off
ile kapatın. Aynı açma-kapama denetimi Claude → Desktop kontrol panelinde de bulunur. Picker profili
seçildikten sonra Claude Desktop’ı tamamen kapatıp yeniden açın.
Picker modu first-party’nin parçasıdır; bu nedenle first-party hesap riski aynı şekilde geçerlidir.
Claude Desktop profili
Bölüm başlığı “Claude Desktop profili”Bu profil yalnızca ağ geçidi modunda Desktop’a yazılır.
Claude Desktop, Claude Code’dan ayrı bir profil kullanır. Mevcut her rotayı dört aileden birine (Opus, Fable, Sonnet veya Haiku) yerleştirmek için kontrol panelinde Claude → Desktop sayfasını açın. Tüm rotalar yeni bir profilde Opus ile başlar. İlk Opus rotası genel varsayılan olur ve boş olmayan her ailenin her zaman bir aile varsayılanı vardır.
İsterseniz bir satırı başka bir aileye sürükleyin. Sürükleme isteğe bağlıdır: Her satırda fare, dokunmatik veya klavye ile çalışan görünür bir taşıma denetimi de bulunur. Bir ailenin varsayılanını seçmek için Varsayılan yap’ı kullanın, ardından Kaydet ve Desktop’a uygula’yı seçin. Boş ailelere izin verilir. Kaydedilen bir varsayılan geçici olarak kullanılamıyorsa, geri dönene kadar o ailedeki ilk kullanılabilir rota kullanılır.
Aynı profili komut satırından da yönetebilirsiniz:
Aşağıdaki profil düzenleme yönergeleri yerel profil içindir. Bağlı uzak hub üzerinden uygulama aşağıda ayrıca açıklanır.
ocx claude desktop [apply]ocx claude desktop show [--json]ocx claude desktop move <route> <opus|fable|sonnet|haiku> [--default]ocx claude desktop default <opus|fable|sonnet|haiku> <route|none>ocx claude desktop export <path|->ocx claude desktop import <path> [--apply]ocx claude desktop ve apply seçili modu uygular: first-party Claude Code vekilinin
ortam ayarlarını, ağ geçidi ise Desktop profilini yazar. show
okunabilir bir özet sunar; betikler için --json ekleyin. export -, standart
çıktıya sürümlenmiş JSON yazar. İçe aktarma, kaydetmeden önce dosyanın tamamını
doğrular, böylece geçersiz bir dosya geçerli profili değiştirmeden bırakır.
Geçerli bir içe aktarılan profili hemen Desktop’a yazmak için --apply ekleyin.
none seçeneğini yalnızca boş bir aile için kullanın; boş olmayan her aile bir
varsayılanı korumalıdır.
Uygulama işlemi, Claude Desktop’ın gerçek Electron kullanıcı verisi
configLibrary dizinine yazar: macOS’ta ~/Library/Application Support/Claude/configLibrary, Windows’ta %APPDATA%\Claude\configLibrary ve
Linux’ta ${XDG_CONFIG_HOME:-~/.config}/Claude/configLibrary. Açık bir
kütüphane geçersiz kılma için OPENCODEX_CLAUDE_DESKTOP_CONFIG_DIR veya
alternatif bir Desktop kullanıcı verisi kökü için CLAUDE_USER_DATA_DIR
değerini ayarlayın. Eski Claude-3p dizini otomatik olarak okunmaz veya
silinmez.
Anthropic harici rotalar, p önekli dört karakterli bir kod kullanan
claude-opus-4-8-p01q gibi kararlı takma adlar alır. OpenCodex profil atamalarını
kararlı tutmak için dahili olarak sentetik tarih yuvaları saklar; ancak güncel
Desktop sürümleri etkin oturum modellerini karşılaştırırken sondaki tarihleri
kaldırdığı ve model değişimini engelleyebildiği için bu tarihi Desktop model kimliği olarak yayımlamaz. Mevcut
takma adlar kimliklerini korur; sonraki yıllara ancak 2026 dolduktan sonra
geçilir. Gerçek Anthropic Claude rotaları kendi gerçek kimliklerini korur.
Yeni rotalar varsayılan olarak Opus ailesine gider, ancak bir rotayı taşımak
çağırdığı sağlayıcıyı veya modeli değiştirmez. Eski uygulama bayrakları
--static, --hybrid ve --discovery-only mevcut betikler için kullanılabilir
durumda kalır.
Desktop Code sekmesinden opencodex modellerini kullanma (first-party bağlantıları)
Bölüm başlığı “Desktop Code sekmesinden opencodex modellerini kullanma (first-party bağlantıları)”First-party modunda Code sekmesinin model seçici claude.ai’ye aittir: satırları (Opus 5.5, Sonnet 5, Haiku 4.5 ve More models altındaki eski modeller) hesabınızdan gelir ve hiçbir yerel ayar opencodex satırı ekleyemez. OpenCodex’e ulaşan, her istekte seçicinin Anthropic model kimliğidir; bu yüzden bir seçici satırını bir opencodex rotasına bağlarsınız:
ocx claude desktop bind claude-sonnet-4-6 xai/grok-4.7ocx claude desktop bind claude-opus-4-6 native/gpt-6.1-solocx claude desktop unbind claude-opus-4-6veya kontrol panelinde Claude → Desktop → Code sekmesi model bağlantıları’nı kullanın. Bundan
sonra Code sekmesinde Sonnet 4.6 seçildiğinde istek xai/grok-4.7 tarafından sunulur. Seçicide
Anthropic etiketi görünmeye devam eder ve Claude Code’un sistem istemi modelin kendisine hâlâ o
Claude modeli olduğunu söyler; bu yüzden normalde kullanmadığınız satırları tercih edin
(More models girdileri iyi adaylardır). Bağlantılar bir sonraki istekte geçerli olur; Desktop’ı
yeniden başlatmak gerekmez.
- Rotalar Desktop rota sözlüğünü kullanır:
provider/modelveya yerel OpenAI havuzu içinnative/<slug>. Rota, kontrol panelinde kullanılabilir olarak listelenen bir rota olmalıdır. - Tarihli bir seçici kimliği (
claude-haiku-4-5-20251001) tarihsiz bir bağlantıyla (claude-haiku-4-5) eşleşir;[1m]ve hızlı mod seçimleri de aynı bağlantıyı izler. - Bağlantılar
claudeCode.intercept.modelMap’te saklanır ve yalnızca yerel intercept proxy’sinden geçen Claude Code trafiğine uygulanır: first-party modundaki Desktop Code sekmesi ve bağımsızclaudeCLI’si.ocx claudeoturumları ve genel/v1/messagesuç noktası bunları yok sayar; genelclaudeCode.modelMapher yerde geçerli olmaya devam eder ve aynı kimlik için bağlantı ona üstün gelir. ocx claude desktop status --json, geçerli bağlantılarıfirstParty.modelBindingsaltında raporlar.
Sistem Ortamı Entegrasyonu
Bölüm başlığı “Sistem Ortamı Entegrasyonu”claudeCode.systemEnv değeri true olarak ayarlandığında (varsayılan:
kapalı), ocx start, ANTHROPIC_BASE_URL ve ilgili Claude Code ortam
değişkenlerini sistem genelinde enjekte etmek için launchctl setenv kullanır.
Yeni terminal pencereleri ve sekmeleri, bu nedenle ocx claude sarmalayıcısına
gerek kalmadan düz claude komutlarını proxy üzerinden yönlendirir. Zaten açık
olan kabuklar etkilenmez ve yeniden açılmalıdır.
ocx stop ve proxy’nin kapatılması enjekte edilen anahtarları kaldırır
(önceki değerleri geri yüklemez — yalnızca opencodex’in enjekte ettiği
anahtarlar kaldırılır). Proxy ayrıca ~/.opencodex/claude-env.sh dosyasını
yazar; ocx start, bunu otomatik olarak yükleyen .zshrc kaynak kancasını
yalnızca çalıştırılabilir Claude Code CLI PATH içinde bulunduğunda kurar.
Claude Code yoksa veya sistem ortamı entegrasyonu etkin değilse başlangıç işlemi
ve ocx ensure, OpenCodex tarafından eklenen kancayı kaldırır. Claude Desktop ayrı
bir profil kullanır ve shell kancasının kurulmasını tetiklemez.
Yapılandırmada claudeCode.systemEnv: false ile veya GUI anahtarıyla devre dışı
bırakın. Bu özellik yalnızca macOS içindir; diğer platformlarda ocx claude
kullanın.
Yerel Claude doğrudan geçişi (abonelik geçişi)
Bölüm başlığı “Yerel Claude doğrudan geçişi (abonelik geçişi)”Hiçbir kimlik doğrulama geçersiz kılma ayarlanmadığında, Claude Code claude.ai
OAuth girişini korur ve proxy’ye gönderir. Hiçbir takma adın veya model
eşlemesinin talep etmediği orijinal claude*/anthropic* modelleri için
istekler, kimlik bilginizle birlikte birebir api.anthropic.com adresine
iletilir — betalar, düşünme imzaları, istem önbellekleme ve faturalandırma
kimliği tamamen yerel kalır ve yönlendirilen modeller aynı oturumda seçici takma
adları aracılığıyla çalışmaya devam eder.
Başlık işleme: hop-by-hop başlıkları artı host, content-length,
accept-encoding, x-opencodex-api-key ve origin iletmeden önce her zaman
kaldırılır. Geri döngü olmayan bir bağlantıda, yerel doğrudan geçiş
x-opencodex-api-key içinde geçerli bir proxy kimlik bilgisi de gerektirir;
Authorization ve x-api-key o zaman yalnızca Anthropic’e ait olur. Her iki
sağlayıcı başlığında bulunan bir proxy kabul sırrı kaldırılırken, diğer
başlıktaki gerçek bir sağlayıcı kimlik bilgisi korunur. Belirsiz virgülle
birleştirilmiş kimlik bilgisi başlıkları iletilmez.
Doğrudan geçiş şu koşulların tümü karşılandığında tetiklenir:
nativePassthrough false olmadığında; model claude veya anthropic ile
başladığında; taşıyıcı belirteç veya x-api-key sk-ant- ile başladığında;
takma ad/model haritası çözümlemesi aynı modeli değişmeden döndürdüğünde; ve
geri döngü olmayan bir bağlantıda özel proxy kabul başlığı geçerli olduğunda. Bu
aynı zamanda “claude.ai connectors are disabled” uyarısının artık ocx claude
ile görünmediği anlamına gelir.
Gövdede yapılan tek değişiklik araç çağrısı kimlikleridir. Anthropic’in reddedeceği bir tool_use.id
veya tool_result.tool_use_id (a-zA-Z0-9_- dışında karakter içeren ya da 64 karakteri aşan;
örneğin oturumun başında yönlendirilen bir modelin ürettiği) çağrı/sonuç eşleşmesi korunarak uygun
bir kimlikle yeniden yazılır. Uygun kimlikler değiştirilmeden gönderilir, boş bir kimliğe yerel olarak
400 döner.
claudeCode.nativePassthrough: false ile devre dışı bırakın;
claudeCode.anthropicBaseUrl ile başka bir yeri işaret edin.
Uzak hub’a bağlı Claude Desktop
Bölüm başlığı “Uzak hub’a bağlı Claude Desktop”Bağlı makinede ocx claude desktop apply veya ocx claude desktop, hub’ın Desktop anlık
görüntüsünü alır ve hub origin’ini ve verdiği model kimliklerini yerel Desktop yapılandırmasına
aynen yazar. Yerel takma ad üretmez. static/hybrid model listesini de kopyalar;
discovery-only listeyi gömmeden hub origin’ini kullanır.
Profil, aile atamaları ve varsayılanlar hub’da yönetilir. Hub’da değiştirin, istemcide yeniden
uygulayın ve Desktop’ta modeli yeniden seçin. Yalnızca istemcide oluşturulmuş eski takma adlar
için de yeniden uygulama/seçim gerekir. show, yerel düzenleme ve import/export yerel kalır.
Bağlıyken ocx claude desktop import <path> --apply desteklenmez ve kaydetmeden reddedilir;
--apply olmadan import yerel bir işlemdir.
Okuma, mevcut bağlantının veri erişim kimlik bilgilerini kullanır; yönetici belirteci veya profil yüklemesi gerekmez. Eski hub desteği yoksa, yanıt geçersizse veya Desktop listesi boşsa uygulama başarısız olur; yerel katalog ya da loopback adresi kullanılmaz. Hub’ı güncelleyin veya yapılandırın, ardından yeniden uygulayın.
Bu takma ad değişikliği, #3719’daki ayrı thinking / redacted_thinking yeniden gönderim ve
istem önbelleği talebini çözmez. Proxy erişimi tek başına yerel Anthropic geçişini etkinleştirmez;
çevrilen Anthropic rotaları yine de önbellek kullanabilir. Yeniden gönderim doğruluğu ve önbellek
isabetlerinin karşılaştırılması ayrı iş olarak kalır.
Anahtar döndürme, kurtarma ve bağlantıyı kesme
Bölüm başlığı “Anahtar döndürme, kurtarma ve bağlantıyı kesme”Anahtar döndürme ve kurtarma, yerel bağlantı kimlik bilgileriyle birlikte bağlantının yönettiği
Desktop profilindeki anahtarı da günceller. Yalnızca anahtarı taşımak için elle apply gerekmez.
Model kimlikleri, aileler, varsayılanlar ve geçerli profil seçimi korunur; yönetilen profil tekrar
seçilmez veya kapalı entegrasyon açılmaz. CLI JSON’unda rotation: "committed" yeni anahtarın
etkin olduğunu, rotation: "rolled_back" önceki anahtarın korunduğunu ya da geri yüklendiğini
belirtir. Geri alma, yeni anahtarın kesinleştiği veya öncekinin iptal edildiği anlamına gelmez.
Belirsiz veya eksik kurtarma başarılı döndürme olarak bildirilmez.
İlk bağlı uygulama, geri yüklemek için önceki yönetilen ayarları ve seçimi kaydeder. Tekrar
uygulama ve döndürme bu ilk kaydı değiştirmez. ocx disconnect, kullanıcı alanlarını ve diğer
profilleri koruyarak bağlantıya ait ayarları geri yükler. Önceki seçim yalnızca yönetilen profil
hâlâ seçiliyse geri gelir; kullanıcının sonradan seçtiği başka geçerli profil korunur. Yeni
oluşturulmuş profile kullanıcı eklemeleri yapılmışsa silinmez, okunabilir standart modda kalır.
--keep-catalog, Desktop bağlantı anahtarını değil kataloğu tutar.
İlk ayar kaydı olmayan eski yönetilen profil, geçerli hub’a ve tanınan bağlantı anahtarına açıkça aitse taşınabilir. Apply, döndürme/kurtarma veya doğrudan disconnect bunu yeni bayrak ya da önceden apply gerektirmeden yapar. Önceki ayarlar kaydedilmediği için bağlantı kesildiğinde standart moda geçileceği uyarısı gösterilir. Yalnızca bağlantıya ait ağ geçidi ayarları kaldırılır; kullanıcı alanları ve ayrı geçerli seçim korunur. Sonuç özgün ayarların geri yüklenmesi değil standart moda dönüş olarak bildirilir.
Yönetilen ayar çatışmaları, tanınmayan kimlik bilgileri ve bozuk geri yükleme kayıtları korunup bildirilir. Kesilen temizlik yalnızca aynı bağlantı için sürdürülür; yeni bağlantı silinmez ve eksik geri yükleme tamamlanmış sayılmaz. Bağlantıyı kesmeden bekleyen döndürme kurtarmasını bitirin; yeniden denerken katalog saklama tercihini değiştirmeyin.
Uygulama, döndürme/kurtarma veya geri yükleme sonrası Claude Desktop’ı tamamen kapatıp yeniden açın; disk değişikliği çalışan uygulamanın anahtarını değiştirmez. Uygulama otomatik yeniden başlatılmaz. Yerel bağlantı kesme hub anahtarını iptal etmez veya dış kopyaları silmez; gerekirse anahtarı hub’da ayrıca iptal edin.
/model seçici (“From gateway”)
Bölüm başlığı “/model seçici (“From gateway”)”Claude Code 2.1.129+, GET /v1/models?limit=1000 aracılığıyla ağ geçidi
modellerini keşfeder ve bunları yerel /model seçicisinde listeler. description
alanı olmayan bir satır “From gateway” olarak görünür; opencodex her Claude Code CLI
satırı için bir tane gönderir (Routed by OpenCodex to <provider>/<model>; yerel satırlarda Routed by OpenCodex to native <model>, Fast satırları sona · Fast ekler, 1M satırları temel açıklamayı korur) ve Claude Code
2.1.257+ onun yerine bunu gösterir. Claude Code 2.1.278, claude veya anthropic içeren bir kimliği kabul eder. claude- ile başlayan tanınmayan bir kimlik, compact kapatılmadıkça 200k sayılır. opencodex yönlendirilen modelleri claude içeren ama claude- ile başlamayan kararlı, tersine
çevrilebilir takma adlar olarak sunar:
| Yüzey | Format | Örnek |
|---|---|---|
| Claude Code CLI | ocx-claude-<provider>--<model> (düz) veya ocx-claude2-… (kaçışlı) |
ocx-claude-openai--gpt-5.6-sol |
| Claude Desktop 3P | claude-opus-4-8-p<code> (3 karakterli base36 profil yuvası) |
claude-opus-4-8-p01q |
Proxy, istek başına aileyi seçer: ?ids=cli veya ?ids=desktop kazanır; aksi
takdirde claude-code/* kullanıcı aracısı okunabilir CLI biçimini alır ve diğer
istemciler Desktop kodunu alır. Her iki aile de süresiz olarak kodu çözer —
her iki biçimde settings.json içine kaydedilen bir model çalışmaya devam eder.
Her girdi, gemini-3-pro (gemini) gibi dürüst bir görünen adın yanı sıra Claude
Desktop’ın üçüncü taraf ağ geçidi modunun çaba seçicisini sunabilmesi için resmi
ModelInfo biçiminde tam model yeteneklerini (akıl yürütme çabası merdiveni,
düşünme türleri) taşır. Gerçek Anthropic modelleri kurallı kimliklerini korur.
Sentetik 2026 tarihi bir çıkış tarihi değil, dahili bir yuvadır. Eski karma
takma adlar ve eski yapılandırmalardan gelen claude-ocx-<provider>--<model>
kimlikleri hala çözümlenir; kaçışlı claude-ocx2-<provider>--<model> kimlikleri de
çözümlenir. Kayıtlı eski bir kimlik yine yönlendirilir, ancak Claude Code o kimlik için
200k hesabını sürdürür. Gerçek bağlam penceresi ve compact birlikte uygulansın diye
kayıtlı claude-ocx- yerine bir kez ocx-claude-, kaçışlı claude-ocx2- yerine
ocx-claude2- seçin.
Claude Desktop’ın altbilgi seçicisi zaten çalışan bir 3P görüşmesi için modeli
değiştirmezse, /model <id> komutunu deneyebilirsiniz; ancak bu geçici çözüm de
etkilenen Desktop derlemelerinde başarısız olabilir.
Sorun #3782, Windows üzerinde
Claude Desktop 1.46388.4 ile hem altbilgi seçicisi hem de /model üzerinden yapılan
değişikliklerden sonra görüşmenin ilk modelini kullanmaya devam ettiğini bildiriyor.
Bu bildirim, davranışa hangi istemci veya yönlendirme bileşeninin neden olduğunu
ortaya koymuyor.
OpenCodex Claude Desktop profilinde istediğiniz varsayılan modeli seçmeyi, profili yeniden uygulamayı ve yeni bir görüşme başlatmayı da deneyebilirsiniz. Bu bir sorun giderme adımıdır; kesin çözüm değildir. OpenCodex seçici durumunu gözlemleyemez; her isteğin taşıdığı model kimliğini yönlendirir. İstemcinin ne gönderdiğini Logs → requestedModel altında kontrol edin.
Yetkili 1M bağlam penceresine sahip modeller fazladan bir …[1m] seçici satırı
alır: bunu seçmek Claude Code’un bu model için tam 1M bağlam hesabı yapmasını
sağlar (otomatik sıkıştırma açık kalır) — proxy yönlendirmeden önce işaretçiyi
kaldırır.
Birini seçmek, onu Claude Code’un settings.json model alanına kaydeder;
gelen istekler takma adı yönlendirilen modele geri çözer. Eski Claude Code
sürümlerinde seçici yerel kalır — ANTHROPIC_MODEL aracılığıyla yuvaları
ayarlayın veya /model ile yönlendirilen herhangi bir kimliği yazın (Claude
Code dizeleri doğrudan iletir).
Takma ad dilbilgisi kuralları: sağlayıcı / veya -- içeremez veya
native değerine eşit olamaz. Düz model kimlikleri (/ veya ~ içermeyen) v1
önekini ocx-claude-… korur. / veya ~ içeren model kimlikleri, kaçışlarla
(/ → ~s, ~ → ~t) v2 önekini ocx-claude2-… basar, örn.
openrouter/anthropic/claude-opus-4-8 →
ocx-claude2-openrouter--anthropic~sclaude-opus-4-8. v1 takma adları harfi
harfine çözülür (böylece ~s / ~t iki karakterli dizilerini içeren geçmiş bir
model kimliği korunur); v2 takma adları kaçışları genişletir. Okunabilir formun
ifade edemediği rotalar karma takma ada geri döner. Model kimlikleri --
İÇEREBİLİR (çözümleme yalnızca ilk -- üzerinde bölünür); -- içeren yerel
slug’lar karma forma geri döner.
Model çözümleme sırası: [1m] işaretçisi kaldırılır → okunabilir takma ad
çözülür → Desktop karma takma adı çözülür → modelMap tam eşleşmesi → tarih
kaldırılmış eşleşme (-20250514 kaldırılır) → doğrudan geçiş.
Çözümlenemeyen tarih biçimli bir Desktop kimliği, keşifte yer almayan gerçek bir yerel model
kimliği de olabilir. Mevcut bilgi kimliği çözmeye yetmiyorsa Messages ve count-tokens sabit
desktop_model_mapping_unavailable hatasıyla HTTP 503 döndürür; bu, modelin geçersiz olduğunu kanıtlamaz.
Bilinmeyen eski hash takma adları HTTP 400 ile reddedilmeye devam eder. Her iki durumda da tarih
kaldırılmaz ve başka rotaya geçilmez. Bilinen kimlikler, kayıtlı eşlemeler, tam modelMap
eşleşmeleri ve tanınan gerçek yerel kimlikler aynı şekilde işlenir. Yeniden denemeden önce model
keşfini yenileyin veya bağlı hub profilini yeniden uygulayın; yalnızca tekrar denemek çözümü
garanti etmez.
Her girdi, gemini-3-pro (gemini) gibi bir görünen adın yanı sıra resmi
ModelInfo biçiminde tam model yeteneklerini (akıl yürütme çabası merdiveni,
düşünme türleri) taşır. Gerçek Anthropic modelleri her iki yüzeyde de kurallı
kimliklerini korur.
Bağlam değişkeni [1m] işaretçisi
Bölüm başlığı “Bağlam değişkeni [1m] işaretçisi”Yetkili bağlam penceresi 1M olan (veya otomatik bağlam altında 200k üzerinde ve
en az sıkıştırma eşiğinde olan) modeller fazladan bir …[1m] seçici satırı
alır. Bunu seçmek Claude Code’un tam 1M bağlam hesabı yapmasını sağlar. Proxy,
takma ad çözümleme ve yönlendirmeden önce büyük/küçük harfe duyarsız [1m]
sonekini kaldırır.
Otomatik bağlam (200k tavanı olmayan büyük bağlamlı modeller)
Bölüm başlığı “Otomatik bağlam (200k tavanı olmayan büyük bağlamlı modeller)”Claude Code, tanımadığı herhangi bir model için 200k token hesabı yapar. Otomatik bağlam (varsayılan olarak açık) bunu düzeltir:
- Gerçek penceresi 200k’nın üzerinde ve en az otomatik sıkıştırma eşiğinde
olan modeller, seçici satırlarında ve ortam yuvalarında
[1m]işaretçisini alır. - Görüşmenin bu noktada otomatik olarak özetlenmesi için
CLAUDE_CODE_AUTO_COMPACT_WINDOW(varsayılan829800, aralık100000–1000000) enjekte edilir.
Üç yapılandırma durumu:
- yok /
true: etkin (varsayılan) false: devre dışı — işaretçi yok, sıkıştırma penceresi enjeksiyonu yok- eski
maxContextTokensayarlandı: otomatik bağlam örtük olarak devre dışıdır
Sıkıştırma değeri Claude sayfasında ayarlanabilir. Uyarı: bir modelin gerçek penceresinin üzerine çıkarmak o modeli bozar — sohbet özetleme tetiklenmeden önce hata verir.
1M altı yerel Anthropic modelleri hiçbir zaman otomatik olarak işaretlenmez. Kendi dışa aktardığınız değerler her zaman kazanır (proxy hangi modellerin işaretlenmesinin güvenli olduğuna karar vermek için SİZİN değerinizi kullanır). Geçersiz elle düzenlenen yapılandırma değerleri 829,800’ya geri döner.
Geçerli model ortamı (Effective model environment)
Bölüm başlığı “Geçerli model ortamı (Effective model environment)”effectiveModelEnv, ocx claude / sistem ortamı / kabuk dosyası tarafından
enjekte edilen altı yuvayı hesaplar: ANTHROPIC_MODEL, dört
ANTHROPIC_DEFAULT_{OPUS,SONNET,HAIKU,FABLE}_MODEL ve eski
ANTHROPIC_SMALL_FAST_MODEL. Geçerli Haiku, her iki Haiku değişkenine beslenen
tierModels.haiku ?? smallFastModel değeridir.
ocx claude abonelik modunda başlatıldığında Claude Code’un kendi oturumu, claude-sonnet-5 gibi yalın bir Claude kimliğini doğrudan Anthropic’e gönderir; bu yüzden bu kimlikler, başka bir sağlayıcı aynı kimlik için ne listelerse listelesin, bağlam pencerelerini sağlayıcı kayıt defterinden alır. Ayarlanmamış bir Opus, Sonnet veya Fable yuvası, Claude Code’un o takma adı çözdüğü yerel kimliği [1m] işaretiyle alır; çünkü bir ağ geçidinin arkasında Claude Code işaretsiz bir kimliği 200k olarak sayar. 1M’nin altında sınırlanmış bir anthropic satırı veya bir claudeCode.modelMap girdisi kimliğini işaretsiz bırakır ve Haiku hiçbir zaman doldurulmaz ya da işaretlenmez. Proxy kimlik doğrulamasıyla başlatıldığında veya nativePassthrough kapalıyken yönlendirici karar verir ve yalnızca yönlendirilen satırın penceresi dikkate alınır. Sistem ortamı ve kabuk dosyası, değerleri bir hub üzerinden geçen başlatmalara da ulaştığı için ayarlanmamış yuvaları boş bırakır.
Hem tierModels.haiku hem de smallFastModel bulunmadığında, OpenCodex her iki
yardımcı değişkeni de ayarlanmamış bırakır; Claude Code daha sonra yerel
sağlayıcı ücretlerine neden olabilecek yerel yardımcı modelini (şu anda Sonnet)
seçer.
Kadro ajanları (injectAgents)
Bölüm başlığı “Kadro ajanları (injectAgents)”ocx claude (ve sistem ortamı arka plan programı), öne çıkan alt ajan kadronuzu
(Alt Ajanlar sekmesi, en fazla 5 model) artı ocx-self’i
~/.claude/agents/ocx-*.md içine senkronize eder.
ocx-self,/modelseçici varsayılanınızı sabitler (claudeCode.model’e geri döner); ikisi de olmadığında atlanır. Model kalıtımı KULLANMAZ.- Her ajan gövdesi bir
<!-- ocx-route: <model> -->yönergesi içerir — proxy bunu gerçek rotayı sabitlemek için kullanır. Agent aracınınmodelargümanı bu nedenle etkisizdir; yer tutucu olarak"haiku"iletin. - Frontmatter takma adı taşır; yönlendirme yönerge güdümlüdür.
- Yalnızca
generated-by: opencodexiçeren işaretçi doğrulamalıocx-*.mddosyalarının üzerine yazılır veya budanır; kendi ajanlarınıza asla dokunulmaz. - Dosyalar dosya başına atomik olarak senkronize edilir (yaz + yeniden adlandır).
enabled: falseveyainjectAgents: falsedoğrulanmış sahipliğe sahip tüm tanımları budar.- GUI PUT ve kadro değişiklikleri hemen yeniden senkronize edilir; başlatıcı/sistem ortamı başlatma sırasında senkronize edilir.
Dağıtım: subagent_type: "ocx-gpt-5-6-sol". 1M yetenekli hedefler [1m]
işaretini otomatik olarak taşır.
Paketlenmiş yetenek atlama (blockedSkills)
Bölüm başlığı “Paketlenmiş yetenek atlama (blockedSkills)”Claude Code’un paketlenmiş claude-api yeteneği, Claude model adları
anıldığında otomatik olarak tetiklenen yaklaşık 840KB (~136k token) Anthropic
dokümantasyonu enjekte eder. Yönlendirilen modeller bu paket üzerinde
eğitilmemiştir, bu nedenle varsayılan olarak opencodex yönlendirilen
isteklerde yeteneğin içeriğini kısa bir taslakla (stub) değiştirir. Yerel
Anthropic doğrudan geçişine dokunulmaz.
İki taşıyıcı işlenir:
- Araç sonucu taşıyıcısı: asistan
Skill(...)çağrıları — küçük harfe dönüştürülmüş JSON girdisi engellenen bir ad içerdiğinde eşleştirilentool_resultgövdesi bir taslakla değiştirilir. - Metin bloğu taşıyıcısı:
Base directory for this skill:ile başlayan ≥10.000 karakterlik bir kullanıcı metin bloğu — dizin temel adı engellenen bir ada eşit olduğunda eşleşir (büyük/küçük harfe duyarsız). Dizin satırı yalnızca 4.096 UTF-16 kod birimine kadar incelenir; daha uzun bir satır, sonunda satır sonu olmasa bile değiştirilmeden gönderilir.
claudeCode.blockedSkills ile yapılandırın (varsayılan ["claude-api"]; []
atlamayı tamamen devre dışı bırakır). Taslak, araç çağrısı/sonuç eşleşmesini
sağlam tutar.
Model haritası (müdahale / interception)
Bölüm başlığı “Model haritası (müdahale / interception)”claudeCode.modelMap, yönlendirmeden önce gelen Anthropic model kimliklerini
yeniden yazar:
{ "claudeCode": { "modelMap": { "claude-sonnet-4-5": "gemini/gemini-3-pro", "claude-haiku-4-5": "gemini/gemini-3-flash" } }}Arama sırası: keşif takma adı → tam kimlik → tarih soneki kaldırılmış kimlik
(-20250514 kaldırılır) → doğrudan geçiş.
Çözümlenemeyen tarih biçimli bir Desktop kimliği, keşifte yer almayan gerçek bir yerel model
kimliği de olabilir. Mevcut bilgi kimliği çözmeye yetmiyorsa Messages ve count-tokens sabit
desktop_model_mapping_unavailable hatasıyla HTTP 503 döndürür; bu, modelin geçersiz olduğunu kanıtlamaz.
Bilinmeyen eski hash takma adları HTTP 400 ile reddedilmeye devam eder. Her iki durumda da tarih
kaldırılmaz ve başka rotaya geçilmez. Bilinen kimlikler, kayıtlı eşlemeler, tam modelMap
eşleşmeleri ve tanınan gerçek yerel kimlikler aynı şekilde işlenir. Yeniden denemeden önce model
keşfini yenileyin veya bağlı hub profilini yeniden uygulayın; yalnızca tekrar denemek çözümü
garanti etmez.
Sidecar matrisi: web araması ve görsel anlama
Bölüm başlığı “Sidecar matrisi: web araması ve görsel anlama”Yönlendirilen modellerin tümü aynı barındırılan araçlara veya görsel desteğine sahip değildir. opencodex, ana model yanıt vermeden önce bu boşlukları doldurur:
- Web araması sidecar’ı gerçek barındırılan aramayı çalıştırır, ardından yönlendirilen modele yanıtı ve kaynakları bir araç sonucu olarak verir.
- Vizyon sidecar’ı,
noVisionModelsiçinde listelenen bir modeli çağırmadan önce ekli bir görseli açıklar, ardından görseli bu açıklamayla değiştirir.
Her iki sidecar da iki arka uçtan birini kullanabilir:
| Arka uç | Nasıl çalışır? | Ne gerektirir? |
|---|---|---|
openai |
ChatGPT forward sağlayıcısı aracılığıyla küçük bir GPT modeli |
Bir ChatGPT girişi ve etkin bir authMode: "forward" sağlayıcısı |
anthropic |
Saklanan Anthropic OAuth aracılığıyla Claude; web araması web_search_20250305 kullanır ve vizyon görseli açıklama için Claude’a gönderir |
Aktif saklanan hesabı needsReauth olarak işaretlenmemiş etkin bir adapter: "anthropic", authMode: "oauth" sağlayıcısı |
Açık bir backend her zaman kazanır. Atlandığında opencodex, kullanılabilir
saklanan bir Anthropic OAuth hesabı varsa anthropic’i seçer; aksi takdirde
openai’yi seçer. Kullanılabilir bir kimlik bilgisi olmadan açıkça anthropic
seçmek kapalı olarak başarısız olur (fail closed): opencodex sessizce
ChatGPT kimlik bilgilerini ödünç almaz veya arka uçları değiştirmez. OpenAI arka
ucu da benzer şekilde hem giriş kimlik doğrulaması hem de bir iletme sağlayıcısı
olmadan kapalı kalır.
Claude gelen yönlendirilmiş tekrarları, ana ChatGPT girişini dahili isteğe ekler, böylece Claude Code’un gelen taşıyıcısı yalnızca proxy kimlik bilgisi olsa bile OpenAI sidecar’ları erişilebilir kalır. Bu taşıyıcı asla yönlendirilen ana sağlayıcıya iletilmez.
{ "webSearchSidecar": { "backend": "anthropic", "model": "claude-sonnet-5", "maxSearchesPerTurn": 3 }, "visionSidecar": { "backend": "anthropic", "model": "claude-sonnet-5", "maxDescriptionsPerTurn": 8 }}maxDescriptionsPerTurn, bir ana model turundaki yeni görsel açıklamalarını
sınırlar. Önbellek isabetleri ve devam eden mükerrer açıklamalar sınırı
tüketmez. data: görselleri için başarılı açıklamalar arka uç, model, ayrıntı,
görsel baytları ve istek bağlamına göre önbelleğe alınır; böylece aynı görsel ve
bağlam çifti her tekrarda tekrar açıklanmaz. Uzak https: görselleri asla
önbelleğe alınmaz çünkü içerikleri değişebilir.
Her anahtar için yapılandırma referansı bölümüne bakın. Anthropic-OAuth web araması ve görsel açıklaması, deponun mevcut Claude Code OAuth parmak izi emsalini yeniden kullanır, ancak uzun gözetimsiz çalıştırmalar için bunlara güvenmeden önce hesabınız ve iş yükünüzle kapsamlı olarak test edilmelidir.
Akıl yürütme çabası (Reasoning effort)
Bölüm başlığı “Akıl yürütme çabası (Reasoning effort)”Claude Code’un /effort ayarı adaptör genelinde korunur:
| Hat formatı | Eşleme |
|---|---|
thinking.type: "adaptive" + output_config.effort |
Çaba doğrudan iletilir (minimal|low|medium|high|xhigh|max|ultra) |
thinking.type: "enabled" + budget_tokens |
≤4096→low, ≤16384→medium, üzeri→high |
thinking.type: "disabled" |
reasoning: { effort: "none" }; özet atlanır |
Çözümlenen değer, istek günlüğünün Reasoning effort sütununda görünür.
Gelen çeviri (Messages → Responses)
Bölüm başlığı “Gelen çeviri (Messages → Responses)”Proxy, her Anthropic Messages API isteğini Codex Responses API formatına dönüştürür:
| Messages girdisi | Responses çıktısı |
|---|---|
Üst düzey system |
instructions (\n\n ile birleştirilmiş metin blokları) |
messages[].role: "system" |
Ayrıca instructions içine katlanır |
| Kullanıcı metni / görsel | input_text / input_image (base64 → veri URL’si) |
| Asistan metni | output_text |
Asistan tool_use |
function_call (input → JSON dizgeleştirilmiş arguments) |
Kullanıcı tool_result |
function_call_output (is_error → [tool error] öneki) |
thinking / redacted_thinking tekrarı |
İmzaları ve gizli yükleri sınırlı ocxr1 zarflarında taşıyan reasoning öğeleri |
| Fonksiyon araçları | {type: "function"} (web_search* → {type: "web_search"}) |
tool_choice |
auto→auto, none→none, any→required, adlandırılmış fonksiyon→{type:"function",name}, barındırılan WebSearch/web_search→{type:"web_search"} |
max_tokens |
max_output_tokens |
stop_sequences |
stop |
Claude Code otomatik modu her zaman stop_sequences gönderir. Yönlendirilen sağlayıcının noStopModels listesindeki modeller için OpenCodex stop alanını hem Chat Completions hem de Responses hattında göndermez; böylece grok-4.7 ve grok-4.6 gibi xAI akıl yürütme modelleri 400 invalid-argument döndürmez ve geçici olarak kullanılamaz diye işaretlenmez. Bkz. noStopModels.
Hedeflenen Anthropic adaptöründe gizlenmemiş imzalı bloklar (boş thinking dahil) ve opak redacted blokları korunur. hideThinkingSummary değişmez: yerel olarak gizlenen imzalı metin Claude istemcilerine gösterilmez; bu sınır üzerinden kayıpsız yeniden oynatma doğrulanmamıştır. Eski birleşik zarflarda metin akışla gönderildikten sonra özgün blok sırası geri getirilemez. claudeCode.compatibility: "enforce" thinking yeniden oynatmasını hâlâ reddeder. Bu, gerçek Anthropic kabulünü veya önbellek iyileşmesini kanıtlamaz; #3719 açık kalır.
Hata durumları (400): hatalı biçimlendirilmiş JSON; eksik/boş model;
eksik/boş messages; desteklenmeyen rol; tool_use_id içermeyen tool_result;
kimlik/ad içermeyen tool_use; ad içermeyen adlandırılmış tool_choice.
Giden çeviri (Responses → Messages SSE)
Bölüm başlığı “Giden çeviri (Responses → Messages SSE)”| Responses olayı | Messages SSE |
|---|---|
response.created |
message_start + ping |
| Kalp atışı (Heartbeat) | ping |
| Metin farkları | content_block_start → content_block_delta (metin) → content_block_stop |
| Akıl yürütme özeti/metni | Tekrarlanan imzayı veya sınırlı bir ocxr1 yedeğini taşıyan thinking bloğu |
| Gizli akıl yürütme | Akıl yürütme zarfından yeniden oynatılan redacted_thinking blokları |
| Fonksiyon çağrısı çerçeveleri | input_json_delta ile tool_use bloğu |
| Terminal olayı | message_delta → message_stop |
| Terminalden önce EOF | 502 tarzı api_error |
Durdurma nedeni eşlemesi: completed → tool_use (herhangi bir araç
çağrısı varsa) veya end_turn; incomplete/max_output_tokens → max_tokens;
incomplete/content_filter → refusal.
Hata taksonomisi: 400 invalid_request_error, 401 authentication_error,
402 billing_error, 403 permission_error, 404 not_found_error, 409
conflict_error, 413 request_too_large, 429 rate_limit_error, 504
timeout_error, 529 overloaded_error, diğer 5xx api_error. Retry-After
korunur.
İstem önbellekleme ve token kullanımı
Bölüm başlığı “İstem önbellekleme ve token kullanımı”Anthropic yönlendirmeli istekler: adaptör araçlar, sistem içeriği ve sondan
bir önceki kullanıcı mesajı için önbellek kesme noktalarını ve ayrıca üst düzey
otomatik cache_control yönetimini sağlar. Kararlı turlar normalde yaklaşık
%99,9 önbellek isabet oranı üretir.
Yerel OpenAI/ChatGPT yönlendirmesi: önbellek bağlılığı için oturum kapsamlı
bir prompt_cache_key (varsa metadata.user_id’den türetilir, bir sistem
içeriği karmasına geri döner) ve session_id başlığı türetir. Önbellek anahtarı
modeli ve tam araç şemalarını içerir.
Token matematiği: Anthropic çıktısı cached_tokens ve cache_write_tokens
değerlerini input_tokens’tan çıkararak bunları cache_read_input_tokens ve
cache_creation_input_tokens olarak gösterir. İstek günlükleri bunları hem
cachedInputTokens hem de cacheReadInputTokens içinde okumalar,
cacheCreationInputTokens içinde yazmalar olacak şekilde kapsayıcı
inputTokens’a geri eşler. Kullanım sayfası önbellek isabetlerini ve önbellek
oluşturmayı ayrı ayrı bildirir.
count_tokens: yönlendirilen modeller bir yaklaşım kullanır (serileştirilmiş
sistem + mesajlar + araçlar). sk-ant- kimlik bilgisine sahip yerel Anthropic
modelleri isteği gerçek Anthropic /v1/messages/count_tokens uç noktasına
iletir.
Hata ayıklama yakalama (Debug capture)
Bölüm başlığı “Hata ayıklama yakalama (Debug capture)”ocx debug claude on|off|status|reset, OCX_CLAUDE_DEBUG=1 veya PUT /api/debug {"claude": true} gelen yakalamayı denetler. GET /api/claude/inbound-debug, {enabled, entries} (en yeni ilk, 20’lik halka)
döndürür.
Her girdi şunları kaydeder: at, endpoint, model, resolvedModel,
stream, maxTokens, thinkingType, thinkingBudgetTokens,
outputConfigEffort, metadataKeys, hasMetadataUserId, hasSystem, ham
anthropicBeta ve kullanıcı kimliği / sistem için sekiz karakterlik HMAC
eşitlik etiketleri. Hiçbir istem metni, ham nesne veya çalıştırmalar arası
kararlı karma saklanmaz. Claude hata ayıklamasını devre dışı bırakmak halkayı
hemen temizler.
GUI (Claude sayfası)
Bölüm başlığı “GUI (Claude sayfası)”Kontrol paneli kenar çubuğunda özel bir Claude sayfası (API altında) ve bir Claude ON geçiş anahtarı (etiket kasıtlı olarak her dilde aynıdır) bulunur. Sayfa şunları gösterir:
- Gelen acil durdurma anahtarı (etkinleştirme geçişi)
- Hızlı başlangıç (
ocx claude) ve manuel ortam bloğu - Hızlı Mod seçici (Otomatik / AÇIK / KAPALI)
- Otomatik bağlam geçişi ve sıkıştırma eşiği açılır menüsü
- Alt ajan otomatik kayıt geçişi
- Model müdahale (modelMap) düzenleyicisi
- Seçici takma adlarının canlı önizlemesi
GET /api/claude-code, geçerli varsayılanları, yapılandırmayı, bağlam penceresi
kayıt defterini, geçerli ortamı, kullanılabilir rota kimliklerini, takma adları
ve portu döndürür. PUT /api/claude-code kısmidir ve atlanan alanları korur;
null bağlam/engelleme listesi/sıkıştırma penceresi değerlerini sıfırlar.
Sorun Giderme
Bölüm başlığı “Sorun Giderme”Claude Code “Did 0 searches” diyor — Geçerli derlemeler, tamamlanan
Responses web_search_call öğelerini
usage.server_tool_use.web_search_requests dahil olmak üzere eşleştirilmiş
Anthropic server_tool_use ve web_search_tool_result bloklarına dönüştürür.
Eski bir derleme aramayı tamamladıysa ancak Claude Code hala sıfır saydıysa
opencodex’i güncelleyin.
Bir sidecar etkinleşmiyor — backend: "openai" için ChatGPT’ye giriş
yaptığınızı ve etkin bir authMode: "forward" sağlayıcısına sahip olduğunuzu
onaylayın. backend: "anthropic" için etkin saklanan Anthropic OAuth hesabının
needsReauth olarak işaretlenmediğini onaylayın. Bu kimlik bilgisi olmadan açık
bir Anthropic seçimi kasıtlı olarak kapalı şekilde başarısız olur.
“claude.ai connectors are disabled” — Kabuğunuzda bir ANTHROPIC_API_KEY
veya ANTHROPIC_AUTH_TOKEN ayarlanmıştır. ocx claude kasıtlı olarak
ANTHROPIC_API_KEY AYARLAMAZ; dışa aktardıysanız kaldırın. ocx claude,
ANTHROPIC_BASE_URL, keşif, otomatik bağlam ve yapılandırılmış model yuvalarını
enjekte eder — ancak asla ANTHROPIC_API_KEY enjekte etmez.
Modeller /model seçicisinde görünmüyor —
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 değerinin ayarlandığını
doğrulayın (ocx claude ile otomatik). ~/.claude/cache/gateway-models.json
konumundaki ağ geçidi model önbelleğini yenilemek için ocx claude komutunu
çalıştırın. claudeCode.enabled değerinin false olmadığını kontrol edin.
Port değişikliğinden sonra eski ortam — Proxy portu değiştiyse eski kabuklar
eski bir ANTHROPIC_BASE_URL değerine sahip olabilir. Yeni bir terminal açın
veya ocx claude komutunu yeniden çalıştırın.
Büyük modele rağmen 200k bağlam tavanı — Seçicide [1m] varyantını seçin
veya otomatik bağlamı etkinleştirin (varsayılan olarak açık). Seçici hiçbir
[1m] satırı göstermiyorsa, modelin yetkili bağlam penceresi otomatik
sıkıştırma eşiğinin altında olabilir.
Yetenek yüklemelerinden kaynaklanan yüksek token sayısı — Paketlenmiş
claude-api yeteneği (~136k token) Claude model adları anıldığında otomatik
olarak yüklenir. Bu, yerel doğrudan geçiş için normaldir; yönlendirilen
modellerde opencodex varsayılan olarak bunu taslakla değiştirir (blockedSkills: ["claude-api"]).
Alt ajan yanlış modele gönderiliyor — Kadro ajanları (ocx-*), Agent
aracının model argümanını değil, <!-- ocx-route: ... --> yönergelerini
kullanır. Yönergenin hedeflenen rotayla eşleştiğinden emin olun. Model yer
tutucusu olarak "haiku" iletin.
config.json içindeki claudeCode.stabilizePromptCache: true, dönüştürülen rotalarda sistem talimatlarının sonundaki desteklenen Claude bildirimlerini son kullanıcı mesajına taşır. Varsayılan değer false olur. Yalnızca bu rol değişikliği istemcileriniz için uygunsa etkinleştirin. Kod bloklarındaki örnekler ve eşleşmeyen metin korunur; yerel Anthropic aktarımı değişmez. Meta veri yoksa önbellek anahtarı kararlı talimatlardan hesaplanır. Bu seçenek konuşma kimliği oluşturmaz veya üst hizmette önbellek isabeti garanti etmez.
Dönüştürülen tüm Chat rotalarında zaman çizelgesi hatırlatmaları, bekleyen araç sonuçlarından sonra konuşmadaki konumlarını korur. Böylece yeni bir hatırlatma eklenmesi baştaki sistem istemini yeniden yazmaz ve konuşmanın ortasındaki bir yönerge, izlemesi gereken turların önüne geçmez. O konumun hangi rolü taşıdığı ayrı bir karardır: sağlayıcı foldDeveloperRoleToSystem: false kaydetmedikçe hatırlatma system olarak gönderilir; bu kayıt, üst hizmetin developer rolünü kabul ettiğini belirtir ve rol aynı konumda iletilir. Kabul etmeyen bir üst hizmet 400 role 'developer' is not allowed yanıtı verir ve tur hiç başlamaz; kaydı olmayan hedefin katlanmasının nedeni budur. Bu davranış stabilizePromptCache açık veya kapalıyken geçerlidir; yerel Anthropic aktarımı değişmez. Önbelleğin yeniden kullanımı için kararlı bir oturum kimliği ve kullanılabilir üst hizmet önbelleği hâlâ gereklidir. Önceki talimatların veya araçların değişmesi ve konuşmanın sıkıştırılması da önbellek isabetini etkileyebilir; hatırlatma sırasını korumak tek başına yeniden kullanımı garanti etmez.
anthropicAccountPool.routes
Bölüm başlığı “anthropicAccountPool.routes”Havuz açıkken anthropicAccountPool.routes kuralları ilk eşleşen model için ilk seçimi ve 429 yeniden denemelerini kayıtlı hesaplarla sınırlar. Uygun hesap yoksa istek yerel olarak reddedilir; fallback: true normal havuza izin verir. Kurallar model erişimini kanıtlamaz.

