Ana içeriğe geç

Ortam değişkenleri

Bu sayfa, Kule'nin kendisinin okuduğu değişkenleri ve bir görevin içindeki bir komutun ortamının neye benzediğini listeler.

Kule'nin okuduğu değişkenler​

DeğişkenOkuyanAnlamı
KULE_HOMEkule, daemon, uygulamaKule'nin ev dizini. Varsayılan ~/.kule. Her komuttaki --home ile aynıdır. Kısa tutun: içindeki daemon soketinin yolu 100 baytın altında kalmalıdır. ~/.kule dışında bir ev dizini, gizli değerlerin anahtarını sistem anahtar zinciri yerine bir dosyada (secrets.key) tutar.
HOMEher şeyEv dizininiz: ~/.kule'nin bulunduğu yer ve sandbox'ın kendi klasörlerinizi altında gizlediği yer.
PATHuygulama, sandboxKomutların ve ajanların (npx, node, gemini, …) bulunduğu yerler. Finder'dan ya da bir başlatıcıdan açıldığında uygulama PATH'i giriş kabuğunuzdan okur; böylece bir terminalle aynı araçları bulur.
SHELLkule shell, uygulamanın terminalleriBir görevin kopyasında açılacak kabuk.
NO_COLORkuleRenkleri kapatmak için (boş olmayan bir değerle) ayarlayın. Çıktı bir terminal değilse ya da TERM=dumb ise de renk kapalıdır.
KULE_TERMINALuygulamaOpen terminal'in kullandığı terminal uygulaması: macOS'ta bir uygulama adı (örneğin iTerm), Linux'ta bir komut. Ayarlı değilse macOS, uygulamanın başlatıldığı terminali, o da yoksa Terminal'i kullanır; Linux PATH üzerindeki bilinen terminalleri dener.
KULE_NO_EXTENSIONSuygulamaUygulamayı --no-extensions gibi, tüm eklentiler kapalı başlatmak için ayarlayın.
CARGO_HOMEsandboxBir görevin kendi cargo önbelleğini başlatmak için sizin cargo önbelleklerinizin bulunduğu yer.
XDG_CONFIG_HOMEsandboxGerçek ~/.config dizininizi gösterdiğinde, bir komut onun yerine ev katmanının .config dizinini alır.
XDG_RUNTIME_DIRsandbox (Linux)Oturum soketlerinin durduğu çalışma zamanı dizininiz; bir komutun erişiminin dışında tutulur.
ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, …yerleşik ajanlarYalnızca ajanın kendi API host'una giden isteklere doldurulmak için okunur; ajan bir yer tutucu görür. Bkz. Ajanlar sayfasındaki keys.

Bir görevdeki komutun gördükleri​

kule exec'in, kule run'ın ajanının ve uygulamanın ajanlarının bir görevde başlattığı komutlar kırpılmış bir ortam alır. Yalnızca araçların kendilerini bulması için gerekenler geçer; ortamınızdaki token'lar, anahtarlar ve ajan soketleri dışarıda kalır.

Olduğu gibi geçenler​

PATH, USER, LOGNAME, SHELL, LANG, LANGUAGE, her LC_*, TZ, TERM, COLORTERM, NO_COLOR, FORCE_COLOR, EDITOR, PAGER, __CF_USER_TEXT_ENCODING, XDG_DATA_HOME, XDG_STATE_HOME, RUSTUP_HOME, RUSTUP_TOOLCHAIN, GOPATH, GOROOT, JAVA_HOME, NVM_DIR, NVM_BIN, VOLTA_HOME, PYENV_ROOT, VIRTUAL_ENV, CONDA_PREFIX, DOTNET_ROOT, ANDROID_HOME, SDKROOT, DEVELOPER_DIR, HOMEBREW_PREFIX, HOMEBREW_CELLAR, HOMEBREW_REPOSITORY.

Tek bir komut için bir tane daha geçirmek için: kule exec --pass-env NAME. Bir ajan profili kendininkileri pass_env altında adlandırır.

Kule'nin ayarladıkları​

DeğişkenDeğerNeden
KULE_TASKgörevin kimliğikule exec, kule shell ve uygulamanın terminalleri tarafından ayarlanır; böylece bir betik hangi görevde çalıştığını anlayabilir.
HOME<task>/homeGörevin ev katmanı: oraya yazılanlar inceleme için yakalanır.
XDG_CONFIG_HOME<task>/home/.configYalnızca sizinki gerçek ~/.config dizininizi gösteriyorduysa.
TMPDIR<task>/tmpGörevin kendi geçici dizini.
HTTP_PROXY, HTTPS_PROXY, ALL_PROXY (ve küçük harfli hâlleri)http://127.0.0.1:<port>Her bağlantıyı değerlendirip kaydeden görevin proxy'si. NO_PROXY kaldırılır.
NODE_USE_ENV_PROXY1Node'un yerleşik fetch'inin proxy'yi kullanmasını sağlar.
SSL_CERT_FILE, CURL_CA_BUNDLE, REQUESTS_CA_BUNDLE, PIP_CERT, GIT_SSL_CAINFO, CARGO_HTTP_CAINFO, AWS_CA_BUNDLE<task>/tmp/kule-ca-bundle.pemSistemin kök sertifikaları artı görevin kendi sertifika yetkilisi; proxy bunu gizli değerleri host'ları için doldurmakta kullanır.
NODE_EXTRA_CA_CERTS<task>/tmp/kule-ca.pemAynı yetkili, Node için.
GODEBUGx509sslcertoverrideplatform=1 eklermacOS: Go'nun sertifikaları SSL_CERT_FILE'a göre denetlemesini sağlar. Kendi GODEBUG ayarlarınız korunur.
CARGO_HOME<task>/tmp/caches/cargoGörevin kendi cargo önbelleği (cargo ayarlarınızla, ama asla credentials.toml olmadan).
npm_config_cache<task>/tmp/caches/npmGörevin kendi npm önbelleği.
PNPM_HOME, pnpm_config_store_dir<task>/tmp/caches/pnpm altındapnpm.
YARN_CACHE_FOLDER, PIP_CACHE_DIR, UV_CACHE_DIR, GOCACHE, GOMODCACHE, NUGET_PACKAGES, XDG_CACHE_HOME<task>/tmp/caches/ altındaHer aracın önbelleği; görevin kendisine ait.
NODE_OPTIONS, PYTHONPATH, RUBYOPT<task>/tmp/.kule-loopback/ içinden küçük bir dosya yüklerHer adresi isteyen Node, Python ve Ruby sunucularını yalnızca bu bilgisayara yönlendirir. (Linux'ta Kule ayrıca her programın sunucularını kendisi loopback'te tutar.) Kendi değerleriniz korunur.
saklanan bir gizli değerin adı, örn. STRIPE_KEYkule_secret_…Bir yer tutucu; proxy değeri yalnızca o gizli değerin host'ları için koyar.

kule exec --no-network ile hiçbir proxy değişkeni ayarlanmaz ve TCP kapatılır. --open-network ile komutlar proxy ve politika olmadan doğrudan bağlanır. --no-sandbox ile yukarıdakilerin hiçbiri geçerli değildir.

macOS'ta cargo ve npm önbellekleri sizinkilerin copy-on-write klonları olarak başlar; böylece görev onlara bir şey ekleyene kadar yer kaplamazlar. Linux'ta boş başlarlar.

Kendiniz bakın​

kule exec TASK -- env | sort

Ayrıca bakın​