Skip to main content
Ajan Paneli, mobil uygulama ve çalışan bir oturumla eşleşen herhangi bir araç, orkestratörün eşleştirme dinleyicisine tek küçük bir WebSocket protokolü konuşur. Bir üçüncü taraf ana makine, o protokol üzerine kurduğunuz herhangi bir istemcidir — bir Blender paneli, bir tarayıcı eklentisi, bir CLI, başka bir düzenleyici — canlı bir masaüstü sekmesine tutunur ve onun ajan oturumunu sürer. Aynı ajan, aynı bağlam, ikinci bir Claude Code süreci yok, kullanıcının kuracağı ekstra bir şey yok.
Bu, mobil uygulamanın üzerine kurulduğu tam yüzeydir. Bir WebSocket açıp JSON gönderebiliyorsanız bir ana makine kurabilirsiniz.

Nasıl çalışır

1

Masaüstü zaten dinliyor

Ajan Paneli açıkken orkestratör LAN’da token kapılı bir eşleştirme dinleyicisi çalıştırır (bkz. Uç noktalar). Açık her panel sekmesi, kararlı bir tab_id ve canlı bir ajan oturumu olan bir masaüstü sekmesidir.
2

Ana makineniz eşleştirme token'ıyla bağlanır

Eşleştirme URL’sine token sorgu dizisinde bir WebSocket açın. Geçerli bir token olmadan bağlantı reddedilir — eşleştirme bütün güvenlik sınırıdır.
3

Sekmeleri listeleyin ve birine tutunun

Açık masaüstü sekmelerini keşfetmek için list_tabs gönderin, sonra birini yansıtmak için attach_tab. Ana makineniz artık o sekmenin etkinliğini (akışlı) alır ve onu sürebilir.
4

Paylaşılan oturumu sürün

user_message çerçeveleri gönderin. Tutunmuşken sunucu onları yansıtılan sekmeye yönlendirir — böylece mesajınız masaüstü ajanının içinde olduğu aynı konuşmaya girer. Onu “bir ajan, paylaşılan bağlam” yapan, ikinci bir oturum değil, budur.

Uç noktalar

Eşleştirme dinleyicisi köprü portundan türetilir (COMFYUI_MCP_BRIDGE_PORT, varsayılan 9180): Eşleştirme URL’si:
  • Token ya kullanıcı tarafından COMFYUI_MCP_PAIR_TOKEN ile sabitlenir (her zaman açık eşleştirme) ya da oturum başına basılır ve panelin QR / eşleştirme akışıyla dağıtılır. Ana makineniz onu mobil uygulamanın aldığı şekilde alır: kullanıcı bir kez eşleştirir.
  • Varsayılan olarak LAN’a bağlıdır, ama kullanıcı istediğinde herkese açık dışa açma yerleşiktir: panelin eşleştirme kutusı şifreli bir cloudflared hızlı tünel açan bir İnternet kipi sunar ve kuruluşlar onu kendi barındırdıkları bir röle üzerinden yönlendirebilir (COMFYUI_MCP_TUNNEL_BACKEND=relay). Token her iki yolda da kapılamaya devam eder.

Mesaj biçimleri

Tüm çerçeveler bir type taşıyan JSON nesneleridir. İstek/yanıt çerçeveleri sizin seçtiğiniz, eşleşen yanıtta yankılanan bir cid (bağıntı kimliği) taşır.

Gelen — ana makine → orkestratör

Tutunmuşken gönderdiğiniz diğer panel olayları da aynı şekilde yansıtılan sekmeye yönlendirilir.

Giden — orkestratör → ana makine

Artı yansıtılan sekmenin canlı ajan etkinliği (akışlı yanıtlar, durum, kartlar); ana makineniz bunları çizer.
attach_tab yetkilidir — hedefi sahteleyemezsiniz. Sunucu, giden bir çerçeveye koyduğunuz herhangi bir tab_id’yi gerçekten tutunduğunuz sekmeyle üzerine yazar. Bir ana makine yalnızca açıkça tutunduğu bir sekmeyi sürebilir. Bu kasıtlıdır; aşağıya bakın.

Güvenlik değişmezleri — bir ana makine BUNLARI korumalıdır

Bunlar eşleştirmeyi güvenli kılan garantilerdir. Onlara saygı duyan bir ana makine kurmak bütün sözleşmedir; onları atlatmaya çalışan bir ana makine, dinleyicinin reddetmek üzere tasarladığı şeydir.
Bunları korumak ana makineniz üzerinde bir kısıt değildir — özelliğin kendisidir. Bir istemcinin hiç eşleşmediği bir oturumu ele geçirmesini durdururlar.
  1. Token kapısı. Dinleyici geçerli bir eşleştirme token’ı olmadan herhangi bir bağlantıyı reddeder (verifyClient). Token’ı otomatik gönderen ya da gömen bir akış asla kurmayın — kullanıcı bir kez, kasıtlı eşleştirir.
  2. Yetkili attach_tab damgalama. Çerçevelerinizin hangi sekmeyi hedeflediğine istemci değil sunucu karar verir. Yönlendirme için istemcinin verdiği tab_id’ye bel bağlamayın; önce tutunun, sonra gönderin.
  3. Yalnızca başsız olmayan hedefler. Gerçek bir masaüstü sekmesine tutunabilirsiniz, başka bir başsız istemciye asla (başka bir telefonu/ana makineyi yansıtamazsınız).
  4. Aynı anda bir sekme. B’ye tutunmak A’ya aboneliğinizi düşürür. Bağlantı başına tek etkin yansımayı modelleyin.
  5. Sabit soket türü. Bir bağlantının türü (başsız ya da masaüstü) ilk hello’sunda sabittir; ele geçirme korumalarından kaçmak için onu çevirmeye çalışmayın.

Asgari başvuru istemcisi

Adaptörünüzü bir LLM’ye yaptırın

Aşağıdaki istemi Claude, ChatGPT ya da kodlama ajanınıza yapıştırın; sizin platformunuz için bir ana makine adaptörü iskeletlesin. Tam protokol sözleşmesini taşır, böylece modelin tahmin etmesi gerekmez.
Copy this into your LLM

Entegrasyonunuzu kaydedin

Bir şey mi kurdunuz? Kaydedin; listelenebilsin ve protokol değişikliklerini yayımlanmadan önce size işaretleyebilelim:

Üçüncü taraf bir ana makine kaydedin

GitHub’da kayıt şablonunu açın — ad, platform, depo ve hangi protokol sürümüne karşı kurduğunuz.
Kararlılık: yukarıdaki çerçeveler mobil uygulamanın üzerine yayımladığı şeydir, ama bu henüz dondurulmuş, sürümlenmiş bir sözleşme değildir — yetke olarak kaynağı okuyun (src/services/ui-bridge.ts) ve biçimler hareket ettiğinde haberdar edilmek için ana makinenizi kaydedin.