Yapılandırma temelleri

Yerel Codex istemcinizi yapılandırmanın temellerini öğrenin

Codex, yapılandırma ayrıntılarını birden fazla konumdan okur. Kişisel varsayılanlarınız ~/.codex/config.toml içinde bulunur; proje geçersiz kılmalarını ise .codex/config.toml dosyalarıyla ekleyebilirsiniz. Codex, güvenlik amacıyla proje .codex/ katmanlarını yalnızca projeye güvendiğinizde yükler.

Codex yapılandırma dosyası

Codex, kullanıcı düzeyindeki yapılandırmayı ~/.codex/config.toml konumunda saklar. Ayarların kapsamını belirli bir proje veya alt klasörle sınırlamak için deponuza bir .codex/config.toml dosyası ekleyin.

Yapılandırma dosyasını Codex IDE uzantısından açmak için sağ üst köşedeki dişli simgesini, ardından Codex Settings > Open config.toml seçeneğini belirleyin.

CLI ve IDE uzantısı aynı yapılandırma katmanlarını paylaşır. Bunları şu amaçlarla kullanabilirsiniz:

Yapılandırma önceliği

Gereksinimler davranışı sınırlar; yapılandırma değerleri varsayılanları belirler. Work Cloud ile yerel bilgisayar erişimi şu gereksinimlere uyar:

  • İlkeler arasında: Daha yüksek öncelikli bir ilke, daha düşük öncelikli ilke daha özel olsa bile üstün gelir.
  • Aynı ilke içinde: İşletim sistemine özgü ortam geçersiz kılmaları, tüm işletim sistemleri için geçerli ortam geçersiz kılmalarından önce gelir; bunları Global izler.
  • Yerel yürütme için: MDM ve eski yönetilen cihaz gereksinimleri, Agent Security'den daha yüksek önceliğe sahiptir. Cihazın sistem gereksinimleri dosyası, Agent Security'den daha düşük önceliğe sahiptir.
  • Work Cloud için: Work bulut kapsayıcıları, mevcut Work Cloud ilkelerini korur. Yerel erişimli Work ve dots için yönetilen ilke etkin olduğunda, desteklenen Global ilkesi paylaşılan bulut orkestratörünü yönetir; geçerli yerel yürütme gereksinimleri ise bağlı bilgisayarı yönetir.

Bazı gereksinimlerin alana özgü birleştirme kuralları vardır. İlke kapsamı ve çalışma zamanı sınırları için Yönetilen yapılandırma, Work uyumluluğu için Yapılandırma başvurusu sayfasına bakın.

Codex, değerleri şu sırayla çözümler (en yüksek öncelikten başlayarak):

  1. CLI bayrakları ve --config ile yapılan geçersiz kılmalar
  2. Proje yapılandırma dosyaları: .codex/config.toml, proje kökünden geçerli çalışma dizininize doğru sıralanır (en yakın olan önceliklidir; yalnızca güvenilen projeler için)
  3. --profile profile-name ile seçilen profil dosyaları (~/.codex/profile-name.config.toml)
  4. Kullanıcı yapılandırması: ~/.codex/config.toml
  5. Oturum açılan çalışma alanı için sağlandığında, buluttan yönetilen config.toml varsayılanları
  6. Sistem yapılandırması (varsa): Unix'te /etc/codex/config.toml
  7. Yerleşik varsayılanlar

Ortak varsayılanları config.toml içinde ayarlamak ve profil dosyalarını yalnızca farklılık gösteren değerlere odaklamak için bu öncelik sırasını kullanın.

Buluttan yönetilen yapılandırma ve sistem yapılandırması, eklenti pazar yerlerini tanımlayabilir ve eklentilerin varsayılan olarak etkin olup olmayacağını belirleyebilir. Bunlar, zorunlu uygulanan requirements.toml politikalarından ayrıdır. Eklenti pazar yerlerini ve varsayılanları yapılandırma bölümüne bakın.

Bir projeyi güvenilmeyen olarak işaretlerseniz Codex; projeye özgü yapılandırma, kancalar ve kurallar dâhil olmak üzere proje kapsamındaki .codex/ katmanlarını atlar. Kullanıcı/genel kancalar ve kurallar dâhil olmak üzere kullanıcı ve sistem yapılandırmaları yüklenmeye devam eder.

-c/--config aracılığıyla tek seferlik geçersiz kılmalar (TOML tırnak kuralları dâhil) için Gelişmiş Yapılandırma bölümüne bakın.

Yaygın yapılandırma seçenekleri

Kullanıcıların en sık değiştirdiği seçeneklerden bazıları şunlardır:

Varsayılan model

Codex'in CLI ve IDE'de varsayılan olarak kullanacağı modeli seçin.

model = "gpt-6.1-sol"

Onay istemleri

Codex'in oluşturulan komutları çalıştırmadan önce sormak için ne zaman duraklayacağını denetleyin.

approval_policy = "on-request"

on-request ile never arasındaki davranış farkları için Onay istemleri olmadan çalıştırma ve Yaygın korumalı alan ve onay birleşimleri bölümlerine bakın. Mevcut bir yapılandırma approval_policy = "untrusted" kullanıyorsa Kullanımdan kaldırılan untrusted onay politikasından geçiş bölümüne bakın.

Korumalı alan düzeyi

Codex'in komutları yürütürken sahip olduğu dosya sistemi ve ağ erişimi miktarını ayarlayın.

sandbox_mode = "workspace-write"

Her modun davranışı hakkında bilgi edinmek için (korunan .git, .agents, .codex ve .aws yolları ve varsayılan ağ ayarları dahil) Korumalı alan ve onaylar, Yazılabilir köklerdeki korunan yollar ve Ağ erişimi bölümlerine bakın.

İzin profilleri

Codex ayrıca yeniden kullanılabilir dosya sistemi ve ağ politikaları için adlandırılmış izin profillerini destekler. Yerleşik profiller :read-only, :workspace ve :danger-full-access şeklindedir. Özel profiller, [permissions.<name>] tablolarını ve bunlarla eşleşen bir default_permissions değerini kullanır. İzinler bölümüne bakın.

Windows korumalı alan modu

Windows'ta cihaz ve politika destekliyorsa MXC'yi tercih edin. Yedek seçenek olarak eski bir uygulama belirleyin:

[windows]
sandbox = "elevated" # Legacy fallback

[features]
prefer_mxc = true

unelevated seçeneğini yalnızca yükseltilmiş yetkilerle kurulum yapılamadığında ve kuruluşunuzun politikası buna izin verdiğinde kullanın. Uyumluluk sınırları ve kullanıma sunma denetimleri için Windows korumalı alan kılavuzuna bakın.

Web araması modu

Codex, yerel sohbetlerde web aramasını varsayılan olarak etkinleştirir ve sonuçları bir web arama önbelleğinden sunar. Bu önbellek, OpenAI tarafından tutulan bir web sonuçları dizinidir; dolayısıyla önbellek modu, canlı sayfaları getirmek yerine önceden dizine eklenmiş sonuçları döndürür. Bu, rastgele canlı içeriklerden kaynaklanan prompt enjeksiyonuna maruz kalmayı azaltır. Web sonuçlarını güvenilmeyen içerik olarak değerlendirin. --yolo veya başka bir tam erişimli korumalı alan ayarı kullanıyorsanız web araması varsayılan olarak canlı sonuçları getirir. web_search ile bir mod seçin:

  • "cached" (varsayılan), sonuçları web araması önbelleğinden sunar.
  • "indexed", harici web erişimine yalnızca arama dizini isteği onayladığında izin verir.
  • "live", en güncel verileri web'den getirir (--search ile aynıdır).
  • "disabled", web araması aracını kapatır.
web_search = "cached"  # default; serves results from the web search cache
# web_search = "indexed" # gate external web access through the search index
# web_search = "live"  # fetch the most recent data from the web (same as --search)
# web_search = "disabled"

Akıl yürütme çabası

Desteklendiğinde modelin ne kadar akıl yürütme çabası harcayacağını ayarlayın.

model_reasoning_effort = "medium"

İletişim tarzı

Yerleşik kişilik talimatlarını devre dışı bırakmak için şu ayarı yapın:

personality = "none"

Bu ayar, modelin yerleşik talimatlarından Personality bölümünü kaldırır. Açıkça belirtilmiş özel temel talimatları değiştirmez. Eski friendly ve pragmatic değerleri artık bir üslup seçmez. Codex artık /personality komutunu sunmuyor.

TUI tuş eşlemesi

Terminal kısayollarını tui.keymap altında özelleştirin. Seçili ileti yazma alanı eylemleri, eşleşen tui.keymap.global tuş atamalarını yedek olarak kullanır; desteklendiğinde bağlama özgü tuş atamaları önceliklidir. Boş bir liste, eylemin tuş atamasını kaldırır.

[tui.keymap.global]
open_transcript = "ctrl-t"

[tui.keymap.composer]
submit = ["enter", "ctrl-m"]

[tui.keymap.chat]
interrupt_turn = "f12"

Komut ortamı

Codex'in başlatılan komutlara hangi ortam değişkenlerini ileteceğini denetleyin. Yalnızca ihtiyaç duyduğunuz değişkenleri tutmak için anahtarlı filtreler kullanın:

[shell_environment_policy]
ignore_default_excludes = false

[shell_environment_policy.filters]
"PATH" = "include"
"HOME" = "include"

ignore_default_excludes varsayılan olarak true değerini kullanır; bu da adlarında KEY, SECRET veya TOKEN bulunan değişkenler için otomatik filtrelemeyi atlar. Otomatik filtreleme istiyorsanız bunu false olarak ayarlayın. Dışlama kuralları, öncelik ve eski yapılandırma için Kabuk ortamı politikası bölümüne bakın.

Günlük dizini

Codex'in yerel günlük dosyalarını yazdığı konumu geçersiz kılın. log_dir değerinin açıkça ayarlanması, aynı zamanda bu dizindeki isteğe bağlı düz metin TUI günlüğü olan codex-tui.log seçeneğini etkinleştirir.

log_dir = "/absolute/path/to/codex-logs"

Tek seferlik çalıştırmalar için bunu CLI üzerinden de ayarlayabilirsiniz:

codex -c log_dir=./.codex-log

Özellik bayrakları

İsteğe bağlı ve deneysel yetenekleri açıp kapatmak için config.toml içindeki [features] tablosunu kullanın.

Yaygın özellik bayrakları

Anahtar Varsayılan Olgunluk Açıklama
apps true Kararlı Uygulama (bağlayıcı) entegrasyonlarını etkinleştirir
goals true Kararlı Kalıcı hedefleri ve otomatik devam etmeyi etkinleştirir
hooks true Kararlı hooks.json veya satır içi [hooks] içindeki yaşam döngüsü kancalarını etkinleştirir. Kancalar bölümüne bakın.
fast_mode true Kararlı Hızlı mod seçimini ve service_tier = "fast" yolunu etkinleştirir
memories false Deneysel Bellekleri etkinleştirir
multi_agent true Kararlı Alt ajan iş birliği araçlarını etkinleştirir
remote_plugin true Kararlı Uzak eklenti kataloğunu etkinleştirir
shell_snapshot true Kararlı Yinelenen komutları hızlandırmak için kabuk ortamınızın anlık görüntüsünü alır
shell_tool true Kararlı Komut yürütme araçlarını etkinleştirir
unified_exec true Kararlı Devam ettirilebilir komut yürütmeyi etkinleştirir; yalnızca yönetilen gereksinimler bunu devre dışı bırakabilir
web_search true Kullanımdan kaldırıldı Eski açma/kapama seçeneği; üst düzey web_search ayarını tercih edin
web_search_cached false Kullanımdan kaldırıldı Ayarlanmamışsa web_search = "cached" değerine eşlenen eski açma/kapama seçeneği
web_search_request false Kullanımdan kaldırıldı Ayarlanmamışsa web_search = "live" değerine eşlenen eski açma/kapama seçeneği

Yaşam döngüsü kancalarının yapılandırması için Kancalar bölümüne bakın.

Özellikleri etkinleştirme

  • config.toml içinde, [features] altına feature_name = true ekleyin.
  • CLI'dan codex --enable feature_name komutunu çalıştırın.
  • Birden fazla özelliği etkinleştirmek için codex --enable feature_a --enable feature_b komutunu çalıştırın.
  • Bir özelliği devre dışı bırakmak için config.toml içindeki anahtarı false olarak ayarlayın.