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 |
v | Yan yana ve tek sütun görünüm arasında geçiş (120 sütun ve üstünde yan yana) |
u | Onay 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
| Ayar | Varsayılan | Etkisi |
|---|---|---|
IVRALO_AUTO_COMPACT | true | Eşik aşılınca kendiliğinden sıkıştırır |
IVRALO_COMPACT_THRESHOLD | 0.85 | Sı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.
| Komut | Ne yapar |
|---|---|
/new | Yeni bir konuşma başlatır |
/sessions | Son 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 |
/context | Modelin context penceresinin doluluğu |
/memory | Modelin sizinle ilgili hatırladıkları (forget <n>, clear) |
/model [ref] | Kullanılan modeller ya da bu oturumu başka bir modele geçirme |
/agents | Ekipte kimler var |
/skills | Ekibin 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) |
/confirm | Her çağrı için otomatik onayı açar ya da kapatır (Onaylar) |
/accept-edits | Oturum 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 |
/changes | Değ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 |
/trace | Son ç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 |
/help | Komutların ve tuşların listesi |
exit | Çıkış |
Tuşlar
| Tuş | Eylem adı | Ne yapar |
|---|---|---|
| Ctrl+C | quit | Çıkış |
| Esc | cancel_turn | Devam eden turu iptal eder; mesajınız düzenlemeniz için geri gelir |
| Ctrl+B | detach_turn | Çalışan turu kenara katlar, sonra geri getirir |
| Ctrl+N | new_session | Yeni bir konuşma başlatır |
| Ctrl+O | toggle_all | Son turun adımlarını açar ya da bütün adımları kapatır |
| Ctrl+P | toggle_files | Çalışma alanının dosya ağacı; tıkladığınız dosya mesaja eklenir |
| Ctrl+T | toggle_team | Şu an kimin çalıştığı ve bu turda kimlerin yer aldığı |
| Ctrl+D | toggle_changes | Değişiklikler paneli |
| Ctrl+G | context | Context penceresinin doluluğu |
| Shift+Tab | toggle_plan_mode | Her mesaj için önce plan yapmayı açar ya da kapatır |
| Ctrl+F, Ctrl+K | search | Gönderilen mesajlarda, cevaplarda ve çalışma alanındaki dosyalarda arama |
| Ctrl+V | paste_image | Panodaki görseli ekler |
| Ctrl+L | toggle_plan_board | Uzun 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.