İnteraktif olmayan oturum başlatma
İnteraktif olmayan oturumlar, Bob Shell'i interaktif bir oturum başlatmadan doğrudan komut satırından kullanmanı sağlar. Otomasyon, scripting ve toplu işlem görevleri için kullan.
İnteraktif olmayan oturum ne zaman kullanılır
İnteraktif olmayan oturumlar şunlar için en iyi şekilde çalışır:
- Bob Shell'i otomasyon script'lerine entegre etme.
- Tek bir komutla birden fazla dosyayı işleme.
- İnteraktif oturum başlatmadan hızlı bilgi edinme.
- Koddan dokümantasyon oluşturma.
- Yapılandırılmış JSON çıktısına ihtiyaç duyan CI/CD pipeline'ları.
İnteraktif olmayan oturum başlatma
Bob Shell'i komut satırından interaktif olmayan şekilde çalıştırmak için bob run alt komutunu kullan.
Söz dizimi
bob run [options] [prompt...]Bir promptu stdin üzerinden de aktarabilirsin:
echo "Explain this project" | bob runEtkili kullanım için ipuçları
- Büyük dosyaları veya projeleri işlerken hangi dosyaların analiz edileceğini belirt.
- Script'lerde güvenilir ayrıştırma için
--format jsonveya--format stream-jsonkullan. - Otomatik iş akışlarında kaynak kullanımını sınırlamak için
--max-costve--max-turnskullan. - Çok satırlı promptlar için bunları bir dosyaya kaydet ve
bob run'a aktar:
cat prompt.txt | bob runTemel kullanım
Prompt'u doğrudan çalıştırma
bob run "Explain this project"İçeriği girdi olarak aktarma
Bob Shell'e metin içeriği aktarabilirsin:
cat buildError.txt | bob run "Explain this build error"Sonuçları dosyaya kaydetme
Sonuçları kaydetmek için çıktıyı yeniden yönlendir:
bob run "Review @bigFile.java" > review.mdProje dosyalarını referans alma
Projendeki dosyaları referans almak için @ sembolünü kullan:
bob run "Summarize the functionality in @src/main.js"Maliyet ve tur sınırları belirleme
bob run --max-cost 0.50 --max-turns 10 "Refactor @app.js"Oturum yönetimi
Önceki oturumu devam ettirme
bob run --resume <task-id> "Continue from where we left off"
bob run --resume latest "Keep going"Genel yardımcı flag'ler
Bazı flag'ler bob run veya bob chat ile değil, doğrudan bob ile çağrılır. Kaydedilmiş görevleri listelemek için şu komutu çalıştır:
bob --list-tasksŞu flag'ler kullanılabilir:
| Flag | Açı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-license | IBM 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>}| Alan | Tür | Açıklama |
|---|---|---|
id | string (UUID) | --resume ile kullanılabilir benzersiz görev tanımlayıcısı |
title | string | Görev başlığı, ilk mesaja, ardından id'ye geri döner |
status | string | Görev durumu (active, completed, paused) |
workspace | string (file URI) | file: URI olarak workspace'in mutlak yolu |
updatedAt | number | Unix 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Çıktı biçimleri
--format seçeneği, bob run'ın çıktısını nasıl yazacağını kontrol eder. Script'ler veya CI pipeline'ları için çıktıyı yakalarken bu seçeneği kullan.
pretty (varsayılan)
Terminal ekranı için uygun, insan tarafından okunabilir metin çıktısı.
json
Oturum tamamlandıktan sonra tek bir JSON nesnesi yayar. Tam sonucu programatik işleme için yakalamak amacıyla bu biçimi kullan.
Şema:
| Alan | Tür | Açıklama |
|---|---|---|
type | string | Her zaman "result" |
timestamp | string | ISO 8601 (tarih-saat standardı) tamamlanma zaman damgası |
status | string | "success" veya "error" |
stats | object | Oturum istatistikleri — aşağıdaki alanlara bkz. |
stats.task_id | string | Tamamlanan görev için benzersiz tanımlayıcı |
stats.total_tokens | number | Kullanılan toplam token sayısı |
stats.input_tokens | number | Kullanılan giriş token'ları |
stats.output_tokens | number | Üretilen çıktı token'ları |
stats.cache_read_tokens | number | Önbellekten okunan token'lar |
stats.cache_write_tokens | number | Önbelleğe yazılan token'lar |
stats.cache_ratio | number | Önbellek isabet oranı |
stats.duration_ms | number | Oturum süresi (milisaniye) |
stats.session_costs | number | Oturum için toplam maliyet |
stats.tool_calls | number | Yapılan araç çağrısı sayısı |
last_message | string | Son asistan mesajı |
Örnek:
bob run --format json "What is the entry point?" > result.jsonstream-json
Oturum ilerledikçe satır sınırlayıcılı JSON (NDJSON) — satır başına bir olay nesnesi — yayar. Çıktıyı bir pipeline'a aktarmak veya olayları gerçek zamanlı olarak işlemek için bu biçimi kullan.
Olay türleri:
| Olay türü | Temel alanlar | Açıklama |
|---|---|---|
message | role, content, isReasoning? | Bir kullanıcı veya asistan mesajı |
tool_use | tool_name, tool_id, parameters | Bob tarafından başlatılan bir araç çağrısı |
tool_result | tool_id, status, output?, error? | Bir araç tarafından döndürülen sonuç |
error | severity, message | Maliyet/tur sınırına ulaşıldı |
result | status, stats, last_message | Oturum sona erdiğinde yayılan son özet |
Pipeline örneği:
bob run --format stream-json "Audit @src/" \
| grep '"type":"result"' \
| jq '.last_message'bob run ile interaktif olmayan şekilde çalışırken tüm araçlar önceden onaylanır. Yürütme sırasında araç çağrılarını onaylaman istenmez.
Seçenekler
| Seçenek | Açıklama |
|---|---|
--format <format> | Çıktı biçimi: pretty (varsayılan), json veya stream-json |
--mode <mode> | Başlangıç modu (örneğin, agent, plan, ask) |
--max-cost <bobcoins> | Oturum durmadan önce Bobcoins cinsinden maksimum harcama |
--max-turns <n> | Oturum durmadan önce maksimum ajan turu sayısı |
--disable-mcp | Bu oturum için tüm MCP sunucularını devre dışı bırak |
--disable-subagents | Bu oturum için alt ajan oluşturmayı devre dışı bırak |
--disable-tool-groups <groups> | Belirli araç gruplarını devre dışı bırak (virgülle ayrılmış, örneğin execute,mcp) |
--workspace <path> | Çalışma alanı kök dizinini geçersiz kıl |
--log-level <level> | Log ayrıntı düzeyi: error, warn, info, debug veya trace |
--resume <task-id> | Görev kimliğiyle önceki bir görevi devam ettir |
--resume latest | En son görevi devam ettir |
--team-id <id> | Belirli bir takım bağlamında çalıştır (general türünde API key kullanırken gereklidir) |
--trust | Geçerli klasörü güvenilir olarak işaretle |
--accept-license | IBM lisans sözleşmesini kabul et ve sormadan devam et |
İ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.
Kullanım örnekleri
Bob Shell'i hata ayıklama, kod iyileştirme, dosya oluşturma, dokümantasyon oluşturma ve yeni kavramlar öğrenmek için nasıl kullanacağını gösteren pratik örnekler.