Kawalan jauh dan mudah alih
Control Center ialah aplikasi desktop, tetapi kerja yang dijejakinya tidak
berhenti apabila anda meninggalkan meja. Kawalan jauh menggandingkan telefon
anda dengan cc_server anda, menggunakan Remote,
aplikasi teman di remote.usectrl.dev, supaya anda boleh mengikuti armada dari
sana: membaca mesej dan tiket, membalas ejen, menyusun suapan berita anda, tanpa
audio, transkrip, kod sumber atau kelayakan yang tersimpan di pelayan pernah
meninggalkannya.
Anggaplah ia sebagai teman kepada dek yang kebanyakannya hanya membaca. Ia tidak bertujuan menggantikan klien desktop sepenuhnya.
Pengangkutan
Bahagian bertajuk “Pengangkutan”Telefon mencapai cc_server melalui WebSocket: sama ada sambungan langsung
(loopback, LAN, tailnet atau wss://) atau bilik yang dikawal jemputan pada
broker isyarat yang menyampaikan bingkai tersegel. Tiada saluran data
peer-to-peer.
Apa yang boleh dilakukan oleh telefon
Bahagian bertajuk “Apa yang boleh dilakukan oleh telefon”Telefon yang berganding hanya mencapai sebahagian kecil permukaan pelayan yang memang disengajakan:
- Baca tiket, ejen, ruang dan mesejnya serta suapan berita anda
- Balas: hantar mesej dalam ruang, kemas kini atau tetapkan tiket, tandai artikel sebagai telah dibaca atau disimpan
- Jalankan playbook: buat instans templat pelan yang disimpan berserta parameternya. Ini hanya mencadangkan pelan; tiada apa-apa dilaksanakan atau dibelanjakan sehingga operator meluluskannya dalam Plan Studio pada klien lengkap
- Tukar ruang kerja, daripada pemilih telefon itu sendiri
Itu sudah hampir kesemuanya. Telefon ialah prinsipal berkeistimewaan lebih rendah daripada klien lengkap. Ia tidak boleh menjalankan proses, membelanjakan bajet LLM, melakukan push ke GitHub atau mencipta ruang kerja. Lihat model akses untuk cara perkara itu dikuatkuasakan, bukan sekadar diniatkan.
Bagaimana pautan dibina
Bahagian bertajuk “Bagaimana pautan dibina”Sambungan ini menggunakan geganti berperantara: pelayan menyertai satu bilik
yang dikawal jemputan pada broker wss:// sebagai pemiliknya dan setiap klien
yang berganding — desktop, web, telefon — menyertai bilik yang sama dengan token
kemasukan yang dibatasi masa. Tiga komponen bekerjasama:
| Komponen | Peranan |
|---|---|
| Remote (aplikasi telefon) | Aplikasi web teman, yang dihoskan secara lalai di remote.usectrl.dev, atau dihoskan sendiri. Dimuatkan dalam pelayar, menyimpan rekod penggandingan dalam IndexedDB. |
| Broker geganti | Geganti wss:// tanpa keadaan (cc_signaling_server) yang menghoskan bilik N-arah. Ia membawa bingkai legap sahaja: setiap muatan tersegel hujung ke hujung antara telefon dan pelayan, jadi broker tidak pernah melihat data aplikasi atau rahsia penggandingan dan tidak pernah mentafsir apa yang disampaikannya. |
cc_server |
Pemilik bilik. Ia menjawab panggilan telefon melalui dispatcher yang sama seperti yang digunakan oleh setiap klien lain. |
Tawaran penggandingan membawa deskriptor sambungan yang menyenaraikan setiap
laluan ke pelayan (LAN, tailnet, wss:// awam, geganti) berserta cap jari
identitinya. Penyelesai telefon memilih laluan terbaik yang boleh dicapai dan
menyematkan cap jari itu pada sambungan pertama (TOFU); geganti menjamin
ketersambungan walaupun tiada laluan langsung wujud, tanpa pernah dapat membaca
trafiknya.
Apakah muatan penggandingan
Bahagian bertajuk “Apakah muatan penggandingan”Penggandingan dijana daripada aplikasi dan dihantar sebagai pautan mendalam; lihat Gandingkan peranti untuk prosedurnya. Apa yang penting di sini ialah anatominya.
https://<pwa-host>/#<payload>Muatan itu berada dalam fragment URL, bahagian selepas # yang tidak pernah
dihantar oleh pelayar kepada pelayan, jadi hos HTTPS PWA tidak pernah
melihatnya. Ia membawa segala yang diperlukan telefon untuk mencapai pelayan dan
membuktikan identitinya: deskriptor sambungan (setiap laluan berserta cap jari
identiti), id peranti yang baru dijana, kunci pra-kongsi 32 bait dan cap
kedaluwarsa. Telefon menyahkodnya, menyimpan rekod penggandingan secara
setempat dan membuang fragment itu supaya rahsia tersebut keluar daripada URL.
Terdapat dua bentuk muatan dan kedua-duanya tidak boleh ditukar ganti. Kod
QR telefon yang dijana daripada panel penggandingan dalam aplikasi ialah
PairingPayload v2 di atas, yang diarahkan ke hos PWA Remote. cc_server pair --client-url mengeluarkan pautan v1 yang berbeza dan lebih lama ({s, i, k} —
URL pelayan, id peranti, kunci) yang ditujukan untuk klien web sahaja.
Kedua-duanya juga berbeza dari segi tempoh hayat, yang mudah disalah anggap:
| Dijana oleh | Kedaluwarsa kelayakan |
|---|---|
Panel penggandingan dalam aplikasi (pairing.mint) |
30 hari, sentiasa |
cc_server pair pada baris perintah |
Tiada — kelayakan itu tidak kedaluwarsa |
Model akses
Bahagian bertajuk “Model akses”Peranti yang berganding disahkan tetapi tidak dipercayai. Beberapa gerbang bebas menghalang penggandingan yang diluluskan (atau terdedah) daripada menjadi kawalan penuh ke atas pelayan.
1. Keahlian, bukan penggandingan, ialah sempadannya
Bahagian bertajuk “1. Keahlian, bukan penggandingan, ialah sempadannya”Kunci penggandingan yang sah membuktikan peranti mana anda. Apa yang boleh anda baca atau ubah ditentukan oleh peranan ruang kerja anda, yang diselesaikan semula pada setiap panggilan, dan oleh geran setiap repo bagi apa-apa yang mendedahkan kandungan repo. Peranti yang memegang kunci yang sempurna sah tetapi dimiliki oleh pengguna yang bukan ahli ruang kerja yang dinamakan akan ditolak dengan “Not a member of this workspace”.
Tahap minimum peranan diperoleh daripada jenis operasi itu melainkan operasi
tersebut mengisytiharkan tahapnya sendiri: operasi baca memerlukan guest,
mutasi memerlukan member, operasi destruktif memerlukan admin.
2. Telefon ialah tingkat sesi yang lebih rendah
Bahagian bertajuk “2. Telefon ialah tingkat sesi yang lebih rendah”Selain pemeriksaan peranan, sesi telefon membawa keupayaan yang lebih rendah daripada sesi desktop atau web. Operasi yang diisytiharkan khusus klien penuh akan ditolak untuk telefon sebelum pengendali dijalankan, tanpa mengira betapa tinggi keistimewaan pengguna di sebaliknya: menjana, menyenaraikan, menamakan semula dan membatalkan penggandingan peranti; membaca dan menetapkan ketersambungan tunnel; sandaran pelayan serta eksport/import ruang kerja; pengesanan dan penghentian proses; kuar penyesuai; tetapan pelayan; pentadbir SSO; kawalan armada; serta mengambil alih atau memulangkan ejen yang sedang berjalan.
3. Senarai izin alat yang menolak secara lalai
Bahagian bertajuk “3. Senarai izin alat yang menolak secara lalai”Khusus untuk permukaan alat MCP (tools/call), senarai izin yang menolak secara
lalai menentukan alat mana yang boleh digunakan oleh telefon. Apa-apa yang tidak
tersenarai akan ditolak sebelum ia dijalankan. Senarai itu banyak berkisar pada
baca dan perhati, ditambah segelintir tulisan tempatan sahaja — satu mesej,
kemas kini tiket, penandaan artikel — yang tidak membelanjakan bajet LLM, tidak
menjalankan proses dan tidak menyentuh sistem luaran.
Antara yang ditolak, misalnya: berunding dengan ejen, memulakan semakan AI, menghentikan ejen, menerbitkan semakan ke GitHub, mengupah atau memberhentikan ejen, mencipta ruang kerja.
4. Pelingkupan ruang kerja bagi setiap panggilan
Bahagian bertajuk “4. Pelingkupan ruang kerja bagi setiap panggilan”Pelayan tidak menyimpan “ruang kerja semasa”. Ia tanpa keadaan secara reka
bentuk: setiap panggilan yang berlingkup ruang kerja mesti menamakan
workspace_id sasarannya dalam argumennya dan dispatcher menolak panggilan itu
terus apabila id tersebut tiada atau menamakan ruang kerja yang tidak terdaftar
pada pelayan — sebelum apa-apa membuka pangkalan data. Oleh itu, telefon tidak
boleh mewarisi atau terpesong ke lingkup klien lain, dan menamakan ruang kerja
asing juga tidak membantu, kerana pemeriksaan keahlian dalam gerbang 1 masih
terpakai. Ini ialah invarian
pengasingan ruang kerja yang sama
yang dikuatkuasakan oleh seluruh produk.
5. Bingkai tersegel hujung ke hujung yang dikunci dengan kunci pra-kongsi
Bahagian bertajuk “5. Bingkai tersegel hujung ke hujung yang dikunci dengan kunci pra-kongsi”Setiap bingkai antara telefon dan pelayan disegel dengan kunci penggandingan; token kemasukan hanya membawa klien masuk ke dalam bilik, ia tidak menyahsulit apa-apa. Broker menyampaikan teks sifer dan tidak pernah melihat kunci itu. Peranti yang dibatalkan akan mendapati kelayakannya sudah tiada, jadi ia gagal secara tertutup apabila menyambung semula.
Kelayakan yang dijana oleh aplikasi dibatasi masa selama 30 hari; selepas itu gerbang sambungan akan menolaknya dan telefon mesti mengganding semula. Pembatalan berlaku serta-merta: pelayan memantau jadual peranti dan menggugurkan sesi terbuka peranti yang dibatalkan dalam beberapa saat, bukan menunggu sambungan seterusnya.
6. Had kadar bagi setiap prinsipal
Bahagian bertajuk “6. Had kadar bagi setiap prinsipal”Pembatas tetingkap gelongsor mengehadkan trafik alat jauh pada 120 panggilan seminit, dengan sub-had yang lebih ketat iaitu 30 seminit untuk kata kerja yang mengubah data. Bajet itu milik prinsipal, bukan sesi: tiga peranti anda mengambil daripada satu peruntukan, jadi klien yang dirampas tidak boleh menambah kelonggaran dengan membuka lebih banyak sesi dan seorang ahli yang bising tidak boleh merampas peruntukan ahli lain.
7. Broker yang tidak mempelajari apa-apa
Bahagian bertajuk “7. Broker yang tidak mempelajari apa-apa”Broker geganti ini sengaja dibiarkan bodoh: ia menghoskan bilik, menyampaikan bingkai tersegel dan tidak menyimpan sebarang akaun, data aplikasi atau kunci. Bilik dikawal jemputan dan bersifat sementara. Data aplikasi, audio, transkrip, kod sumber dan kelayakan semuanya kekal di pelayan.
Kemas kini langsung
Bahagian bertajuk “Kemas kini langsung”Setelah berganding, telefon menerima kemas kini langsung sebagai bingkai pemberitahuan — mesej ejen baharu, tiket yang ditugaskan kepada anda, perubahan status — mencerminkan pemberitahuan desktop itu sendiri. Pelayan menyiarkan bingkai tersebut kepada setiap sesi yang bersambung dan penapis ruang kerja digunakan di sisi klien, jadi apa yang anda lihat terhad kepada ruang kerja yang sedang anda buka.
Di mana ia berada
Bahagian bertajuk “Di mana ia berada”| Permukaan | Apa yang ditunjukkan |
|---|---|
Tetapan → Anda → Peranti anda (/workspaces/:workspaceId/settings/you/devices) |
Klien yang berganding dengan status langsung, serta Pasangkan klien baharu (pelayar web, aplikasi desktop atau telefon) dan batalkan |
Panel yang sama juga menjana penggandingan untuk pelayar atau aplikasi desktop kedua, bukan hanya telefon — alirannya sama, hanya pautan mendalamnya berbeza.
Lihat juga
Bahagian bertajuk “Lihat juga”- Ruang kerja dan pengasingan: pelingkupan setiap panggilan yang menjadi tunjangnya
- Multipemain — identiti, keahlian dan kehadiran: peranan, keahlian dan geran repo
- Penerapan dan klien: kedudukan kawalan jauh antara tingkat klien
- Seni bina: kedudukan kawalan jauh dalam susunan
- Gandingkan peranti