简体中文 | 繁體中文 | English | ไทย | Tiếng Việt | 日本語 | Русский
# Toonflow
Фабрика AI-мини-сериалов и короткометражных фильмов
Всего несколько кликов — и ваша новелла превращается в фильм или сериал!
AI-сценарий × AI-изображения × Сверхбыстрая генерация 🔥
---
# 🚀 Установка
## Предварительные требования
Перед установкой и использованием Toonflow подготовьте следующее:
- ✅ URL API для LLM (большой языковой модели)
- ✅ URL API для генерации видео (Sora или Doubao)
- ✅ URL API для генерации изображений (Nano Banana Pro)
## Локальная установка (на ПК)
### 1. Скачивание и установка
| ОС | GitHub | Atomgit | Скачать (Quark Drive) | Описание |
| :------: | :----------------------------------------------------------- | :------------------------------------------------------------ | :---------------------------------------------- | :------------- |
| Windows | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Официальный установщик |
| Linux | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Официальный установщик |
| macOS | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [Quark Drive](https://pan.quark.cn/s/94ef07509df0) | Официальный установщик |
> [!CAUTION]
> Пользователям macOS необходимо перейти в **Системные настройки → Конфиденциальность и безопасность** и разрешить запуск приложения. В противном случае программа может не открыться из-за проблем с сертификатом.
>
> Подробнее (на китайском): [https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
> Из-за технических ограничений Gitee Release (размер файлов и окружение) ссылки для скачивания на Gitee временно недоступны.
### 2. Запуск сервиса
После завершения установки просто откройте программу Toonflow — сервис будет готов к работе.
> ⚠️ **Данные для первого входа**
> Логин: `admin`
> Пароль: `admin123`
## Развертывание через Docker
### Предварительные требования
- Установлен [Docker](https://docs.docker.com/get-docker/) версии 20.10 или выше
### Способ 1: Онлайн-развертывание
В настоящее время в стадии разработки.
Рекомендуется использовать локальную сборку.
### Способ 2: Локальная сборка
Сборка проекта непосредственно из исходного кода на вашем компьютере.
Подходит для разработчиков и пользователей, которые уже клонировали репозиторий. Требуется установленная система контроля версий Git:
```shell
# Сначала клонируйте проект (пропустите, если уже сделано)
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
cd Toonflow-app
# Локальная сборка и запуск с помощью docker-compose
yarn docker:local
# Или ручная сборка
docker build -t toonflow .
docker run -d -p <локальный_порт>:10588 -v <путь_к_локальным_данным>:/app/data toonflow
# После этого интерфейс будет доступен по пути /web/index.html на указанном порту
# Пример: http://localhost:10588/web/index.html
```
### Описание портов сервиса
| Порт | Назначение | Маппинг |
| ------- | --------------------------- | ---------------- |
| `10588` | Основной порт сервиса (API) | `10588:10588` |
**Переменные окружения (Environment Variables):**
| Переменная | Описание |
| ---------- | ----------------------------------------------------- |
| `NODE_ENV` | Среда выполнения (`prod` = Production) |
| `PORT` | Порт сервиса (по умолчанию 10588) |
| `OSSURL` | Адрес Object Storage для хранения и отдачи статических файлов |
---
## Облачное развертывание / Установка на сервер
### I. Требования к серверу
- **Операционная система**: Ubuntu 20.04+ / CentOS 7+
- **Node.js**: 24.x (рекомендуется, минимум 23.11.1+)
- **ОЗУ**: 2 ГБ и более
### II. Развертывание
#### 1. Установка окружения
```bash
# Установка Node.js
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 24
# Установка Yarn и PM2
npm install -g yarn pm2
```
#### 2. Загрузка и сборка проекта
**Клонирование с GitHub:**
```bash
cd /opt
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
cd Toonflow-app
yarn install
yarn build
```
**Клонирование с Gitee (рекомендуется для Китая):**
```bash
cd /opt
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
cd Toonflow-app
yarn install
yarn build
```
#### 3. Настройка PM2
Создайте файл `pm2.json`:
```json
{
"name": "toonflow-app",
"script": "data/serve/app.js",
"instances": "max",
"exec_mode": "cluster",
"env": {
"NODE_ENV": "prod",
"PORT": 10588,
"OSSURL": "http://127.0.0.1:10588/"
}
}
```
**Переменные окружения (Environment Variables):**
| Переменная | Описание |
| ---------- | ----------------------------------------------------- |
| `NODE_ENV` | Среда выполнения (`prod` = Production) |
| `PORT` | Порт сервиса (по умолчанию 10588) |
| `OSSURL` | Адрес Object Storage для хранения и отдачи статических файлов |
---
#### 4. Запуск сервиса
```bash
pm2 start pm2.json
pm2 startup
pm2 save
```
#### 5. Полезные команды
```bash
pm2 list # Список процессов
pm2 logs toonflow-app # Просмотр логов
pm2 restart all # Перезапуск сервисов
pm2 monit # Панель мониторинга
```
> ⚠️ **Данные для первого входа**
> Логин: `admin`
> Пароль: `admin123`
#### 6. Развертывание Frontend
Если вам нужно отдельно развернуть или кастомизировать фронтенд, перейдите в репозиторий Toonflow-web:
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
> 💡 **Примечание**: Этот репозиторий уже содержит скомпилированные файлы Frontend. Обычным пользователям не требуется отдельно устанавливать фронтенд. Репозиторий Toonflow-web предназначен только для разработчиков, которые хотят внести изменения или доработать интерфейс.
---
# 🔧 Руководство разработчика
> [!CAUTION]
> 🚧 **Правила отправки Pull Request** 🚧
>
> ⛔ **Ветка `master` не принимает PR** | ✅ **Отправляйте все PR в ветку `develop`**
>
> Приглашаем всех желающих разработчиков присоединиться к развитию Toonflow.
> Если вы хотите участвовать, свяжитесь с куратором проекта ACT в нашей группе сообщества.
## 🛠️ Стек технологий
| Категория | Технология |
|------------------------|-----------------------------------------------------------------------------------------|
| Runtime | Node.js 23.11.1+ |
| Язык | TypeScript 5.x |
| Backend-фреймворк | Express 5 |
| База данных | SQLite (better-sqlite3 / knex) |
| Интеграция ИИ | Vercel AI SDK (OpenAI / Anthropic / Google / DeepSeek / Zhipu / MiniMax / Qwen / xAI) |
| Локальный инференс | @huggingface/transformers (ONNX) |
| Real-time связь | Socket.IO |
| Desktop-клиент | Electron 40 |
| Обработка изображений | Sharp |
| Контейнеризация | Docker |
## Подготовка среды разработки
- **Node.js**: версия 23.11.1 и выше
- **Yarn**: рекомендуется использовать в качестве пакетного менеджера
## Быстрый запуск проекта
1. **Клонирование проекта**
**С GitHub:**
```bash
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
cd Toonflow-app
```
**С Gitee:**
```bash
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
cd Toonflow-app
```
2. **Установка зависимостей**
Выполните следующую команду в корневой папке проекта:
```bash
yarn install
```
3. **Запуск среды разработки**
Проект состоит из **Backend API** и **Frontend страниц**. Выберите нужный способ запуска:
- **Способ 1: Запуск только Backend**
```bash
yarn dev
```
> ⚠️ Эта команда запускает **только Backend API** (порт 10588) **без интерфейса Frontend**.
> При переходе по адресу `http://localhost:10588` вы сможете только обращаться к API. Полноценный графический интерфейс отображаться не будет.
> Чтобы работать с UI, запустите Frontend отдельно или используйте режим GUI (см. ниже).
- **Способ 2: Запуск клиента Electron (GUI)**
```bash
yarn dev:gui
```
> Эта команда одновременно запускает Backend и десктопное приложение Electron со встроенным Frontend.
> Программа готова к работе сразу после запуска, без дополнительных настроек.
> Идеально подходит для разработчиков, которые хотят быстро протестировать весь функционал приложения.
- **Способ 3: Запуск в режиме Production**
```bash
yarn start
```
> Запуск скомпилированного сервиса в режиме Production (сначала необходимо выполнить `yarn build`).
4. **Сборка проекта (Build & Package)**
- Компиляция и генерация TypeScript:
```bash
yarn build
```
- Сборка исполняемого файла для Windows:
```bash
yarn dist:win
```
- Сборка исполняемого файла для Mac:
```bash
yarn dist:mac
```
- Сборка исполняемого файла для Linux:
```bash
yarn dist:linux
```
5. **Проверка качества кода (Linting)**
- Запуск глобальной проверки синтаксиса:
```bash
yarn lint
```
6. **Панель отладки AI (Опционально)**
Запуск визуального инструмента отладки AI SDK:
```bash
yarn debug:ai
```
## Разработка Frontend
Если вам нужно внести изменения в пользовательский интерфейс, перейдите в репозиторий фронтенда:
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
После сборки (build) фронтенда скопируйте всю папку `dist` в директорию `data/web` этого проекта для интеграции.
## Структура проекта
```
📂 build/ # Артефакты сборки
📂 data/ # Данные времени выполнения (Runtime)
│ ├─ 📂 models/ # Локальные модели (ONNX)
│ ├─ 📂 oss/ # Object Storage (изображения, персонажи, сцены)
│ ├─ 📂 serve/ # Точка входа в Production-режим
│ ├─ 📂 skills/ # Промпты навыков Agent
│ └─ 📂 web/ # Скомпилированный Frontend (встроен в проект)
📂 docs/ # Документация и ресурсы
📂 env/ # Конфигурации окружения
📂 scripts/ # Скрипты сборки и вспомогательные скрипты
📂 src/
├─ 📂 agents/ # Модули AI Agent
│ ├─ 📂 productionAgent/ # Production Agent (агент производства)
│ └─ 📂 scriptAgent/ # Script Agent (агент сценариев)
├─ 📂 lib/ # Общие библиотеки (инициализация БД, форматы ответов)
├─ 📂 middleware/ # Middleware
├─ 📂 routes/ # Модули маршрутизации
│ ├─ 📂 agents/ # Управление памятью Agent
│ ├─ 📂 artStyle/ # Управление художественными стилями
│ ├─ 📂 assets/ # Управление ассетами
│ ├─ 📂 assetsGenerate/ # Генерация ассетов
│ ├─ 📂 cornerScape/ # Управление раскадровкой (Storyboard)
│ ├─ 📂 general/ # Общие API
│ ├─ 📂 login/ # Аутентификация
│ ├─ 📂 migrate/ # Миграция данных
│ ├─ 📂 modelSelect/ # Выбор моделей
│ ├─ 📂 novel/ # Управление новеллами
│ ├─ 📂 other/ # Прочие функции
│ ├─ 📂 production/ # Управление производством и монтажом
│ ├─ 📂 project/ # Управление проектами
│ ├─ 📂 script/ # Генерация сценариев
│ ├─ 📂 scriptAgent/ # Интерфейс Script Agent
│ ├─ 📂 setting/ # Системные настройки
│ ├─ 📂 task/ # Управление задачами
│ └─ 📂 test/ # Тестовые API
├─ 📂 socket/ # Real-time коммуникация через WebSocket
├─ 📂 types/ # Типы TypeScript
├─ 📂 utils/ # Вспомогательные утилиты
├─ 📄 app.ts # Точка входа приложения (App Entry)
├─ 📄 core.ts # Инициализация ядра системы
├─ 📄 env.ts # Обработка переменных окружения
├─ 📄 err.ts # Обработка ошибок
├─ 📄 logger.ts # Модуль логирования
├─ 📄 router.ts # Регистрация маршрутов
└─ 📄 utils.ts # Общие утилиты
📄 Dockerfile # Файл для сборки Docker
📄 electron-builder.yml # Конфигурация сборки Electron
📄 skillList.json # Список навыков
📄 LICENSE # Лицензия (Apache-2.0)
📄 NOTICES.txt # Уведомления о сторонних зависимостях
📄 package.json # Конфигурация проекта
📄 tsconfig.json # Конфигурация TypeScript
```
---
# 🔗 Связанные репозитории
| Репозиторий | Описание | GitHub | Gitee |
|------------------|---------------------------------------------------------------|----------------------------------------------------|--------------------------------------------------|
| **Toonflow-app** | Полноценный клиент (этот репозиторий, рекомендуется для большинства пользователей) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-app) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-app) |
| **Toonflow-web** | Исходный код Frontend (для frontend-разработчиков) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-web) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-web) |
> 💡 **Совет**: Если вы просто хотите использовать Toonflow, достаточно скачать клиент из этого репозитория. Репозиторий Toonflow-web предназначен только для разработчиков, желающих внести изменения или доработать интерфейс.
---
# 👨👩👧👦 Discord сообщество
Нажмите на иконку ниже, чтобы присоединиться к Discord:
[](https://discord.gg/HEjKmpNpAZ)
Или перейдите по прямой ссылке: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
---
# 💌 Свяжитесь с нами
📧 Email: [ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Запрос%20Toonflow)
---
# 📜 Лицензия
Toonflow распространяется как open-source проект под лицензией Apache-2.0 с дополнительным коммерческим соглашением.
Подробнее о лицензии Apache-2.0: https://www.apache.org/licenses/LICENSE-2.0
## Дополнительное коммерческое соглашение
- Если данное ПО распространяется в виде продукта для **2 и более независимых третьих лиц**, необходимо получить **письменную коммерческую лицензию** от HBAI-Ltd.
- Если ПО используется совместно **не более чем 5 юридическими лицами** только для внутренних нужд (без оказания услуг внешним пользователям), это считается внутренним использованием и **лицензия не требуется**.
- Запрещается удалять или изменять логотипы и информацию об авторских правах в Toonflow.
## Сценарии бессрочного бесплатного использования
- ✅ Создание контента с помощью Toonflow и монетизация через видеоплатформы
- ✅ Вторичная разработка (secondary development) для внутреннего использования команды
- ✅ Совместное использование группой из ≤ 5 юридических лиц только внутри организации
- ✅ Личное обучение, научные исследования и любые некоммерческие цели
## Тарифы коммерческой лицензии
| Стадия | Годовая выручка | Годовой взнос |
|---------------------|-----------------------------|-----------------------|
| 🌱 Старт / Поддержка | < ¥100 000 RMB | **Бесплатно** |
| 🚀 Стартап | ¥100 000 – 500 000 RMB | ¥5,000 / год |
| 📈 Рост | ¥500 000 – 1 500 000 RMB | ¥20,000 / год |
| 🏢 Масштабирование | ¥1 500 000 – 5 000 000 RMB | ¥80,000 / год |
| 🌐 Корпоративный | > ¥5 000 000 RMB | Договорная цена |
> **Оговорка о необратной силе**: Пользователи, которые использовали Toonflow под лицензией AGPL-3.0 до выхода версии v1.0.8, продолжают работать по правилам AGPL-3.0. Изменения данного соглашения на них не распространяются.
Полный текст соглашения доступен в файле [LICENSE](./LICENSE).
---
# ⭐️ История звезд (Star History)
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)
---
# 🙏 Благодарности
Выражаем благодарность следующим open-source проектам за мощную поддержку Toonflow:
- [Express](https://expressjs.com/) - Быстрый, гибкий и минималистичный веб-фреймворк для Node.js
- [AI SDK](https://ai-sdk.dev/) - AI инструментарий для TypeScript
- [Better-SQLite3](https://github.com/WiseLibs/better-sqlite3) - Библиотека с высокой производительностью для SQLite3
- [Sharp](https://sharp.pixelplumbing.com/) - Высокопроизводительная библиотека Node.js для обработки изображений
- [Axios](https://axios-http.com/) - Promise-based HTTP клиент
- [Zod](https://zod.dev/) - Библиотека валидации схем, ориентированная на TypeScript
- [Socket.IO](https://socket.io/) - Движок для двунаправленной real-time связи на основе событий
- [Electron](https://www.electronjs.org/) - Фреймворк для кроссплатформенных десктоп-приложений
- [Hugging Face Transformers](https://huggingface.co/docs/transformers.js) - Библиотека для локального ML инференса
Спасибо следующим организациям/лицам за поддержку Toonflow:
| Logo | Название | Тип поддержки | Описание | Сайт |
|---|---|---|---|---|
| Sophnet | 💻 Спонсор | Создание быстрой, стабильной и экономичной платформы API для инференса моделей | Сайт | |
| Atlas Cloud | 💻 Спонсор | Первая в мире мультимодальная платформа вывода. Чат, изображения, видео, аудио — единый API. 300+ моделей, совместимость с OpenAI. | Сайт |