Jeden endpoint. Każda powierzchnia.
Jedna definicja na funkcję. Formularz web, polecenie CLI, narzędzie MCP, ekran natywny, zadanie cron - wszystko naraz. Bez duplikacji.
Każda funkcja potrzebowała formularza web, polecenia CLI, narzędzia MCP dla agentów AI, czasem ekranu mobilnego. Ta sama walidacja Zod, to samo i18n, ta sama obsługa błędów - tylko inaczej ubrana. Więc zbudowałem next-vibe: framework, w którym piszesz jeden plik definition.ts na funkcję i renderuje się jako wszystkie jednocześnie.
Zasila też unbottled.ai - 119 modeli AI, kontrolowana przez użytkownika cenzura. Ta sama baza kodu działa jako aplikacja web Next.js, serwer dev TanStack/Vite, aplikacja mobilna React Native, CLI, serwer MCP, system cron i magistrala zdarzeń WebSocket. Jedna definicja endpointu. Bez duplikacji.
Typy muszą się zgadzać. Bez wyjątków.
To nie są preferencje stylistyczne. To reguły architektoniczne wbudowane we framework.
Reguła jest surowa: typy muszą być całkowicie zgodne. Jeśli twoje typy są błędne, twoja architektura jest błędna. Zbudowaliśmy vibe check do egzekwowania - Oxlint + ESLint + TypeScript równolegle, z niestandardowymi wtyczkami dla reguł specyficznych dla projektu.
Zastąp prawdziwym typowanym interfejsem. Jeśli sięgasz po any, twoja architektura ma dziurę.
Ta sama reguła. unknown to tylko any z dodatkowymi krokami. Zdefiniuj typ.
Gołe object jest bez znaczenia. Napisz kształt, którego naprawdę oczekujesz.
Asercje typów to kłamstwa dla kompilatora. Napraw architekturę zamiast tego.
Użyj ResponseType<T> z success(data) lub fail({message, errorType}). Błędy to dane, nie wyjątki.
Checker wykrywa nieprzetłumaczone literalne stringi. Każdy string potrzebuje klucza tłumaczenia.
Przypadkowy silnik grafu
Bot tradingowy, który nie może handlować
Vibe Sense zaczął jako bot tradingowy. Nigdy nie wykonywał zleceń - tylko obserwował ceny i wyzwalał sygnały. Kiedy go porzuciłem, architektura potoku przeżyła: źródła danych łączą się ze wskaźnikami, wskaźniki zasilają ewaluatory, ewaluatory wysyłają sygnały, sygnały wyzwalają akcje. Każdy węzeł to endpoint HTTP.
"Każdy węzeł w grafie to tylko endpoint HTTP - możesz zrobić curl do dowolnego kroku w potoku, testować go w izolacji lub wywoływać z agenta AI. Silnik grafu to harmonogramista, nie DSL."
Ponieważ każdy węzeł to standardowy endpoint, są indywidualnie testowalne przez CLI, dostępne dla agentów AI przez MCP i buforowane z tą samą infrastrukturą co wszystko inne. Silnik grafu nie wymyśla własnego języka. Harmonogramuje endpointy.
Rozmawiaj, twórz i łącz się - tekst, obrazy, wideo i muzyka
Prywatna AI z 119 modelami - czat, obrazy, wideo i muzyka
Platforma
© 2026 unbottled.ai. Wszelkie prawa zastrzeżone.