- Дата публикации
Raincast: ИИ-сервис, который собирает нативные десктоп‑приложения по текстовому описанию
Что появилось / что изменилось
Raincast — это open source‑приложение для macOS, Windows и Linux, которое генерирует нативные десктоп‑приложения из текстового описания на английском. Вы пишете: "Сделай локальный AI‑чат с логами" — получаете готовый проект на React + Tauri с Rust‑бэкендом и бинарником, который можно раздавать пользователям.
Ключевые возможности сейчас:
- Генерация полноценных Tauri‑приложений, а не прототипов в браузере.
- 9 готовых шаблонов интерфейса: дашборд, редактор, чат, файловый менеджер, медиаплеер, таблица данных, playground, утилита и универсальный шаблон.
- Автоматическая генерация Rust‑команд с
#[tauri::command]для файлового ввода‑вывода, запуска shell‑команд, системного мониторинга и сетевых запросов. - Поддержка нативного оформления окон: прозрачные фоны, размытие в стиле macOS, оверлей‑тайтлбар, произвольные размеры окон.
- Живой предпросмотр с hot reload — приложение работает прямо во время сборки.
- One‑click ship: сборка в отдельный бинарник одним действием.
Под капотом Raincast использует несколько ИИ‑провайдеров:
- Anthropic Claude Sonnet 4.6 (pro) и Claude Haiku 4.5 (fast) — для сложных приложений и более аккуратного кода.
- Google Gemini 3.1 Pro и Gemini 3 Flash — для быстрой итерации и мультимодальных сценариев.
Пользователь сам указывает API‑ключ в настройках. Проект открыт для pull‑request’ов: разработчики предлагают добавить OpenAI (например, GPT‑4.1), xAI Grok, DeepSeek, Mistral и других через вклад в репозиторий.
Как это работает
Raincast — это десктоп‑IDE, заточенная под генерацию Tauri‑приложений. Вы описываете приложение на английском, Raincast отправляет запрос к выбранному ИИ и получает сразу несколько артефактов:
- React‑фронтенд.
- Rust‑бэкенд с
#[tauri::command]функциями. - Конфигурацию Tauri.
Самое интересное — живой предпросмотр без полной сборки Tauri. Обычно React‑часть общается с Rust‑командами через tauri.invoke(), но до компиляции настоящего бинарника вызывать их нельзя. Raincast обходит это так:
- Парсит сгенерированный Rust‑код через AST и ищет все функции с атрибутом
#[tauri::command]. - На основе этого кода собирает отдельный CLI‑бинарник‑прокси.
- Прокси читает JSON из stdin, вызывает нужную функцию и пишет JSON в stdout.
- В dev‑режиме
invoke()фронтенда уходит не в Tauri‑runtime, а в этот прокси.
В итоге предпросмотр ведет себя как "настоящее" приложение: есть доступ к файловой системе, shell‑командам, системной информации и сети, ещё до финальной сборки. Когда вы нажимаете Ship, Raincast собирает полноценный Tauri‑бинарник с теми же командами, а прокси остается только для разработки.
Для работы нужны Node.js 18+, Rust и системные зависимости Tauri. На macOS можно поставить всё одной командой через скрипт:
curl -fsSL https://raw.githubusercontent.com/tihiera/raincast/main/scripts/install-macos.sh | bash
Есть готовые инсталляторы для Windows (.exe) и Debian/Ubuntu (.deb или .AppImage).
Что это значит для вас
Кому пригодится Raincast:
- Frontend‑разработчикам, которые не хотят руками настраивать Tauri и Rust. Вы можете описать функциональность, получить рабочий каркас, а дальше дорабатывать код.
- Продуктовым и design‑инженерам — чтобы быстро собирать нативные утилиты: VPN‑индикаторы, статус‑бар‑приложения, мини‑дашборды.
- Data‑ и AI‑разработчикам — для локальных UI к моделям и пайплайнам: от чатов с llama.cpp до инструментов визуализации логов и метрик.
- Инди‑разработчикам игр — как быстрый старт для простых 2D‑игр и прототипов платформеров, где важен нативный билд.
Примеры сценариев из документации:
- Утилита со "стеклянным" окном, которая показывает статус VPN: публичный IP, геолокация на мини‑карте, пинг, скорость, аптайм и кнопка подключить/отключить.
- Локальный AI‑чат к серверу llama.cpp с интерфейсом чата, выбором модели и выдвижной консолью с логами и статусом соединения.
- Сайд‑скроллер в духе Super Mario: пиксель‑арт спрайты, параллакс‑фон, HUD со счетом, монетами и жизнями, частицы при сборе монет и шейк экрана при уроне.
- Автоматический органайзер файлов: следит за Desktop и Downloads, сортирует файлы по паттернам имен в папки, показывает нотификации в стиле macOS и ленту последних действий.
Где Raincast не поможет:
- Если вы не готовы описывать интерфейс и логику на английском.
- Если нужен продакшн‑уровень безопасности и строгий аудит кода — сгенерированный Rust и React всё равно придется внимательно ревьюить.
- Если вы вообще не хотите трогать код. Raincast скорее ускоряет разработку, чем заменяет её.
Важно: сервис не привязан к конкретному региону, но для работы ИИ‑части нужен доступ к API Anthropic или Google Gemini. Если эти сервисы у вас в сети не открываются, может понадобиться VPN и платный аккаунт у провайдера модели.
Место на рынке
Raincast живет в нише генераторов приложений, которые опираются на стандартный стек и открытый код. Он не тянет вас в закрытую облачную платформу: результат — обычный репозиторий Tauri с React и Rust, который вы можете собрать, форкнуть и развернуть где угодно.
По подходу Raincast ближе к "ИИ‑помощнику в IDE", чем к no‑code‑конструктору. Он не прячет код, а наоборот, сразу генерирует структуру проекта, тесты для подмодулей (например, editkit) и команды сборки (npm run tauri dev, npm run tauri build).
В отличие от браузерных генераторов интерфейсов, здесь есть упор на нативность: системная интеграция через Tauri, доступ к файловой системе, shell, системным API и полноценный бинарник для дистрибуции. Для разработчиков, которые уже смотрят в сторону Tauri вместо Electron, это удобная точка входа.
Прямых сравнений по скорости генерации кода, качеству UI или стоимости вызовов по сравнению с другими AI‑инструментами авторы не приводят. Главная ставка Raincast — открытый репозиторий, расширяемость через pull‑request’ы и возможность подключить свой любимый ИИ‑бэкенд через API‑ключ.