Čtyřicet tisíc korun. Krabička o velikosti dvou sendvičů. Uvnitř běží AI agent, který si pamatuje každou konverzaci, odpovídá z vašich dokumentů a je dostupný z telefonu odkudkoli přes šifrovaný tunel. Žádný administrátor, který se vám dívá do dat. Tohle je Mac Mini M4 Pro a v tomhle díle ho společně nastavíme jako bezpečný AI server od prvního zapojení po první odpověď agenta.
Vítejte u 2. dílu seriálu OpenClaw: Kompletní průvodce. Stavíme bezpečnou AI agent infrastrukturu na vlastním hardware, krok za krokem.
A kdo chce jít dál? Mac Studio M4 Max se 128 GB paměti za 106 tisíc. Stejný postup, ale navíc lokální AI model s 80 miliardami parametrů. Citlivá data nikdy neopustí stroj. To ukážeme ve třetím díle.
V minulém díle jsme prošli bezpečnostní realitu OpenClaw. Skóre 2 ze 100, kritické CVE, 341 škodlivých skills na marketplace. Položili jsme bezpečnostní základy a sestavili checklist deseti bodů. Dnes přecházíme od teorie k praxi. Rozbalíme hardware, zabezpečíme operační systém a spustíme prvního agenta. Bezpečně.
Proč vlastní hardware a ne VPS za pár stovek
Většina tutoriálů na YouTube doporučuje VPS. Tech With Tim ukazuje kompletní OpenClaw setup na Hostinger za 250 korun měsíčně. A má pravdu. Pro čistý OpenClaw bez lokální inference je VPS výborná volba. Always-on provoz, automatické zálohy, rychlý internet.
Jenže VPS má dvě slabiny. Za prvé, vaše data běží na cizím serveru. Za druhé, lokální modely na VPS za pár stovek nepustíte — CPU inference je pro reálné použití nepoužitelná. Proto vlastní hardware.
| VPS (250 Kč/měs.) | Mac Mini M4 Pro 24 GB | Mac Studio M4 Max 128 GB | |
|---|---|---|---|
| Cena | 3 000 Kč/rok | ~40 000 Kč jednorázově | ~106 000 Kč jednorázově |
| Lokální LLM | Ne (CPU only) | Malé modely (do 14B) | Ano (Qwen3 80B v Q8) |
| Cloud modely | Ano | Ano (předplatné) | Ano (předplatné) |
| Data | Cloud provider | Váš stůl | Váš stůl |
| Always-on | 99,9 % uptime | Ano | Ano |
| Spotřeba | — | ~5 W idle | ~6 W idle |
Dvě cesty, jeden cíl. Mac Mini M4 Pro za 40 tisíc je vstupní bod. OpenClaw běží lokálně, AI modely se připojují přes předplatné (Claude Max, ChatGPT Pro). Žádné API klíče, žádné platby za tokeny. Krabička na stole, agent v telefonu.
Mac Studio M4 Max za 106 tisíc je plná verze. Všechno co Mac Mini, plus lokální model s 80 miliardami parametrů. Citlivá data nikdy neopustí stroj. O tom bude třetí díl.
Já jsem začal s Mac Mini. Mac Studio přijde později. Všechny kroky v tomto díle platí pro oba stroje identicky.
Co jsem koupil a proč přesně tuhle konfiguraci
Mac Mini M4 Pro s 24 GB unified memory. Necelých 40 tisíc korun. Dvanáctijádrový CPU, šestnáctijádrový GPU, paměťová propustnost 273 GB/s.
Proč zrovna Mac Mini a ne rovnou Mac Studio? Protože pro OpenClaw s cloud modelem je to víc než dost. OpenClaw gateway je Node.js proces, který v idle zabírá kolem 500 MB RAM. Claude nebo ChatGPT běží v cloudu přes předplatné. Mac Mini je jen bezpečný terminál, který zprostředkovává komunikaci. K tomu nepotřebujete 128 GB paměti.
Co Mac Mini M4 Pro zvládne:
- OpenClaw gateway + agent — plynule, s rezervou
- Claude Max subscription (€90/měs.) — neomezené použití přes předplatné, žádné API klíče
- Docker sandbox pro izolaci agentů
- Menší lokální modely (do 14 miliard parametrů) — pro jednoduché úlohy
- Always-on provoz — 5 wattů v idle, za rok elektřiny pod 500 korun
Fyzicky je Mac Mini miniaturní. 12,7 × 12,7 × 5 cm. Položil jsem ho na polici vedle routeru, zapojil napájecí kabel a ethernet. Tichý, studený, nenápadný.
A co Mac Studio?
Mac Studio M4 Max se 128 GB unified memory je další level. Kolem 106 tisíc korun. Šestnáctijádrový CPU, čtyřicetijádrový GPU, propustnost 546 GB/s. Hlavní rozdíl: vejde se do něj Qwen3 Coder Next s 80 miliardami parametrů v kvalitní Q8 kvantizaci. Citlivá data pak zpracuje lokální model, aniž by opustila stroj.
Nemusíte se rozhodovat hned. Mac Mini je plnohodnotný start. Pokud později přidáte Mac Studio, Mac Mini se stane vždy zapnutým agentem a routerem v clusteru. Nic nevyhodíte.
Tento návod platí pro oba stroje. Všechny kroky — hardening, Docker, Tailscale, OpenClaw — jsou identické.
macOS hardening: než spustíte cokoliv
Než nainstalujeme jediný balíček, musíme operační systém zabezpečit. Tohle je krok, který většina průvodců přeskakuje. My ne.
Nejdřív ale nainstalujte základy, protože čerstvý Mac je prázdný. Začněte Command Line Tools:
xcode-select --install Vyskočí okno, klikněte Install a počkejte. Pak Homebrew — správce balíčků pro macOS:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" Po instalaci Homebrew vypíše dva příkazy pro přidání brew do PATH (začínají echo a eval). Spusťte je, jinak terminál brew nenajde.
Pak Node.js:
brew install node A Claude Code:
npm install -g @anthropic-ai/claude-code Osobně doporučuji zařídit si Claude Code co nejdříve — může vás provést zbytkem nastavení.
FileVault zašifruje celý disk. Pokud vám někdo Mac ukradne, bez hesla se k datům nedostane.
sudo fdesetup enable Firewall zapneme a aktivujeme stealth mode. Důležitá poznámka: nepoužívejte --setblockall on. Block all blokuje všechna příchozí spojení včetně SSH přes Tailscale a ignoruje výjimky přidané přes --add. Stealth mode je lepší volba — Mac neodpovídá na pingy a skenování portů, ale povolené aplikace (SSH, Tailscale) fungují normálně.
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setstealthmode on SIP (System Integrity Protection) necháme zapnutý. Nikdy ho nevypínejte. Chrání systémové soubory před modifikací.
Nejdůležitější krok je dedikovaný uživatel pro AI služby. Všechno co souvisí s OpenClaw, llama-serverem a dalšími AI službami poběží pod tímto uživatelem. Nemá přístup k vašemu home adresáři. Nemá sudo. Nemůže eskalovat oprávnění.
sudo dscl . -create /Users/aiservice
sudo dscl . -create /Users/aiservice UserShell /bin/zsh
sudo dscl . -create /Users/aiservice UniqueID 550
sudo dscl . -create /Users/aiservice PrimaryGroupID 20
sudo dscl . -create /Users/aiservice NFSHomeDirectory /Users/aiservice
sudo createhomedir -c -u aiservice Aby se k tomuto uživateli dalo připojit přes SSH (potřebujeme pro Tailscale tunel), přidejte ho do SSH skupiny:
sudo dseditgroup -o edit -a aiservice -t user com.apple.access_ssh Proč je to důležité? Protože pokud útočník kompromituje OpenClaw agenta přes prompt injection, je uzavřený v kontextu uživatele aiservice. Nemá přístup k vašim souborům, klíčům, prohlížeči ani emailu. Izolace je první linie obrany.
Docker pro sandbox agentů
OpenClaw potřebuje Docker pro sandboxing agentů. Na macOS máte dvě hlavní možnosti.
Docker Desktop je nejjednodušší cesta. Pro osobní použití je zdarma, má GUI a funguje out of the box. Pokud na Macu děláte i jiné věci s Dockerem, pravděpodobně ho už máte.
Colima je open-source alternativa postavená na Lima. Lehčí, bez GUI, spouští se z příkazové řádky. Preferuji ji na dedikovaném serveru, kde nepotřebuji grafické rozhraní.
brew install colima docker docker-compose
colima start --cpu 4 --memory 8 --disk 50 Obě varianty na macOS pouštějí Docker přes Linux VM, takže výkonnostně jsou srovnatelné. Ověřte funkčnost příkazem docker ps.
Tailscale: přístup odkudkoli bez otevřených portů
Tohle je klíčový bezpečnostní prvek celé architektury. Žádný port otevřený do internetu. Všechny služby bindujeme na 127.0.0.1. Přístup z telefonu, notebooku nebo odkudkoli řešíme přes Tailscale.
Tailscale je zero-trust mesh VPN postavený na WireGuardu. End-to-end šifrování, point-to-point spojení. Privátní klíče nikdy neopustí zařízení.
brew install tailscale
sudo brew services start tailscale
tailscale up Nainstalujte Tailscale i na telefon a notebook. Po přihlášení ke stejnému účtu vidíte svůj Mac v privátní síti pod Tailscale IP adresou (obvykle 100.x.x.x).
Aby SSH tunel fungoval, nastavte klíč pro uživatele aiservice:
sudo mkdir -p /Users/aiservice/.ssh
sudo ssh-keygen -t ed25519 -f /Users/aiservice/.ssh/id_ed25519 -N ""
cat ~/.ssh/id_ed25519.pub | sudo tee /Users/aiservice/.ssh/authorized_keys
sudo chown -R aiservice:staff /Users/aiservice/.ssh
sudo chmod 700 /Users/aiservice/.ssh
sudo chmod 600 /Users/aiservice/.ssh/authorized_keys K OpenClaw gateway se pak připojíte přes SSH tunel:
ssh -N -L 18789:127.0.0.1:18789 aiservice@100.x.x.x Gateway dashboard je teď dostupný na localhost:18789 ve vašem prohlížeči. Přes internet se k němu nikdo nedostane.
Pro granulární kontrolu na úrovni portů a rozhraní použijeme pf (packet filter). Application Firewall z předchozího kroku blokuje příchozí spojení po aplikacích, pf řeší odchozí provoz a konkrétní porty.
sudo nano /etc/pf.conf block all
pass on lo0
pass on utun+ proto {tcp udp}
pass out proto udp to any port 53
pass out proto udp to any port 41641
pass out proto tcp to any port 443 sudo pfctl -f /etc/pf.conf
sudo pfctl -e Povolujeme odchozí HTTPS (port 443) na všechny destinace, protože Claude Code potřebuje přístup k api.anthropic.com, claude.ai i OAuth callback serverům. Pokud chcete přísnější pravidla, přidejte konkrétní domény — ale pozor, OAuth flow vyžaduje více endpointů než jen API.
Instalace OpenClaw
OpenClaw vyžaduje Node.js verze 22 nebo novější. Vždy instalujte nejnovější LTS verzi — každá aktualizace obsahuje bezpečnostní záplaty. Instalaci provedeme pod hlavním uživatelem (potřebujeme Homebrew a npm), ale runtime poběží pod aiservice.
brew install node@22
curl -fsSL https://openclaw.ai/install.sh | bash Teď přichází klíčový moment. Onboarding wizard vás provede základní konfigurací. Spouštíme ho pod aiservice, protože workspace patří jemu:
sudo -u aiservice openclaw onboard Wizard se zeptá na LLM provider. Máte dvě hlavní možnosti:
Předplatné (doporučeno pro start). Claude Max (€90/měs.) nebo ChatGPT Pro ($200/měs.) vám dá neomezené použití bez měření tokenů. Žádné API klíče, žádná překvapení na faktuře. Pro Mac Mini ideální volba.
API klíče. Platíte za každý token. Flexibilnější, ale náklady rostou s používáním. Dává smysl až když přesně víte, kolik tokenů denně spotřebujete.
Pro tento díl použijeme Claude Max subscription. Vyberete Anthropic jako providera a zadáte přihlašovací údaje přímo ve wizardu. Pokud autorizace selže s chybou 500 (Internal server error), je to dočasný problém na straně Anthropic — zkuste to znovu za pár minut. Občas pomůže změnit prohlížeč (Safari místo Chrome).
Po onboardingu nainstalujeme gateway jako systémovou službu, aby běžela na pozadí i po restartu:
Příkaz openclaw gateway install vytváří LaunchAgent, který vyžaduje GUI session — a servisní účet aiservice žádnou nemá. Lepší řešení je vlastní LaunchDaemon:
sudo tee /Library/LaunchDaemons/com.openclaw.gateway.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.openclaw.gateway</string>
<key>UserName</key>
<string>aiservice</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/openclaw</string>
<string>gateway</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/Users/aiservice/.openclaw/gateway.log</string>
<key>StandardErrorPath</key>
<string>/Users/aiservice/.openclaw/gateway.err</string>
</dict>
</plist>
EOF
sudo launchctl load /Library/LaunchDaemons/com.openclaw.gateway.plist LaunchDaemon běží na úrovni systému — startuje při bootu, nevyžaduje přihlášení uživatele a přežije restart. Ověřte stav příkazem sudo launchctl list | grep openclaw.
První konfigurace: kdo bude váš agent
Workspace OpenClaw žije v adresáři ~/.openclaw/workspace/. Jsou to markdown soubory, které definují kompletní osobnost a schopnosti agenta. Otevřete je v libovolném editoru.
SOUL.md definuje osobnost. Sdílí se napříč všemi agenty.
Jsi profesionální AI asistent. Komunikuješ česky, stručně a věcně.
Tvůj tón je přátelský ale odborný. Nepoužíváš emoji.
Pokud nevíš, řekni to. Nevymýšlej si.
Při citaci zdrojů vždy uveď odkud informace pochází. IDENTITY.md dává agentovi jméno a účel.
Jméno: Vymyslete libovolné
Verze: 0.1
Účel: Osobní AI asistent pro správu znalostí, projektů a dokumentů. AGENTS.md je nejkritičtější soubor. Definuje pravidla, workflow a priority.
Pravidla:
1. Vždy odpovídej z dostupných dokumentů. Pokud dokument neexistuje, řekni to.
2. Nikdy nespouštěj příkazy bez explicitního potvrzení uživatele.
3. Citlivá data nikdy neodesílej mimo lokální síť.
4. Při nejistotě se ptej, nevymýšlej. USER.md se doplňuje automaticky. Agent si z konverzací extrahuje fakta o vás a buduje váš profil. Zajímavé je, že to není vektorová databáze ani embedding. Je to čitelný markdown soubor, který si otevřete a vidíte, co o vás AI ví. A můžete to upravit.
První spuštění
Všechno je připravené. Spouštíme.
sudo -u aiservice openclaw gateway V terminálu se objeví potvrzení, že gateway běží. Agent je dostupný přes web UI na http://127.0.0.1:18789 (přes Tailscale tunel). Dashboard vyžaduje autorizační token — najdete ho v konfiguraci OpenClaw (sudo -u aiservice openclaw config get gateway.token). Napíšu první zprávu.
Odpověď přijde za dvě sekundy. Agent se představí jménem, které jsem mu dal v IDENTITY.md. Mluví česky, stručně, bez emoji. Přesně podle SOUL.md.
Druhá zpráva: zmíním, že pracuji na projektu pro klienta z finančního sektoru. Třetí zpráva o něčem jiném. Čtvrtá zpráva: zeptám se na ten finanční projekt, aniž bych ho znovu popsal. Agent si ho pamatuje. Vytáhl ho z persistentní paměti. Tohle je moment, kdy pochopíte, proč je OpenClaw nejpopulárnější open-source AI agent framework.
Otevřu USER.md a vidím nový záznam. Agent si zapsal, že pracuji na finančním projektu. Čitelné, editovatelné, pod mojí kontrolou.
Aktivace Docker sandboxu
Teď zapneme sandboxing. Bez něj agent běží s plnými oprávněními vašeho systému. To nechceme.
sudo -u aiservice openclaw configure V sekci sandbox nastavte režim na non-main. To znamená, že všichni agenti kromě defaultního poběží v Docker kontejnerech. Pro paranoidnější nastavení zvolte all.
Scope nastavte na agent. Každý agent dostane vlastní izolovaný kontejner. Vidí jen svůj workspace. Když se ho zeptáte na soubory mimo sandbox, odpoví: nemám přístup. Přesně tak to má být.
Benchmark: co to zvládne
Po hodinách testování mám čísla. S cloud modelem přes předplatné je odezva prakticky okamžitá na obou strojích — veškerý výpočet probíhá na serverech Anthropic.
| Metrika | Mac Mini M4 Pro 24 GB | Mac Studio M4 Max 128 GB |
|---|---|---|
| Odpověď (Claude subscription) | 1,5 až 3 s | 1,5 až 3 s |
| Spotřeba RAM (gateway + agent) | ~2 GB | ~2 GB |
| CPU při idle | < 1 % | < 1 % |
| Spotřeba elektřiny (idle) | ~5 W | ~6 W |
| Lokální inference | Malé modely (do 14B) | Qwen3 80B v Q8 |
OpenClaw gateway je překvapivě lehký. Node.js proces zabírá kolem 500 MB RAM v idle. S aktivní konverzací a persistentní pamětí se dostane na 1,5 až 2 GB. Z 24 GB kapacity Mac Mini zbývá přes 20 GB pro systém, Docker a menší lokální modely. Na Mac Studiu zůstává přes 120 GB pro velké lokální modely — o tom v příštím díle.
Bezpečnostní kontrola
Než prohlásíme setup za hotový, projdeme checklist z prvního dílu.
- ☑ Aktuální verze OpenClaw (vždy nejnovější stabilní release)
- ☑ Všechny porty na 127.0.0.1
- ☑ Tailscale VPN nakonfigurován
- ☑ Firewall s default deny
- ☑ Dedikovaný uživatel aiservice
- ☑ Docker sandbox aktivní (non-main)
- ☑ Žádné skills z ClawHub (zatím žádné skills)
- ☑ API klíče přes subscription token (ne plaintext)
- ☑ Modely zatím jen cloud API (lokální přidáme bezpečně v díle 3)
- ☑ Group chaty zakázané (pouze 1:1)
Deset z deseti. Setup je bezpečný.
Co máme hotové
Na polici vedle routeru stojí malá krabička, která tiše obsluhuje AI agenta. Agent mluví česky, pamatuje si kontext konverzací a je dostupný z telefonu přes šifrovaný Tailscale tunel. Všechny služby běží pod izolovaným uživatelem. Docker sandbox chrání agenty před eskalací oprávnění. Žádný port není otevřený do internetu.
Za 40 tisíc a pár hodin práce máme funkční AI server. Mac Mini M4 Pro s Claude předplatným. Kdo začíná s Mac Studiem za 106 tisíc, má přesně ten samý setup — jen s větší rezervou na to, co přijde v příštím díle.
Zatím používáme Claude přes předplatné. Dotazy putují přes internet na servery Anthropic. Pro většinu lidí je to naprosto dostačující. Ale pokud pracujete s citlivými daty: smlouvy, finance, klientské dokumenty — možná budete chtít, aby některé dotazy nikdy neopustily váš stroj. V příštím díle ukážu, jak nainstalovat lokální model, napojit Claude Code a nastavit routing. Kdo má Mac Studio se 128 GB, rozjede plný lokální stack. Kdo má Mac Mini, přidá Claude Code jako silného kódovacího agenta nad svým předplatným. Obě cesty vedou ke stejnému cíli.
👉 Zajímá vás lokální RAG pipeline a vlastní AI modely? Podívejte se na seriál Lokální RAG chatbot.
Celý seriál OpenClaw: Kompletní průvodce
- OpenClaw Úvod) Co je OpenClaw a v čem je revoluční
- OpenClaw 1) Bezpečnost na prvním místě: Na co si dát pozor a sandbox
- OpenClaw 2) Jak spustit a nastavit na vlastním HW (Mac Mini i Mac Studio) (právě čtete)
- OpenClaw 3) Napojení Claude Code a dalších modelů (i lokální)
- OpenClaw 4) Nastavení vlastních agentů, osobnosti a náklady
- OpenClaw 5) Přidání nástrojů a dovedností (skills)
- OpenClaw 6) Kompletní nastavení autonomních agentů
- OpenClaw 7) Váš osobní asistent na všechno, 24/7
- OpenClaw 8) Mac Studio cluster: Jeden rig, kompletně lokální
- OpenClaw 9) Rizika, prompt injection, útoky a ladění
- OpenClaw 10) Digitální dvojče: Projekt od A do Z
V příštím díle napojíme Claude Code a lokální modely. Ukážu, jak nastavit routing — jednoduchý dotaz na lokální model, složitý na Claude. A kolik to celé stojí měsíčně.