İçeriğe geç
ivralo
Bölümler

Dokümantasyon / Geliştirici modu

Oturum

Oturum, ivralo'nun terminalinizde açtığı tam ekran uygulamadır. Bir tur çalışırken ekranda neler göründüğü, devam eden bir tura nasıl müdahale edeceğiniz, nelerin değiştiğini nereden göreceğiniz ve bütün slash komutları ile tuşlar bu sayfada.

Her seferinde tek tur

Gönderdiğiniz her mesaj bir tur başlatır. Tur, ana ajanın bir çalışmasıdır; yaptığı bütün araç çağrıları ve iş devrettiği bütün uzmanlar da buna dahildir. Oturum turları tek tek çalıştırır. Her araç çağrısı transcript'te tek satır olarak görünür. Çağrı dönünce satırın sonuna, çağrının kendi sonucundan okunan özet eklenir:

▶ shell    uv run pytest                   1.4s  · 8 passed in 1.42s
▶ read     src/auth/service.py             0.0s  · 142 lines
▶ edit     src/auth/token.py               0.0s  · +18 −7
▶ shell    uv run ruff check .             0.6s  · exit 1 · Found 3 errors.

Başarısız olan ya da reddedilen bir çağrı kendiliğinden açılır. Diğer adımlar, siz tıklayana ya da üzerine gelip Enter veya o'ya basana kadar tek satır olarak kalır. Ctrl+O son turun adımlarını açar, bir kez daha basarsanız oturumdaki bütün adımları kapatır.

Bir iş yapan tur bir özet bloğuyla biter. Buradaki her satır ivralo'nun kaydettiği bir gerçektir, modelin söylediği bir şey değildir:

✓ done · 42.1s · 23 calls · 2 approvals · 18.4k tokens
changes   M src/auth/token.py +21 −8 · A tests/test_token_race.py +48
ran       uv run pytest (exit 0) · uv run ruff check . (exit 0)
warnings  edited a test file without being asked: tests/test_token_race.py

"Testler geçiyor" bilgisi yalnızca ran satırından gelebilir ve bu satırda komutun tam hâli yazar. Sadece belirli testleri çalıştıran bir komut da o komut olarak görünür, hiçbir zaman "suite geçti" diye yazılmaz. warnings şu durumları işaretler: istenmeden düzenlenen bir test dosyası, değişen bir kök config dosyası ve üç ya da daha fazla kez düzenlenip eski bir hâline dönen bir dosya. Bunlar yalnızca uyarıdır, hiçbir şeyi engellemez.

Working satırı

Bir tur çalışırken altında tek bir satır hareket eder: Working satırı. Ekranda animasyonlu olan tek şey budur. Turun neyi beklediğini (thinking, python 12 lines gibi bir çağrı, waiting for approval) ve Esc ile durdurulabileceğini gösterir. Üç saniye geçince bir sayaç çıkar. Yirmi saniye geçince neyin yavaş olduğunu anlatan bir cümle eklenir, örneğin waiting for the first token from gemma4:26b - a local model can take minutes. Bu cümleyi model yazmaz, ivralo'nun kaydettiği verilerden oluşur.

IVRALO_REDUCED_MOTION=true bütün spinner'ları sabit bir noktaya çevirir ve oturumdaki geçiş animasyonlarını kapatır. Sayaç işlemeye devam eder.

Tur sürerken yazmak

Tur çalışırken prompt açık kalır. Enter'a basmak ikinci bir tur başlatmaz: mesajınız kuyruğa girer ve herhangi bir ajanın yapacağı bir sonraki araç çağrısının sonucuyla birlikte gider. Böylece çalışan ajan mesajı hemen okur. Transcript'te mesaj önce queued, sonra delivered olarak işaretlenir. Mesaj o anda çalışan bir çağrıyı kesemez. Yani üç dakikalık bir test çalışması önce biter, mesajınız onun çıktısıyla birlikte ulaşır.

Son araç çağrısından sonra geldiği için turun hiç görmediği bir mesaj, tur bitince bir sonraki mesaj olarak gönderilir.

Esc devam eden turu iptal eder. O tur için yazdıklarınızı ve kuyrukta bekleyenleri düzenleyebilmeniz için size geri verir.

Bir turu arka plana almak

/detach ya da Ctrl+B çalışan turu kenara katlar. Transcript'te tur için tek satır kalır, üst çubukta da ne yaptığı ve ne kadar süredir çalıştığı görünür. Prompt, paneller ve çalışma başlatmayan bütün slash komutları yeniden kullanımınıza açılır. Tur oturumda çalışmaya devam eder ve yazdıklarınız ona bir sonraki araç çağrısında yine ulaşır. Onay diyalogları yine açılır, Esc de turu yine iptal eder.

Ctrl+B'ye tekrar bastığınızda tur, adımları sırasıyla geri gelir. Arka plandaki bir tur bitince nasıl bittiğini anlatan bir satır çıkar ve terminal zili çalar.

tmux içinde Ctrl+B tmux'un prefix'idir ve ivralo'ya hiç ulaşmaz. Bu durumda /detach kullanın ya da detach_turn'ü başka bir tuşa atayın (aşağıya bakın).

Ne değişti: değişiklikler paneli ve diff görüntüleyici

Ctrl+D (ya da /changes) değişiklikler panelini açar. Panelde bu repo'da bir dosyayı değiştiren ya da pull request açan bütün turlar en yeniden eskiye doğru listelenir; ivralo ask turları ve önceki oturumlar da dahil. Space bir turu açar ve dosyalarını sayar. Enter ya da d turu diff görüntüleyicide açar. /diff en yeni turu doğrudan, /diff 2 ondan önceki turu açar.

Diff görüntüleyici, bütün diff'lerin açıldığı tek penceredir: bir turun değişikliği, onay bekleyen bir düzenleme ya da entegre edilmeden önce bir coder'ın patch'i. Her dosya için bir satır içeren bir özetle açılır.

TuşDiff görüntüleyicide
Enterİmlecin üzerindeki dosyayı aç
Sol, SağÖnceki ve sonraki dosya
vYan yana ve tek sütun görünüm arasında geçiş (120 sütun ve üstünde yan yana)
uOnay aldıktan sonra dosyayı turdan önceki hâline geri getir
q, EscÖnce özete dön, sonra kapat

Diff, baktığınız anda ivralo'nun dosya geçmişinden okunur. Geçmişte tutulmayan dosyalar (binary dosyalar, 1 MB'tan büyük dosyalar, bir shell komutunun adını anmadan yeniden yazdığı dosyalar ya da IVRALO_HISTORY kapalıyken bütün dosyalar) kendi satırlarında bunu belirtir.

Sıkıştırma

Yerel modellerin context penceresi küçüktür. Giriş çubuğunun köşesindeki context göstergesi pencerenin ne kadar dolduğunu gösterir. Ctrl+G ya da /context ayrıntılı dökümü sabitler.

/compact modelden konuşmanın devir teslim özetini ister, bu özeti oturuma kaydeder ve özetlenen turları bundan sonraki context'e katmaz. Hiçbir şey silinmez, turlar PostgreSQL'de kalır. Varsayılan olarak bir tur pencerenin %85'inden fazlasını doldurmuş hâlde bittiğinde bu kendiliğinden yapılır.

ivralo compact --focus "fatura refactor'ü" --keep 2
AyarVarsayılanEtkisi
IVRALO_AUTO_COMPACTtrueEşik aşılınca kendiliğinden sıkıştırır
IVRALO_COMPACT_THRESHOLD0.85Sıkıştırmayı tetikleyen doluluk oranı

Bellek

ivralo her turdan sonra sizinle ilgili uzun süreli bilgileri (tercihleriniz, söylediğiniz bilgiler) PostgreSQL'de saklayıp sonraki oturumlara aktarabilir. Başında kimsenin olmadığı bir çalıştırma, örneğin bir pipe içindeki ivralo ask ya da zamanlanmış bir görev, bu bilgileri okur ama IVRALO_MEMORY_UNATTENDED açık değilse yenisini yazmaz. IVRALO_MEMORY=false belleği tamamen kapatır.

ivralo memory list
ivralo memory forget 3f9c
ivralo memory clear

Oturum içinde /memory aynı listeyi gösterir.

Slash komutları

/ yazdığınızda prompt komutu satır içinde tamamlar. /help bu listeyi, altında tuşlarla birlikte gösterir.

KomutNe yapar
/newYeni bir konuşma başlatır
/sessionsSon konuşmaları listeler
/title [text|auto]Konuşmanın başlığını gösterir, değiştirir ya da yeniden oluşturur
/compact <focus>Context'te yer açmak için eski turları özetler
/contextModelin context penceresinin doluluğu
/memoryModelin sizinle ilgili hatırladıkları (forget <n>, clear)
/model [ref]Kullanılan modeller ya da bu oturumu başka bir modele geçirme
/agentsEkipte kimler var
/skillsEkibin bildikleri
/skill <name> <request>İsteği doğrudan skill'in sahibine gönderir
/skill show <name>, /skill install <source>Bir skill'e göz atar ya da GitHub'dan kurar
/plan, /plan <request>, /plan --job <request>Plan modu, tek seferlik bir plan ya da job olarak çalışan bir plan (Plan modu)
/confirmHer çağrı için otomatik onayı açar ya da kapatır (Onaylar)
/accept-editsOturum boyunca düzenlemeleri otomatik kabul etmeyi açar ya da kapatır; shell komutları yine sorar
/permissions [remove <n>]İzin dosyalarında nelere izin verilip nelerin reddedildiği (Shell komutları)
/trust [yes|revoke]Bu klasöre güvenilip güvenilmediği
/changesDeğişiklikler paneli
/diff [n]En yeni turun ya da daha eski bir turun değişikliği, diff görüntüleyicide
/changeset [on|off]Her turun düzenlemelerini tek bir changeset olarak hazırlar (Changeset'ler)
/history [file]Bir dosyanın üzerine yazılmadan önce saklanan sürümleri
/restore <file> [stamp]Onay aldıktan sonra saklanan bir sürümü geri getirir
/detachÇalışan turu kenara katlar ya da geri getirir
/instances [stop <n|all>]Oturumdaki açık instance'lar (Instance'lar)
/jobs [id]Bu çalışma alanının job'ları; bekleyen bir job'a cevap verme
/traceSon çalıştırmanın araç çağrıları ve her birinin döndürdüğü sonuç
/why <claim>Son cevaptaki bir sayının ya da ifadenin nereden geldiği
/export [html|md]Bu konuşmayı tek bir dosya olarak dışa aktarır
/incident [bundle]Bir kanıt bundle'ını tur olarak inceler
/index, /find <query>Bilgi indeksini oluşturur; elle arama yapar
/show <file>Çalışma alanındaki bir görseli büyük gösterir
/paste, /img <path>Panodaki görseli ya da bir görsel dosyasını ekler
/helpKomutların ve tuşların listesi
exitÇıkış

Tuşlar

TuşEylem adıNe yapar
Ctrl+CquitÇıkış
Esccancel_turnDevam eden turu iptal eder; mesajınız düzenlemeniz için geri gelir
Ctrl+Bdetach_turnÇalışan turu kenara katlar, sonra geri getirir
Ctrl+Nnew_sessionYeni bir konuşma başlatır
Ctrl+Otoggle_allSon turun adımlarını açar ya da bütün adımları kapatır
Ctrl+Ptoggle_filesÇalışma alanının dosya ağacı; tıkladığınız dosya mesaja eklenir
Ctrl+Ttoggle_teamŞu an kimin çalıştığı ve bu turda kimlerin yer aldığı
Ctrl+Dtoggle_changesDeğişiklikler paneli
Ctrl+GcontextContext penceresinin doluluğu
Shift+Tabtoggle_plan_modeHer mesaj için önce plan yapmayı açar ya da kapatır
Ctrl+F, Ctrl+KsearchGönderilen mesajlarda, cevaplarda ve çalışma alanındaki dosyalarda arama
Ctrl+Vpaste_imagePanodaki görseli ekler
Ctrl+Ltoggle_plan_boardUzun bir planın bütün adımlarını ya da yalnızca ilerleyenleri gösterir

Prompt'ta Enter mesajı gönderir. Shift+Enter, Ctrl+J ya da Enter'dan önce yazılan bir \ yeni satıra geçer. Yukarı ve Aşağı ok tuşlarıyla mesaj geçmişinizde gezinebilirsiniz. Bir diyalog açıkken çıkış dışındaki bütün oturum tuşları siz cevap verene kadar bekler.

Tuşları değiştirmek

ivralo'nun home dizinindeki keybindings.json ile herhangi bir eylemi başka bir tuşa ya da bir tuş listesine atayabilirsiniz:

{ "search": "ctrl+s", "toggle_files": ["ctrl+r", "f2"], "detach_turn": "f8" }

Dosya oturum başlarken okunur. Prompt'un ya da terminalin zaten kullandığı tuşlar kabul edilmez: Enter, Tab, Esc, Ctrl+C, Ctrl+Q, prompt'un düzenleme tuşları ve terminallerin Backspace, Tab ve Enter olarak gönderdiği Ctrl+H, Ctrl+I ve Ctrl+M. Dosyadaki bir hata oturumu hiçbir zaman durdurmaz: hatalı satır karşılama satırının altında ve ivralo doctor'da adıyla gösterilir, o eylem de varsayılan tuşunda kalır.