Uzaktan kontrol ve mobil
Control Center bir masaüstü uygulamasıdır, ancak izlediği iş siz masanızdan
uzaklaştığınızda durmaz. Uzaktan kontrol, remote.usectrl.dev adresindeki
yardımcı uygulama Remote ile telefonunuzu
cc_server’ınıza eşleştirir; böylece filoyu oradan izleyebilirsiniz: mesajları
ve biletleri okuyun, bir ajana yanıt verin, haber akışınızı triyaj edin —
sunucuda yaşayan ses, transkript, kaynak kod veya kimlik bilgileri oradan hiç
ayrılmadan.
Onu, Control Center’ın ağırlıklı olarak okuma amaçlı bir yardımcısı olarak düşünün. Tam masaüstü istemcisinin yerini alması amaçlanmamıştır.
Aktarım
Bölüm başlığı “Aktarım”Telefon cc_server’a bir WebSocket üzerinden ulaşır: ya doğrudan bir bağlantı
(loopback, LAN, tailnet veya wss://) ya da mühürlenmiş çerçeveleri aktaran
bir sinyal aracısındaki davetle korunan bir oda. Eşten eşe bir veri kanalı
yoktur.
Telefon neler yapabilir
Bölüm başlığı “Telefon neler yapabilir”Eşleştirilmiş telefon, sunucunun yüzeyinin küçük ve kasıtlı bir dilimine ulaşır:
- Okuma: biletler, ajanlar, alanlar ve bunların mesajları ile haber akışınız
- Yanıt verme: bir alanda mesaj gönderin, bir bileti güncelleyin veya atayın, bir makaleyi okundu ya da kaydedildi olarak işaretleyin
- Bir playbook çalıştırma: kaydedilmiş bir plan şablonunu parametreleriyle örnekleyin. Bu yalnızca bir plan önerir; bir operatör tam istemcide Plan Studio’da onaylayana kadar hiçbir şey yürütülmez ve hiçbir harcama yapılmaz
- Çalışma alanlarını değiştirme: telefonun kendi seçicisinden
Neredeyse hepsi bu kadardır. Telefon, tam bir istemciden daha düşük ayrıcalıklı bir principal’dır. Süreç başlatamaz, LLM bütçesi harcayamaz, GitHub’a push yapamaz veya çalışma alanı oluşturamaz. Bunun yalnızca amaçlanmadığını, nasıl uygulandığını erişim modelinde görün.
Bağlantı nasıl kurulur
Bölüm başlığı “Bağlantı nasıl kurulur”Bağlantı aracılı bir aktarıcı üzerinden ilerler: sunucu, bir wss://
aracısındaki davetle korunan tek bir odaya sahibi olarak katılır ve
eşleştirilmiş her istemci — masaüstü, web, telefon — süreyle sınırlı bir giriş
belirteciyle aynı odaya katılır. Üç parça bir araya gelir:
| Parça | Rol |
|---|---|
| Remote (telefon uygulaması) | Varsayılan olarak remote.usectrl.dev adresinde ya da kendi sunucunuzda barındırılan yardımcı web uygulaması. Tarayıcıda yüklenir, eşleştirme kaydını IndexedDB’de tutar. |
| Aktarma aracısı | N yönlü odalar barındıran durumsuz bir wss:// aktarıcısı (cc_signaling_server). Yalnızca opak çerçeveler taşır: her yük, telefon ile sunucu arasında uçtan uca mühürlenir; böylece aracı ne uygulama verisini ne de eşleştirme sırrını görür ve ilettiği şeyi hiçbir zaman yorumlamaz. |
cc_server |
Odanın sahibi. Telefonun çağrılarını, diğer tüm istemcilerin kullandığı aynı dağıtıcı üzerinden yanıtlar. |
Bir eşleştirme teklifi, sunucuya giden her yolu (LAN, tailnet, genel wss://,
aktarıcı) ve kimlik parmak izini listeleyen bir bağlantı tanımlayıcısı
taşır. Telefonun çözümleyicisi erişilebilen en iyi yolu seçer ve ilk bağlantıda
parmak izini sabitler (TOFU); aktarıcı, doğrudan bir yol olmasa bile bağlantıyı
garanti eder ve trafiği hiçbir zaman okuyamaz.
Eşleştirme yükü nedir
Bölüm başlığı “Eşleştirme yükü nedir”Eşleştirme uygulamadan üretilir ve bir derin bağlantı olarak iletilir; yordam için Bir cihaz eşleştirme sayfasına bakın. Burada önemli olan yapısıdır.
https://<pwa-host>/#<payload>Yük, URL parçasında — # sonrasındaki ve tarayıcıların sunucuya asla
göndermediği bölümde — ilerler; böylece PWA’nın HTTPS ana makinesi onu hiç
görmez. Telefonun sunucuya ulaşmak ve kim olduğunu kanıtlamak için ihtiyaç
duyduğu her şeyi taşır: bağlantı tanımlayıcısı (her yol artı kimlik parmak
izi), yeni üretilmiş bir cihaz kimliği, 32 baytlık bir ön paylaşımlı anahtar ve
bir son kullanma damgası. Telefon bunu çözer, yerel olarak bir eşleştirme kaydı
saklar ve parçayı kaldırır; böylece sır URL’den çıkar.
İki yük biçimi vardır ve bunlar birbirinin yerine geçmez. Uygulama içi
eşleştirme panelinden üretilen telefon QR’ı, Remote PWA ana makinesine
yöneltilmiş yukarıdaki v2 PairingPayload’dır. cc_server pair --client-url
ise yalnızca web istemcisi için tasarlanmış, farklı ve daha eski bir v1
bağlantısı üretir ({s, i, k} — sunucu URL’si, cihaz kimliği, anahtar).
Ayrıca ömürleri de farklıdır ve bu kolayca yanlış anlaşılır:
| Üreten | Kimlik bilgisinin son kullanma süresi |
|---|---|
Uygulama içi eşleştirme paneli (pairing.mint) |
Her zaman 30 gün |
Komut satırında cc_server pair |
Yok — kimlik bilgisinin süresi dolmaz |
Erişim modeli
Bölüm başlığı “Erişim modeli”Eşleştirilmiş bir cihazın kimliği doğrulanır ama güvenilmez. Birkaç bağımsız kapı, onaylanmış (ya da sızdırılmış) bir eşleştirmenin sunucunun tam denetimine dönüşmesini engeller.
1. Sınır eşleştirme değil, üyeliktir
Bölüm başlığı “1. Sınır eşleştirme değil, üyeliktir”Geçerli bir eşleştirme anahtarı, hangi cihaz olduğunuzu kanıtlar. Neyi okuyabileceğinize veya değiştirebileceğinize çalışma alanı rolünüz karar verir; rol her bir çağrıda yeniden çözümlenir ve depo içeriğini açığa çıkaran her şeyde depo başına yetkiler geçerlidir. Sağlam bir anahtar taşıyan ancak adı verilen çalışma alanının üyesi olmayan bir kullanıcıya ait cihaz, “Not a member of this workspace” ile reddedilir.
Rol tabanı, işlem kendi tabanını bildirmediği sürece türünden türetilir:
okumalar guest, değişiklikler member, yıkıcı işlemler admin gerektirir.
2. Telefon daha düşük bir oturum katmanıdır
Bölüm başlığı “2. Telefon daha düşük bir oturum katmanıdır”Rol denetiminin ötesinde, bir telefon oturumu masaüstü veya web oturumundan daha düşük bir yetenek taşır. Yalnızca tam istemciye açık olduğu bildirilen işlemler, arkasındaki kullanıcı ne kadar ayrıcalıklı olursa olsun, işleyici çalışmadan önce telefon için reddedilir: cihaz eşleştirmelerini üretme, listeleme, yeniden adlandırma ve iptal etme; tünel bağlantısını okuma ve ayarlama; sunucu yedekleme ve çalışma alanı dışa/içe aktarma; süreç algılama ve sonlandırma; adaptör yoklamaları; sunucu ayarları; SSO yönetimi; filo denetimi; ve çalışan bir ajanı devralma veya geri verme.
3. Varsayılanı ret olan bir araç izin listesi
Bölüm başlığı “3. Varsayılanı ret olan bir araç izin listesi”Özellikle MCP araç yüzeyi için (tools/call), telefonun hangi araçları
çağırabileceğini varsayılanı ret olan bir izin listesi belirler. Listede
olmayan her şey, çalışmadan önce reddedilir. Liste ağırlıklı olarak okuma ve
gözlem ağırlıklıdır; buna LLM bütçesi harcamayan, süreç başlatmayan ve hiçbir
dış sisteme dokunmayan birkaç yalnızca yerel yazma eklenir — bir mesaj, bir
bilet güncellemesi, bir makale işareti.
Örneğin reddedilenler: bir ajana danışmak, bir YZ incelemesi başlatmak, bir ajanı sonlandırmak, bir incelemeyi GitHub’a yayımlamak, ajanları işe almak veya işten çıkarmak, bir çalışma alanı oluşturmak.
4. Çağrı başına çalışma alanı kapsamı
Bölüm başlığı “4. Çağrı başına çalışma alanı kapsamı”Sunucu hiçbir “geçerli çalışma alanı” tutmaz. Tasarımı gereği
durumsuzdur: çalışma alanı kapsamlı her çağrı, hedefini bağımsız
değişkenlerinde workspace_id olarak adlandırmak zorundadır; bu eksikse ya da
sunucunun kayıtlı olmadığı bir çalışma alanını adlandırıyorsa, herhangi bir şey
veritabanı açmadan önce dağıtıcı çağrıyı doğrudan reddeder. Dolayısıyla telefon,
başka bir istemcinin kapsamını asla devralamaz veya oraya kayamaz; yabancı bir
çalışma alanını adlandırmak da işe yaramaz, çünkü 1. kapıdaki üyelik denetimi
yine geçerlidir. Bu, ürünün geri kalanının uyguladığı aynı
çalışma alanı yalıtımı
değişmezidir.
5. Ön paylaşımlı anahtarla anahtarlanan uçtan uca mühürlenmiş çerçeveler
Bölüm başlığı “5. Ön paylaşımlı anahtarla anahtarlanan uçtan uca mühürlenmiş çerçeveler”Telefon ile sunucu arasındaki her çerçeve eşleştirme anahtarıyla mühürlenir; giriş belirteci yalnızca bir istemciyi odaya sokar, hiçbir şeyin şifresini çözmez. Aracı yalnızca şifreli metni aktarır ve anahtarı hiç görmez. İptal edilen bir cihaz, kimlik bilgisinin çoktan gittiğini görür; bu yüzden yeniden bağlandığında kapalı yönde başarısız olur.
Uygulamanın ürettiği kimlik bilgisi 30 günle sınırlıdır; bu süreden sonra bağlantı kapısı onu geçersiz kılar ve telefonun yeniden eşleştirmesi gerekir. İptal canlıdır: sunucu cihaz tablosunu izler ve iptal edilmiş bir cihazın açık oturumlarını, bir sonraki bağlantısını beklemeden saniyeler içinde düşürür.
6. Principal başına hız sınırlama
Bölüm başlığı “6. Principal başına hız sınırlama”Kayan pencereli bir sınırlayıcı, uzak araç trafiğini dakikada 120 çağrıyla sınırlar; değişiklik yapan fiiller için daha sıkı, dakikada 30’luk bir alt sınır vardır. Bütçe oturuma değil, principal’a aittir: üç cihazınız tek bir ödenekten çeker; böylece ele geçirilmiş bir istemci daha fazla oturum açarak kendine pay satın alamaz ve gürültücü bir üye diğerlerini aç bırakamaz.
7. Hiçbir şey öğrenmeyen bir aracı
Bölüm başlığı “7. Hiçbir şey öğrenmeyen bir aracı”Aktarma aracısı kasıtlı olarak aptaldır: odalar barındırır, mühürlenmiş çerçeveleri iletir ve hiçbir hesap, uygulama verisi veya anahtar tutmaz. Odalar davetle korunur ve geçicidir. Uygulama verisi, ses, transkript, kaynak ve kimlik bilgileri sunucuda kalır.
Canlı güncellemeler
Bölüm başlığı “Canlı güncellemeler”Eşleştirildikten sonra telefon, masaüstünün kendi bildirimlerini yansıtan bildirim çerçeveleri biçiminde canlı güncellemeler alır — yeni ajan mesajları, size atanan biletler, durum değişiklikleri. Sunucu bu çerçeveleri bağlı her oturuma yayınlar ve çalışma alanı filtresi istemci tarafında uygulanır; böylece gördükleriniz, baktığınız çalışma alanıyla sınırlıdır.
Nerede bulunur
Bölüm başlığı “Nerede bulunur”| Yüzey | Ne gösterir |
|---|---|
Ayarlar → Siz → Cihazlarınız (/workspaces/:workspaceId/settings/you/devices) |
Canlı durumlarıyla eşleştirilmiş istemciler, ayrıca Yeni istemci eşle (web tarayıcısı, masaüstü uygulaması veya telefon) ve iptal etme |
Aynı panel, yalnızca telefonlar için değil, ikinci bir tarayıcı ya da masaüstü uygulaması için de eşleştirme üretir — akış aynıdır, yalnızca derin bağlantı farklıdır.
İlgili kavramlar
Bölüm başlığı “İlgili kavramlar”- Çalışma alanları ve yalıtım: bu sayfanın dayandığı çağrı başına kapsam
- Çok oyunculu — kimlik, üyelik ve varlık: roller, üyelik ve depo yetkileri
- Dağıtım ve istemciler: uzaktan kontrolün istemci katmanları arasındaki yeri
- Mimari: uzaktan kontrolün yığındaki yeri
- Bir cihaz eşleştirme