# Bildirimler — Liu Terminal

> Liu Terminal bildirimleri. Yapay zeka ajanları görevleri bitirdiğinde yapılandırılabilir kancalar ve ses uyarıları ile haberdar olun.

URL: https://liu.software/tr/docs/notify/  
Language: tr  
Updated: 2026-10-17

liu-notify isteğe bağlı bağımsız bir süreçtir; Liu arayüzü aynı sunucuyu işlem içinde de barındırabilir. Yerel soket üzerinden v1 24 baytlık veya isteğe bağlı meta verili güncel v2 28 baytlık başlık kabul eder, token-bucket ile hız sınırlar, aynı olayları tekilleştirir ve her (ajan, olay) çifti için ses (veya konuşma satırı) yönlendirir.

## Çalıştırma

```
# Ana uygulama ile birlikte derleyin
cmake --build build --target liu-notify

# Arka plan programını başlat
./build/liu-notify daemon

# Tek seferlik bir olay gönder
./build/liu-notify send --tool=claude --event=stop
```

Yapılandırma ~/.config/liu/notify.conf (veya $XDG\_CONFIG\_HOME/liu/notify.conf) dosyasındadır — ana uygulamanın config.json dosyasından ayrıdır, böylece daemon Liu çalışmıyorken bile kullanılabilir.

Liu çalışırken bildirim sunucusunu arayüz kendi işlemi içinde barındırır; CLI'ın ikinci bir daemon başlatması gerekmez. Dinleyen sunucu yoksa send olayı teslim etmeden çıkar. Bağımsız daemon'ı yalnızca bildirimlerin Liu olmadan da çalışması gerektiğinde kullanın.

## Desteklenen ajan hook'ları

Liu, uygulama çalışırken aşağıdaki ajanlar için yaşam döngüsü hook'larını kurup kaldırabilir. Hook, ajanın kendi yapılandırmasına yazılır; Liu sunucu instance'ı kapandığında yönettiği girdiyi kaldırır.

| Ajan | Hook yüzeyi | Sinyaller | Notlar |
| --- | --- | --- | --- |
| Claude Code | `~/.claude/settings.json` | `start · notify · complete` | UserPromptSubmit çalışma durumunu başlatır; Notification ve Stop sizi uyarabilir. |
| Codex | `~/.codex/config.toml` | `complete` | Stop hook'u tamamlanan turu bildirir. Güvenmek için Codex içinde bir kez /hooks çalıştırın. |
| Grok | `~/.grok/hooks/liu-notify.json` | `notify · complete` | Notification ve üst düzey Stop olayları işlenir; alt ajan tamamlanmaları sessiz kalır. |
| OpenCode | `~/.config/opencode/plugins/liu-notify.js` | `complete` | Yönetilen eklenti, üst düzey session.idle olaylarını dinler. |
| Antigravity | `~/.gemini/config/hooks.json` | `complete` | Adlandırılmış Stop hook'u üst düzey çalıştırma döngüsü bittiğinde bildirim gönderir. |
| Command Code | `~/.commandcode/settings.json` | `complete` | Claude uyumlu ayar şeması üst düzey Stop olayına bağlanır. |

Copilot ve custom, düşük seviyeli bildirim protokolü ve ses matrisi tarafından kabul edilir; ancak Liu henüz bunlar için otomatik yaşam döngüsü hook'u kurmaz. Diğer ajanlar Liu sekmelerinde normal şekilde çalışır, yalnızca otomatik hook bildirimleri almaz.

## Araç × Olay Matrisi

Herhangi bir kombinasyon için ses kuralı yapılandırın. Ayarlanmamış hücreler genel kurala düşer.

|  | start | stop | notify | error | complete |
| --- | --- | --- | --- | --- | --- |
| claude | · | · | · | · | · |
| copilot | · | · | · | · | · |
| codex | · | · | · | · | · |
| custom | · | · | · | · | · |

## Çerçeve Biçimi

v1 başlığı 24 bayttır; güncel v2 başlığı meta\_len alanını eklediği için 28 bayttır. Tam çerçeve 4096 bayt ile sınırlıdır. Doğrulama tests/fuzz\_notify\_validate.c ile fuzz testine tabi tutulur; bozuk çerçeveler sunucuyu çökertmeden güvenli biçimde reddedilir.

```
offset  size  field
0       4     magic      ('N','T','F','Y')
4       2     version    (1 or current 2)
6       2     flags      (speak=1, bell=2)
8       1     tool_id    (claude=1, copilot=2, codex=3, custom=255)
9       1     event_id   (start=1, stop=2, notify=3, error=4, complete=5)
10      1     priority   (reserved)
11      1     source     (cli=0, stdin=1, test=2)
12      4     seq        (client nonce — for dedup)
16      4     title_len  (<= 256)
20      4     body_len   (<= 3072)
24      4     meta_len   (v2 only, <= 512)
payload         title, body, then metadata key=value lines
                total frame <= 4096 bytes
```

v2 meta veri bölümü şu anda cwd=, session= ve agent= satırlarını taşır. Hook göndericileri olayı doğru bölmeyle eşleştirmek için bunları kullanır; ileriye dönük uyumluluk için bilinmeyen anahtarlar yok sayılır.

## Platform Arka Uçları

Aynı çerçeve, farklı konuşmacı. macOS AVSpeechSynthesizer kullanır, Linux ise notify-send'e yönelir. Her arka uç kendi dosyasında (platform\_notify\_macos.m, platform\_notify\_linux.c) bulunur, böylece birini değiştirmek veya saplamak tek dosya değişikliğidir.

[Sonraki Yapılandırma →](https://liu.software/tr/docs/config.md)
