Přeskočit na obsah

Instalace

Control Center běží dvěma způsoby: jako webová aplikace na app.usectrl.dev, kde není co stahovat, nebo jako aplikace pro počítač, kterou si nainstaluješ. Je to tatáž aplikace se stejnými funkcemi. Rozdíl je jen v tom, kde běží server. Webová aplikace ho za tebe nespustí.

Použij ho v prohlížeči

Sekce “Použij ho v prohlížeči”

app.usectrl.dev je tahle aplikace sestavená pro prohlížeč. Není co instalovat ani aktualizovat. Otevři ji a připoj se.

Co karta prohlížeče neumí, je serverem být. Každý klient, ať jde o počítač, web nebo telefon, je tenký klient nad headless cc_server, který vlastní databázi a dělá práci, takže webová aplikace vždy mluví se serverem, který spouštíš ty. Dát jí ho jde dvěma způsoby:

Server na vlastním stroji. Spusť cc_server lokálně a namiř webovou aplikaci na ws://localhost:9030. Prohlížeče berou localhost jako důvěryhodný, takže nepotřebuješ certifikát ani tunel. Je to nejrychlejší způsob, jak webovou aplikaci vyzkoušet, a data neopustí tvůj stroj.

Server na jiném stroji. Protože app.usectrl.dev běží po HTTPS, server mimo tvůj počítač musí být dosažitelný přes wss:// s certifikátem, kterému prohlížeč už důvěřuje. cc_server odmítne navázat adresu mimo loopback bez TLS, takže zvol jedno z tohoto:

  • dej mu certifikát přímo, přes --tls-cert a --tls-key
  • postav ho za reverzní proxy, která ukončuje TLS, a spusť ho s --insecure
  • vystav ho tunelem nebo VPN, která dodá certifikát: Tailscale, cloudflared nebo něco podobného. Nastavení → Server → Připojení a stav má vestavěné zapnutí tunelu pod Sdílet tento server.

Když server sedí za proxy, NAT nebo tunelem, nastav --public-url na adresu, na kterou se mají klienti opravdu připojit. Výchozí je místní vazba, takže bez ní zkouší špatného hostitele.

Pár věcí zůstává jen na počítači, protože potřebují nativní okno nebo zvuková zařízení toho stroje: plovoucí pilulka režimu soustředění, systémové toasty oznámení (centrum oznámení v aplikaci funguje všude), „Spustit nahrávání a propojit“ u události v kalendáři a nové spuštění shrnutí schůzky. Všechno ostatní, prostory, agenti, kontrola pull requestů, pipelines, tickety, paměť i samotné nahrávání schůzky, se chová stejně.

Webovou aplikaci k serveru připojíš podle Připojte se ke vzdálenému serveru. Jak server hostovat, popisuje Spusťte headless server.

Systémové požadavky na počítači

Sekce “Systémové požadavky na počítači”
Požadavek macOS Windows Linux
Verze systému macOS 13+ (Ventura) Windows 10+ Ubuntu 22.04+ nebo jiná distribuce s glibc 2.35+ a GTK 3
Architektura Apple Silicon (arm64) x64, ARM64 x86_64
Git Povinné Povinné Povinné
Místo na disku ~200 MB pro aplikaci a k tomu datový adresář serveru ~200 MB ~200 MB

Macy s procesorem Intel nemají předpřipravené stažení. Místo toho sestav ze zdroje.

Datový adresář serveru aplikaci přeroste. Při prvním startu cc_server vynutí instalaci modelů na zařízení: textové embeddingy (~90 MB), diarizaci řečníků (~35 MB) a zvolený model řeči (ve výchozím stavu Parakeet TDT v3, ~600 MB; varianty Whisper 198–626 MB). K tomu přibalené sestavení code-server a každá konverzace agenta dostane worktree s copy-on-write repozitářů, na kterých pracuje (na Windows obyčejný git worktree). Řeč není volitelná: bez modelu ASR se operace schůzek a diktování neobsluhují. První stažení modelu řeči pořád potřebuje jeden restart, než nahrávání naskočí.

Aplikace pro počítač ukládá data serveru do adresáře podpory aplikací daného uživatele. cc_server spuštěný ručně bez --data-dir má výchozí cestu <application data>/control-center: ~/Library/Application Support/control-center na macOS, %APPDATA%\control-center na Windows a $XDG_DATA_HOME/control-center (nebo ~/.local/share/control-center) na Linuxu.

Všechny artefakty níže jsou z vydání na GitHubu.

Stáhni Control-Center-<version>-arm64.dmg, otevři ho a přetáhni Control Center do Applications. Sestavení je podepsané Developer ID a notarizované Applem, takže se otevírá normálně.

  • Control-Center-<version>-x64-setup.exe: instalátor pro jednoho uživatele.
  • Control-Center-<version>-windows-x64.zip: přenosný zip.
  • Control-Center-<version>-arm64-setup.exe: instalátor pro jednoho uživatele.
  • Control-Center-<version>-windows-arm64.zip: přenosný zip.

Windows pro checkouty prostorů používá git worktree (bez copy-on-write).

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

AppImage veze informace o aktualizaci, takže AppImageUpdate nebo appimaged ho umí na místě posunout na nejnovější vydání a stáhne jen to, co se změnilo.

Obě jsou sestavená na Ubuntu 22.04 a běží na něm i na čemkoli novějším (Debian 12, Fedora 36 a novější): linkují glibc 2.35 a libstdc++ z GCC 12 a GTK 3 berou ze systému. Pár knihoven, které běžné ploše můžou chybět, vezou uvnitř, takže nic dalšího instalovat nemusíš. Zvuk, tedy přehrávání schůzek, zvuková krajina, zvuk stanic a tóny oznámení, hraje přes systémové libmpv (libmpv1 na Ubuntu 22.04, libmpv2 na novějším Ubuntu a Debianu, mpv-libs na Fedoře); bez něj se aplikace spustí s těmi ovládacími prvky schovanými.

Každé vydání veze i samotný headless server: 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 vedle toho obrazy cc-server, cc-webapp a cc-remote na GHCR. Viz Spusťte headless server.

Linuxový archiv je sestavený na Ubuntu 22.04 a přibalené nativní knihovny linkují glibc 2.35 a libstdc++ z GCC 12, takže hostitel musí být aspoň tak nový (Ubuntu 22.04, Debian 12, Fedora 36 nebo novější). Na starší distribuci spusť raději obraz cc-server: kontejner si přinese vlastní userland, takže tvůj musí být jen kernel.

Control Center odesílá agenty přes adaptéry. Jsou dva, seznam je pevný a detekují se samy. Třetího zaregistrovat nejde.

Adaptér Control Center (built-in) nepotřebuje externí CLI: smyčka agenta běží uvnitř serveru a s poskytovateli modelů mluví po HTTP, takže je pořád k dispozici. Poskytovatele připojíš v Nastavení → Server → Poskytovatelé modelů. OpenAI, Codex, Cursor a Kimi Code nabízejí přihlášení v prohlížeči; Anthropic, OpenRouter, Google Gemini, DeepSeek, Mistral, xAI, z.ai a Moonshot berou API klíč. Codex a Cursor jsou na tomhle runneru poskytovatelé, ne samostatná CLI. z.ai je v seznamu dvakrát schválně: z.ai je otevřená platforma s platbou podle spotřeby, účtovaná proti zůstatku účtu, kdežto z.ai GLM Coding Plan je předplatné. Je to tentýž klíč k účtu, ale z.ai ten tarif obsluhuje z jiného hostitele. Když klíč tarifu GLM Coding Plan vložíš do obyčejné dlaždice z.ai, každý požadavek se vrátí jako 429 … "Insufficient balance or no resource package", protože tarif nemá zůstatek, ze kterého by se dalo čerpat. Předplatné Claude Pro/Max není přihlášení k API Anthropic; k tomu tarifu se dostaneš přes adaptér Claude Code. Co na té stránce přidat jde, je vlastní poskytovatel: libovolný endpoint kompatibilní s OpenAI nebo Anthropic (Ollama, LM Studio, vLLM, soukromé nasazení) pod Vlastní poskytovatelé → Přidat poskytovatele.

Druhý adaptér obaluje externí CLI:

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

Detekce se ptá PATH stroje, na kterém běží cc_server: téhož stroje, když si aplikace pro počítač spouští vlastní server, jinak vzdáleného hostitele. CLI Claude Code nainstaluj tam, ne na klienta. Tlačítko Obnovit na té stránce sondu spustí znovu.

Seznamy modelů posílá živě každý připojený poskytovatel; models.dev dodává jen metadata o ceně a kontextovém okně. Viz Spravujte adaptéry a modely.

Přihlášení na GitHub

Sekce “Přihlášení na GitHub”

Přihlašovací údaj ke GitHubu je tvůj a leží na serveru, klíčovaný tvým id uživatele, ne v klíčence OS na klientovi. Každé zařízení, ze kterého se přihlásíš, používá tentýž, a žádný jiný člen ho nepřečte.

Když má server zaregistrovanou GitHub App (Vytvořte GitHub App), Nastavení → Pracovní prostor → Profil a identita → Hostování kódu nabízí Přihlásit se přes GitHub (device flow, který běží na serveru). Jinak vlož osobní přístupový token:

  • Classic: repo a read:org
  • Fine-grained: Contents a Pull requests (čtení i zápis), Checks a Actions (čtení)

Vytvoř ho na GitHub → Settings → Developer settings → Personal access tokens. Server při ukládání tokenem ověří jméno účtu, takže řádek může říct „Přihlášeno jako …“. Neúspěšná sonda token stejně uloží a překlep nebo chybějící scope se ukáže až později, jako neúspěšný požadavek.

První krok onboardingu je tohle připojení. Pak na stejné kartě údaj vyměníš nebo smažeš. GitLab a Bitbucket používají tutéž kartu; viz Připojte hostitele kódu.

Vyber, kde server poběží

Sekce “Vyber, kde server poběží”

Control Center je tenký klient nad headless procesem cc_server, který vlastní databázi a dělá všechnu práci. Nasazení a klienti vysvětluje, co to rozdělení znamená pro počítač, web a telefon.

Při prvním spuštění se aplikace pro počítač ptá „Jak má Control Center běžet?“:

  • Spustit v této aplikaci: aplikace na tomhle stroji spustí cc_server, dohlíží na něj a mluví s ním přes loopback. Nic dalšího nenastavuješ. S tímhle nastavením počítá rychlý start.
  • Připojit ke vzdálené instanci: namiř aplikaci pro počítač na cc_server, který běží jinde, pomocí URL WebSocketu, ID zařízení a buď párovacího klíče, nebo jednorázového kódu pozvánky. Data vlastní ten server; tahle aplikace je jen vykresluje.

Server později přidáš nebo přepneš v Nastavení → Server → Připojení a stav. Přepnutí se připojí znovu na místě, bez restartu. Prohlížeč server spustit neumí, takže webový klient je vždy vzdálený; viz Připojte se ke vzdálenému serveru.

Když chceš server hostovat sám, jdi na Spusťte headless server. Je tam sestavení binárky, vystavení párovacího klíče před prvním startem a příznaky --data-dir / --port / --bind.

  1. Nastavení → Server → Poskytovatelé modelů vypíše oba adaptéry. „Control Center (built-in)“ je nalezený s verzí built-in; Claude Code je nalezený, když je jeho CLI na PATH hostitele serveru. Když chybí, stiskni Obnovit.
  2. Nastavení → Pracovní prostor → Repozitáře vypíše repozitáře tohoto pracovního prostoru a Přidat repozitář prochází složky hostitele serveru.
  3. Nastavení → Pracovní prostor → Agenti vypíše pět agentů, které založil tvůj první pracovní prostor. Než kterýkoli poběží, potřebuje nastavený Adaptér a Model.
  4. Nastavení → Server → Diagnostika a soukromí hlásí backendy sandboxu, které tenhle hostitel nabízí, stav embeddingového modelu a logování.

Nativní knihovny jsou povinné a degradovaný režim neexistuje: chybějící knihovna je tvrdý pád při startu, ne pomalejší cesta. Připrav je dřív než cokoli jiného. Každý příkaz Flutteru a Dartu jde přes fvm, protože verzi SDK drží repozitář.

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

Na macOS potřebuje zabezpečené úložiště (přihlášení ke GitHubu, Linear a Google) aplikaci podepsanou týmem Apple. Stačí bezplatné Apple ID a je to jednorázové nastavení popsané v podepisování pro místní vývoj. Bez něj se aplikace pořád spustí; nedostupné je jen zabezpečené úložiště. Windows a Linux podpis nepotřebují.

Binárku headless serveru sestavíš tak, že nativní knihovny nejdřív připravíš stejně a pak:

Terminál
cd apps/cc_server
fvm dart build cli

Háček sestavení zkopíruje do balíčku to, co už leží v build/natives/, takže sestavení před přípravou dá balíček bez nativních knihoven a server, který odmítne nastartovat.

Pro webového klienta použij scripts/build_web.sh (--target remote pro PWA na telefon). Přesně to spouští CI: holé flutter build web přeskočí razítko identity sestavení, přegenerování Web Workeru, manifest nasazení a kontrolu rozpočtu assetů.