Skip to content
 
 

Repository files navigation

KeyWai

Self-hosted SEO-платформа с AI: сбор семантики, кластеризация, анализ конкурентов, контент-планы, AI-статьи, AI-чат, генерация объявлений Яндекс.Директ и канбан-доски — всё в одном Docker-стеке.

License: MIT Python Django React TypeScript 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 the docs/ directory.

KeyWai — главный экран: проекты, быстрый старт и статистика по разделам


Что это

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.

⚠️ OpenRouter и доступ из России

Все AI-функции работают через OpenRouter. Сайт openrouter.ai недоступен из России без VPN или прокси, причём доступ нужен дважды:

  • вашему браузеру — чтобы зарегистрироваться и получить ключ;
  • серверу KeyWai — бэкенд обращается к openrouter.ai при каждом AI-запросе.

То есть хост, на котором запущен KeyWai, должен иметь сетевой доступ к openrouter.ai: VPN на хосте, зарубежный VPS или прокси на исходящие запросы бэкенда. Без этого AI-функции (а это ядро платформы) работать не будут. Детали — в docs/install.md и docs/api-keys.md.

Yandex Wordstat — стоимость сбора

Сбор частотностей идёт через официальный 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 был правой рукой и инженером, превращавшим замысел в код. Человек задаёт смысл — модель воплощает его в продукт.

Telegram @andrejtsibin

Лицензия

MIT © 2026 Andrey Tsibin

About

Incubating draft-only SEO and semantic workbench fork; provider-optional AI and no Direct writes

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages