Yerel komutları güvenli şekilde çalıştırma
Masaüstü uygulamasında asistan, sohbetinizin çalışma klasöründe komutlar ve testler çalıştırabilir. Bunun sohbette nasıl çalıştığını Yerel dosya erişimi bölümünde okuyabilirsiniz. Bu sayfada, bunun ne zaman sormadan yapılabileceğini ve komutların ne kadar izole çalışacağını ayarlarsınız.
Komut ayarlarını açma
Bir sohbette Komutlar panelini açın ve Bu klasör için komut ayarları seçeneğini seçin. Ayarlar klasör bazında geçerlidir.
Asistan ne zaman bir komut çalıştırabilir?
Bu üç moddan birini seçin:
- Her zaman sor: her komutu onaylarsınız.
- Güvenilir komutları otomatik çalıştır: kaydettiğiniz komutlar sormadan başlar. Diğer komutlar yine izin ister.
- Otomatik olarak sandbox içinde: her şey sormadan başlar, ancak korumalı bir ortamda.
Her modda şu kurallar da geçerlidir:
- Zararsız komutlar kart göstermeden başlar:
mkdir,ls,cat,head,tail,wc,grep,find(-execveya-deleteolmadan),touch,pwd,treeve sürüm kontrolleri (node,npm,npx,python,pipveaischool-pythoniçin--version,-vveya-V). Bunlar, yerleşik dosya araçlarının zaten sormadan yaptığından fazlasını yapmaz. Sandbox içinde, ağ olmadan ve yalnızca çalışma klasörü içindeki yollarla çalışırlar; bağlantılar izlense bile (mutlak yollar,~veya..yok). Bir bağlantı klasörün dışını işaret ederse kart gösterilir. Bunun için bir sandbox (macOS) ve yerel komutlar gerekir, ancak yöneticinizin Otomatik çalıştırmaya izin ver ayarı gerekmez. Komutlar panelinde bu durumda Otomatik (zararsız komut) görünür. Kıvrımlı parantezler içindeki bir liste de, örneğinmkdir -p src/{components,utils}, kart göstermeden başlar: uygulama bunu ayrı yollara ayırır ve hepsini kontrol eder. - Her kart tam komutu ve, çevrimiçi işlemlerde, tam adresi gösterir. Altında asistanın açıklaması daha küçük yazıyla yer alır.
- Sandbox kullanılabiliyor ve yöneticiniz otomatik çalıştırmaya izin veriyorsa, sandbox içinde çalışan bir komut için kartta ayrıca Bundan sonra bu klasörde sandbox içinde otomatik çalıştır düğmesi bulunur. Bu, klasörü Otomatik olarak sandbox içinde moduna geçirir; sonraki komutlar kart olmadan başlar. Ağ gerektiren komutlar, paket yüklemeleri izinliyse bir kez daha sorar.
- Bir klasörde sandbox içinde çalışan ve ağ istemeyen ilk kartta bir kez Bu projeye güven seçeneği görünür. Bu komutu çalıştırır, klasörü Otomatik olarak sandbox içinde moduna geçirir ve Paket yüklemelerine sormadan izin ver ayarını açar. Bundan sonra
npm test,npm run buildvenode --testgibi testler ve derlemeler kart olmadan, ağsız sandbox içinde başlar. Daha fazla ağ gerektiren ya da sandbox dışında çalışan komutlar sormaya devam eder. Çalıştır veya Reddet sonrasında bu klasörde soru tekrar gelmez; modu komut ayarlarından değiştirirsiniz. Otomatik çalıştırma kapalıysa, her kart bunu yöneticinizin veya bu bilgisayarın yönetim politikasının yaptığını belirtir.
Güvenilir komutları kaydetme
Bir komut için Bu klasörde her zaman izin ver seçeneğini ve ardından Tam olarak bu komut veya Bununla başlayan her şey seçeneğini seçin. Kaydedilen komutlar bundan sonra sormadan başlar. Özel karakterler içeren komutlar (örneğin ; | > $) her zaman izin ister.
Kaydedilen kurallar, komut ayarlarında Bu klasörde her zaman izin verilenler altında bulunur. Oradan silebilirsiniz.
Sandbox ve ağ
- Sandbox kullan: komutlar yalnızca bu klasörde yazabilir. Bu seçenek macOS’ta varsayılan olarak açıktır.
- Ağa izin ver: komutların internete erişip erişemeyeceğini belirler. Bu seçenek varsayılan olarak kapalıdır. Sandbox olmadan komutlar her zaman ağ erişimine sahiptir.
Her komut kartı sandbox ve ağın açık olup olmadığını gösterir.
Ağa izin ver kapalıysa ve asistan bir şey indirmek isterse, örneğin npm install ile, komut kartı tam olarak o komutu ağ ile çalıştırmak isteyip istemediğinizi sorar. Yani tüm klasör için ağı açmanız gerekmez.
Windows’ta henüz sandbox yoktur.
Paket yüklemeleri
Uygulamanın kendi Node.js ve npm’i vardır. Bu nedenle node, npm ve npx gibi komutlar, bilgisayarınızda Node.js yüklü olmasa bile çalışır. Node.js’i kendiniz yüklediyseniz, uygulama o sürümü kullanır. İstisna: kendi Electron uygulamasını başlatan bir proje (electron .), sizin ayrıca yüklediğiniz bir Node.js gerektirir.
Paket yüklemelerine sormadan izin verme
Bu klasör için komut ayarları içinde Paket yüklemelerine sormadan izin ver anahtarını açın. İsimle paket yüklemeleri bundan sonra kart olmadan başlar: npm install <ad> ve package.json içinden npm install, pnpm, yarn veya bun ile install ya da add, ve pip install <ad> (ayrıca uv üzerinden). Bunlar her zaman ağ ile sandbox içinde çalışır. Diğer komutlar, klasör için seçtiğiniz modu izler.
Bu yüklemeler yine de kart gösterir:
npm create vite@latestvenpx create-…gibi proje başlatıcılar, çünkü kendi kodlarını çalıştırırlar;pip install .,pip install -r requirements.txt, başka bir kaynaktan yüklemeler (--registry,-i,--index-url) ve git adresi, URL veya yoldan gelen paketler.
Bu anahtar yalnızca sandbox ile (macOS) ve yöneticiniz otomatik çalıştırmaya izin veriyorsa çalışır. Aksi halde açamazsınız.
Bu şekilde yüklenen paketler asla kendi kurulum betiklerini çalıştırmaz (npm, --ignore-scripts ile çalışır). Python paketleri yalnızca hazır wheels olarak yüklenir.
Yerel sunucular ve yerleşik tarayıcı
Asistan ayrıca çalışmaya devam eden bir geliştirme sunucusu başlatabilir, örneğin Vite kullanan küçük bir React projesi için npm run dev. Bunun için diğer komutlarla aynı kurallar geçerlidir: tam komutu onaylarsınız ya da kayıtlı bir kural üzerinden veya otomatik olarak sandbox içinde başlar. Kartta maksimum çalışma süresi yerine “Durdurulana kadar yerel sunucu olarak çalışmaya devam eder.” yazar.
Asistan yanıt verdikten sonra sunucu çalışmaya devam eder. Komutlar panelinde kart Sunucu çalışıyor durumunu gösterir; Tarayıcıda aç ve Durdur düğmeleri bulunur. Aynı anda en fazla 4 sunucu çalışabilir. Sunucular, siz durdurduğunuzda veya uygulamayı kapattığınızda durur.
Sandbox içinde ağ olmadan bir sunucu yalnızca bu bilgisayarda (localhost) dinleyebilir. Asistanın paketleri nasıl yüklediğini Paket yüklemeleri bölümünde okuyabilirsiniz.
Basit bir web sayfası gösterme
Sıradan bir web sayfası için (CSS ve JavaScript içeren, derleme adımı olmayan bir index.html) komut gerekmez. Asistan bu durumda uygulamanın yerleşik web sunucusunu kullanır:
- Klasör yalnızca bu bilgisayarda, rastgele bir port ile
http://127.0.0.1adresinde görünür. .gitve.envgibi gizli dosyalar asla gösterilmez.- Bir dosya değişirse sayfa otomatik olarak yeniden yüklenir.
Bunun için onay kartı görünmez. Sunucu Komutlar panelinde yer alır; Tarayıcıda aç ve Durdur düğmeleri vardır ve 4 sunucu sınırına dahildir.
Sonucu yerleşik tarayıcıda görürsünüz: üst çubuğun sağındaki Tarayıcı düğmesi (küre simgesi). Panel sohbetin yanında açılır; geri, ileri, yenile (yükleme sırasında durdur), bir adres çubuğu ve Varsayılan tarayıcınızda aç düğmesi bulunur.
- Asistan, yerel bir sunucunun sonucunu göstermek için tarayıcıyı kendisi açar. Bu yalnızca
http://localhost:5173gibi yerel adreslerde mümkündür. - Bir yanıtta localhost bağlantısına tıklarsanız, bu bağlantı yerleşik tarayıcıda açılır. Diğer bağlantılar varsayılan tarayıcınızda açılır.
- İsterseniz herhangi bir web adresini kendiniz de yazabilirsiniz.
- Tarayıcının kendi ayrı bir oturumu vardır: orada AI-School’a giriş yapmış olmazsınız, web siteleri kamera veya mikrofon gibi izinler alamaz ve indirme yapılamaz.
- Uygulamanın bir menüsü veya iletişim kutusu açık olduğu sürece sayfa geçici olarak gizlenir.
Örnek:
Bu klasörde sayaçlı küçük bir React uygulaması oluşturun. Bağımlılıkları yükleyin, dev sunucuyu başlatın ve sonucu tarayıcıda gösterin.
Asistanın izlemesine izin verme
Asistandan yerleşik tarayıcıdaki sayfaya bakmasını istediğinizde, adresi, başlığı, görünen metni, bir ekran görüntüsünü ve sayfanın son hata mesajlarını okur. Bunlar AI modeline gönderilir.
- Bu bilgisayardaki bir sayfayı (
localhostveya127.0.0.1) asistan sormadan inceler. - Giriş yaptığınız bir sayfa gibi başka herhangi bir web sitesinde, asistan önce bir kart gösterir: "Asistan onedrive.live.com üzerinde bakmak istiyor." Bakmaya izin ver veya Reddet seçeneğine tıklayın. Bu izni her seferinde yeniden ister.
- İzninizden sonra sayfa başka bir web sitesine giderse, asistan hiçbir şey okumaz.
- Asistan yalnızca bu bilgisayardaki bir sayfada, yaptığı şeyi test etmek için kendi başına tıklar ve yazar. Diğer web sitelerinde tıklamaz, yazmaz ve gezinmez. Çerezlere veya parolalara erişmez.
- Çevrimdışı modda asistan yalnızca bu bilgisayardaki sayfaları inceler.
Sürümler ve GitHub
Asistanın yerleşik bir git’i vardır. Bu yüzden git kurmanız gerekmez; Windows’ta da gerekmez. Asistan sürümler kaydedebilir, nelerin değiştiğini gösterebilir, dallar oluşturabilir ve bir projeyi çevrimiçi yayınlayabilir.
- Bu klasörde sürüm kaydetmek gibi işlemler sormadan başlar. Gizli bilgilere benzeyen dosyalar (örneğin
.envdosyaları, anahtarlar veya kod içindeki tokenlar;AIzaile başlayan Google API anahtarları da dahil) hiçbir zaman bir sürüme girmez. Asistan bir şeyi atladığında bunu bildirir. - Çevrimiçi işlemler (bir projeyi indirme, en son sürümü alma, çevrimiçi yayınlama ve bir GitHub deposu oluşturma) önce tam adresi ve Uygulama içinde yerleşik ile Ağ açık etiketlerini gösteren bir kart sunar. Adres github.com değilse veya yeni depo herkese açıksa, kart bunu uyarı olarak belirtir. Çevrimiçi yayınlarken kart hangi dosyaların gönderileceğini gösterir. Çalıştır veya Reddet seçin.
- github.com dışındaki bir depoyu bağlamak da önce izin ister.
GitHub’ı nasıl bağlayacağınızı ve bir projeyi nasıl çevrimiçi yayınlayacağınızı Vibe kodlama bölümünde okuyabilirsiniz.
Çevrimdışı modda komutlar her zaman ağ olmadan sandbox içinde çalışır. Ağ gerektiren paket yüklemeleri ve yerleşik git’in çevrimiçi işlemleri (indirme, alma, çevrimiçi yayınlama ve GitHub) çalışmaz. Sürüm kaydetme ve basit bir web sayfası gösterme çalışır.
Yönetici ayarları
Yöneticiler yerel komutları veya otomatik çalıştırmayı ortam içindeki herkes için kapatabilir. Bunu yönetim ortamında, ortam düzeyindeki Özellikler bölümünde, Masaüstü uygulaması kartında yaparlar:
- Yerel komutlara izin ver: bu kapalıysa asistan komut çalıştıramaz. Yerleşik git’in çevrimiçi işlemleri de çalışmaz. Sürüm kaydetme ve dallar yine çalışır: bunlar, dosya araçları gibi, yalnızca klasördeki dosyaları değiştirir.
- Otomatik çalıştırmaya izin ver: bu kapalıysa her komut izin ister ve Paket yüklemelerine sormadan izin ver seçeneğini açamazsınız.
- Office dosyaları için uygulamanın Python’unu kullanmaya izin ver: şablonlar, grafikler ve analizler için. Bu Python internet olmadan çalışır, yalnızca çalışma klasörüne yazar ve başka program başlatamaz. Hiçbir şey ayarlı değilse bu, Yerel komutlara izin ver ayarını izler. Sandbox olmadan (Windows) yalnızca yerel komutlar açıksa kullanılabilir ve her seferinde izin ister.