Przejdź do treści

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 .pt model weights, osobno bo binary)

Następne dokumenty