WebChat (Gateway WebSocket UI)
Durum: macOS/iOS SwiftUI sohbet arayüzü doğrudan Gateway WebSocket ile konuşur.Nedir
- Gateway için yerel bir sohbet arayüzü (gömülü tarayıcı ve yerel statik sunucu yok).
- Diğer kanallarla aynı oturumları ve yönlendirme kurallarını kullanır.
- Deterministik yönlendirme: yanıtlar her zaman WebChat’e geri döner.
Hızlı başlangıç
- Gateway’i başlatın.
- WebChat UI’yi (macOS/iOS uygulaması) veya Control UI sohbet sekmesini açın.
- Geçerli bir gateway auth yolunun yapılandırıldığından emin olun (varsayılan olarak paylaşılan gizli anahtar, loopback üzerinde bile).
Nasıl çalışır (davranış)
- UI, Gateway WebSocket’e bağlanır ve
chat.history,chat.sendvechat.injectkullanır. chat.history, kararlılık için sınırlıdır: Gateway uzun metin alanlarını kısaltabilir, ağır meta verileri atlayabilir ve aşırı büyük girdileri[chat.history omitted: message too large]ile değiştirebilir.chat.historyayrıca görüntüleme için normalize edilir:[[reply_to_*]]ve[[audio_as_voice]]gibi satır içi teslim yönergesi etiketleri, düz metin araç çağrısı XML yükleri (<tool_call>...</tool_call>,<function_call>...</function_call>,<tool_calls>...</tool_calls>,<function_calls>...</function_calls>ve kısaltılmış araç çağrısı blokları dahil) ve sızmış ASCII/tam genişlikli model kontrol token’ları görünür metinden çıkarılır, ayrıca tüm görünür metni yalnızca tam sessiz tokenNO_REPLY/no_replyolan asistan girdileri atlanır.chat.inject, doğrudan döküme bir asistan notu ekler ve bunu UI’ye yayınlar (ajan çalıştırması yok).- İptal edilen çalıştırmalar, kısmi asistan çıktısını UI’de görünür tutabilir.
- Gateway, tamponlanmış çıktı mevcut olduğunda iptal edilmiş kısmi asistan metnini döküm geçmişine kalıcı olarak yazar ve bu girdileri iptal meta verileriyle işaretler.
- Geçmiş her zaman gateway’den alınır (yerel dosya izleme yok).
- Gateway’e ulaşılamıyorsa, WebChat salt okunurdur.
Control UI agents araçlar paneli
- Control UI
/agentsTools panelinin iki ayrı görünümü vardır:- Şu Anda Kullanılabilir,
tools.effective(sessionKey=...)kullanır ve geçerli oturumun çalışma zamanında gerçekten kullanabildiği araçları gösterir; buna çekirdek, eklenti ve kanal sahipli araçlar dahildir. - Araç Yapılandırması,
tools.catalogkullanır ve profillere, geçersiz kılmalara ve katalog semantiğine odaklanmayı sürdürür.
- Şu Anda Kullanılabilir,
- Çalışma zamanı kullanılabilirliği oturum kapsamlıdır. Aynı ajan üzerinde oturum değiştirmek Şu Anda Kullanılabilir listesini değiştirebilir.
- Yapılandırma düzenleyicisi çalışma zamanı kullanılabilirliğini ima etmez; etkili erişim yine de ilke
önceliğini izler (
allow/deny, ajan başına ve sağlayıcı/kanal geçersiz kılmaları).
Uzak kullanım
- Uzak mod, gateway WebSocket’i SSH/Tailscale üzerinden tüneller.
- Ayrı bir WebChat sunucusu çalıştırmanız gerekmez.
Yapılandırma başvurusu (WebChat)
Tam yapılandırma: Configuration WebChat seçenekleri:gateway.webchat.chatHistoryMaxChars:chat.historyyanıtlarındaki metin alanları için maksimum karakter sayısı. Bir döküm girdisi bu sınırı aştığında, Gateway uzun metin alanlarını kısaltır ve aşırı büyük mesajları bir yer tutucuyla değiştirebilir. İstemci ayrıca tek birchat.historyçağrısı için bu varsayılanı geçersiz kılmak üzere istek başınamaxCharsgönderebilir.
gateway.port,gateway.bind: WebSocket ana makinesi/bağlantı noktası.gateway.auth.mode,gateway.auth.token,gateway.auth.password: paylaşılan gizli anahtar WebSocket kimlik doğrulaması.gateway.auth.allowTailscale: tarayıcıdaki Control UI sohbet sekmesi, etkinleştirildiğinde Tailscale Serve kimlik üst bilgilerini kullanabilir.gateway.auth.mode: "trusted-proxy": kimlik farkındalığı olan loopback olmayan bir proxy kaynağının arkasındaki tarayıcı istemcileri için reverse-proxy kimlik doğrulaması (bkz. Trusted Proxy Auth).gateway.remote.url,gateway.remote.token,gateway.remote.password: uzak gateway hedefi.session.*: oturum depolama ve ana anahtar varsayılanları.