Távoli vezérlés és mobil
A Control Center asztali alkalmazás, de a munka, amelyet nyomon követ, nem áll
meg, amikor feláll az íróasztalától. A távoli vezérlés a
Remote társalkalmazással párosítja a
telefonját a cc_server példányával — a Remote a remote.usectrl.dev címen
érhető el —, így onnan is követheti a flottát: elolvassa az üzeneteket és a
jegyeket, válaszol egy ügynöknek, triázsolja a hírfolyamát, anélkül hogy a
szerveren tárolt hanganyag, átirat, forráskód vagy hitelesítő adatok valaha
elhagynák a szervert.
Gondoljon rá úgy, mint a munkaasztal túlnyomórészt olvasásra szánt társára. Nem a teljes asztali kliens kiváltására készült.
Átvitel
Szekció neve “Átvitel”A telefon WebSocketen keresztül éri el a cc_server-t: vagy közvetlen
kapcsolaton (loopback, LAN, tailnet vagy wss://), vagy egy jelzőközvetítőn
lévő, meghívóval védett szobán keresztül, amely lezárt kereteket továbbít.
Peer-to-peer adatcsatorna nincs.
Mit tud a telefon
Szekció neve “Mit tud a telefon”A párosított telefon a szerver felületének egy szűk, szándékosan kijelölt szeletét éri el:
- Olvasás: jegyek, ügynökök, terek és azok üzenetei, valamint a hírfolyama
- Válasz: üzenet küldése egy térben, jegy frissítése vagy hozzárendelése, cikk olvasottként vagy mentettként jelölése
- Playbook futtatása: egy mentett tervsablon példányosítása a paramétereivel. Ez csak javasol egy tervet; semmi nem fut le és semmi nem kerül elköltésre, amíg egy kezelő jóvá nem hagyja a Plan Studióban, teljes klienst használva
- Munkaterület-váltás, a telefon saját választójából
Ez már majdnem mindent lefed. A telefon alacsonyabb jogosultságú szereplő, mint egy teljes kliens. Nem tud folyamatokat indítani, LLM-keretet elkölteni, a GitHubra pusholni vagy munkaterületet létrehozni. Hogy mindez nem puszta szándék, hanem kikényszerített szabály, arról a hozzáférési modell alatt olvashat.
Hogyan épül fel a kapcsolat
Szekció neve “Hogyan épül fel a kapcsolat”A kapcsolat egy közvetített relén halad át: a szerver tulajdonosként belép
egy meghívóval védett szobába egy wss:// közvetítőn, és minden párosított
kliens — asztali, webes, telefonos — ugyanabba a szobába lép be egy időben
korlátozott belépési tokennel. Három elem áll össze:
| Elem | Szerep |
|---|---|
| Remote (telefonos alkalmazás) | A társ-webalkalmazás, amely alapértelmezés szerint a remote.usectrl.dev címen fut, de saját szerveren is hosztolható. Böngészőben töltődik be, és a párosítási rekordot IndexedDB-ben tárolja. |
| Relé-közvetítő | Egy állapotmentes wss:// relé (cc_signaling_server), amely N irányú szobákat szolgál ki. Csak átlátszatlan kereteket szállít: minden hasznos teher végpontok között le van zárva a telefon és a szerver között, így a közvetítő soha nem lát alkalmazásadatot vagy párosítási titkot, és soha nem értelmezi azt, amit továbbít. |
cc_server |
A szoba tulajdonosa. A telefon hívásaira ugyanazon a diszpécseren keresztül válaszol, amelyet minden más kliens is használ. |
A párosítási ajánlat egy kapcsolatleírót szállít, amely felsorolja a
szerverhez vezető összes útvonalat (LAN, tailnet, nyilvános wss://, relé),
valamint az identitás-ujjlenyomatát. A telefon feloldója a legjobban elérhető
útvonalat választja, és az első csatlakozáskor rögzíti az ujjlenyomatot (TOFU);
a relé akkor is garantálja a kapcsolatot, ha egyetlen közvetlen útvonal sem
létezik, miközben soha nem képes elolvasni a forgalmat.
Mi a párosítási csomag
Szekció neve “Mi a párosítási csomag”A párosítás az alkalmazásból indul ki, és deep linkként jut el a telefonra; az eljárást lásd az Eszköz párosítása oldalon. Itt az összetétel a lényeg.
https://<pwa-host>/#<payload>A hasznos teher az URL töredékében utazik — a # utáni részben, amelyet a
böngészők soha nem küldenek el a szervernek —, így a PWA HTTPS-gazdagépe soha
nem látja. Mindent tartalmaz, amire a telefonnak szüksége van ahhoz, hogy elérje
a szervert és igazolja, ki ő: a kapcsolatleírót (minden útvonalat és az
identitás-ujjlenyomatot), egy frissen kiállított eszközazonosítót, egy 32 bájtos
előre megosztott kulcsot és egy lejárati időbélyeget. A telefon dekódolja,
helyben tárol egy párosítási rekordot, majd eltávolítja a töredéket, hogy a
titok kikerüljön az URL-ből.
Két csomagforma létezik, és ezek nem felcserélhetők. Az alkalmazáson belüli
párosítási panelen kiállított telefonos QR a fenti v2 PairingPayload, amely a
Remote PWA gazdagépére mutat. A cc_server pair --client-url egy másik, régebbi
v1 hivatkozást bocsát ki ({s, i, k} — szerver URL, eszközazonosító, kulcs),
amelyet kizárólag a webes klienshez szántak.
Az élettartamukban is különböznek, amit könnyű eltéveszteni:
| Kiállítója | A hitelesítő adat lejárata |
|---|---|
Alkalmazáson belüli párosítási panel (pairing.mint) |
30 nap, mindig |
cc_server pair a parancssorból |
Nincs — a hitelesítő adat nem jár le |
A hozzáférési modell
Szekció neve “A hozzáférési modell”A párosított eszköz hitelesített, de nem megbízható. Több egymástól független kapu gondoskodik róla, hogy egy jóváhagyott (vagy kiszivárgott) párosítás ne váljon a szerver teljes irányításává.
1. A határvonal a tagság, nem a párosítás
Szekció neve “1. A határvonal a tagság, nem a párosítás”Egy érvényes párosítási kulcs azt bizonyítja, melyik eszköz Ön. Azt, hogy mit olvashat vagy módosíthat, a munkaterület-szerepköre dönti el, amely minden egyes híváskor újra feloldódik, valamint a repó tartalmát felfedő dolgoknál a repónkénti jogosultságok. Egy eszközt, amely tökéletesen érvényes kulccsal rendelkezik, de olyan felhasználóhoz tartozik, aki nem tagja a megnevezett munkaterületnek, a rendszer „Not a member of this workspace” üzenettel utasítja el.
A szerepminimum a művelet fajtájából következik, hacsak a művelet nem deklarál
sajátot: az olvasáshoz guest, a módosításokhoz member, a destruktív
műveletekhez admin szükséges.
2. A telefon alacsonyabb szintű munkamenet
Szekció neve “2. A telefon alacsonyabb szintű munkamenet”A szerepkör-ellenőrzésen túl a telefonos munkamenet alacsonyabb képességekkel bír, mint egy asztali vagy webes munkamenet. A kizárólag teljes kliensen elérhetőnek deklarált műveleteket a telefon számára már a kezelő lefutása előtt elutasítja a rendszer, függetlenül attól, hogy a mögötte álló felhasználó milyen jogosultsággal rendelkezik: eszközpárosítások kiállítása, listázása, átnevezése és visszavonása; az alagútkapcsolat olvasása és beállítása; szervermentés, valamint munkaterület exportálása/importálása; folyamatok felderítése és leállítása; adapterpróbák; szerverbeállítások; SSO-adminisztráció; flottairányítás; továbbá egy futó ügynök átvétele vagy visszaadása.
3. Alapértelmezés szerint tiltó eszköz-engedélylista
Szekció neve “3. Alapértelmezés szerint tiltó eszköz-engedélylista”Kifejezetten az MCP eszközfelületre (tools/call) egy alapértelmezés szerint
tiltó engedélylista szabályozza, mely eszközöket hívhatja meg a telefon. Minden,
ami nem szerepel a listán, már a lefutása előtt elutasításra kerül. A lista
túlnyomórészt olvasó és megfigyelő jellegű, plusz néhány csak helyben
végrehajtható írás — üzenet, jegyfrissítés, cikk megjelölése —, amelyek nem
költenek LLM-keretet, nem indítanak folyamatot és nem nyúlnak külső rendszerhez.
Tiltott például: ügynök megkérdezése, MI-átnézés indítása, ügynök leállítása, átnézés közzététele a GitHubon, ügynökök felvétele vagy elbocsátása, munkaterület létrehozása.
4. Hívásonkénti munkaterület-hatókör
Szekció neve “4. Hívásonkénti munkaterület-hatókör”A szerver nem tart nyilván „aktuális munkaterületet”. Tervezéséből adódóan
állapotmentes: minden munkaterület-hatókörű hívásnak meg kell neveznie a cél
workspace_id-t az argumentumaiban, és a diszpécser azonnal elutasítja a
hívást, ha az hiányzik, vagy ha olyan munkaterületet nevez meg, amelyet a
szerver nem tart nyilván — mindezt még azelőtt, hogy bármi adatbázist nyitna. A
telefon ezért soha nem örökölheti és nem is csúszhat át egy másik kliens
hatókörébe, és egy idegen munkaterület megnevezése sem segít, mert az 1. kapuban
lévő tagságellenőrzés továbbra is érvényes. Ez ugyanaz a
munkaterület-elszigetelés invariáns, amelyet a termék
többi része is érvényesít.
5. Az előre megosztott kulccsal lezárt, végpontok közötti keretek
Szekció neve “5. Az előre megosztott kulccsal lezárt, végpontok közötti keretek”A telefon és a szerver közötti minden keret a párosítási kulccsal van lezárva; a belépési token csak bejuttatja a klienst a szobába, semmit nem fejt vissza. A közvetítő titkosított szöveget továbbít, és soha nem látja a kulcsot. Egy visszavont eszköz azt tapasztalja, hogy a hitelesítő adata már eltűnt, így újracsatlakozáskor zártan hibázik.
Az alkalmazás által kiállított hitelesítő adat 30 napra szól; ezen túl a csatlakozási kapu elutasítja, és a telefont újra kell párosítani. A visszavonás azonnali: a szerver figyeli az eszköztáblát, és egy visszavont eszköz nyitott munkameneteit másodperceken belül bontja, ahelyett hogy a következő csatlakozására várna.
6. Szereplőnkénti sebességkorlátozás
Szekció neve “6. Szereplőnkénti sebességkorlátozás”Egy csúszóablakos korlátozó a távoli eszközforgalmat percenként 120 hívásra korlátozza, a módosító műveletekre pedig szigorúbb, percenként 30 hívásos alkorlát vonatkozik. A keret a szereplőt illeti meg, nem a munkamenetet: az Ön három eszköze egyetlen keretből gazdálkodik, így egy eltérített kliens nem tud több mozgásteret vásárolni magának további munkamenetek megnyitásával, és egy zajos tag sem tudja kizárni a többieket.
7. Egy közvetítő, amely semmit nem tud meg
Szekció neve “7. Egy közvetítő, amely semmit nem tud meg”A relé-közvetítő szándékosan buta: szobákat üzemeltet, lezárt kereteket továbbít, és nem tart nyilván fiókokat, alkalmazásadatokat vagy kulcsokat. A szobák meghívóval védettek és átmenetiek. Az alkalmazásadatok, a hanganyag, az átirat, a forráskód és a hitelesítő adatok mind a szerveren maradnak.
Élő frissítések
Szekció neve “Élő frissítések”A párosítás után a telefon élő frissítéseket kap értesítési keretek formájában — új ügynöküzenetek, önhöz rendelt jegyek, állapotváltozások —, tükrözve az asztali kliens saját értesítéseit. A szerver ezeket a kereteket minden csatlakozott munkamenetnek szétküldi, a munkaterület-szűrést pedig a kliens alkalmazza, így az, amit lát, arra a munkaterületre korlátozódik, amelyet éppen néz.
Hol található
Szekció neve “Hol található”| Felület | Mit mutat |
|---|---|
Beállítások → Ön → Az Ön eszközei (/workspaces/:workspaceId/settings/you/devices) |
Párosított kliensek élő állapottal, valamint Új kliens párosítása (webböngésző, asztali alkalmazás vagy telefon) és a visszavonás |
Ugyanez a panel párosításokat állít ki egy második böngésző vagy asztali alkalmazás számára is, nem csak telefonokhoz — a folyamat ugyanaz, csak a deep link tér el.
Lásd még
Szekció neve “Lásd még”- Munkaterületek és elszigetelés: a hívásonkénti hatókör, amelyre ez támaszkodik
- Többszereplős mód — identitás, tagság és jelenlét: szerepkörök, tagság és repónkénti jogosultságok
- Telepítés és kliensek: hol helyezkedik el a távoli vezérlés a kliensszintek között
- Architektúra: hol helyezkedik el a távoli vezérlés a stackben
- Eszköz párosítása