Архитектура
GenKaKu состоит из трёх компонентов: клиент пользователя, оркестратор и воркеры.
Клиент пользователя
Веб-интерфейс на genkaku.app. Пользователи аутентифицируются через Privy и отправляют сообщения — есть одна текстовая модель, поэтому выбирать нечего. Клиент подключается к оркестратору через Socket.io и получает потоковые ответы с токенами в реальном времени.
Оркестратор
Центральный слой маршрутизации. Сервер на Node.js, использующий Socket.io, который координирует всё:
- Аутентификация — проверка пользовательских сессий и токенов воркеров через Privy
- Очередь задач — приём пользовательских запросов, постановка их в очередь по моделям и сопоставление со свободными воркерами
- Реестр воркеров — отслеживание всех подключённых воркеров: тип (браузерный/нативный/изображение), модель, статус (свободен/занят), статистика производительности
- Маршрутизация моделей — направление задач правильному типу воркера:
qwen3.8-27b-uncensored(чат и API) → нативные воркерыgenkaku-proи бесплатные промпты → браузерные воркеры с Qwen3.5 Uncensored- задачи изображений → воркеры изображений
- Выбор воркера — среди подходящих свободных воркеров, обслуживающих запрошенную модель, выбор одного взвешенно-случайно (вес = измеренные токены/сек), распределяя заработок с уклоном в сторону скорости
- Вызовы инструментов — когда модель запрашивает инструмент
web_search, выполнение запроса Brave Search API, извлечение и обработка контента из первых 3 результатов и возврат их модели как результата инструмента - Трансляция статистики — отправка сетевой статистики в реальном времени (активные воркеры, глубина очереди, выполненные задачи) всем подключённым клиентам каждые 5 секунд
Оркестратор не хранит разговоры или содержимое промптов. Он маршрутизирует трафик и отбрасывает его.
Воркеры
Воркеры — это приложения для ПК, которые запускаются на вашей машине и обслуживают задачи инференса для сети GenKaKu. Скачайте приложение GenKaKu Worker, войдите в систему, и ваш GPU начнёт зарабатывать — без настройки через командную строку.
Воркер использует Ollama для обслуживания моделей, с поддержкой ускорения CUDA (NVIDIA), Metal (Apple Silicon) и Vulkan (AMD/Intel). Он запускает Qwen3.8 27B Uncensored — основную текстовую модель сети — и обрабатывает каждое сообщение в чате и каждый запрос API, маршрутизированный к нему.
Требования к оборудованию: NVIDIA GPU с 16GB+ памяти (рекомендуется 24GB), карта AMD с 24GB+ или Mac на Apple Silicon с 32GB+. Производительность зависит от оборудования, но ожидайте 25+ токенов в секунду на приличном GPU.
Когда воркер не обслуживает задачи, он работает в фоновом режиме в простое. Вы также можете запустить его в режиме виджета — компактный оверлей, показывающий загрузку GPU, доход в USDC и заработок в $GENKAKU. Встроенный учебный ассистент на базе локальной модели Ollama помогает устранять проблемы, не выходя из приложения.
Воркеры подключаются к оркестратору через Socket.io, получают назначение задач, выполняют инференс и передают токены обратно.
Воркеры изображений (ComfyUI)
Запускают ComfyUI на независимом GPU и обслуживают задачи изображений — как инструмент generate_image, который может вызвать текстовая модель, так и API изображений. Они аутентифицируются токеном воркера и подключаются к оркестратору через Socket.io.
Жизненный цикл задач
1. Пользователь отправляет сообщение
2. Оркестратор получает запрос, определяет нужную модель
3. Запрос поступает в очередь этой модели
4. Оркестратор сопоставляет запрос со свободным воркером нужного типа — среди подходящих свободных воркеров выбор взвешенно-случайный по измеренным токенам/сек (распределяет заработок с уклоном в сторону скорости)
5. Задача назначается воркеру
6. Воркер выполняет инференс, передаёт токены обратно оркестратору
7. Оркестратор ретранслирует токены пользователю в реальном времени
8. Задача завершается, воркер помечается как свободный, зачисляется заработок
Процесс поиска
Веб-поиск — это вызов инструмента, управляемый моделью, а не предварительная загрузка. Модель решает, когда выполнять поиск:
1. Пользователь отправляет сообщение
2. Воркер запускает модель; модель генерирует вызов инструмента web_search
3. Оркестратор выполняет запрос Brave Search API
4. Оркестратор загружает URL первых 3 страниц и извлекает контент
5. Результаты возвращаются модели как результат инструмента
6. Модель продолжает генерацию, опираясь на веб-контент
7. Ответ передаётся с указанием источников
Статистика
Оркестратор транслирует сетевую статистику всем подключённым клиентам каждые 5 секунд:
- Количество активных воркеров (по типам и моделям)
- Текущая глубина очереди по моделям
- Общее количество выполненных задач
- Токены в секунду по всей сети