Včera ma Stefan poprosil, aby som mu ukázal, ako mám nastavený AI asistent. Nie v štýle "aký chatbot používaš" — ale celý obraz. Čo beží, ako to je prepojené a čo to reálne robí každý deň.
Tak nech sa páči. Kompletný technický rozbor môjho osobného AI asistenta — od základov po každý skill, integráciu a automatizáciu, ktorú som okolo toho postavil (zatiaľ).
Prečo som to postavil
Posledných pár týždňov bol (a stále trochu je) obrovský hype okolo OpenClaw — 24/7 AI asistenta, ktorý beží na VPS alebo Mac Mini (samozrejme) a pomáha ti riadiť život na autopilote. Vyskúšal som to, ale nefungovalo to. Úplne vidím, že toto je budúcnosť, ale momentálne je to príliš ťažkopádne, príliš veľké a nespoľahlivé. Jednoducho som nedostával ten produktivitný boost, v ktorý som dúfal. Tak som to vypol.
O pár týždňov neskôr som objavil NanoClaw — oveľa štíhlejšiu alternatívu, ktorá neustále nenarastá — len pár základných funkcií v jadre a každý používateľ si môže dostaviať čo chce. Tak som to chcel skúsiť znova.
Prehľad architektúry
Celý systém beží lokálne na mojom Macu. Žiadne cloudové služby, žiadne predplatné okrem API volaní (a iDoklad, ale ten systém by som potreboval tak či tak). Takto to vyzerá:
Phone / Desktop
|
[ Telegram ]
|
[ nanoclaw ] ── host process
| |
| [ Gmail Monitor ] [ Dashboard ]
|
── Docker container ──────────────────────
| |
| [ Claude Agent ] ── Agent SDK |
| | |
| ┌────┼─────────┬──────────┐ |
| | | | | |
| Skills MCP CLIs Memory |
| | | | | |
| kickoff gmail task-cli CLAUDE.md |
| wrapup nanoclaw idoklad clients.json |
| browser daily-notes/ |
| conversations/|
| |
──────────────────────────────────────────
Stack:
- Základ: nanoclaw — framework pre osobného AI asistenta bežiaci lokálne
- AI Engine: Claude Opus 4.6 cez Anthropic Agent SDK (s možnosťou prepísať model per-group pre lacnejšie úlohy)
- Rozhranie: Telegram (primárne) + web dashboard s Chrome new-tab extension
- Runtime: Node.js 22 v Docker (izolovaný per group)
- Úložisko: Markdown súbory, JSON configy, SQLite pre históriu správ
- Plánovanie: cron-parser pre opakované automatizácie
Prečo lokálne namiesto cloudu? Súkromie a kontrola. Môj asistent číta moje emaily, pozná mojich klientov, spravuje moje faktúry. Chcem tie dáta na svojom stroji, nie na cudzom serveri. Kompromis je, že môj Mac musí byť zapnutý, ale pre môj workflow to nie je problém.
Skills & CLIs: Čo to vlastne vie robiť
Schopnosti agenta prichádzajú v dvoch formách. Skills sú markdown inštrukčné súbory, ktoré dávajú AI agentovi štruktúrované workflow — každý definuje, aké nástroje môže používať (Bash, MCP servery atď.) a postupné inštrukcie, ktoré má nasledovať. CLIs sú samostatné command-line nástroje nainštalované v Docker kontajneri, ktoré skills a agent môžu priamo volať. Oboje sú sebestačné a dajú sa pridávať, odoberať alebo upravovať nezávisle.
Skills
kickoff — Ranný briefing
Každý pracovný deň o 7:00 asistent zbiera informácie z viacerých zdrojov a posiela mi briefing.
Čo zbiera:
- Otvorené úlohy podľa priority a klienta
- Neprečítané emaily (s krátkymi zhrnutiami tých dôležitých)
- Nezaplatené faktúry a sumy po splatnosti
- Stav aktívneho timeru (keby som ho zabudol zastaviť)
- Naplánované udalosti
Čo posiela:
- Podrobný HTML email so všetkým prehľadne usporiadaným a akčným
- Krátke Telegram zhrnutie len s kľúčovými bodmi
Toto mi šetrí 15-20 minút, ktoré som každé ráno trávil otváraním tabov, kontrolovaním rôznych nástrojov a skladaním si obrazu o tom, ako vyzerá môj deň.
wrapup — Záver dňa
O 17:30 v pracovné dni asistent vyhodnotí, čo sa skutočne udialo oproti tomu, čo bolo naplánované:
- Porovná dokončenú prácu s rannými prioritami
- Identifikuje úlohy, na ktoré sa nedostalo (carry-over položky)
- Aktualizuje daily notes so zhrnutím
- Navrhne zmeny statusov úloh — ale pred vykonaním zmien sa pýta na súhlas
Toto je ten accountability prvok. Je ľahké ukončiť deň s pocitom, že som neurobil dosť. Mať zhrnutie, ktoré ukáže, čo som reálne dokázal (a na čo sa zamerať zajtra) je prekvapivo motivujúce. A tiež mi to pomáha uzatvárať veci.
agent-browser — Plná automatizácia prehliadača
Toto dáva asistentovi skutočný prehliadač, ktorý môže ovládať. Je to reálna Chromium inštancia, ktorá vie navigovať stránky, vypĺňať formuláre, klikať na tlačidlá, robiť screenshoty a extrahovať dáta.
Na čo to používam:
- Extrakcia dát — vyťahovanie štruktúrovaných dát zo stránok, ktoré nemajú API
- Monitoring — pravidelné kontroly konkrétnych stránok na zmeny
- Prieskum — keď potrebujem, aby asistent reálne prechádzal a čítal webový obsah
Prehliadač beží headless v Docker kontajneri pomocou agent-browser, CLI nástroja postaveného na Playwright a Chromium. Asistent môže reťaziť viacero stránok — vyhľadať niečo, kliknúť na výsledok, extrahovať dáta zo stránky, prejsť na ďalší výsledok. Zvládne JavaScript-heavy stránky, na ktoré jednoduché HTTP requesty nestačia.
CLIs
task-cli — Sledovanie času a správa úloh
Celý môj systém sledovania času a úloh žije v markdown súboroch s YAML frontmatter. Žiadny SaaS, žiadna databáza — len súbory, ktoré viem čítať, editovať a verzionovať. Predtým som tu mal toggl (sledovanie času) a github issues (úlohy), ale potom som si povedal, nech to postavím sám a poriadne to prepojím, tak som obe zahodil.
task-cli umožňuje asistentovi:
- Spúšťať a zastavovať timery — "Začni trackovať API refactor pre Klienta X"
- Vytvárať a aktualizovať úlohy — so statusom, prioritou, klientom a poznámkami
- Dotazovať časové záznamy — "Koľko hodín som tento týždeň pracoval pre Klienta Y?"
- Generovať súhrny — filtrované podľa klienta, obdobia alebo statusu
Toto je chrbtová kosť fakturácie. Keď poviem "vytvor faktúru pre Klienta X za február," asistent najprv cez task-cli vytiahne všetky časové záznamy pre daného klienta a mesiac a potom ich predá do fakturačného skillu.
idoklad-cli — Automatizácia fakturácie
iDoklad je český účtovný systém, ktorý používam na všetku fakturáciu. CLI obaľuje kompletné API:
- Výpis faktúr — nezaplatené, po splatnosti, podľa klienta, podľa dátumu
- Tvorba faktúr — z časových záznamov, s položkami, daňami, splatnosťami
- Sťahovanie PDF — vygenerované faktúry
- Odosielanie faktúr — priamo klientom emailom
- Označenie ako zaplatené — keď príde platba
Fakturačný workflow v praxi:
- Poviem: "Vytvor faktúru pre Klienta X za február"
- Asistent sa cez task-cli opýta na všetky časové záznamy Klienta X za február
- Zoskupí záznamy podľa úloh, vypočíta hodiny podľa hodinovej sadzby klienta (z
clients.json) - Vytvorí faktúru v iDoklad so správnymi položkami
- Stiahne PDF
- Opýta sa, či ju chcem odoslať
Celkový čas: asi 2 minúty. Predtým: 30 minút preklikávania cez UI a kontrolovania čísel.
Vstavané nástroje (Claude Code SDK)
Okrem custom skills má každý agent prístup k celému Claude Code SDK toolsetu. Tieto prichádzajú out of the box s defaultným nanoclaw setupom — žiadna konfigurácia nie je potrebná. Sú to rovnaké nástroje, aké Claude Code používa na tvojom lokálnom stroji, ale bežia vnútri kontajnera:
Súborové operácie:
- Read, Write, Edit — plný prístup k súborovému systému v rámci workspace kontajnera
- Glob — hľadanie súborov podľa vzoru
- Grep — prehľadávanie obsahu súborov regexom
Spúšťanie:
- Bash — spustenie akéhokoľvek shell príkazu (git, npm, curl, custom CLIs)
Webový prístup:
- WebSearch — vyhľadávanie na webe
- WebFetch — stiahnutie URL a extrakcia obsahu ako markdown
Orchestrácia agentov:
- Task, TaskOutput, TaskStop — spúšťanie subagentov pre paralelnú prácu
- TeamCreate, TeamDelete, SendMessage — multi-agent swarmy, kde subagenti koordinujú prácu na zložitých úlohách
Ostatné:
- NotebookEdit — editácia Jupyter notebookov
- Skill — spúšťanie registrovaných skills (kickoff, wrapup atď.)
MCP servery (custom integrácie):
- nanoclaw MCP — odosielanie správ do chatu, plánovanie úloh, výpis/pozastavenie/obnovenie/zrušenie úloh, registrácia nových skupín
- Gmail MCP — vyhľadávanie, čítanie, vytváranie konceptov a odosielanie emailov priamo z agenta
To znamená, že agent nie je obmedzený len na skills, ktoré som postavil. Môže písať skripty za behu, inštalovať balíčky, volať API cez curl, reťaziť viacero nástrojov — čokoľvek úloha vyžaduje. Skills len kódujú bežné workflow, aby ich nemusel zakaždým vymýšľať od nuly.
Integrácie
Gmail MCP — Kompletná správa emailov
Gmail integrácia beží ako MCP (Model Context Protocol) server vnútri kontajnera a dáva agentovi priamy prístup do mojej schránky:
- Vyhľadávanie s Gmail query syntaxom (from, to, subject, dátumové rozsahy, labels)
- Čítanie celého obsahu správ vrátane príloh
- Odosielanie a odpovedanie na emaily
- Koncepty na kontrolu pred odoslaním
- Správa labels — vytváranie, priradenie, odstránenie
- Hromadné operácie — spracovanie viacerých emailov naraz
Automatizácia email-to-task:
Toto je jedna z najužitočnejších automatizácií. Beží každú hodinu počas pracovných hodín (Po–Pi, 7:00–19:00), klasifikuje každé neprečítané vlákno pomocou AI a:
- Deteguje nové emailové vlákna a klasifikuje ich (akčné, na pozornosť, alebo šum)
- Automaticky vytvorí úlohu pre akčné emaily
- Aktualizuje existujúce úlohy, keď prídu odpovede
- Aplikuje Gmail labels (NanoClaw/Actionable, NanoClaw/Noise, NanoClaw/Attention)
- Automaticky archivuje šumové emaily
Už mi neunikajú požiadavky klientov zahrábané v schránke. Každý akčný email sa automaticky stáva sledovanou úlohou.
iDoklad API
Integrácia s českým fakturačným systémom (popísaná vyššie v sekcii skills). Pokrýva celý životný cyklus faktúry od vytvorenia po sledovanie platieb.
Telegram
Okrem toho, že Telegram slúži ako rozhranie, je sám o sebe integráciou. Asistent vie:
- Posielať správy do konkrétnych skupín alebo chatov
- Posielať formátované správy s HTML
- Zdieľať súbory a dokumenty (napríklad PDF faktúry)
- Reagovať na správy z naplánovaných automatizácií
Pamäť: Ako si pamätá všetko
AI asistent, ktorý zabudne všetko medzi správami, je len vymakané autocomplete. Pamäťový systém je to, čo z toho robí pocit práce so skutočným asistentom.
História konverzácií
Každá konverzácia je uložená v priečinku conversations/, prehľadateľná a trvalá. Keď odkazujem na niečo z minulého týždňa, asistent to vie nájsť.
Globálna pamäť
Zdieľaný CLAUDE.md súbor funguje ako asistentov "mozog" — trvalé znalosti, ktoré platia naprieč všetkými konverzáciami a Telegram skupinami. Veci ako moje preferencie, bežné workflow a stále platné inštrukcie.
Skupinová pamäť
Každá Telegram skupina môže mať svoj vlastný kontext. Moja pracovná skupina vie o klientoch a projektoch. Osobná skupina má svoju vlastnú oddelenú pamäť a inštrukcie.
Konfigurácia klientov
clients.json uchováva všetko, čo asistent potrebuje vedieť o každom klientovi:
- Hodinové sadzby a menu
- Kontaktné ID a mená (pre iDoklad)
- Defaulty pre faktúry (šablóna položky, jednotka, jazyk, typ DPH/ceny)
- Labels pre kategorizáciu práce
Denné zápisky
Markdown súbory v daily-notes/YYYY-MM-DD.md zachytávajú, čo sa deje každý deň. Skills kickoff a wrapup tieto súbory čítajú a zapisujú do nich, čím vzniká prehľadateľný log práce v čase.
Automatizácie, ktoré bežia bezo mňa
Naplánované úlohy
| Automatizácia | Plán | Čo robí |
|---|---|---|
| Ranný kickoff | 7:00 pracovné dni | Briefingový email + Telegram zhrnutie |
| Večerný wrapup | 17:30 pracovné dni | Zhodnotenie dňa + carry-over položky |
| Email-to-task sync | Každú hodinu (pracovné hodiny) | Klasifikuje inbox, vytvára/aktualizuje úlohy |
Kickoff a wrapup bežia ako naplánované úlohy (cron výrazy uložené v SQLite). Email monitor beží ako background proces s 1-hodinovým intervalom. Môžem si tiež nastaviť custom jednorazové alebo opakované úlohy cez konverzáciu.
Rýchly záznam
Toto je jednoduchšie, ako to znie, ale prekvapivo užitočné. Keď mám nápad — na blogový článok, LinkedIn post, YouTube video — pošlem ho asistentovi cez Telegram. Ten ho automaticky uloží do správneho súboru v ~/Notes/:
linkedin-ideas.mdblog-ideas.mdyoutube-ideas.md
Tieto súbory sú na mojom Macu, takže sú okamžite prístupné z desktopu. Žiadne prepínanie aplikácií, žiadne "toto si zapamätám neskôr" (nezapamätám). Stačí poslať správu a je to zachytené.
Denné workflow
Ráno
- Arthur (áno, pomenovlal som svojho asistenta Arthur) pošle briefing o 7:00
- Prezriem si priority, skontrolujem, či nie sú nejaké faktúry po splatnosti
- Rozhodnem sa, na čo sa dnes zameriam
Počas práce
- "Začni trackovať API migráciu pre Klienta X" — timer beží
- Potrebujem niečo zistiť? "Pozri, aké cenové plány ponúka konkurent X" — browser skill to vyrieši
- Napadne mi náhodný nápad? Pošlem ho cez Telegram — automaticky uložený do správneho súboru
- Príde email od klienta — už je sledovaný ako úloha skôr, než ho vidím
Koniec dňa
- Arthur vyhodnotí, čo som reálne urobil oproti rannému plánu
- Navrhne, ktoré úlohy označiť ako hotové, ktoré preniesť na zajtra
- Schválim aktualizácie a zajtrajší kickoff bude odrážať zmeny
Fakturácia (mesačne)
- "Koľko hodín som tento mesiac odpracoval pre Klienta X?"
- "Vytvor faktúru pre Klienta X za február"
- Arthur vytiahne časové záznamy, vytvorí faktúru, stiahne PDF
- "Pošli ju" — hotovo
Čo funguje a čo nie
Čo funguje dobre
Súkromie. Dáta sú uložené lokálne — emaily, klientske súbory a konverzácie žijú na mojom stroji, nie v SaaS tretích strán. API volania stále idú cez Anthropic, ale na ich strane sa nič neperzistuje (žmurknutie žmurknutie).
Flexibilita. Skills sú len markdown súbory s inštrukciami a oprávneniami na nástroje. Keď potrebujem niečo nové, napíšem skill súbor a zapojím ho. Žiadne čakanie, kým SaaS pridá funkciu.
Integrácia. Všetky moje nástroje spolu komunikujú cez asistenta. Sledovanie času sa pretavuje do fakturácie. Emaily sa stávajú úlohami. Denné zápisky sa prepájajú so statusmi úloh.
Dostupnosť. Telegram znamená, že môžem interagovať z telefónu, desktopu alebo akéhokoľvek zariadenia s Telegramom. Žiadna špeciálna aplikácia, žiadny VPN.
Kumulatívny efekt automatizácií. Každá jednotlivá automatizácia ušetrí pár minút. Dohromady šetria viac ako hodinu denne — a čo je dôležitejšie, eliminujú mentálnu záťaž pamätania si na všetky tie drobnosti.
Čo nefunguje perfektne
Mac musí byť zapnutý. Keďže to beží lokálne, môj stroj musí byť zapnutý. Pre mňa to nie je každodenný problém, ale znamená to žiadne automatizácie o 3:00 v noci, pokiaľ ho nenechám bežať. (Mohol by som to presunúť na VPS, ale potom stratím výhodu lokálnych dát.)
Zložitosť nastavenia. Počiatočná konfigurácia zaberá čas. Docker setup, API kľúče, registrácia Telegram bota, Gmail OAuth, iDoklad prihlasovacie údaje. Keď to beží, je to low-maintenance, ale prvé nastavenie je víkendový projekt.
Údržba. API sa menia, balíčky potrebujú aktualizácie, občas sa niečo rozbije. Je to softvér — potrebuje starostlivosť. Nie veľa, ale nejakú.
Limity kontextu. Napriek pamäťovému systému dlhé konverzácie stále môžu stratiť kontext. Daily-notes a CLAUDE.md pomáhajú, ale nie je to dokonalé. Občas musím asistentovi pripomenúť niečo, čo by mal vedieť.
Prispôsobenie pre seba
Tento setup nie je dokonalý a ani nemusí byť. Funguje pre mňa a môj workflow. Krása tohto prístupu je, že všetko je prispôsobiteľné:
- Iná chatová platforma? Vymeň Telegram za Discord, Slack alebo WhatsApp (všetko podporované out of the box)
- Iné sledovanie času? Nahraď task-cli integráciou s Toggl, Harvest alebo Clockify
- Iná fakturácia? Nahraď iDoklad za Stripe, QuickBooks, FreshBooks alebo čokoľvek, čo sa používa v tvojej krajine
- Iný AI model? Anthropic Agent SDK podporuje výmenu modelov
- Iné automatizácie? Napíš vlastné skills pre akúkoľvek opakujúcu sa prácu
Začni tým, čo rieši tvoj najväčší problém. Pre mňa to bola fakturácia. Potom ranné briefingy. Potom emailová automatizácia. Každá stavala na predchádzajúcej.
Záver
Po pár mesiacoch používania tohto setupu sa zmenilo toto:
- Emaily sa automaticky stávajú úlohami — nič neprepadne cez sito
- Ranné briefingy šetria 15-20 minút denne — každý deň začínam s jasným prehľadom
- Fakturácia trvá 2 minúty namiesto 30 — a faktúry konečne posielam načas
- Sledovanie času sa pretavuje do fakturácie — žiadne manuálne počítanie hodín
- Poznámky sa okamžite synchronizujú medzi telefónom a desktopom — nápady sa nestrácajú
Nič z toho nie je mágia. Je to len prepojenie nástrojov, ktoré už používam, cez AI, ktoré vie reálne konať. Najťažšia časť bol počiatočný setup. Všetko potom je len pýtanie Arthura, aby robil veci, ktoré som predtým robil ručne.
Ak chceš diskutovať o technických detailoch alebo zdieľať svoj vlastný setup, nájdi ma na LinkedIn. Úprimne ma zaujíma, čo stavajú ostatní.
