Self-hosted SEO-платформа с AI: сбор семантики, кластеризация, анализ конкурентов, контент-планы, AI-статьи, AI-чат, генерация объявлений Яндекс.Директ и канбан-доски — всё в одном Docker-стеке.
KeyWai is a self-hosted SEO platform: keyword research, clustering, competitor analysis, content plans, AI articles, AI chat, Yandex.Direct ad generation and Kanban boards. Stack: Django REST + React/TypeScript, fully containerized with Docker. Built for self-hosting and released as open source under the MIT license.
⚠️ Core AI features route through OpenRouter, which is not reachable from Russia without a VPN/proxy (both for the browser and the server). 📖 Full documentation is in Russian — see below and thedocs/directory.
KeyWai — платформа для SEO-специалистов и контент-команд: от сбора семантики до готовых статей и рекламных кампаний. Изначально это коммерческий продукт, который теперь открыт для самостоятельного хостинга — вы поднимаете его на своём железе и полностью владеете данными.
Для кого: для тех, кто готов развернуть проект у себя. Нужно базовое знакомство с терминалом, Docker и нейросетями; глубоких знаний программирования не требуется.
SEO-инструменты
- Сбор семантики — ключевые слова через Yandex Wordstat (Yandex Cloud Search API), определение интента, локальный кеш частотностей.
- Кластеризация — AI-группировка запросов и оценка сложности по поисковой выдаче.
- Анализ конкурентов — разбор выдачи и поиск семантических пробелов (gap-анализ).
- Контент-планы — генерация плана и брифов под статьи.
- AI-статьи — мультимодельная генерация с экспортом в PDF и DOCX.
Реклама
- Яндекс.Директ — генерация объявлений, кросс-минусовка, экспорт кампаний.
AI
- AI-чат — диалог с вложениями файлов и генерацией изображений.
- Единый AI-шлюз — все запросы идут через OpenRouter (Claude, GPT, Gemini); модель выбирается на каждый модуль, а весь каталог моделей задаётся одним файлом
shared/ai-models.json(как менять модели).
Совместная работа
- Канбан — доски, колонки, карточки, чек-листы, метки, вложения, комментарии, календарь; drag & drop и обновления в реальном времени.
- Проекты — рабочий контейнер с участниками, кастомными полями и лентой активности.
Аккаунты и биллинг
- JWT-аутентификация, двухфакторная аутентификация (TOTP), тарифы (Free / Starter / Pro / Agency), виртуальное хранилище, web-push, экспорт данных.
- Платежи — ЮKassa, подписки, возвраты, чеки ФНС; режим «платежи не подключены» с начислением кредитов и тарифов администратором (self-grant).
- Транзакционная почта (подтверждение регистрации, сброс пароля и др.).
Интеграции
- Публикация во внешние CMS — WordPress и Tilda.
- Бэкенд: Python 3.12, Django 5.2 + DRF, Celery 5.5, Channels + Daphne (WebSocket), PostgreSQL 16, Redis 7 — 16 Django-приложений.
- Фронтенд: React 19, Vike + Vite 7, TypeScript 5.9, Tailwind CSS 4, Zustand, TanStack Query.
- Инфраструктура: Docker Compose — dev-стек из коробки и прод-конфигурация (nginx + gunicorn + daphne).
Нужен только установленный Docker с Docker Compose. Файл .env создавать не обязательно — у всех переменных есть дефолты, а секретные ключи Django генерируются автоматически.
git clone https://github.com/AndreyTsibin/keywai.git
cd keywai
docker compose up -d --buildДождитесь сборки (первый запуск занимает несколько минут) и откройте http://localhost:5173/setup — браузерный мастер создаст первого администратора и проведёт к вводу API-ключей.
Подробная установка по операционным системам (Windows / macOS / Linux), требования к железу и решение типовых проблем — в docs/install.md.
Все AI-функции работают через OpenRouter. Сайт openrouter.ai недоступен из России без VPN или прокси, причём доступ нужен дважды:
- вашему браузеру — чтобы зарегистрироваться и получить ключ;
- серверу KeyWai — бэкенд обращается к
openrouter.aiпри каждом AI-запросе.
То есть хост, на котором запущен KeyWai, должен иметь сетевой доступ к openrouter.ai: VPN на хосте, зарубежный VPS или прокси на исходящие запросы бэкенда. Без этого AI-функции (а это ядро платформы) работать не будут. Детали — в docs/install.md и docs/api-keys.md.
Сбор частотностей идёт через официальный Yandex Cloud Search API — тем же ключом, что и для анализа выдачи (обычный API-ключ Yandex Cloud + роль search-api.webSearch.user; отдельный аккаунт Яндекс.Директа не нужен). Это штатный метод Яндекса, не парсинг.
Вызовы Wordstat в Yandex Cloud платные — ориентировочно ~20 ₽ за 1000 запросов. KeyWai кеширует результаты: повторный сбор тех же ключей берётся из кеша и не тарифицируется. Подробнее — в docs/api-keys.md.
Все руководства — в каталоге docs/:
- Установка — запуск на своём компьютере (Windows, macOS, Linux).
- Первый запуск — создание администратора, ввод ключей, выбор AI-моделей, начисление кредитов.
- Регистрация API-ключей — где взять ключи внешних сервисов и куда их вставить.
- Эксплуатация — развёртывание на VPS, обновление, резервное копирование.
Дополнительно: CHANGELOG · SECURITY · CONTRIBUTING
Andrey Tsibin
One man. One model. One product.
«One model» из слогана — про это партнёрство. Видение, архитектура и каждое продуктовое решение оставались за автором; Claude (Anthropic) в Claude Code был правой рукой и инженером, превращавшим замысел в код. Человек задаёт смысл — модель воплощает его в продукт.
MIT © 2026 Andrey Tsibin
