|
|
简体中文 |
繁體中文 |
English |
ไทย |
Tiếng Việt |
日本語 |
Русский
---
# 🌐 Многоязычная поддержка
Toonflow поддерживает интерфейс на следующих языках:
| Язык | Language |
| ----------------------- | --------------------- |
| 简体中文 | Chinese (Simplified) |
| 繁體中文 | Chinese (Traditional) |
| English | English |
| ไทย | Thai |
| Tiếng Việt | Vietnamese |
| 日本語 | Japanese |
| Русский | Russian |
> 💡 Скоро будут добавлены другие языки. Приветствуется помощь с переводами!
---
# 🌟 Основные функции
Toonflow — это AI-рабочее место для производства сериалов, выстроенное вокруг полного цикла «планирование → сценарий → раскадровка → вывод», с поддержкой локализации, программируемости и непрерывной итерации.
- ✅ **Бесконечный холст для производства**
Организация сценариев, персонажей, раскадровок, материалов и видеоузлов в формате бесконечного холста со свободным редактированием, возможностью отката и параллельным производством, без ограничений линейными шагами.
- ✅ **Трёхуровневая система Agent-взаимодействия**
Совместная работа уровня принятия решений, уровня исполнения и уровня контроля, охватывающая декомпозицию задач, генерацию контента, проверку качества и обратную связь для повышения стабильности и согласованности результатов.
- ✅ **Персистентная память Agent**
Межсессионная система памяти на основе локального векторного поиска ONNX с поддержкой краткосрочных сообщений, долгосрочных сводок и семантического поиска для обеспечения непрерывности многораундового творчества.
- ✅ **Программируемая система провайдеров**
Поддержка написания TypeScript-логики провайдера непосредственно в центре настроек с мгновенным вступлением в силу, без изменения исходного кода или перезапуска, для лёгкой кастомизации и подключения множества моделей.
- ✅ **Адаптация на основе графа событий глав**
Автоматическое извлечение и структурированное хранение событий глав оригинального произведения; адаптация сценария с точным вызовом контекста по графу событий для уменьшения потери информации в длинных текстах.
- ✅ **Конфигурация навыков (Skill) в файлах**
Ключевые промпты ScriptAgent и ProductionAgent вынесены в Markdown-файлы навыков с поддержкой онлайн-редактирования и быстрой настройки.
---
# 📦 Сценарии применения
- Создание коротких видеороликов
- Эксперименты по экранизации романов
- Инструменты AI-адаптации литературы
- Разработка сценариев и быстрое прототипирование
- Генерация видеоматериалов
---
# 🔰 Руководство по использованию
## Быстрый старт
1. Запустите приложение и войдите (учётные данные по умолчанию: `admin` / `admin123`).
2. В центре настроек выполните конфигурацию провайдеров моделей (текстовые/изображения/видеомодели).
3. Создайте новый проект и импортируйте оригинальное произведение, выполните извлечение событий глав.
4. Перейдите в ScriptAgent для генерации сюжетного каркаса, стратегии адаптации и структурированного сценария.
5. Переключитесь в ProductionAgent для организации раскадровок, материалов и видеоузлов на бесконечном холсте.
6. Выполните узловую точную настройку изображений раскадровки, после чего верните их на рабочее место для склейки видео и экспорта.
## 📺 Видеоурок
https://www.bilibili.com/video/BV1oXD7BqEqJ
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
**Toonflow: быстрый старт с AI-видео за 12 минут**
👉 [Нажмите для просмотра](https://www.bilibili.com/video/BV1oXD7BqEqJ)
📱 Отсканируйте QR-код в WeChat для просмотра
---
# 📸 Скриншоты и видео демонстрации
Следующие скриншоты и видео взяты из AI-сериала-демо, созданного с помощью Toonflow. Весь процесс занял около 2 часов, включая генерацию сценария, создание раскадровки и монтаж.
## 🎬 Демо-видео
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
Если видео не воспроизводится, [скачайте его](./screenshot/demo.mp4)
## Информация о демо
| Параметр | Значение |
| :------------------ | :------------------------------ |
| Время производства | Около 2 часов |
| Видеомодель | Seedance 2.0 |
| Модель изображений | GPT Image 2 |
| Языковая модель | Claude Opus 4.6 |
| Общая длительность | Около 2 минут (исходно 3 мин, вырезано около 1 мин неудачных дублей) |
## Детализация затрат
| Тип модели | Стоимость |
| :----------------- | :---------- |
| Языковая модель | ~ ¥10 |
| Видеомодель (полная генерация) | ~ ¥120 |
| Модель изображений | менее ¥1 |
| **Итого** | **~ ¥130** |
> **Примечание**: Исходное разрешение демо — 1080×1882, опубликованная версия сжата до 480p. В случае нарушения авторских прав просьба свяжитесь с нами для удаления.
---
# 🚀 Установка
## Предварительные требования
Перед установкой и использованием программного обеспечения подготовьте следующее:
- ✅ Адрес API-интерфейса большой языковой модели AI
- ✅ Адрес API-интерфейса видеосервиса Sora или Doubao
- ✅ API-интерфейс сервиса генерации изображений Nano Banana Pro
## Локальная установка
### 1. Загрузка и установка
| Операционная система | GitHub | Примечание |
| :------------------: | :----------------------------------------------------------- | :-------------------------- |
| Windows | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | Официальный установочный пакет |
| Linux | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | Официальный установочный пакет |
| macOS | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | Официальный установочный пакет |
> [!CAUTION]
> Пользователям MacOS необходимо перейти в Настройки → Конфиденциальность и безопасность, чтобы настроить безопасность, иначе приложение может не открыться из-за проблем с сертификатом.
>
> Справочная статья на Zhihu: [https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
> Из-за ограничений среды Gitee OS и ограничений на размер загружаемых файлов Release, ссылки для скачивания с Gitee Release временно не предоставляются.
### 2. Запуск сервиса
После завершения установки запустите программу, чтобы начать использование.
> ⚠️ **Первый вход**
> Логин: `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` | Веб-интерфейс | `10588:10588` |
**Описание переменных окружения:**
| Переменная | Описание |
| ---------- | -------------------------------------------------- |
| `NODE_ENV` | Среда выполнения, `prod` — производственная среда |
| `PORT` | Порт прослушивания сервиса (по умолчанию 10588) |
| `OSSURL` | Адрес доступа к файловому хранилищу для статики |
---
## Облачное развёртывание
### 1. Требования к серверу
- **ОС**: Ubuntu 20.04+ / CentOS 7+
- **Node.js**: 24.x (рекомендуется, минимум 23.11.1+)
- **Память**: 2GB+
### 2. Развёртывание на сервере
#### 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/"
}
}
```
**Описание переменных окружения:**
| Переменная | Описание |
| ---------- | -------------------------------------------------- |
| `NODE_ENV` | Среда выполнения, `prod` — производственная среда |
| `PORT` | Порт прослушивания сервиса |
| `OSSURL` | Адрес доступа к файловому хранилищу для статики |
---
#### 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. Развёртывание фронтенда
Для отдельного развёртывания или кастомизации фронтенда обратитесь к репозиторию фронтенда:
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
> 💡 **Примечание**: Данный репозиторий уже содержит скомпилированные фронтенд-ресурсы. Обычным пользователям не требуется отдельно развёртывать фронтенд. Репозиторий фронтенда предназначен только для разработчиков, которым нужна доработка.
---
# 🔧 Руководство по процессу разработки
> [!CAUTION]
> 🚧 **Правила отправки PR** 🚧
>
> ⛔ Ветка `master` не принимает PR | ✅ Пожалуйста, отправляйте PR в ветку `develop`
>
> Приветствуется совместное участие разработчиков в создании Toonflow. Если вы заинтересованы, свяжитесь с руководителем ACT в группе общения.
## 🛠️ Технологический стек
| Категория | Технологии |
| ------------------ | ---------------------------------------------------------------------------------------- |
| Среда выполнения | Node.js 23.11.1+ |
| Язык | TypeScript 5.x |
| Бэкенд-фреймворк | Express 5 |
| База данных | SQLite (better-sqlite3 / knex) |
| AI-интеграция | Vercel AI SDK (OpenAI / Anthropic / Google / DeepSeek / Zhipu / MiniMax / Tongyi / xAI) |
| Локальный инференс | @huggingface/transformers (ONNX) |
| Реалтайм-связь | Socket.IO |
| Десктопный клиент | 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. **Запуск среды разработки**
Проект состоит из **бэкенд-сервиса API** и **фронтенда**. Выберите способ запуска по необходимости:
- **Способ 1: Запуск только бэкенда**
```bash
yarn dev
```
> ⚠️ Эта команда запускает только бэкенд-сервис API (порт 10588), **не включая фронтенд**. При прямом обращении к `http://localhost:10588` будут доступны только API, но не полный веб-интерфейс. Для одновременного использования фронтенда запустите его отдельно или используйте режим GUI ниже.
- **Способ 2: Запуск Electron-клиента**
```bash
yarn dev:gui
```
> Эта команда одновременно запускает бэкенд и окно Electron Desktop со встроенным фронтендом — готовое решение «из коробки», не требующее дополнительных настроек. Подходит для разработчиков, желающих опробовать все функции.
- **Способ 3: Запуск в production-режиме**
```bash
yarn start
```
> Запуск предварительно скомпилированного сервиса в production-режиме (требуется предварительно выполнить `yarn build`).
4. **Сборка проекта**
- Компиляция TypeScript-файлов:
```bash
yarn build
```
- Сборка исполняемого файла для Windows:
```bash
yarn dist:win
```
- Сборка исполняемого файла для macOS:
```bash
yarn dist:mac
```
- Сборка исполняемого файла для Linux:
```bash
yarn dist:linux
```
5. **Проверка качества кода**
- Глобальная проверка синтаксиса и соответствия стандартам:
```bash
yarn lint
```
6. **Отладочная панель AI (опционально)**
Запуск визуального инструмента отладки AI SDK для удобства отладки AI-вызовов:
```bash
yarn debug:ai
```
## Разработка фронтенда
Для изменения фронтенда перейдите в соответствующий репозиторий:
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
После сборки фронтенда скопируйте содержимое директории `dist` в директорию `data/web` данного проекта.
## Структура проекта
```
📂 build/ # Результаты компиляции
📂 data/ # Данные времени выполнения
│ ├─ 📂 models/ # Локальные модели инференса (ONNX)
│ ├─ 📂 oss/ # Объектное хранилище (материалы/персонажи/сцены)
│ ├─ 📂 serve/ # Точка входа production-среды
│ ├─ 📂 skills/ # Промпты навыков Agent
│ └─ 📂 web/ # Скомпилированный фронтенд (встроенный)
📂 docs/ # Документация
📂 env/ # Конфигурация окружения
📂 scripts/ # Скрипты сборки и вспомогательные скрипты
📂 src/
├─ 📂 agents/ # Модули AI Agent
│ ├─ 📂 productionAgent/ # Production Agent
│ └─ 📂 scriptAgent/ # Script Agent
├─ 📂 lib/ # Общие библиотеки (инициализация БД, формат ответов)
├─ 📂 middleware/ # Промежуточное ПО
├─ 📂 routes/ # Модули маршрутов
│ ├─ 📂 agents/ # Управление памятью Agent
│ ├─ 📂 artStyle/ # Управление художественным стилем
│ ├─ 📂 assets/ # Управление материалами
│ ├─ 📂 assetsGenerate/ # Генерация материалов
│ ├─ 📂 cornerScape/ # Управление раскадровками
│ ├─ 📂 general/ # Общие интерфейсы
│ ├─ 📂 login/ # Аутентификация
│ ├─ 📂 migrate/ # Миграция данных
│ ├─ 📂 modelSelect/ # Выбор модели
│ ├─ 📂 novel/ # Управление романами
│ ├─ 📂 other/ # Прочие функции
│ ├─ 📂 production/ # Управление производством
│ ├─ 📂 project/ # Управление проектами
│ ├─ 📂 script/ # Генерация сценариев
│ ├─ 📂 scriptAgent/ # Интерфейс Script Agent
│ ├─ 📂 setting/ # Системные настройки
│ ├─ 📂 task/ # Управление задачами
│ └─ 📂 test/ # Тестовые интерфейсы
├─ 📂 socket/ # WebSocket-реалтайм-связь
├─ 📂 types/ # Объявления типов TypeScript
├─ 📂 utils/ # Вспомогательные функции
├─ 📄 app.ts # Точка входа приложения
├─ 📄 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** | Исходный код фронтенда (для фронтенд-разработчиков) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-web) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-web) |
> 💡 **Подсказка**: Если вы просто хотите использовать Toonflow, скачайте клиент из этого репозитория. Репозиторий фронтенда предназначен только для разработчиков, которым требуется доработка или кастомизация интерфейса.
---
# 👨👩👧👦 Группа в WeChat
Помощник для добавления в группу:
Вы также можете присоединиться к Discord, нажав на иконку:
[](https://discord.gg/HEjKmpNpAZ)
Или перейдя по ссылке-приглашению: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
---
# 💌 Контакты
📧 Эл. почта: [ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Toonflow咨询)
---
# 📜 Лицензия
Toonflow распространяется с открытым исходным кодом по лицензии Apache-2.0 с дополнительным коммерческим соглашением.
Подробности лицензии: https://www.apache.org/licenses/LICENSE-2.0
## Дополнительное соглашение
- Если данное программное обеспечение распространяется в виде продукта **двум и более независимым третьим сторонам**, необходимо получить **письменное коммерческое разрешение** от HBAI-Ltd.
- **Совместное внутреннее использование ≤ 5 юридическими лицами** без предоставления услуг внешним сторонам считается внутренним использованием и **не требует разрешения**.
- Запрещается удалять или изменять идентификационные знаки и информацию об авторских правах Toonflow.
## Сценарии постоянного бесплатного использования
- ✅ Создание контента с помощью Toonflow и получение дохода от платформы
- ✅ Доработка для внутреннего использования в своей команде
- ✅ Совместное внутреннее использование ≤ 5 юридическими лицами
- ✅ Личное обучение, исследования, некоммерческое использование
## Цены на коммерческое лицензирование
| Этап | Годовой объём продаж | Годовая плата |
| -------------- | -------------------- | -------------- |
| 🌱 Поддержка | < ¥100 000 | **Бесплатная лицензия по запросу** |
| 🚀 Старт | ¥100 000 – 500 000 | ¥5 000/год |
| 📈 Рост | ¥500 000 – 1 500 000 | ¥20 000/год |
| 🏢 Масштабирование | ¥1 500 000 – 5 000 000 | ¥80 000/год |
| 🌐 Корпоративный | > ¥5 000 000 | Обсуждается |
> **Положение о неретроактивности**: Пользователи, использовавшие программное обеспечение на условиях AGPL-3.0 до выхода версии v1.0.8, продолжают действовать в соответствии с AGPL-3.0 и не подпадают под действие изменений данного соглашения.
Полный текст соглашения см. в файле [LICENSE](./LICENSE).
---
# ⭐️ Звёзды
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app&type=timeline&legend=top-left)
---
# 🙏 Благодарности
Благодарим следующие проекты с открытым исходным кодом за мощную поддержку 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/) — HTTP-клиент на основе Promise
- [Zod](https://zod.dev/) — TypeScript-ориентированная библиотека валидации схем
- [Socket.IO](https://socket.io/) — Двунаправленный движок реалтайм-коммуникаций
- [Electron](https://www.electronjs.org/) — Кроссплатформенный фреймворк для разработки десктопных приложений
- [Hugging Face Transformers](https://huggingface.co/docs/transformers.js) — Локальная библиотека ML-инференса
Благодарим следующие организации и лица за поддержку Toonflow:
| Логотип |
Название |
Форма поддержки |
Описание |
Веб-сайт |
 |
SuanNeng Cloud |
💻 Спонсорство вычислительных мощностей |
Стремится создать более быструю, стабильную и экономичную универсальную платформу API-сервисов для инференса моделей. |
Веб-сайт |
 |
Atlas Cloud |
💻 Спонсорство вычислительных мощностей |
Первая в мире универсальная мультимодальная платформа инференса. Диалог, изображения, видео, аудио — всё через единый API. Более 300 моделей, совместимость с OpenAI. |
Веб-сайт |
 |
Tencent Hunyuan 3D |
🌐 Техническая поддержка мировых моделей |
AI-движок создания 3D-контента на основе большой модели генерации 3D Tencent Hunyuan версии 2.5 — первая в отрасли универсальная AI-платформа для создания 3D. Поддерживает генерацию 3D из текста и изображений, 3D-анимацию, генерацию текстур и многое другое, включая генерацию 3D из набросков, создание 3D-персонажей и преимущества в создании low-poly моделей. |
Веб-сайт |
Полный список сторонних зависимостей см. в файле `NOTICES.txt`
##### copyright © Beijing Ai'a Technology Co., Ltd.
