Tovább a tartalomhoz

Telepítés

A Control Center kétféleképpen fut: webalkalmazásként a app.usectrl.dev címen, letöltés nélkül, vagy asztali alkalmazásként, amelyet Ön telepít. Ugyanaz az alkalmazás, ugyanazokkal a funkciókkal. Az egyetlen különbség, hogy hol fut a szerver — a webalkalmazás pedig nem tud szervert futtatni Önnek.

A app.usectrl.dev ennek az alkalmazásnak a böngészőre fordított változata. Nincs mit telepíteni, nincs mit frissíteni. Nyissa meg, és csatlakozzon.

Amit egy böngészőfül nem tud megtenni, az az, hogy maga legyen a szerver. Minden kliens — asztali, webes, telefonos — egy vékony megjelenítő egy headless cc_server fölött, amely birtokolja az adatbázist és végzi a munkát, így a webalkalmazás mindig egy Ön által futtatott szerverrel beszél. Két módja van, hogy kapjon egyet:

Szerver a saját gépén. Indítsa el a cc_server-t helyben, és irányítsa a webalkalmazást a ws://localhost:9030 címre. A böngészők a localhost-ot megbízhatónak tekintik, így ehhez nem kell tanúsítvány és alagút sem. Ez a leggyorsabb módja a webalkalmazás kipróbálásának, és az adatai soha nem hagyják el a gépét.

Szerver egy másik gépen. Mivel az app.usectrl.dev HTTPS-en keresztül érhető el, egy nem helyi szervernek wss://-en keresztül elérhetőnek kell lennie, olyan tanúsítvánnyal, amelyet a böngésző már megbízhatónak tart. A cc_server nem hajlandó nem loopback-címre kötni TLS nélkül, ezért válasszon az alábbiak közül:

  • adjon neki tanúsítványt közvetlenül, a --tls-cert és a --tls-key kapcsolóval
  • tegye egy TLS-t lezáró fordított proxy mögé, és indítsa el a --insecure kapcsolóval
  • tegye elérhetővé egy alagúton vagy VPN-en keresztül, amely biztosítja a tanúsítványt — Tailscale, cloudflared vagy hasonló. A Beállítások → Szerver → Kapcsolat és állapot alatt, a Szerver megosztása részen található a beépített alagútbeállítás.

Amikor a szerver proxy, NAT vagy alagút mögött van, állítsa a --public-url értékét arra a címre, amelyet a klienseknek ténylegesen hívniuk kell. Alapértelmezésben a helyi bind, így nélküle a kliensek a rossz gazdagépet próbálják.

Néhány dolog csak asztali gépen marad, mert natív ablakra vagy a gép saját hangeszközeire van szükségük: a lebegő fókuszmód-pirula, az operációs rendszer értesítési toastjai (az alkalmazáson belüli értesítési központ mindenhol működik), a naptáreseményből indított „Felvétel indítása és összekapcsolás”, valamint egy megbeszélés-összefoglaló újrafuttatása. Minden más — terek, ügynökök, pull requestek átnézése, pipeline-ok, jegyek, memória és maga a megbeszélésrögzítés — ugyanúgy viselkedik.

A webalkalmazás szerverhez csatlakoztatásához kövesse a Csatlakozás távoli szerverhez oldalt. A szerver üzemeltetéséhez kövesse a Headless szerver futtatása oldalt.

Követelmény macOS Windows Linux
Operációs rendszer macOS 13+ (Ventura) Windows 10+ Ubuntu 22.04+ vagy más disztribúció glibc 2.35+ és GTK 3 verzióval
Architektúra Apple Silicon (arm64) x64, ARM64 x86_64
Git Szükséges Szükséges Szükséges
Lemezterület ~200 MB az alkalmazásnak, plusz a szerver adatkönyvtára ~200 MB ~200 MB

Az Intel Mac gépekhez nincs előre összeállított letöltés. Ehelyett építsen forrásból.

A szerver adatkönyvtára nagyobbra nő, mint maga az alkalmazás. Első indításakor a cc_server kényszerűen telepíti az eszközön futó modelleket — szövegbeágyazások (~90 MB), beszélőszétválasztás (~35 MB) és a kiválasztott beszédmodell (alapértelmezésben Parakeet TDT v3, ~600 MB; Whisper-változatok 198–626 MB) —, továbbá egy beágyazott code-server buildet, és minden ügynökbeszélgetés kap egy copy-on-write worktree-t azokból a repókból, amelyeken dolgozik (Windows esetén egyszerű git worktree). A beszéd nem választható: az ASR-modell nélkül a megbeszélés- és diktálási műveletek nem kerülnek kiszolgálásra. A beszédmodell első letöltése után még egy újraindítás kell, hogy a felvétel bekapcsoljon.

Az asztali alkalmazás a szerverét az operációs rendszer felhasználónkénti alkalmazástámogatási könyvtárára irányítja. A kézzel, --data-dir nélkül indított cc_server alapértéke <application data>/control-center — macOS esetén ~/Library/Application Support/control-center, Windows esetén %APPDATA%\control-center, Linux esetén $XDG_DATA_HOME/control-center (vagy ~/.local/share/control-center).

Az alábbi artefaktok mindegyike a GitHub Releases oldalról származik.

Töltse le a Control-Center-<version>-arm64.dmg fájlt, nyissa meg, és húzza a Control Centert az Applications mappába. A build Developer ID-val van aláírva, és az Apple notarizálta, így normálisan megnyílik.

  • Control-Center-<version>-x64-setup.exe: felhasználónkénti telepítő.
  • Control-Center-<version>-windows-x64.zip: hordozható zip.
  • Control-Center-<version>-arm64-setup.exe: felhasználónkénti telepítő.
  • Control-Center-<version>-windows-arm64.zip: hordozható zip.

A Windows git worktree-t használ a terek checkoutjaihoz (nincs copy-on-write).

  • Control-Center-<version>-x86_64.AppImage
  • Control-Center-<version>-linux-x64.tar.gz

Az AppImage frissítési információkat hordoz, így az AppImageUpdate vagy az appimaged a helyén tudja a legújabb kiadásra frissíteni, csak a megváltozott részeket letöltve.

Mindkettő Ubuntu 22.04-en készült, és azon vagy újabb rendszereken fut (Debian 12, Fedora 36 és újabb): a glibc 2.35-höz és a GCC 12 libstdc++-ához linkelnek, a GTK 3-at pedig a rendszertől veszik. Az a néhány könyvtár, amely egy szokásos asztali rendszerből hiányozhat, bennük utazik, így semmi mást nem kell telepíteni. A hang — a megbeszélések lejátszása, a hangtáj, az állomások hangja és az értesítési hangok — a rendszer libmpv-jén keresztül szól (libmpv1 Ubuntu 22.04-en, libmpv2 az újabb Ubuntu és Debian rendszereken, mpv-libs a Fedora rendszereken); nélküle az alkalmazás úgy indul el, hogy ezek a vezérlők rejtve vannak.

Minden kiadás külön is tartalmazza a headless szervert — 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 —, a GHCR-en lévő cc-server, cc-webapp és cc-remote image-ek mellett. Lásd: Headless szerver futtatása.

A Linux-archívum Ubuntu 22.04-en készült, és a mellékelt natív könyvtárai a glibc 2.35-höz és a GCC 12 libstdc++-ához linkelnek, ezért legalább ilyen új gazdagépre van szüksége (Ubuntu 22.04, Debian 12, Fedora 36 vagy újabb). Régebbi disztribúción inkább a cc-server image-et futtassa — egy konténer a saját userlandjét hozza magával, így csak a kernelnek kell az Önének lennie.

A Control Center adaptereken keresztül indítja az ügynököket. Kettő van belőlük, a lista rögzített, és felismerésük automatikus — nincs mód újabb regisztrálására.

A Control Center (built-in) adapterhez nem kell külső CLI: az ügynökciklus a szerveren belül fut, és HTTP-n keresztül beszél a modellszolgáltatókkal, így mindig elérhető. Szolgáltatót a Beállítások → Szerver → Modellszolgáltatók alatt csatlakoztathat. Az OpenAI, a Codex, a Cursor és a Kimi Code böngészős bejelentkezést kínál; az Anthropic, az OpenRouter, a Google Gemini, a DeepSeek, a Mistral, az xAI, a z.ai és a Moonshot API-kulcsot vár. A Codex és a Cursor ezen a futtatón szolgáltatók, nem külön CLI-k. A z.ai szándékosan kétszer szerepel a listán: a z.ai a használat alapján fizetendő nyílt platform, amely az egyenlegéről számlázódik, a z.ai GLM Coding Plan pedig az előfizetés. Ugyanaz a fiókkulcs, de a z.ai a csomagot másik gazdagépről szolgálja ki — ha egy coding plan kulcsát illeszti a sima z.ai csempébe, minden kérés erre tér vissza: 429 … "Insufficient balance or no resource package", mert a csomagnak nincs elkölthető egyenlege. A Claude Pro/Max előfizetés nem Anthropic API-bejelentkezés; azt a csomagot a Claude Code adapteren keresztül érheti el. Amit viszont hozzáadhat ezen az oldalon, az egy egyéni szolgáltató — bármely OpenAI- vagy Anthropic-kompatibilis végpont (Ollama, LM Studio, vLLM, privát telepítés) az Egyéni szolgáltatók → Szolgáltató hozzáadása alatt.

A másik adapter egy külső CLI-t csomagol:

  • Claude Code (claude): npm install -g @anthropic-ai/claude-code

A felismerés a cc_server-t futtató gép PATH-ját vizsgálja — ugyanazt a gépet, ha az asztali alkalmazás a saját szerverét futtatja, egyébként a távoli gazdagépet. A Claude Code CLI-t oda telepítse, ne a kliensre. Az oldalon lévő Frissítés gomb futtatja újra a vizsgálatot.

A modellistákat minden csatlakoztatott szolgáltató élőben szolgálja ki; a models.dev csak az ár- és kontextusablak-metaadatokat adja. Lásd: Adapterek és modellek kezelése.

A GitHub-hitelesítő adat az Öné, és a szerveren él, a felhasználói azonosítójához kötve — nem a kliens operációs rendszerének kulcstartójában. Minden eszköz, ahonnan bejelentkezik, ugyanazt használja, és más tag nem olvashatja.

Ha a szerveren van regisztrált GitHub App (GitHub App létrehozása), a Beállítások → Munkaterület → Profil és identitás → Kódtárhely felajánlja a Bejelentkezés ezzel: GitHub lehetőséget (a szerver által futtatott eszközfolyamat). Egyébként illesszen be egy személyes hozzáférési tokent:

  • Klasszikus: repo és read:org
  • Finomhangolt: Contents és Pull requests (read and write), Checks és Actions (read)

Hozzon létre egyet a GitHub → Settings → Developer settings → Personal access tokens oldalon. A szerver a tokent a tárolt állapotában vizsgálja meg a fióknévre, így a sor azt írhatja: „bejelentkezve mint …”; egy sikertelen vizsgálat is elmenti a tokent, és egy elírás vagy hiányzó hatókör később sikertelen kérésként jelenik meg.

A bevezetési folyamat első lépése ez a kapcsolat. Utána ugyanazon a kártyán cserélheti le vagy törölheti. A GitLab és a Bitbucket ugyanezt a kártyát használja; lásd: Kódhoszt csatlakoztatása.

A Control Center egy vékony kliens egy headless cc_server folyamat fölött, amely birtokolja az adatbázist és minden munkát elvégez; Telepítés és kliensek elmagyarázza, mit jelent ez a kettéválasztás az asztali, webes és telefonos kliensnél.

Első indításkor az asztali alkalmazás ezt kérdezi: „Hogyan fusson a Control Center?”:

  • Futtatás ebben az alkalmazásban: az asztali alkalmazás elindít és felügyel egy cc_server-t ezen a gépen, és loopbacken keresztül beszél vele. Semmi mást nem kell beállítani. Ezt a beállítást feltételezi a gyors kezdés.
  • Csatlakozás távoli példányhoz: irányítsa az asztali alkalmazást egy máshol futó cc_server-re annak WebSocket URL-jével, egy eszköz-ID-val, valamint egy párosítási kulccsal vagy egyszer használatos meghívókóddal. Az adatokat az a szerver birtokolja; ez az asztali alkalmazás csak megjeleníti azokat.

Szervereket később a Beállítások → Szerver → Kapcsolat és állapot alatt adhat hozzá vagy válthat. A váltás a helyén újracsatlakozik — újraindítás nélkül. A böngésző nem tud szervert futtatni, így a webes kliens mindig távoli; lásd: Csatlakozás távoli szerverhez.

Ha saját maga szeretne szervert üzemeltetni, kövesse a Headless szerver futtatása oldalt. Az a bináris felépítését, az első indítás előtti párosításikulcs-kibocsátást és a --data-dir / --port / --bind kapcsolókat tárgyalja.

  1. A Beállítások → Szerver → Modellszolgáltatók mindkét adaptert listázza. A „Control Center (built-in)” a built-in verzióval megtalálva állapotot mutatja; a Claude Code akkor mutat megtalálva állapotot, ha a CLI-je a szervergazdagép PATH-jában van. Ha hiányzik, nyomja meg a Frissítés gombot.
  2. A Beállítások → Munkaterület → Tárolók listázza ennek a munkaterületnek a repóit, a Tároló hozzáadása pedig a szervergazdagép mappáit böngészi.
  3. A Beállítások → Munkaterület → Ügynökök listázza azt az öt ügynököt, amelyet az első munkaterülete létrehozott. Mindegyikhez be kell állítani egy Adaptert és egy Modellt, mielőtt futhat.
  4. A Beállítások → Szerver → Diagnosztika és adatvédelem jelenti azokat a homokozó-háttérrendszereket, amelyeket ez a gazdagép kínál, a beágyazómodell állapotát és a naplózást.

A natív könyvtárak kötelezőek, és nincs csökkentett mód: ha valamelyik hiányzik, az kemény indítási hiba, nem lassabb útvonal. Ezeket minden más előtt készítse elő. Minden Flutter- és Dart-parancs az fvm-en keresztül megy, mert az SDK verzióját a repó rögzíti.

Terminál
git clone https://github.com/SamuelAlev/control-center.git
cd control-center
scripts/natives/build_natives.sh
fvm flutter pub get
fvm flutter pub run build_runner build --delete-conflicting-outputs
fvm flutter gen-l10n
fvm flutter run -d macos # or -d windows, -d linux

macOS-en a biztonságos tároláshoz (GitHub-, Linear- és Google-bejelentkezés) az kell, hogy az alkalmazást egy Apple-csapat írja alá — egy ingyenes Apple ID is elég, és ez egyszeri beállítás, amelyet a helyi fejlesztési aláírás alatt ismertetünk. Enélkül az alkalmazás így is elindul; csak a biztonságos tároló nem érhető el. A Windows és a Linux nem igényel aláírást.

A headless szerver binárisának felépítéséhez először ugyanígy készítse elő a natívokat, majd:

Terminál
cd apps/cc_server
fvm dart build cli

A build hook mindazt a bundle-be másolja, ami már benne van a build/natives/ könyvtárban, így ha az előkészítés előtt épít, olyan bundle-t kap, amelyben nincsenek natívok, és egy szervert, amely megtagadja az indulást.

A webes klienshez használja a scripts/build_web.sh szkriptet (--target remote a telefonos PWA-hoz). A CI is ezt futtatja: egy sima flutter build web kihagyja a build-identitás pecsétjét, a Web Worker újragenerálását, a telepítési jegyzéket és az eszközköltségvetés-ellenőrzést.