İnteraktif oturum başlatma

İnteraktif oturumlar, doğrudan terminalinde Bob ile sohbet arayüzü sağlar ve geliştirme görevlerinde gerçek zamanlı yardım sunar.

Bob Shell interaktif oturum

İnteraktif oturum ne zaman kullanılır

İnteraktif oturumlar şunlar için en iyi şekilde çalışır:

  • Keşif amaçlı kodlama oturumları.
  • Hata ayıklama ve sorun giderme.
  • Yeni kavramlar veya teknolojiler öğrenme.
  • Birden fazla gidip gelme gerektiren görevler.
  • Değişikliklerin uygulanmadan önce incelenmesi gereken projeler.

İnteraktif oturum başlatma

Terminalinde interaktif bir oturum başlatmak için bob chat alt komutunu kullan.

Söz dizimi

bob chat [options]

Oturum başlatma

Yeni bir terminal penceresi aç.

Not

Bob Shell'i ilk kez başlattığında IBMid ile giriş yapman ve lisans sözleşmesini kabul etmen gerekir.

Projenin ana dizinine git.

İnteraktif oturum başlatmak için şu komutu çalıştır:

bob chat

Etkili kullanım için ipuçları

  • Daha hedefli yanıtlar almak için isteklerinde spesifik ol.
  • Gerektiğinde kod bağlamı sağlamak için @ referanslarını kullan.
  • Karmaşık görevlerde bunları daha küçük adımlara böl.
  • Yaygın işlevlere hızlı erişmek için slash command'ları kullan.
  • Büyük kod tabanlarıyla çalışırken Bob Shell'i en alakalı dosyalara yönlendir.

Temel kullanım

Bob Shell ile etkileşim

  • Talimatlarını veya sorularını doğrudan terminale yaz.
  • Mesajını Bob'a göndermek için Enter'a bas.
  • Bob Shell, analizini ve önerilerini yanıt olarak iletir.
  • Araç kullanımında (dosya okuma veya yazma gibi), her işlem için onaylaman ya da reddetmen istenir.

Araç onayları

Bob Shell bir araç kullanmak istediğinde bir onay iletişim kutusu görünür. İletişim kutusu şu seçenekleri sunar:

SeçenekAçıklama
Approve OnceBu belirli araç çağrısının devam etmesine izin ver. Gelecekteki çağrılar için tekrar sorulacaksın.
Approve <group> tools for taskGörevin geri kalanı için aynı araç grubundaki tüm araçlara izin ver. MCP araçları için gösterilmez.
Always Allow Command for taskGörevin geri kalanı için belirli bir shell komutuna izin ver.
RejectAraç çağrısını reddet. Bob Shell işlemi sürdürmez.

Bir çağrıyı onaylarken veya reddederken isteğe bağlı bir not da ekleyebilirsin. Not, ek bağlam olarak modele iletilir.

Onay iletişim kutusunu açmadan otomatik onayı açıp kapatmak için macOS'ta Ctrl+F'ye, Windows, Linux ve WSL'de Alt+F'ye bas.

Bir yanıt akış halindeyken Bob'u durdurmak için Escape'e bas.

Çok turlu konuşmalar

Bob Shell, konuşma boyunca bağlamı korur; bu sayede şunları yapabilirsin:

  • Takip soruları sor.
  • Önceki istekleri iyileştir.
  • Önceki yanıtlar üzerine inşa et.

Dosya ve kaynakları referans alma

Projendeki dosyaları referans almak için @ sembolünü kullan:

Explain the functionality in @src/main.js

Bu, Bob Shell'e yanıt vermeden önce belirtilen dosyayı okumasını ve analiz etmesini söyler.

  • Dosyalar, dosya başına 100 KB olarak satır içi eklenir.
  • Tüm @ referanslarında satır içi içerik toplamı 500 KB ile sınırlıdır.
  • Dizinler en fazla 50 giriş gösterir.

Bağlı sunucular tarafından sağlanan Model Context Protocol (MCP) kaynaklarını server:resource-name biçiminde referans alabilirsin:

@my-server:schema.json

Skill'leri referans alma

Skill seçiciyi açmak ve promptuna bir skill referansı eklemek için $ yazıp ardından skill adını yaz.

Dosya değişikliklerini görüntüleme

Bob Shell dosyaları değiştirmesi gerektiğinde, önerilen değişiklikler terminalde CLI diff görünümüyle gösterilir.

Slash command'ları kullanma

Kullanılabilir komutların menüsüne erişmek için / yaz:

  • Yardım için /help gibi yerleşik komutlar
  • /mode ask gibi mod geçiş komutları
  • Oluşturduğun özel komutlar

Kullanılabilir komutların tam listesi için bkz. Bob Shell'de slash command'ları.

Mesaj kuyruğu

Bob aktif olarak bir yanıt akışı yapıyorken beklemek yerine ek mesajlar kuyruğuna alabilirsin. Mevcut girişi kuyruğa almak için Tab'a bas. Kuyruktaki mesajlar, her tur tamamlandığında sırasıyla otomatik olarak gönderilir.

Tuşİşlem
TabMevcut girişi kuyruğa al (boştayken hemen gönder)
Odağı kuyruk listesine taşı
EnterSeçilen kuyruktaki öğeyi düzenle
Tab (kuyrukta)Seçilen öğeyi hemen gönder
Delete / BackspaceSeçilen öğeyi kuyruktan kaldır
Shift+K / Shift+JSeçilen öğeyi yukarı / aşağı taşı

Durum alt bilgisi

Giriş alanının altındaki alt bilgi, canlı oturum bilgilerini gösterir:

AlanAçıklama
ModeEtkin mod adı (örneğin, Agent Mode) — otomatik onay etkinleştirildiğinde kırmızı (auto-approve) son eki görünür
ContextKullanılan token sayısı ve bağlam penceresi boyutu, yüzdeyle birlikte
CostMevcut görev için birikmiş maliyet, Bobcoin (🅞) cinsinden

Oturum yönetimi

Önceki oturumu devam ettirme

bob chat başlatırken önceki bir oturumu devam ettirebilirsin:

bob chat --resume <task-id>
bob chat --resume latest

Önceki bir oturumun görev kimliğini bulmak için bob --list-tasks kullan:

bob --list-tasks

Adlandırılmış bir instance'a bağlanma

Yeni bir tane başlatmak yerine belirli bir adlandırılmış instance'a bağlanmak için --instance-id kullan:

bob chat --instance-id my-project

Genel yardımcı flag'ler

Bazı flag'ler bob chat veya bob run ile değil, doğrudan bob ile çağrılır. Şu flag'ler kullanılabilir:

FlagAçıklama
--list-tasks [n|all]Mevcut workspace için kaydedilmiş görevleri listele ve çık. Varsayılan 20'dir. Kaç tanesinin gösterileceğini kontrol etmek için bir sayı veya all geç.
--limit <n>--list-tasks ile gösterilecek maksimum görev sayısı.
--show-licenseIBM lisans sözleşmesini göster ve çık.

Makine tarafından okunabilir çıktı

stdout bir TTY olmadığında — örneğin çıktıyı yönlendirdiğinde veya pipe ettiğinde — --list-tasks, insan tarafından okunabilir tablodan NDJSON'a geçer; satır başına bir JSON nesnesi olur.

Her satır şu şekle sahiptir:

{"id":"<uuid>","title":"<string>","status":"<string>","workspace":"<file-uri>","updatedAt":<unix-ms>}
AlanTürAçıklama
idstring (UUID)--resume ile kullanılabilir benzersiz görev tanımlayıcısı
titlestringGörev başlığı, ilk mesaja, ardından id'ye geri döner
statusstringGörev durumu (active, completed, paused)
workspacestring (file URI)file: URI olarak workspace'in mutlak yolu
updatedAtnumberUnix milisaniye cinsinden son güncelleme zaman damgası

Örnekler

# jq'ya pipe et
bob --list-tasks all | jq '.id'

# Dosyaya kaydet ve sonra işle
bob --list-tasks 100 > tasks.ndjson

# Lisans sözleşmesini göster
bob --show-license

Seçenekler

SeçenekAçıklama
--instance-id <id>Yeni bir oturum başlatmak yerine belirli bir adlandırılmış instance'a bağlan
--resume <task-id>Görev kimliğiyle önceki bir görevi devam ettir
--resume latestEn son görevi devam ettir
--mode <mode>Başlangıç modu (örneğin, agent, plan, ask)
--log-level <level>Log ayrıntı düzeyi: error, warn, info, debug veya trace
--auto-approveOturum için araç onay istemlerini bastır. Güvenilmeyen klasörlerde etkisi yoktur.
--trustMevcut klasörü güvenilir olarak kalıcı hale getir, ilk erişim güven iletişim kutusunu atla. Manuel olarak "Klasöre güven" seçmeye eşdeğerdir. Bkz. Güvenilir klasörler.
--team-id <id>Belirli bir takım kimliği altında çalıştır (general türünde bir API anahtarı kullanırken gereklidir)
Bu konu nasıl?