mirror of
https://github.com/HBAI-Ltd/Toonflow-app.git
synced 2026-06-01 00:42:56 +08:00
731 lines
41 KiB
Markdown
731 lines
41 KiB
Markdown
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=200§ion=header&text=Toonflow&fontSize=90&fontColor=ffffff&animation=fadeIn&fontAlignY=50" width="100%"/>
|
||
|
||
<p>
|
||
<a href="https://github.com/HBAI-Ltd/Toonflow-app">
|
||
<img src="https://img.shields.io/badge/GitHub-181717?style=flat-square&logo=github&logoColor=white" alt="GitHub" />
|
||
</a>
|
||
|
|
||
<a href="https://gitee.com/HBAI-Ltd/Toonflow-app">
|
||
<img src="https://img.shields.io/badge/Gitee-C71D23?style=flat-square&logo=gitee&logoColor=white" alt="Gitee" />
|
||
</a>
|
||
|
|
||
<a href="https://gitcode.com/HBAI-Ltd/Toonflow-app">
|
||
<img src="./atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||
</a>
|
||
</p>
|
||
|
||
<p align="center">
|
||
<a href="../README.md">简体中文</a> |
|
||
<a href="./README.zhtw.md">繁體中文</a> |
|
||
<a href="./README.en.md">English</a> |
|
||
<a href="./README.th.md">ไทย</a> |
|
||
<a href="./README.vi.md">Tiếng Việt</a> |
|
||
<a href="./README.ja.md">日本語</a> |
|
||
<strong>Русский</strong>
|
||
</p>
|
||
|
||
<div align="center">
|
||
|
||
<img src="./logo.png" alt="Toonflow Logo" height="120"/>
|
||
|
||
[](https://git.io/typing-svg)
|
||
|
||
<p align="center">
|
||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/stargazers">
|
||
<img src="https://img.shields.io/github/stars/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github" alt="Stars Badge" />
|
||
</a>
|
||
<a href="https://www.apache.org/licenses/LICENSE-2.0" target="_blank">
|
||
<img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge" alt="Apache-2.0 License Badge" />
|
||
</a>
|
||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/releases">
|
||
<img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" />
|
||
</a>
|
||
</p>
|
||
<p align="center">
|
||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/network/members">
|
||
<img src="https://img.shields.io/github/forks/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github&color=orange" alt="Forks Badge" />
|
||
</a>
|
||
<a href="https://atomgit.com/HBAI-Ltd/Toonflow-app">
|
||
<img src="https://img.shields.io/badge/AtomGit-G--Star%20No.540-FF6B35?style=for-the-badge&logo=git&logoColor=white" alt="AtomGit G-Star No.540" />
|
||
</a>
|
||
<a href="https://discord.gg/HEjKmpNpAZ">
|
||
<img src="https://img.shields.io/badge/Discord-Community-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord" />
|
||
</a>
|
||
</p>
|
||
<p align="center">
|
||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/issues">
|
||
<img src="https://img.shields.io/github/issues/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=F48D73" alt="Issues" />
|
||
</a>
|
||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/graphs/contributors">
|
||
<img src="https://img.shields.io/github/contributors/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=2088FF" alt="Contributors" />
|
||
</a>
|
||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/commits">
|
||
<img src="https://img.shields.io/github/last-commit/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=blueviolet" alt="Last Commit" />
|
||
</a>
|
||
</p>
|
||
<p align="center">
|
||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/TypeScript/typescript2.svg" alt="TypeScript" />
|
||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/NodeJS/nodejs2.svg" alt="Node.js" />
|
||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Docker/docker2.svg" alt="Docker" />
|
||
<img src="https://ziadoua.github.io/m3-Markdown-Badges/badges/Electron/electron2.svg" alt="Electron" />
|
||
</p>
|
||
<p align="center">
|
||
<img src="https://mobaicons.com/icons/typescript,nodejs,electron,docker,socket?perline=5" alt="Tech Stack Icons" />
|
||
</p>
|
||
<p align="center">
|
||
<img src="https://widgetbite.com/stats/HBAI-Ltd" alt="Visitors" />
|
||
</p>
|
||
|
||
> 🚀 **Комплексная платформа для создания сериалов**: от текста до персонажей, от раскадровки до видео — полный AI-конвейер с нулевым порогом входа, повышающий эффективность творчества в 10+ раз!
|
||
</div>
|
||
|
||
<div align="center">
|
||
<a href="./g-star.png" target="_blank">
|
||
<img src="./g-star.png" alt="AtomGit G-Star 认证证书" width="100%"/>
|
||
</a>
|
||
</div>
|
||
|
||
---
|
||
|
||
# 🌐 Многоязычная поддержка
|
||
|
||
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 для просмотра
|
||
|
||
<img src="./videoQR.png" alt="微信扫码观看" width="150"/>
|
||
|
||
---
|
||
|
||
# 📸 Скриншоты и видео демонстрации
|
||
|
||
Следующие скриншоты и видео взяты из AI-сериала-демо, созданного с помощью Toonflow. Весь процесс занял около 2 часов, включая генерацию сценария, создание раскадровки и монтаж.
|
||
|
||
<div align="center">
|
||
<table>
|
||
<tr>
|
||
<td width="50%"><a href="./screenshot/1.png" target="_blank"><img src="./screenshot/1.png" width="100%"/></a></td>
|
||
<td width="50%"><a href="./screenshot/2.png" target="_blank"><img src="./screenshot/2.png" width="100%"/></a></td>
|
||
</tr>
|
||
<tr>
|
||
<td width="50%"><a href="./screenshot/3.png" target="_blank"><img src="./screenshot/3.png" width="100%"/></a></td>
|
||
<td width="50%"><a href="./screenshot/4.png" target="_blank"><img src="./screenshot/4.png" width="100%"/></a></td>
|
||
</tr>
|
||
<tr>
|
||
<td width="50%"><a href="./screenshot/5.png" target="_blank"><img src="./screenshot/5.png" width="100%"/></a></td>
|
||
<td width="50%"><a href="./screenshot/6.png" target="_blank"><img src="./screenshot/6.png" width="100%"/></a></td>
|
||
</tr>
|
||
<tr>
|
||
<td width="50%"><a href="./screenshot/7.png" target="_blank"><img src="./screenshot/7.png" width="100%"/></a></td>
|
||
<td width="50%"><a href="./screenshot/8.png" target="_blank"><img src="./screenshot/8.png" width="100%"/></a></td>
|
||
</tr>
|
||
<tr>
|
||
<td width="50%"><a href="./screenshot/9.png" target="_blank"><img src="./screenshot/9.png" width="100%"/></a></td>
|
||
<td width="50%"><a href="./screenshot/10.png" target="_blank"><img src="./screenshot/10.png" width="100%"/></a></td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
## 🎬 Демо-видео
|
||
|
||
<div align="center">
|
||
|
||
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||
|
||
Если видео не воспроизводится, [скачайте его](./screenshot/demo.mp4)
|
||
|
||
</div>
|
||
|
||
## Информация о демо
|
||
|
||
| Параметр | Значение |
|
||
| :------------------ | :------------------------------ |
|
||
| Время производства | Около 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
|
||
|
||
Помощник для добавления в группу:
|
||
|
||
<img src="./QR.png" alt="Toonflow QR" height="400"/>
|
||
|
||
Вы также можете присоединиться к 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:
|
||
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th align="center">Логотип</th>
|
||
<th align="center">Название</th>
|
||
<th align="center">Форма поддержки</th>
|
||
<th>Описание</th>
|
||
<th align="center">Веб-сайт</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td align="center"><img src="./sponsored/sophnet.png" alt="SuanNeng Cloud Logo" width="48"></td>
|
||
<td align="center"><b>SuanNeng Cloud</b></td>
|
||
<td align="center">💻 Спонсорство вычислительных мощностей</td>
|
||
<td>Стремится создать более быструю, стабильную и экономичную универсальную платформу API-сервисов для инференса моделей.</td>
|
||
<td align="center"><a href="https://www.sophnet.com/">Веб-сайт</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td align="center"><img src="./sponsored/atlascloud.png" alt="Atlas Cloud Logo" width="48"></td>
|
||
<td align="center"><b>Atlas Cloud</b></td>
|
||
<td align="center">💻 Спонсорство вычислительных мощностей</td>
|
||
<td>Первая в мире универсальная мультимодальная платформа инференса. Диалог, изображения, видео, аудио — всё через единый API. Более 300 моделей, совместимость с OpenAI.</td>
|
||
<td align="center"><a href="https://www.atlascloud.ai/">Веб-сайт</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td align="center"><img src="./sponsored/hunyuan.webp" alt="Tencent Hunyuan 3D Logo" width="48"></td>
|
||
<td align="center"><b>Tencent Hunyuan 3D</b></td>
|
||
<td align="center">🌐 Техническая поддержка мировых моделей</td>
|
||
<td>AI-движок создания 3D-контента на основе большой модели генерации 3D Tencent Hunyuan версии 2.5 — первая в отрасли универсальная AI-платформа для создания 3D. Поддерживает генерацию 3D из текста и изображений, 3D-анимацию, генерацию текстур и многое другое, включая генерацию 3D из набросков, создание 3D-персонажей и преимущества в создании low-poly моделей.</td>
|
||
<td align="center"><a href="https://3d.hunyuan.tencent.com/">Веб-сайт</a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
Полный список сторонних зависимостей см. в файле `NOTICES.txt`
|
||
|
||
##### copyright © Beijing Ai'a Technology Co., Ltd.
|
||
|
||
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=100§ion=footer" width="100%"/> |