Ana içeriğe atla

Yerel komutları güvenli ç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 yalıtılmış ç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ını seçin. Ayarlar klasör başına geçerlidir.

Asistan ne zaman komut çalıştırabilir?​

Bu üç moddan birini seçin:

  • Her zaman sor: her komutu siz onaylarsınız.
  • Güvenilir komutları otomatik: kaydettiğiniz komutlar sormadan başlar. Diğer komutlar yine izin ister.
  • Otomatik olarak sandbox içinde: her şey sormadan başlar, ama yalıtılmış bir ortamda.

Her modda şu kurallar da geçerlidir:

  • Zararsız komutlar sormadan başlar: mkdir, ls, cat, head, tail, wc, grep, find (-exec veya -delete olmadan), touch, pwd, tree ve sürüm kontrolleri (node, npm, npx, python, pip ve aischool-python için --version, -v veya -V). Bunlar, yerleşik dosya araçlarının zaten sormadan yapabildiğinden fazlasını yapmaz. Ağ olmadan ve yalnızca çalışma klasörü içindeki yollarla sandbox içinde çalışırlar; bağlantılar izlense bile (mutlak yollar, ~ veya .. yok). Bir bağlantı klasörün dışını gösteriyorsa yine de bir kart görünür. Bunun için sandbox (macOS ve Linux) ve yerel komutlar gerekir, ancak yöneticinizin Otomatik çalıştırmaya izin ver ayarı gerekmez. Komutlar panelinde bu durumda Otomatik (zararsız komut) yazar. Süs parantezli bir liste, örneğin mkdir -p src/{components,utils}, de kart olmadan başlar: uygulama bunu ayrı yollara ayırır ve hepsini denetler.
  • 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ılabiliyorsa ve yöneticiniz otomatik çalıştırmaya izin veriyorsa, sandbox içinde çalışan bir komut için kartta ayrıca Bu klasörde bundan sonra otomatik olarak sandbox içinde düğmesi görünür. Bu, klasörü Otomatik olarak sandbox içinde moduna geçirir; böylece sonraki komutlar kart olmadan başlar. Ağ gerektiren komutlar, paket yüklemeleri izinliyse yine bir kez sorar.
  • Sandbox içinde çalışan ve ağ istemeyen ilk kart, bir defaya mahsus Bu projeye güven seçeneğini gösterir. Bu komutu çalıştırır, klasörü Otomatik olarak sandbox içinde moduna alır ve Paket yüklemelerine sormadan izin ver seçeneğini açar. Bundan sonra npm test, npm run build ve node --test gibi testler ve derlemeler kart olmadan, ağsız sandbox içinde başlar. Daha fazla ağ gerektiren veya sandbox dışında çalışan komutlar sormaya devam eder. Çalıştır veya Reddet sonrasında bu klasör için 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 yapıp yapmadığını belirtir.

Güvenilir komutları kaydetme​

Bir komutta Bu klasörde her zaman izin ver ve ardından Tam olarak bu komut ya da Bununla başlayan her şey seçin. Kaydedilen komutlar bundan sonra sorulmadan 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 yer alır. Oradan onları silebilirsiniz de.

Sandbox ve ağ​

  • Sandbox kullan: komutlar yalnızca bu klasöre yazabilir. Bu seçenek macOS ve Linux’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 ağı tüm klasör için açmanız gerekmez.

Windows

Windows’ta henüz sandbox kullanılamıyor.

Paketleri yükleme​

Uygulamanın yerleşik Node.js ve npm’si vardır. Bu yüzden node, npm ve npx gibi komutlar, Node.js bilgisayarınıza kurulu olmasa bile çalışır. Node.js’i kendiniz kurduysanız, uygulama o sürümü kullanır. İstisna: Electron’u kendisi başlatan bir proje (electron .), sizin kurduğunuz Node.js’i 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. Adı olan paket yüklemeleri o zaman kart olmadan başlar: npm install <isim> ve package.json içinden npm install, ayrıca pnpm, yarn veya bun ile install ya da add, ve pip install <isim> (ayrıca uv üzerinden). Bunlar her zaman sandbox içinde, ağ ile çalışır. Diğer komutlar, klasör için seçtiğiniz moda uyar.

Bu yüklemeler yine de kart gösterir:

  • npm create vite@latest ve npx 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 kayıt defterinden yüklemeler (--registry, -i, --index-url) ve git adresinden, URL’den veya yoldan gelen paketler.

Anahtar yalnızca sandbox ile (macOS ve Linux) ve yöneticiniz otomatik çalıştırmaya izin veriyorsa çalışır. Aksi halde açamazsınız.

Kurulum betikleri yok

Bu şekilde yüklenen paketler kendi kurulum betiklerini asla çalıştırmaz (npm --ignore-scripts ile çalışır). Python paketleri yalnızca hazır wheel olarak yüklenir.

Yerel sunucular ve yerleşik tarayıcı​

Asistan, çalışan ve açık kalan bir geliştirme sunucusu da 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 komut kaydedilmiş bir kuralla veya otomatik olarak sandbox içinde başlar. Kartta maksimum çalışma süresi yerine "Yerel sunucu olarak siz durdurana kadar çalışır" yazar.

Asistan yanıt verdikten sonra sunucu çalışmaya devam eder. Komutlar panelinde kartta Sunucu çalışıyor durumu ve Tarayıcıda aç ile Durdur düğmeleri görünür. Aynı anda en fazla 4 sunucu çalışabilir. Sunucular, siz durdurunca veya uygulamayı kapatınca kapanır.

Sandbox içinde ağ olmadan bir sunucu yalnızca bu bilgisayarda (localhost) dinleyebilir. Asistanın paketleri nasıl yüklediğini Paketleri yükleme 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 bunun için uygulamanın yerleşik web sunucusunu kullanır:

  • Klasör yalnızca bu bilgisayarda, rastgele bir portla http://127.0.0.1 adresinde görünür.
  • .git ve .env gibi 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, Tarayıcıda aç ve Durdur düğmeleriyle birlikte yer alır ve 4 sunuculuk sınıra dahildir.

Sonucu yerleşik tarayıcıda görürsünüz: üst çubuktaki sağ tarafta bulunan Tarayıcı düğmesi (küre simgesi). Panel, sohbetin yanında açılır; geri, ileri, yeniden yükle (yükleme sırasında durdur), adres çubuğu ve Varsayılan tarayıcınızda aç seçenekleri vardır.

  • Asistan, yerel bir sunucunun sonucunu göstermek için tarayıcıyı kendisi açar. Bu yalnızca http://localhost:5173 gibi yerel adreslerle mümkündür.
  • Bir yanıtta localhost bağlantısına tıklarsanız, yerleşik tarayıcıda açılır. Diğer bağlantılar varsayılan tarayıcınızda açılır.
  • İsterseniz kendiniz de herhangi bir web adresi yazabilirsiniz.
  • Tarayıcının ayrı, bağımsız bir oturumu vardır: orada AI-Public’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 Vite React uygulaması oluştur. Bağımlılıkları yükle, geliştirme sunucusunu başlat ve sonucu tarayıcıda göster.

Asistanın izlemesine izin verme​

Asistandan yerleşik tarayıcıdaki sayfaya bakmasını isterseniz, adresi, başlığı, görünen metni, ekran görüntüsünü ve sayfanın son hata iletilerini okur. Bunlar AI modeline gönderilir.

  • Bu bilgisayardaki bir sayfayı (localhost veya 127.0.0.1) asistan sormadan inceler.
  • Giriş yaptığınız bir sayfa gibi başka bir web sitesi için asistan önce bir kart gösterir: "Asistan onedrive.live.com sitesine bakmak istiyor." İzlemeye izin ver veya Reddet seçin. Bunu her seferinde tekrar sorar.
  • İzninizden sonra sayfa başka bir web sitesine giderse asistan hiçbir şey okumaz.
  • Asistan yalnızca bu bilgisayardaki bir sayfada, yaptığını test etmek için kendi başına tıklar ve yazar. Diğer web sitelerinde tıklamaz, yazmaz ve gezinmez. Çerezler veya parolalar almaz.
  • Ç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 bile. Asistan sürümler kaydedebilir, neyin değiştiğini gösterebilir, dallar oluşturabilir ve bir projeyi çevrimiçi yayınlayabilir.

  • Bu klasörde sürüm kaydetme gibi işlemler sormadan başlar. Gizli bilgilere benzeyen dosyalar (örneğin .env dosyaları, kod içindeki anahtarlar veya token’lar; AIza ile başlayan Google API anahtarları da dahil) hiçbir zaman 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 GitHub deposu oluşturma) önce tam adresi ve Uygulamaya yerleşik ile Ağ açık etiketlerini içeren bir kart gösterir. Adres github.com değilse veya yeni bir depo herkese açık olacaksa, kart uyarı verir. Ç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 coden bölümünde okuyabilirsiniz.

Çevrimdışı mod

Çevrimdışı modda komutlar her zaman ağ olmadan sandbox içinde çalışır. Ağ kullanan paket yüklemeleri ve yerleşik git’in çevrimiçi işlemleri (indirme, alma, çevrimiçi yayınlama ve GitHub) o zaman çalışmaz. Sürüm kaydetme ve basit bir web sayfası gösterme çalışır.

Yöneticiler için ayarlar​

Yöneticiler, yerel komutları veya otomatik çalıştırmayı ortamlarındaki 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 yalnızca klasördeki dosyaları değiştirir, tıpkı dosya araçları gibi.
  • 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 internetsiz çalışır, yalnızca çalışma klasörüne yazar ve başka programlar başlatamaz. 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.