# Claude Code ve Codex

Claude Code ve Codex CLI'yi Gateway'e bağlayın; ajanın okuduğu dosyalar ve komut çıktıları modele gitmeden maskelensin.

Kodlama ajanı modele yalnız sizin yazdığınızı göndermez. Okuduğu dosyalar, çalıştırdığı komutların çıktısı ve önceki turların tamamı da her istekte modele gider. Ajanı Gateway’e bağladığınızda bunların hepsi sağlayıcıya iletilmeden maskelenir. Ajan alıştığınız gibi çalışır; değişen, modelin gördüğü metindir.

Bağlantı için iki değer gerekir:

- Gateway adresi: `https://gw-tr.gurubase.io`
- [Panelden](https://gateway-tr.gurubase.io) ürettiğiniz sanal anahtar

Claude Code için kurumunuzda Anthropic uyumlu, Codex için OpenAI uyumlu bir sağlayıcı tanımlı olmalı ve kullanacağınız model anahtarınıza açık olmalı. Sağlayıcıyı ve modelleri kurum yöneticisi panelden yönetir ([Panel](/docs/panel/)).

Kullandığınız anahtarda maskelemenin açık olduğunu **API anahtarları** sayfasındaki **Maskeleme** sütunundan kontrol edin. Maskelemesi kapalı bir anahtarla giden istekler sağlayıcıya maskelenmeden iletilir.

## Claude Code

İki ortam değişkeni yeter:

```bash
export ANTHROPIC_BASE_URL="https://gw-tr.gurubase.io/anthropic"
export ANTHROPIC_AUTH_TOKEN="SANAL_ANAHTAR"
export ANTHROPIC_MODEL="MODEL_ADI"
claude
```

`MODEL_ADI` yerine anahtarınıza açık bir Claude modelini yazın. Claude Code’un varsayılan modeli anahtarınıza açık değilse istek reddedilir.

Ayarı kalıcı yapmak için aynı değerleri Claude Code’un ayar dosyasındaki `env` bölümüne yazın:

```json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://gw-tr.gurubase.io/anthropic",
    "ANTHROPIC_AUTH_TOKEN": "SANAL_ANAHTAR",
    "ANTHROPIC_MODEL": "MODEL_ADI"
  }
}
```

Düşünme blokları ve araç çağrıları turlar boyunca değiştirilmeden taşınır. Aynı konuşmada bir değer her turda aynı yer tutucuyu alır; bu yüzden sağlayıcının istem önbelleği konuşma boyunca çalışmaya devam eder.

## Codex

Codex’e Gateway’i bir model sağlayıcısı olarak tanıtın:

```toml
model = "MODEL_ADI"
model_provider = "siper"

[model_providers.siper]
name = "Gurubase Siper Gateway"
base_url = "https://gw-tr.gurubase.io/v1"
wire_api = "responses"
env_key = "SIPER_GATEWAY_KEY"
```

`MODEL_ADI` yerine anahtarınıza açık bir modeli yazın. Anahtarı ortam değişkeninden verin:

```bash
export SIPER_GATEWAY_KEY="SANAL_ANAHTAR"
codex
```

Codex’in şifreli akıl yürütme içeriği çözülmez ve değiştirilmez; olduğu gibi sağlayıcıya geri gider.

## Ajan dosyaya ne yazar

Varsayılan olarak ajan yer tutucuyla çalışır. “Müşteri Ayşe Yılmaz’ın kaydını `kayit.md` dosyasına yaz” dediğinizde dosyaya `<KİŞİ_1>` yazılır. Maskelenen değer ne modele ne de ajanın yazdığı dosyaya ulaşır. Yer tutucu biçimi [Kavramlar](/docs/concepts/) sayfasında anlatılır.

Bu, çoğu iş için doğru davranıştır: ajan kodu, yapıyı ve mantığı kurar; gerçek veri sizin makinenizde, sizin dosyalarınızda kalır.

## Gerçek değerleri geri yükleme

Ajanın dosyaları gerçek verilerle yazması gerekiyorsa geri yüklemeyi o API anahtarı için açın. Model yine yalnız yer tutucuyu görür; Gateway, modelin yanıtındaki yer tutucuları istemciye dönerken orijinal değerlerle değiştirir.

Kurum yöneticisi panelde şu adımları izler:

1. **API anahtarları** sayfasında anahtarın satır menüsünden **Geri yükleme**’yi seçin.
2. **Geri yükleme** düğmesini açın.
3. **Gerçek veri alan araçlar** altında ajanınızın profilini işaretleyin.
4. Sorumluluk onayını işaretleyip kaydedin.

Hazır profiller:

| Profil | Araçlar | Ne açılır |
| --- | --- | --- |
| Claude Code | `Write`, `Edit` | Dosya yazma ve düzenleme |
| Codex | `exec` | Codex’in bütün yerel işlemleri: kabuk komutları ve dosya yazımı |

Listede olmayan bir araca maskeli değer gider. Liste boşsa yalnız yanıt metni geri yüklenir. Başka bir aracı **Diğer araçlar** alanına adıyla (`Read`) ya da tek bir parametresiyle (`lookup.tckn`) ekleyebilirsiniz.

Codex’te `exec` açıldığında ajanın çalıştırdığı her komut gerçek veriyi görür. Panel bu yüzden ayrıca uyarır.

Geri yükleme açık bir anahtarda orijinal veriler istemciye döner ve bu trafiğin KVKK sorumluluğu kurumunuzdadır. Ayar değişikliği denetim kaydına yazılır. Geri yükleme ile yanıt maskeleme aynı anahtarda birlikte açılamaz.

## Sorun giderme

**Ajan bir dosyayı bulamıyor.** Çalışma dizininizin yolunda adınız geçiyorsa (`/Users/ayse.yilmaz/proje`), yol araç çıktılarında kişi adı olarak maskelenir. Model dosyayı sonra yer tutuculu yolla okumaya çalışır ve dosya bulunamaz. İki çözüm var: projeyi adınızı içermeyen bir dizinde açın ya da geri yükleme açık anahtarda **Diğer araçlar** alanına `Read` ekleyin. `Read` aracının girdisi kendi makinenizdeki dosya okumasına gider.

**İstek 413 ile dönüyor.** Tek bir metin parçası 20.000 karakteri aşıyor; çoğunlukla ajanın okuduğu çok büyük bir dosyadır. Sınırlar [Limitler](/docs/limits/) sayfasında.

**İstek 502 ile dönüyor.** Maskeleme tamamlanamadığında istek sağlayıcıya hiç gönderilmez ve 502 döner. Bu güvenli varsayılandır; kısa bir süre sonra yeniden deneyin, sürerse [bizimle iletişime geçin](https://siper.gurubase.ai/iletisim).

**Model aynı istemi her seferinde reddediyor.** Aynı konuşmada aynı metin aynı maskeli metne dönüşür, bu yüzden yeniden denemek aynı sonucu verir. İstemin ifadesini değiştirin.
