Özellik detayı · 3 / 8

Windows Terminal Entegrasyonu

Tab title canlı, toast bildirim native — Windows-first.

Çoğu AI agent macOS/Linux odaklı. Kanka Windows'u birinci sınıf vatandaş olarak görür: OSC escape codes ile native Windows Terminal entegrasyonu. Sıfır bağımlılık, sıfır kurulum.

TL;DR
  • OSC 0 ile canlı tab title — 'kanka · düşünüyor…', 'kanka · komut çalıştırıyor'
  • OSC 9 ile masaüstü bildirim — 30s+ tool'lar bitince toast
  • Multi-tasking için ideal — başka pencereye bakarken haberin olur
  • Windows Terminal + WezTerm + iTerm2 destekli
  • KANKA_NO_TERMINAL_INTEGRATION=1 ile devre dışı

Canlı tab title

Kanka çalışırken Windows Terminal tab başlığı dinamik olarak değişir:

DurumTab title
Agent boştaykenkanka · hazır
LLM düşünürkenkanka · düşünüyor…
Bash çalışırkenkanka · komut çalıştırıyor
Read sırasındakanka · dosya okuyor
Write sırasındakanka · dosya yazıyor
Subagent çağırırkenkanka · subagent çağırıyor
💡
Multi-tasking yaparken birden fazla terminal sekmesi açıksan, hangisinde kanka çalışıyor anında görürsün.

Masaüstü bildirim

30 saniyeden uzun süren tool'lar bittiğinde Windows Terminal toast bildirimi gönderir:

Windows Terminal toast
🔔 kanka
cevabım hazır (32s)

Sen başka pencereye bakıyorken veya kahve molasındayken haberin olur. 30 saniye eşiği KANKA_TOAST_THRESHOLD ile değiştirilebilir.

Test komutları

/tab-title <metin>Manuel tab title değiştir (debug için)
/bildir <metin>Test toast bildirimi gönder

OSC nasıl çalışır?

Operating System Command (OSC) escape sequence'leri stdout'a yazılan özel metin parçalarıdır. Terminal emülatörü bunları görsel olarak yorumlar:

src/extensions/windows-terminal.ts (özet)· ts
// Tab title set (OSC 0)
process.stdout.write(`\x1b]0;${title}\x07`);

// Desktop toast (OSC 9 — Windows Terminal extension)
process.stdout.write(`\x1b]9;${title};${body}\x07`);

pi.on("tool_call_start", (e) => {
  const labels = {
    bash: "komut çalıştırıyor",
    read: "dosya okuyor",
    write: "dosya yazıyor",
    edit: "dosya düzenliyor",
  };
  setTabTitle(`kanka · ${labels[e.toolName] ?? e.toolName}`);
});

pi.on("tool_call_end", (e) => {
  const duration = Date.now() - e.startTime;
  if (duration > 30_000) {
    sendToast("kanka", `${e.toolName} bitti (${Math.round(duration/1000)}s)`);
  }
});

Desteklenen terminaller

TerminalTab title (OSC 0)Toast (OSC 9)
Windows Terminal✓ native✓ native
WezTerm✓ native✓ native
iTerm2 (macOS)✓ native✓ native
Alacritty✓ native✗ (OSC 9 desteklemez)
GNOME Terminal✓ native
macOS Terminal.app✓ native
Cmd.exe / ConEmukısmen
Git Bashkısmen
OSC 9 desteği olmayan terminallerde toast bildirim sessizce atlanır — hata vermez. Tab title hemen her yerde çalışır.

Devre dışı bırakma

Tab title değişiklikleri rahatsız ediyorsa environment variable ile kapatabilirsin:

# Tek seferlik
KANKA_NO_TERMINAL_INTEGRATION=1 kanka

# Kalıcı (~/.bashrc, ~/.zshrc veya PowerShell $PROFILE)
export KANKA_NO_TERMINAL_INTEGRATION=1

Sıkça Sorulanlar

Tab title değişmiyor, niye?

Terminal'in OSC 0 desteği yok olabilir. Windows Terminal / WezTerm / iTerm2 dene. Cmd.exe'de garantili çalışmaz.

Toast bildirim gelmiyor

OSC 9 sadece Windows Terminal, WezTerm, iTerm2'de destekli. Diğerlerinde sessizce atlanır. Windows Terminal'de 'Settings > General > Notifications' açık mı kontrol et.

Custom eşik koyabilir miyim?

Henüz yok — şu an sabit 30s. v0.6.0'da KANKA_TOAST_THRESHOLD env değişkeni eklenecek.

🔔 Windows Terminal Entegrasyonu'ni dene

npm üzerinden 30 saniyede kur, hemen kullan.

$npm install -g @thorrangonak/kanka
GitHub →
← Tüm özelliklere dön