Απομακρυσμένος έλεγχος και κινητό
Το Control Center είναι εφαρμογή υπολογιστή, αλλά η εργασία που παρακολουθεί δεν
σταματά όταν απομακρύνεστε από το γραφείο σας. Ο απομακρυσμένος έλεγχος
ζευγνύει το τηλέφωνό σας με τον cc_server σας, μέσω του
Remote, της συνοδευτικής εφαρμογής στο
remote.usectrl.dev, ώστε να μπορείτε να παρακολουθείτε τον στόλο από εκεί: να
διαβάζετε μηνύματα και εισιτήρια, να απαντάτε σε έναν πράκτορα, να ταξινομείτε
τη ροή ειδήσεών σας, χωρίς ο ήχος, η μεταγραφή, ο πηγαίος κώδικας ή τα
διαπιστευτήρια που βρίσκονται στον διακομιστή να τον εγκαταλείπουν ποτέ.
Σκεφτείτε το ως συνοδευτικό της κύριας εφαρμογής, με έμφαση στην ανάγνωση. Δεν προορίζεται να αντικαταστήσει τον πλήρη πελάτη υπολογιστή.
Μεταφορά
Ενότητα με τίτλο «Μεταφορά»Το τηλέφωνο φτάνει στον cc_server μέσω WebSocket: είτε με απευθείας σύνδεση
(loopback, LAN, tailnet ή wss://) είτε μέσω αίθουσας προσβάσιμης μόνο με
πρόσκληση σε έναν διαμεσολαβητή σηματοδότησης, ο οποίος αναμεταδίδει
σφραγισμένα πλαίσια. Δεν υπάρχει ομότιμο κανάλι δεδομένων.
Τι μπορεί να κάνει το τηλέφωνο
Ενότητα με τίτλο «Τι μπορεί να κάνει το τηλέφωνο»Το συζευγμένο τηλέφωνο φτάνει σε ένα μικρό, σκόπιμα περιορισμένο τμήμα της επιφάνειας του διακομιστή:
- Ανάγνωση εισιτηρίων, πρακτόρων, χώρων και των μηνυμάτων τους, καθώς και της ροής ειδήσεών σας
- Απάντηση: αποστολή μηνύματος σε έναν χώρο, ενημέρωση ή ανάθεση εισιτηρίου, επισήμανση άρθρου ως αναγνωσμένου ή αποθηκευμένου
- Εκτέλεση playbook: δημιουργία στιγμιότυπου από ένα αποθηκευμένο πρότυπο σχεδίου με τις παραμέτρους του. Αυτό απλώς προτείνει ένα σχέδιο· τίποτα δεν εκτελείται ούτε δαπανάται μέχρι να το εγκρίνει ένας διαχειριστής στο Plan Studio σε έναν πλήρη πελάτη
- Αλλαγή χώρου εργασίας, από τον δικό του επιλογέα του τηλεφώνου
Αυτά είναι σχεδόν όλα. Ένα τηλέφωνο είναι κύριος με χαμηλότερα προνόμια από έναν πλήρη πελάτη. Δεν μπορεί να εκκινήσει διεργασίες, να δαπανήσει προϋπολογισμό LLM, να κάνει push στο GitHub ή να δημιουργήσει χώρους εργασίας. Δείτε το μοντέλο πρόσβασης για το πώς αυτό επιβάλλεται και δεν είναι απλώς πρόθεση.
Πώς χτίζεται η σύνδεση
Ενότητα με τίτλο «Πώς χτίζεται η σύνδεση»Η σύνδεση βασίζεται σε μια αναμετάδοση μέσω διαμεσολαβητή: ο διακομιστής
μπαίνει ως ιδιοκτήτης σε μία αίθουσα προσβάσιμη μόνο με πρόσκληση σε έναν
διαμεσολαβητή wss:// και κάθε συζευγμένος πελάτης — υπολογιστής, web,
τηλέφωνο — μπαίνει στην ίδια αίθουσα με διακριτικό εισόδου περιορισμένης
διάρκειας. Τρία κομμάτια συνδυάζονται:
| Κομμάτι | Ρόλος |
|---|---|
| Remote (εφαρμογή τηλεφώνου) | Η συνοδευτική εφαρμογή web, φιλοξενούμενη από προεπιλογή στο remote.usectrl.dev ή αυτο-φιλοξενούμενη. Φορτώνει σε πρόγραμμα περιήγησης και κρατά την εγγραφή σύζευξης στο IndexedDB. |
| Διαμεσολαβητής αναμετάδοσης | Μια αναμετάδοση wss:// χωρίς κατάσταση (cc_signaling_server) που φιλοξενεί αίθουσες N συμμετεχόντων. Μεταφέρει μόνο αδιαφανή πλαίσια: κάθε ωφέλιμο φορτίο είναι σφραγισμένο από άκρο σε άκρο μεταξύ τηλεφώνου και διακομιστή, οπότε ο διαμεσολαβητής δεν βλέπει ποτέ δεδομένα της εφαρμογής ή το μυστικό σύζευξης και δεν ερμηνεύει ποτέ ό,τι προωθεί. |
cc_server |
Ο ιδιοκτήτης της αίθουσας. Απαντά στις κλήσεις του τηλεφώνου μέσω του ίδιου διανομέα που χρησιμοποιεί κάθε άλλος πελάτης. |
Μια προσφορά σύζευξης φέρει έναν περιγραφέα σύνδεσης που απαριθμεί κάθε
διαδρομή προς τον διακομιστή (LAN, tailnet, δημόσιο wss://, αναμετάδοση) μαζί
με το αποτύπωμα ταυτότητάς του. Ο μηχανισμός επίλυσης του τηλεφώνου επιλέγει την
καλύτερη προσβάσιμη διαδρομή και καθηλώνει το αποτύπωμα στην πρώτη σύνδεση
(TOFU)· η αναμετάδοση εγγυάται συνδεσιμότητα ακόμη και όταν δεν υπάρχει άμεση
διαδρομή, χωρίς να μπορεί ποτέ να διαβάσει την κίνηση.
Τι είναι το ωφέλιμο φορτίο σύζευξης
Ενότητα με τίτλο «Τι είναι το ωφέλιμο φορτίο σύζευξης»Η σύζευξη εκδίδεται από την εφαρμογή και παραδίδεται ως βαθύς σύνδεσμος· δείτε Σύζευξη συσκευής για τη διαδικασία. Εδώ έχει σημασία η ανατομία.
https://<pwa-host>/#<payload>Το ωφέλιμο φορτίο ταξιδεύει στο τμήμα του URL, το κομμάτι μετά το # που
τα προγράμματα περιήγησης δεν στέλνουν ποτέ στον διακομιστή, οπότε ο κάτοχος
HTTPS της PWA δεν το βλέπει ποτέ. Περιέχει όλα όσα χρειάζεται το τηλέφωνο για
να φτάσει στον διακομιστή και να αποδείξει ποια είναι: τον περιγραφέα σύνδεσης
(κάθε διαδρομή συν το αποτύπωμα ταυτότητας), ένα αναγνωριστικό συσκευής που μόλις
εκδόθηκε, ένα προκοινόχρηστο κλειδί 32 byte και μια σφραγίδα λήξης. Το τηλέφωνο
το αποκωδικοποιεί, αποθηκεύει τοπικά μια εγγραφή σύζευξης και αφαιρεί το τμήμα,
ώστε το μυστικό να φύγει από το URL.
Υπάρχουν δύο σχήματα ωφέλιμου φορτίου και δεν είναι εναλλάξιμα. Το QR του
τηλεφώνου που εκδίδεται από το πλαίσιο σύζευξης εντός της εφαρμογής είναι το v2
PairingPayload παραπάνω, με προορισμό τον κάτοχο της Remote PWA. Το
cc_server pair --client-url εκδίδει έναν διαφορετικό, παλαιότερο σύνδεσμο v1
({s, i, k} — URL διακομιστή, αναγνωριστικό συσκευής, κλειδί) που προορίζεται
μόνο για τον πελάτη web.
Διαφέρουν επίσης στη διάρκεια ζωής, κάτι που είναι εύκολο να το μπερδέψει κανείς:
| Εκδίδεται από | Λήξη διαπιστευτηρίου |
|---|---|
Πλαίσιο σύζευξης εντός της εφαρμογής (pairing.mint) |
30 ημέρες, πάντα |
cc_server pair στη γραμμή εντολών |
Καμία — το διαπιστευτήριο δεν λήγει |
Το μοντέλο πρόσβασης
Ενότητα με τίτλο «Το μοντέλο πρόσβασης»Μια συζευγμένη συσκευή είναι πιστοποιημένη αλλά μη έμπιστη. Αρκετοί ανεξάρτητοι φραγμοί εμποδίζουν μια εγκεκριμένη (ή διερρηγμένη) σύζευξη να μετατραπεί σε πλήρη έλεγχο του διακομιστή.
1. Η ιδιότητα μέλους, όχι η σύζευξη, είναι το όριο
Ενότητα με τίτλο «1. Η ιδιότητα μέλους, όχι η σύζευξη, είναι το όριο»Ένα έγκυρο κλειδί σύζευξης αποδεικνύει ποια συσκευή είστε. Το τι επιτρέπεται να διαβάσετε ή να αλλάξετε το καθορίζει ο ρόλος σας στον χώρο εργασίας, που επιλύεται εκ νέου σε κάθε μεμονωμένη κλήση, και οι παραχωρήσεις ανά αποθετήριο για οτιδήποτε εκθέτει περιεχόμενο αποθετηρίου. Μια συσκευή που κρατά ένα απολύτως έγκυρο κλειδί αλλά ανήκει σε χρήστη που δεν είναι μέλος του δηλωμένου χώρου εργασίας απορρίπτεται με «Not a member of this workspace».
Ο κατώτατος ρόλος προκύπτει από το είδος της λειτουργίας, εκτός αν η ίδια
δηλώνει τον δικό της: οι αναγνώσεις απαιτούν guest, οι μεταβολές απαιτούν
member, οι καταστροφικές λειτουργίες απαιτούν admin.
2. Ένα τηλέφωνο είναι χαμηλότερο επίπεδο συνεδρίας
Ενότητα με τίτλο «2. Ένα τηλέφωνο είναι χαμηλότερο επίπεδο συνεδρίας»Πέρα από τον έλεγχο ρόλου, μια συνεδρία τηλεφώνου φέρει χαμηλότερες δυνατότητες από μια συνεδρία υπολογιστή ή web. Λειτουργίες που έχουν δηλωθεί ως αποκλειστικά για πλήρη πελάτη απορρίπτονται για ένα τηλέφωνο πριν εκτελεστεί ο χειριστής, ανεξάρτητα από το πόσο προνομιούχος είναι ο χρήστης πίσω από αυτό: έκδοση, καταγραφή, μετονομασία και ανάκληση συζεύξεων συσκευών· ανάγνωση και ορισμός συνδεσιμότητας σήραγγας· αντίγραφο ασφαλείας διακομιστή και εξαγωγή/εισαγωγή χώρου εργασίας· ανίχνευση και τερματισμός διεργασιών· δοκιμές προσαρμογέων· ρυθμίσεις διακομιστή· διαχείριση SSO· έλεγχος στόλου· και ανάληψη ή επιστροφή ενός πράκτορα που εκτελείται.
3. Λίστα επιτρεπόμενων εργαλείων με άρνηση εξ ορισμού
Ενότητα με τίτλο «3. Λίστα επιτρεπόμενων εργαλείων με άρνηση εξ ορισμού»Ειδικά για την επιφάνεια εργαλείων MCP (tools/call), μια λίστα επιτρεπόμενων
με άρνηση εξ ορισμού καθορίζει ποια εργαλεία επιτρέπεται να καλέσει το τηλέφωνο.
Οτιδήποτε δεν περιλαμβάνεται στη λίστα απορρίπτεται πριν εκτελεστεί. Η λίστα
είναι κατά βάση αναγνώσεις και παρατήρηση, συν μια χούφτα τοπικές μόνο
εγγραφές — ένα μήνυμα, μια ενημέρωση εισιτηρίου, μια επισήμανση άρθρου — που δεν
δαπανούν προϋπολογισμό LLM, δεν εκκινούν διεργασία και δεν αγγίζουν κανένα
εξωτερικό σύστημα.
Απορρίπτονται, για παράδειγμα: η συμβουλή με πράκτορα, η έναρξη ελέγχου με AI, ο τερματισμός πράκτορα, η δημοσίευση ελέγχου στο GitHub, η πρόσληψη ή απόλυση πρακτόρων, η δημιουργία χώρου εργασίας.
4. Περιορισμός χώρου εργασίας ανά κλήση
Ενότητα με τίτλο «4. Περιορισμός χώρου εργασίας ανά κλήση»Ο διακομιστής δεν κρατά κανέναν «τρέχοντα χώρο εργασίας». Είναι σχεδιασμένος
χωρίς κατάσταση: κάθε κλήση με εμβέλεια χώρου εργασίας πρέπει να δηλώνει το
workspace_id-στόχο στα ορίσματά της και ο διανομέας απορρίπτει την κλήση
κατηγορηματικά όταν λείπει ή όταν δηλώνει χώρο εργασίας που ο διακομιστής δεν
έχει καταχωρισμένο — πριν ανοίξει οτιδήποτε μια βάση δεδομένων. Επομένως ένα
τηλέφωνο δεν μπορεί ποτέ να κληρονομήσει ή να παρεκκλίνει στην εμβέλεια άλλου
πελάτη, και η δήλωση ξένου χώρου εργασίας δεν βοηθά επίσης, επειδή ισχύει ακόμη
ο έλεγχος μέλους του φραγμού 1. Πρόκειται για το ίδιο αναλλοίωτο της
απομόνωσης χώρου εργασίας που
επιβάλλει και το υπόλοιπο προϊόν.
5. Πλαίσια σφραγισμένα από άκρο σε άκρο με το προκοινόχρηστο κλειδί
Ενότητα με τίτλο «5. Πλαίσια σφραγισμένα από άκρο σε άκρο με το προκοινόχρηστο κλειδί»Κάθε πλαίσιο μεταξύ τηλεφώνου και διακομιστή είναι σφραγισμένο με το κλειδί σύζευξης· το διακριτικό εισόδου απλώς βάζει έναν πελάτη στην αίθουσα, δεν αποκρυπτογραφεί τίποτα. Ο διαμεσολαβητής αναμεταδίδει κρυπτοκείμενο και δεν βλέπει ποτέ το κλειδί. Μια συσκευή που έχει ανακληθεί βρίσκει το διαπιστευτήριό της ήδη χαμένο, οπότε αποτυγχάνει κλειστά στην επανασύνδεση.
Ένα διαπιστευτήριο που εκδίδεται από την εφαρμογή έχει χρονικό περιορισμό 30 ημερών· μετά από αυτό, ο φραγμός σύνδεσης το απορρίπτει και το τηλέφωνο πρέπει να συζευχθεί ξανά. Η ανάκληση είναι άμεση: ο διακομιστής παρακολουθεί τον πίνακα συσκευών και κλείνει τις ανοιχτές συνεδρίες μιας ανακλημένης συσκευής μέσα σε δευτερόλεπτα, αντί να περιμένει την επόμενη σύνδεσή της.
6. Περιορισμός ρυθμού ανά κύριο
Ενότητα με τίτλο «6. Περιορισμός ρυθμού ανά κύριο»Ένας περιοριστής κυλιόμενου παραθύρου περιορίζει την απομακρυσμένη κίνηση εργαλείων στις 120 κλήσεις το λεπτό, με ένα αυστηρότερο υποόριο 30 το λεπτό για τα ρήματα τροποποίησης. Το όριο ανήκει στον κύριο, όχι στη συνεδρία: τρεις συσκευές σας αντλούν από ένα περιθώριο, οπότε ένας παραβιασμένος πελάτης δεν μπορεί να αποκτήσει περιθώριο ανοίγοντας περισσότερες συνεδρίες και ένα θορυβώδες μέλος δεν μπορεί να στερήσει τους άλλους.
7. Ένας διαμεσολαβητής που δεν μαθαίνει τίποτα
Ενότητα με τίτλο «7. Ένας διαμεσολαβητής που δεν μαθαίνει τίποτα»Ο διαμεσολαβητής αναμετάδοσης είναι σκόπιμα «χαζός»: φιλοξενεί αίθουσες, προωθεί σφραγισμένα πλαίσια και δεν κρατά λογαριασμούς, δεδομένα εφαρμογής ή κλειδιά. Οι αίθουσες είναι προσβάσιμες μόνο με πρόσκληση και παροδικές. Τα δεδομένα της εφαρμογής, ο ήχος, η μεταγραφή, ο πηγαίος κώδικας και τα διαπιστευτήρια μένουν όλα στον διακομιστή.
Ζωντανές ενημερώσεις
Ενότητα με τίτλο «Ζωντανές ενημερώσεις»Μόλις γίνει η σύζευξη, το τηλέφωνο λαμβάνει ζωντανές ενημερώσεις ως πλαίσια ειδοποιήσεων — νέα μηνύματα πρακτόρων, εισιτήρια που σας ανατίθενται, αλλαγές κατάστασης — που αντιγράφουν τις ειδοποιήσεις του υπολογιστή. Ο διακομιστής μεταδίδει αυτά τα πλαίσια σε κάθε συνδεδεμένη συνεδρία και το φίλτρο χώρου εργασίας εφαρμόζεται στην πλευρά του πελάτη, οπότε αυτό που βλέπετε περιορίζεται στον χώρο εργασίας που κοιτάτε.
Πού βρίσκεται
Ενότητα με τίτλο «Πού βρίσκεται»| Επιφάνεια | Τι εμφανίζει |
|---|---|
Ρυθμίσεις → Εσείς → Οι συσκευές σας (/workspaces/:workspaceId/settings/you/devices) |
Συζευγμένοι πελάτες με ζωντανή κατάσταση, καθώς και Σύζευξη νέου πελάτη (πρόγραμμα περιήγησης, εφαρμογή υπολογιστή ή τηλέφωνο) και ανάκληση |
Το ίδιο πλαίσιο εκδίδει συζεύξεις για δεύτερο πρόγραμμα περιήγησης ή εφαρμογή υπολογιστή, όχι μόνο για τηλέφωνα — η ροή είναι ίδια, μόνο ο βαθύς σύνδεσμος διαφέρει.
Δείτε επίσης
Ενότητα με τίτλο «Δείτε επίσης»- Χώροι εργασίας και απομόνωση: ο περιορισμός ανά κλήση στον οποίο στηρίζεται
- Συνεργασία — ταυτότητα, ιδιότητα μέλους και παρουσία: ρόλοι, ιδιότητα μέλους και παραχωρήσεις αποθετηρίων
- Ανάπτυξη και πελάτες: πού βρίσκεται ο απομακρυσμένος έλεγχος ανάμεσα στα επίπεδα πελατών
- Αρχιτεκτονική: πού βρίσκεται ο απομακρυσμένος έλεγχος στη στοίβα
- Σύζευξη συσκευής