Przejdź do treści
sapiqa

Agent AI · MCP · głos

Pracownia ceramiki w Londynie prowadzona rozmową z agentem, który niczego nie zmienia bez zgody

Dwie marki jednej firmy, dwa backendy, wspólny agent. Właściciel pisze albo mówi, agent czyta dane, proponuje zmianę na karcie i wykonuje ją dopiero po kliknięciu „Approve”. Ten sam agent jest dostępny w Claude jako konektor MCP.

Status
Przed startem: zastępuje zamknięty SaaS, testy z właścicielem
Okres
październik – listopad 2026
od pustego repo do systemu z agentem i MCP (329 commitów)
17 dniod pustego repo do systemu z agentem i MCP (329 commitów)
endpointy API; dostęp sprawdza serwer: klient, personel, właściciel albo agent (OAuth)
304endpointy API; dostęp sprawdza serwer: klient, personel, właściciel albo agent (OAuth)
tabele w dwóch bazach PostgreSQL
72tabele w dwóch bazach PostgreSQL
trafień w evalu rozpoznawania prac ze zdjęć
24/24trafień w evalu rozpoznawania prac ze zdjęć

Problem

Pracownia działała na zamkniętym SaaS-ie zrobionym pod fryzjerów: kurs to było jedno wydarzenie z datą startu, nie było obecności, kolejki do pieca ani kont kursantów, a treści ładowane JavaScriptem nie były widoczne dla Google. Właściciel prowadzi dwie marki i nie ma czasu na panele z czterdziestoma zakładkami.

Co zbudowałem

  • Dwa backendy FastAPI (Studio Rhei i Sway) z osobnymi bazami PostgreSQL, wspólną biblioteką i mostem podpisanym sekretem, żeby agent jednej marki mógł bezpiecznie czytać i zmieniać dane drugiej.
  • Keramos: agent z kilkudziesięcioma narzędziami. Każdy zapis jest propozycją z dokładnym opisem, kwotą i treścią maila. Wykonuje go serwer tymi samymi usługami co panel. Dzienny limit kosztu i historia każdej akcji.
  • Głos: Whisper lokalnie na serwerze, ElevenLabs do czytania. Daty, kwoty i kody zamieniane regułami za znacznikami, bo model bez nich przekręcał kody.
  • Zdalny serwer MCP z OAuth 2.1 + PKCE: właściciel podłącza Keramosa do swojego Claude. Zmiany wrażliwe (pieniądze, maile, ceny) zatwierdza na stronie w panelu.
  • AI do zdjęć prac: model rozpoznaje rodzaj, etap i wymiary (z arkuszem referencyjnym A4), a planer pieca układa prace w 3D na półkach.
  • Strony marek prerenderowane do HTML (React Router 7) ze schema.org, sitemap i hreflang. Stripe z podpisanymi webhookami, Resend z kolejką i ponawianiem, Parcel2Go, Google Merchant, Meta.

Architektura

Najciekawsze jest to, co pod spodem

Wybierz przepływ, żeby zobaczyć, jak dane idą przez system. Kliknij element, żeby przeczytać szczegóły.

← przesuń diagram →

LUDZIECLOUDFLAREDROPLET · TYLKO 127.0.0.1USŁUGI ZEWNĘTRZNEWłaścicielpanel, głosClaude.aikonektor MCPKlientrezerwacje, sklepPagesHTML z prerenderuTunneljedyne wejście do APIrhei-mcpOAuth 2.1, PKCEStudio Rhei APIkursy, piec, praceSway APIsklep, galeriaKeramospętla agentaPostgreSQL2 bazy, 72 tabelejobstimery, 5 minAnthropicSonnet · HaikuStripepłatności, zwrotySupabase Authkod z mailaElevenLabsgłos agentaResend · Parcel2Gomaile, kurierzy

Przepływy

Głos → propozycja → zgoda → Stripe. Model nie wykonuje zapisu sam.

Krok 1 z 8

Kliknij element diagramu, żeby zobaczyć szczegóły.

  • sprzęt
  • brzeg / sieć
  • usługa
  • dane
  • AI
  • zewnętrzne
  • ludzie / aplikacje
  • radio
  • tunel
  • HTTPS
  • lokalnie
  • zdarzenie
Opis wszystkich elementów
Właściciel · panel, głos
Pisze albo mówi do Keramosa w panelu, na telefonie albo komputerze. Zatwierdza propozycje jednym kliknięciem.
Claude.ai · konektor MCP
Ten sam agent w Claude właściciela (web, desktop, telefon). Logowanie OAuth, tylko konta właściciela.
Klient · rezerwacje, sklep
Kursant albo kupujący: rezerwuje zajęcia, płaci, śledzi swoją pracę po kodzie QR, dostaje maile.
Pages · HTML z prerenderu
Strony marek zbudowane do statycznego HTML przy deployu; zmiana produktu w panelu przebudowuje stronę po 30 s.
Tunnel · jedyne wejście do API
API słuchają tylko na localhost. Z internetu prowadzi do nich wyłącznie tunel, a SSH działa tylko w sieci Tailscale.
rhei-mcp · OAuth 2.1, PKCE
Serwer MCP: rejestracja klienta (CIMD/DCR), tokeny przechowywane jako SHA-256, rotacja refresh tokenów, 600 wywołań na godzinę. 14 testów i 16 kontroli na żywo.
Studio Rhei API · kursy, piec, prace
Kursy z obecnością i odrabianiem, wypały, prace z QR, karty podarunkowe, zapytania, maile. Plus Whisper do głosu.
Sway API · sklep, galeria
Sklep i galeria marki autorskiej: zamówienia, wysyłki, zwroty, katalog do Google Merchant.
Keramos · pętla agenta
Kontekst: stała część w cache, mała migawka stanu studia i ostatnie wiadomości. Resztę agent dociąga narzędziami, które rozwiązują nazwy na identyfikatory. Limit kroków i kosztu.
PostgreSQL · 2 bazy, 72 tabele
Osobna baza na markę. Treści przetłumaczalne w JSONB. Migracje Alembic uruchamiane przy deployu.
jobs · timery, 5 min
Kolejka maili z ponawianiem, przypomnienia, SEO, katalogi. Ten sam kod i baza co API, osobny proces.
Anthropic · Sonnet · Haiku
Sonnet prowadzi wieloetapowe zapisy, Haiku sprawdza zdjęcia (eval 24/24, około 2 centów za przebieg) i wygładza tekst do mowy.
Stripe · płatności, zwroty
PaymentIntents i podpisane webhooki: płatności, nieudane płatności, zwroty (także zrobione w panelu Stripe) i spory.
Supabase Auth · kod z maila
Tylko uwierzytelnianie (OTP lub magic link). Ludzie i role są w naszej bazie; tokeny weryfikowane przez JWKS.
ElevenLabs · głos agenta
Odczyt odpowiedzi z dziennym limitem znaków. Po przekroczeniu limitu czyta głos przeglądarki.
Resend · Parcel2Go · maile, kurierzy
Maile z kolejki z ponawianiem; etykiety kurierskie i śledzenie przesyłek.

Decyzje, które robią różnicę

Każdy zapis to propozycja

Model nie ma bezpośredniego zapisu. Zapis wykonuje serwer po kliknięciu, tymi samymi usługami i regułami co ręczny panel. Nie ma usuwania: chowa się i anuluje.

Odtworzyć funkcje, nie kod

Zamkniętego SaaS-a nie da się wyeksportować. Najpierw demo 1:1 na zrzucie publicznego API, z ekranów wyszedł kontrakt, dopiero potem schemat bazy.

Zero otwartych portów

API słucha na 127.0.0.1, ruch wchodzi tunelem, SSH tylko przez Tailscale, sekrety z uprawnieniami 640. Audyt architektury opisany w repo pod przegląd bezpieczeństwa.

Modele dobrane do zadań

Sonnet do wieloetapowych zapisów (Haiku był za słaby), Haiku do zdjęć i mowy. Każde zadanie ma eval i znany koszt.

Jak to działa

Pracownia, sklep i agent w jednym systemie

Panel studia z dwudziestoma sekcjami, sklep marki autorskiej, konto kursanta i Keramos, który z tego wszystkiego korzysta. Opisy pochodzą z przewodnika, który właściciel dostał razem z systemem.

Kursy, obecności, wypały, prace z kodami QR, pieniądze i ludzie, bez zewnętrznego SaaS.

Strona Studio Rhei (podgląd)
Dwadzieścia sekcji

Dane na ekranach są fikcyjne.

Stos

Python 3.14FastAPISQLAlchemy 2AlembicPostgreSQLReact 19React Router 7 (prerender)Tailwindthree.jsClaude SonnetClaude HaikuMCPOAuth 2.1WhisperElevenLabsStripeSupabase AuthResendCloudflare PagesCloudflare TunnelsystemdGitLab CI

Linie oferty

Masz proces, który powinien działać sam?

30 minut, bez opłat. Powiem, czy to ma sens, jak bym to zbudował i ile kosztowałoby utrzymanie.

Umów rozmowę