00 - Kony Overview¶
Kony to Second Brain Konrada Krawczuka. Kaszubskie zdrobnienie od "Konrad" (nadane 2026-08-26), pattern imienia wzięty od AIda Aureliusza Górskiego (District Founders).
Cel: agent AI który (a) zapisuje wszystko co Konrad wysłał (voice/tekst/screenshot/faktura), (b) klasyfikuje intent, (c) routuje do odpowiedniego systemu (SALDEO, FlexyCRM, Kony Hub), (d) rozmawia głosem gdy Konrad zapyta.
Topologia¶
┌─────────────────────────────────────────┐
│ KONRAD (Pixel 8 Pro / laptop) │
└─────────────┬───────────────────────────┘
│
KonyAI Flutter apka Share intent
(aureola aery) (Chrome/Photos/WhatsApp)
│
▼
┌────────────────────────────────────────────────────────────────────┐
│ CLOUDFLARE (edge) │
│ ┌─────────────────────────────────┐ │
│ │ Worker: send-to-second-brain │ capture.chcedointernetu.pl │
│ │ - Vision LLM classify (Qwen VL │ crm.chcedointernetu.pl │
│ │ lub Claude Sonnet fallback) │ voice.chcedointernetu.pl │
│ │ - Router: KSeF/CRM/Kony Hub │ bdh.chcedointernetu.pl │
│ │ - Ntfy push notification │ qwen-vl.chcedointernetu.pl │
│ └─────────────────────────────────┘ n8n.chcedointernetu.pl │
│ │
│ CF Tunnel `nas-vallhala` (id 15f1c70e-...) │
│ Ingress rules -> NAS Synology / GX10 │
└──────────────┬─────────────────────────────────────────┬───────────┘
│ │
▼ ▼
┌───────────────────────────┐ ┌──────────────────────────────┐
│ NAS Synology DS923+ │ │ GX10 (ASUS Ascent GB10) │
│ 10.0.0.200 │ │ 10.0.0.114 │
│ ───────────────────── │ │ ──────────────────────── │
│ - cloudflared tunnel │◄──────────►│ - kony-brain :8000 (Qwen 32B│
│ - n8n workflows │ local net │ orchestrator + tools) │
│ (bridge/faktury/dmarc) │ │ - vllm-qwen32b :8001 │
│ - ntfy :8090 │ │ - bielik :8000 / guard :8002│
│ │ │ - kony-embed :8018 (mmlw) │
│ │ │ - kony-vl :8004 (Qwen VL) │
│ │ │ - kony-tts-xtts :8017 │
│ │ │ - kony-whisper :8010 │
│ │ │ - kony-bdh :8020 │
└───────────────────────────┘ └──────────┬───────────────────┘
│
▼
┌───────────────────────────────┐
│ FlexyCRM (crm.chcedointernetu│
│ .pl) - Kony Hub tabela + │
│ Kony Map graph (people/proj) │
└───────────────────────────────┘
Kluczowe komponenty¶
| Komponent | Gdzie | Rola |
|---|---|---|
| KonyAI Flutter | Pixel 8 Pro, Vallhalen/kony-app | UI klienta, capture + voice conversation |
| Worker (send-to-second-brain) | CF edge, Vallhalen/send-to-second-brain | Główny router capture → routery |
| kony-brain | GX10 :8000 | Agentowy mózg (Qwen 32B + 27 tools + RAG) - do rozmowy głosowej |
| kony-vl | GX10 :8004 | Qwen2.5-VL-7B - Vision classify screenshotów przez Worker |
| kony-bdh | GX10 :8020 | Baby Dragon Hatchling - interpretability + FAKTURA/OTHER classifier |
| kony-embed | GX10 :8018 | mmlw-retrieval-roberta-large - RAG embedding PL |
| kony-tts-xtts | GX10 :8017 | XTTS-v2 voice clone Konrada (17s reference) |
| kony-whisper | GX10 :8010 | Whisper STT (voice notes transcribe) |
| n8n Kony Bridge | NAS, workflow 88zekiBO4NPeMpjn | Webhook dispatcher: calendar/gmail/HA (tool calls z kony-brain) |
| n8n Faktury→SALDEO | NAS, workflow Aa71Vkjx49JPVX0e | Cron 60min: zagraniczne faktury z Gmail → Qwen → SALDEO |
| n8n DMARC Watchdog | NAS, workflow rTasxDFwvfzN7p8h | Cron 15min: DMARC reports → archive/alert |
| FlexyCRM Kony Hub | crm.chcedointernetu.pl | Persistent storage capture'ów + Kony Map graph |
Data flow (skrócone)¶
Capture pipeline (share intent / mobile app / widget):
1. Flutter POST capture.chcedointernetu.pl/api/capture z screenshot/text/audio
2. Worker uploaduje asset na Drive (opcjonalnie) + wywołuje Vision (qwen-vl.chcedointernetu.pl/v1/chat/completions)
3. Vision zwraca intent + short_title + analysis + task/invoice/contact fields
4. Router: jeśli FAKTURA → KSeF/SALDEO; jeśli TASK → FlexyCRM project match; zawsze push do Kony Hub
5. Ntfy push notification na phone
Voice conversation (Home apki tap aureola):
1. Flutter nagrywa audio → POST voice.chcedointernetu.pl/converse (base64 audio)
2. Voice endpoint: Whisper STT → Qwen 32B via kony-brain z RAG context + tool call → Bielik-guard polish → XTTS voice → return audio bytes
3. Flutter odtwarza audio + wyświetla transkrypt
Dlaczego tak¶
- Local AI (GX10): prywatność (nagrania głosu Konrada nie wychodzą do OpenAI), latency (~1s response voice vs ~3-5s przez chmurę), cost (opłacony leasingiem raz)
- Cloudflare Worker jako edge: rozproszony na wszystkie kontynenty (dla przyszłego contact z Aureliuszem/klientami), 100k free req/dzień, auto-scaling
- NAS jako tunnel gateway: nie chcemy wystawiać GX10 bezpośrednio, tunel przez NAS = izolacja + backup w przypadku restart GX10
- n8n jako external dispatcher: tools które wymagają OAuth (Google Calendar, Gmail, HA) trzymamy w n8n bo tam credentials store; kony-brain wywołuje przez HTTP webhook, oszczędza tokeny w Qwen context
Pokrewne repozytoria¶
Vallhalen/kony-app(Flutter Android klient)Vallhalen/send-to-second-brain(CF Worker + PWA)Vallhalen/FlexyCRM-BASE(CRM z Kony Hub + Kony Map)Vallhalen/kony-gx10-stack(ten repo - GX10 source snapshot + docker configs + n8n workflows)Vallhalen/kony-checkpoints(BDH.ptmodel weights, osobno bo binary)
Następne dokumenty¶
- 01-modules.md - każdy moduł osobno (co robi, endpointy, dependencje)
- 02-deploy-runbook.md - jak odtworzyć od zera na nowym GX10
- 03-data-flow.md - pełen capture pipeline + voice flow diagram
- 04-tools-registry.md - 27+ tools jakie ma Qwen (kony-brain)
- 05-troubleshooting.md - znane bugi i fixes