Instal
Control Center berjalan dengan dua cara: sebagai aplikasi web di app.usectrl.dev, tanpa apa pun yang perlu diunduh, atau sebagai aplikasi desktop yang Anda instal. Keduanya adalah aplikasi yang sama dengan fitur yang sama. Satu-satunya perbedaan adalah tempat server berjalan — dan aplikasi web tidak dapat menjalankan server untuk Anda.
Gunakan di peramban Anda
Bagian berjudul “Gunakan di peramban Anda”app.usectrl.dev adalah aplikasi ini yang dikompilasi untuk peramban. Tidak ada yang perlu diinstal, tidak ada yang perlu diperbarui. Buka dan hubungkan.
Yang tidak dapat dilakukan tab peramban adalah menjadi server itu sendiri. Setiap
klien — desktop, web, ponsel — adalah perender tipis di atas cc_server headless yang
memiliki basis data dan mengerjakan pekerjaannya, sehingga aplikasi web selalu berbicara
dengan server yang Anda jalankan. Ada dua cara menyediakannya:
Server di mesin Anda sendiri. Jalankan cc_server secara lokal dan arahkan aplikasi
web ke ws://localhost:9030. Peramban menganggap localhost dapat dipercaya, jadi ini
tidak memerlukan sertifikat maupun tunnel. Ini cara tercepat untuk mencoba aplikasi web,
dan data Anda tidak pernah meninggalkan mesin Anda.
Server di mesin lain. Karena app.usectrl.dev disajikan melalui HTTPS, server
non-lokal harus dapat dijangkau melalui wss:// dengan sertifikat yang sudah dipercayai
peramban. cc_server menolak mengikat alamat non-loopback tanpa TLS, jadi pilih salah
satu dari:
- berikan sertifikat secara langsung, dengan
--tls-certdan--tls-key - tempatkan di belakang proxy terbalik yang menterminasi TLS dan jalankan dengan
--insecure - ekspos melalui tunnel atau VPN yang menyediakan sertifikatnya — Tailscale, cloudflared, atau serupa. Pengaturan → Server → Koneksi & status memiliki opsi ikut serta tunnel bawaan di bawah Bagikan server ini.
Setiap kali server berada di belakang proxy, NAT, atau tunnel, setel --public-url ke
alamat yang sebenarnya harus dihubungi klien. Bawaannya adalah pengikatan lokal, jadi
tanpanya klien akan mencoba host yang salah.
Beberapa hal tetap hanya ada di desktop, karena memerlukan jendela native atau perangkat audio mesin itu sendiri: pil mode fokus yang melayang, toast notifikasi OS (pusat notifikasi dalam aplikasi berfungsi di mana saja), “Mulai rekaman & tautkan” dari peristiwa kalender, dan menjalankan ulang ringkasan rapat. Semua hal lainnya — space, agen, tinjauan pull request, pipeline, tiket, memori, dan perekaman rapat itu sendiri — berperilaku sama.
Untuk menghubungkan aplikasi web ke server, ikuti Hubungkan ke server jarak jauh. Untuk menghosting server, ikuti Jalankan server headless.
Persyaratan sistem desktop
Bagian berjudul “Persyaratan sistem desktop”| Persyaratan | macOS | Windows | Linux |
|---|---|---|---|
| Versi OS | macOS 13+ (Ventura) | Windows 10+ | Ubuntu 22.04+ atau distro lain dengan glibc 2.35+ dan GTK 3 |
| Arsitektur | Apple Silicon (arm64) | x64, ARM64 | x86_64 |
| Git | Wajib | Wajib | Wajib |
| Ruang disk | ~200 MB untuk aplikasi, plus direktori data server | ~200 MB | ~200 MB |
Mac Intel tidak memiliki unduhan siap pakai. Bangun dari sumber sebagai gantinya.
Direktori data server lebih besar daripada aplikasinya. Saat pertama kali dijalankan, cc_server memasang paksa model di perangkat — embedding teks (~90 MB), diarisasi pembicara (~35 MB), dan model suara yang dipilih (Parakeet TDT v3 secara default, ~600 MB; varian Whisper 198–626 MB) — plus build code-server yang disematkan, dan setiap percakapan agen mendapatkan worktree copy-on-write dari repo yang dikerjakannya (git worktree biasa di Windows). Suara bukan opsional: tanpa model ASR, operasi rapat dan dikte tidak dilayani. Unduhan pertama model suara tetap memerlukan satu kali mulai ulang sebelum perekaman menyala.
Aplikasi desktop mengarahkan server-nya ke direktori pendukung aplikasi per pengguna OS. cc_server yang dijalankan secara manual tanpa --data-dir menggunakan bawaan <application data>/control-center — ~/Library/Application Support/control-center di macOS, %APPDATA%\control-center di Windows, $XDG_DATA_HOME/control-center (atau ~/.local/share/control-center) di Linux.
Unduhan
Bagian berjudul “Unduhan”Setiap artefak di bawah ini berasal dari GitHub Releases.
macOS (Apple Silicon)
Bagian berjudul “macOS (Apple Silicon)”Unduh Control-Center-<version>-arm64.dmg, buka, lalu seret Control Center ke Applications. Build-nya ditandatangani dengan Developer ID dan dinotarisasi oleh Apple, sehingga terbuka seperti biasa.
Windows (x64, ARM64)
Bagian berjudul “Windows (x64, ARM64)”Control-Center-<version>-x64-setup.exe: penginstal per pengguna.Control-Center-<version>-windows-x64.zip: zip portabel.Control-Center-<version>-arm64-setup.exe: penginstal per pengguna.Control-Center-<version>-windows-arm64.zip: zip portabel.
Windows menggunakan git worktree untuk checkout space (tanpa copy-on-write).
Linux (x86_64)
Bagian berjudul “Linux (x86_64)”Control-Center-<version>-x86_64.AppImageControl-Center-<version>-linux-x64.tar.gz
AppImage membawa informasi pembaruan, sehingga AppImageUpdate atau appimaged dapat memperbaruinya ke rilis terbaru di tempat, hanya mengunduh yang berubah.
Keduanya dibangun di Ubuntu 22.04 dan berjalan di versi itu atau yang lebih baru (Debian 12, Fedora 36 dan setelahnya): keduanya menautkan glibc 2.35 dan libstdc++ dari GCC 12 serta mengambil GTK 3 dari sistem. Beberapa pustaka yang mungkin tidak dimiliki desktop standar ikut dibawa di dalamnya, jadi tidak ada lagi yang perlu diinstal. Suara — pemutaran rapat, soundscape, audio rig, dan bunyi notifikasi — diputar melalui libmpv sistem (libmpv1 di Ubuntu 22.04, libmpv2 di Ubuntu dan Debian yang lebih baru, mpv-libs di Fedora); tanpanya, aplikasi dimulai dengan kontrol tersebut disembunyikan.
Server mandiri
Bagian berjudul “Server mandiri”Setiap rilis juga membawa server headless secara terpisah — cc_server-<version>-macos-arm64.tar.gz, cc_server-<version>-linux-x64.tar.gz, cc_server-<version>-windows-x64.zip, cc_server-<version>-windows-arm64.zip — bersama image cc-server, cc-webapp, dan cc-remote di GHCR. Lihat Jalankan server headless.
Arsip Linux dibangun di Ubuntu 22.04 dan pustaka native yang dibundel menautkan glibc 2.35 dan libstdc++ dari GCC 12, sehingga memerlukan host yang setidaknya sebaru itu (Ubuntu 22.04, Debian 12, Fedora 36 atau lebih baru). Pada distribusi yang lebih lama, jalankan image cc-server sebagai gantinya — kontainer membawa userland-nya sendiri, jadi hanya kernel yang perlu milik Anda.
Backend agen
Bagian berjudul “Backend agen”Control Center mengirim agen melalui adapter. Ada dua, daftarnya tetap, dan keduanya terdeteksi secara otomatis — tidak ada cara untuk mendaftarkan adapter lain.
Adapter Control Center (built-in) tidak memerlukan CLI eksternal: loop agen berjalan di dalam server dan berbicara dengan penyedia model melalui HTTP, sehingga selalu tersedia. Hubungkan penyedia di Pengaturan → Server → Penyedia model. OpenAI, Codex, Cursor, dan Kimi Code menawarkan login lewat peramban; Anthropic, OpenRouter, Google Gemini, DeepSeek, Mistral, xAI, z.ai, dan Moonshot memerlukan kunci API. Codex dan Cursor adalah penyedia pada runner ini, bukan CLI terpisah. z.ai tercantum dua kali dengan sengaja: z.ai adalah platform terbuka bayar sesuai pemakaian yang ditagihkan ke saldo akun Anda, sedangkan z.ai GLM Coding Plan adalah langganannya. Ini kunci akun yang sama, tetapi z.ai melayani paket tersebut dari host yang berbeda — tempelkan kunci paket coding ke ubin z.ai biasa dan setiap permintaan kembali dengan 429 … "Insufficient balance or no resource package", karena paket itu tidak punya saldo untuk dibelanjakan. Langganan Claude Pro/Max bukanlah login API Anthropic; jangkau paket itu melalui adapter Claude Code sebagai gantinya. Yang dapat Anda tambahkan di halaman itu adalah penyedia kustom — endpoint apa pun yang kompatibel dengan OpenAI atau Anthropic (Ollama, LM Studio, vLLM, deployment pribadi) di bawah Penyedia kustom → Tambah penyedia.
Adapter lainnya membungkus CLI eksternal:
- Claude Code (
claude):npm install -g @anthropic-ai/claude-code
Deteksi memeriksa PATH mesin yang menjalankan cc_server — mesin yang sama saat desktop menjalankan servernya sendiri, host jarak jauh jika tidak. Instal CLI Claude Code di sana, bukan di klien. Tombol Segarkan di halaman itu menjalankan ulang pemeriksaan.
Daftar model dilayani secara langsung oleh setiap penyedia yang terhubung; models.dev hanya memasok metadata harga dan jendela konteks. Lihat Kelola adapter dan model.
Autentikasi GitHub
Bagian berjudul “Autentikasi GitHub”Kredensial GitHub adalah milik Anda dan tersimpan di server, dikunci berdasarkan id pengguna Anda — bukan di keychain OS klien. Setiap perangkat yang Anda gunakan untuk masuk memakai kredensial yang sama, dan tidak ada anggota lain yang dapat membacanya.
Jika server memiliki GitHub App yang terdaftar (Buat GitHub App), Pengaturan → Ruang kerja → Profil & identitas → Hosting kode menawarkan Masuk dengan GitHub (alur perangkat yang dijalankan server). Jika tidak, tempelkan token akses pribadi:
- Klasik:
repodanread:org - Berbutir halus: Contents dan Pull requests (read and write), Checks dan Actions (read)
Buat satu di GitHub → Settings → Developer settings → Personal access tokens. Server memeriksa token untuk mendapatkan nama akun saat disimpan, sehingga barisnya dapat menampilkan “Masuk sebagai …”; pemeriksaan yang gagal tetap menyimpan token, dan salah ketik atau cakupan yang kurang akan muncul sebagai permintaan yang gagal di kemudian hari.
Langkah pertama onboarding adalah koneksi ini. Setelah itu, kartu yang sama menjadi tempat Anda mengganti atau menghapusnya. GitLab dan Bitbucket menggunakan kartu yang sama; lihat Hubungkan host kode.
Pilih tempat server berjalan
Bagian berjudul “Pilih tempat server berjalan”Control Center adalah klien tipis di atas proses cc_server headless yang memiliki basis data dan mengerjakan semua pekerjaan; Deployment dan klien menjelaskan arti pemisahan itu bagi desktop, web, dan ponsel.
Saat pertama kali diluncurkan, aplikasi desktop menanyakan “Bagaimana Control Center harus dijalankan?”:
- Jalankan di aplikasi ini: desktop memunculkan dan mengawasi
cc_serverdi mesin ini serta berbicara dengannya melalui loopback. Tidak ada lagi yang perlu dikonfigurasi. Inilah penyiapan yang diasumsikan mulai cepat. - Hubungkan ke instans jarak jauh: arahkan desktop ke
cc_serveryang berjalan di tempat lain dengan URL WebSocket-nya, id perangkat, dan kunci pairing atau kode undangan sekali pakai. Server itulah yang memiliki data; desktop ini hanya menampilkannya.
Tambahkan atau alihkan server nanti di Pengaturan → Server → Koneksi & status. Pengalihan akan terhubung kembali di tempat — tanpa mulai ulang. Peramban tidak dapat menjalankan server, jadi klien web selalu jarak jauh; lihat Hubungkan ke server jarak jauh.
Untuk menghosting server sendiri, ikuti Jalankan server headless. Panduan itu mencakup pembangunan biner, pembuatan kunci pairing sebelum mulai pertama kali, dan flag --data-dir / --port / --bind.
Verifikasi penyiapan Anda
Bagian berjudul “Verifikasi penyiapan Anda”- Pengaturan → Server → Penyedia model mencantumkan kedua adapter. “Control Center (built-in)” terbaca sebagai ditemukan dengan versi
built-in; Claude Code terbaca sebagai ditemukan jika CLI-nya ada diPATHhost server. Tekan Segarkan jika tidak ada. - Pengaturan → Ruang kerja → Repositori mencantumkan repo ruang kerja ini, dan Tambah repositori menelusuri folder di host server.
- Pengaturan → Ruang kerja → Agen mencantumkan lima agen yang disemai ruang kerja pertama Anda. Masing-masing memerlukan Adapter dan Model yang disetel sebelum dapat berjalan.
- Pengaturan → Server → Diagnostik & privasi melaporkan backend sandbox yang ditawarkan host ini, status model embedding, dan logging.
Bangun dari sumber
Bagian berjudul “Bangun dari sumber”Pustaka native wajib ada dan tidak ada mode terdegradasi: pustaka yang hilang menyebabkan kegagalan boot yang keras, bukan jalur yang lebih lambat. Siapkan pustaka itu sebelum hal lainnya. Setiap perintah Flutter dan Dart dijalankan melalui fvm, karena versi SDK dipatok oleh repo.
git clone https://github.com/SamuelAlev/control-center.gitcd control-centerscripts/natives/build_natives.shfvm flutter pub getfvm flutter pub run build_runner build --delete-conflicting-outputsfvm flutter gen-l10nfvm flutter run -d macos # or -d windows, -d linuxDi macOS, penyimpanan aman (login GitHub, Linear, dan Google) memerlukan aplikasi yang ditandatangani oleh tim Apple — Apple ID gratis sudah cukup, dan ini penyiapan satu kali yang dijelaskan di penandatanganan pengembangan lokal. Tanpanya, aplikasi tetap diluncurkan; hanya penyimpanan aman yang tidak tersedia. Windows dan Linux tidak memerlukan penandatanganan.
Untuk membangun biner server headless, siapkan pustaka native dengan cara yang sama terlebih dahulu, lalu:
cd apps/cc_serverfvm dart build cliHook build menyalin apa pun yang sudah ada di build/natives/ ke dalam bundel, jadi membangun sebelum menyiapkan pustaka akan menghasilkan bundel tanpa pustaka native dan server yang menolak untuk mulai.
Untuk klien web, gunakan scripts/build_web.sh (--target remote untuk PWA ponsel). Inilah yang dijalankan CI: flutter build web biasa melewati stempel identitas build, regenerasi Web Worker, manifes deployment, dan pemeriksaan anggaran aset.