修正多语言readme显示异常问题
This commit is contained in:
parent
6cd1bf6bc7
commit
42db8cb25d
12
README.md
12
README.md
@ -217,7 +217,7 @@ https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
| 图片模型 | 不足 ¥1 |
|
||||
| **合计** | **约 ¥130** |
|
||||
|
||||
> **声明**:Demo 原始分辨率为 1080×1882,发布版本已压缩至 480p。如涉及版权问题,我们将予以删除处理。
|
||||
> **声明**:Demo 原始分辨率为 1080×1882,发布版本已压缩至 480p。如涉及版权问题,请联系我们删除处理。
|
||||
|
||||
---
|
||||
|
||||
@ -235,11 +235,11 @@ https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
### 1. 下载与安装
|
||||
|
||||
| 操作系统 | GitHub | Atomgit | 夸克网盘下载 | 说明 |
|
||||
| :------: | :----------------------------------------------------------- | :------------------------------------------------------------ | :---------------------------------------------- | :------------- |
|
||||
| Windows | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [夸克网盘](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) | [夸克网盘](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) | [夸克网盘](https://pan.quark.cn/s/94ef07509df0) | 官方发布安装包 |
|
||||
| 操作系统 | 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 系统请到 设置-隐私与安全性 配置安全性否则可能因证书问题无法正常打开
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitcode.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="./atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
<img src="./docs/atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
@ -26,19 +26,10 @@
|
||||
|
||||
<div align="center">
|
||||
|
||||
<img src="./logo.png" alt="Toonflow Logo" height="120"/>
|
||||
<img src="./docs/logo.png" alt="Toonflow Logo" height="120"/>
|
||||
|
||||
# Toonflow
|
||||
[](https://git.io/typing-svg)
|
||||
|
||||
<p align="center">
|
||||
<b>
|
||||
AI Short Drama Factory
|
||||
<br />
|
||||
Turn your novel into episodes with just a few clicks!
|
||||
<br />
|
||||
AI Scripts × AI Visuals × Ultra-fast Generation 🔥
|
||||
</b>
|
||||
</p>
|
||||
<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" />
|
||||
@ -85,133 +76,148 @@
|
||||
<img src="https://widgetbite.com/stats/HBAI-Ltd" alt="Visitors" />
|
||||
</p>
|
||||
|
||||
> 🚀 **All-in-One Short Drama Studio**: From text to characters, from storyboard to final video.
|
||||
> Fully AI-powered workflow with zero barrier to entry — boosting your creative efficiency by 10x or more!
|
||||
> 🚀 **All-in-One Short Drama Workflow**: From text to characters, from storyboards to videos — zero-threshold full-process AI automation, boosting creative efficiency by 10x+!
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<img src="./g-star.png" alt="AtomGit G-Star Certificate" width="100%"/>
|
||||
<a href="./docs/g-star.png" target="_blank">
|
||||
<img src="./docs/g-star.png" alt="AtomGit G-Star Certificate" width="100%"/>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 🌐 Multi-Language Support
|
||||
# 🌐 Multi-language Support
|
||||
|
||||
Toonflow supports the following interface languages:
|
||||
|
||||
| Language | Language Name |
|
||||
|------|----------|
|
||||
| 简体中文 | Chinese (Simplified) |
|
||||
| 繁體中文 | Chinese (Traditional) |
|
||||
| English | English |
|
||||
| ไทย | Thai |
|
||||
| Tiếng Việt | Vietnamese |
|
||||
| 日本語 | Japanese |
|
||||
| Русский | Russian |
|
||||
| Language | Language |
|
||||
| -------------------- | --------------------- |
|
||||
| Chinese (Simplified) | 简体中文 |
|
||||
| Chinese (Traditional)| 繁體中文 |
|
||||
| English | English |
|
||||
| Thai | ไทย |
|
||||
| Vietnamese | Tiếng Việt |
|
||||
| Japanese | 日本語 |
|
||||
| Russian | Русский |
|
||||
|
||||
> 💡 More languages are on the way. Translation contributions are highly welcome!
|
||||
> 💡 More languages are being adapted — contributions for translations are welcome!
|
||||
|
||||
---
|
||||
|
||||
# 🌟 Main Features
|
||||
# 🌟 Key Features
|
||||
|
||||
Toonflow is an AI-powered tool for creating short dramas, short films, and comics. It can automatically transform novels into scripts, then combine AI-generated characters, images, and videos to produce high-quality content efficiently.
|
||||
Toonflow is an AI workstation designed for short drama production, building a complete closed loop around "Planning → Scriptwriting → Storyboarding → Final Output," supporting a localized, programmable, and continuously iterable production workflow.
|
||||
|
||||
With Toonflow, you can complete the entire workflow from text to final video with ease — making short-form video and drama production significantly smarter and more convenient.
|
||||
|
||||
- ✅ **Character Generation**
|
||||
Automatically analyzes the original novel text, intelligently identifies key elements, and generates detailed character profiles including appearance, personality, background, and relationships — laying a strong foundation for scriptwriting and visual production.
|
||||
|
||||
- ✅ **Script Generation**
|
||||
Based on selected events and chapters, the system automatically creates well-structured scripts with natural dialogue, scene descriptions, and plot development, enabling efficient adaptation from literature to cinematic format.
|
||||
|
||||
- ✅ **Storyboard Creation**
|
||||
From the generated script, Toonflow intelligently creates storyboard prompts and visual layouts. It details foreground, midground, and background elements, character movements, props, and scene composition — providing a complete and ready-to-use blueprint for video production.
|
||||
|
||||
- ✅ **Video Synthesis**
|
||||
Integrates advanced AI image and video generation technologies to produce high-quality video clips. The built-in online editor allows flexible personalization and fine-tuning, making the entire creative process smooth, fast, and highly efficient.
|
||||
- ✅ **Infinite Canvas Production Workbench**
|
||||
Organize scripts, characters, storyboards, assets, and video nodes in an infinite canvas-like layout, supporting free arrangement, backtracking, and parallel production without linear constraints.
|
||||
- ✅ **Three-layer Agent Collaboration System**
|
||||
Decision, execution, and supervision layers work together, covering task decomposition, content generation, quality review, and revision feedback, improving stability and output consistency.
|
||||
- ✅ **Persistent Agent Memory**
|
||||
Cross-session memory system based on local ONNX vector retrieval, supporting short-term messages, long-term summaries, and semantic recall, ensuring multi-round creative continuity.
|
||||
- ✅ **Programmable Provider System**
|
||||
Write vendor TypeScript logic directly in the settings center, taking effect instantly without modifying source code or restarting, making it easy to privatize and integrate multiple models.
|
||||
- ✅ **Chapter Event Graph-driven Adaptation**
|
||||
Automatically extract chapter events from original novels and store them structurally. Script adaptation uses event graphs to precisely invoke context, reducing information loss in long texts.
|
||||
- ✅ **Skill File Configuration**
|
||||
Core prompts for ScriptAgent and ProductionAgent are externalized as Markdown Skill files, supporting online editing and rapid tuning.
|
||||
|
||||
---
|
||||
|
||||
# 📦 Use Cases
|
||||
# 📦 Application Scenarios
|
||||
|
||||
- Short video content creation (Shorts, Reels, TikTok)
|
||||
- Novel-to-film / drama adaptation experiments
|
||||
- AI-powered literary adaptation tool
|
||||
- Short video content creation
|
||||
- Novel-to-film experimentation
|
||||
- AI literary adaptation tool
|
||||
- Script development and rapid prototyping
|
||||
- Video asset and footage generation
|
||||
- Video asset generation
|
||||
|
||||
---
|
||||
|
||||
# 🔰 User Guide
|
||||
|
||||
## Quick Start
|
||||
|
||||
1. Launch the application and log in (default: `admin` / `admin123`).
|
||||
2. Complete model vendor configuration in the settings center (text/image/video models).
|
||||
3. Create a new project and import the original novel, then execute chapter event extraction.
|
||||
4. Enter ScriptAgent to generate the story skeleton, adaptation strategy, and structured script.
|
||||
5. Switch to ProductionAgent to organize storyboards, assets, and video nodes on the infinite canvas.
|
||||
6. Perform node-based refinement on storyboard images, then return them to the workbench for video stitching and export.
|
||||
|
||||
## 📺 Video Tutorial
|
||||
|
||||
[https://www.bilibili.com/video/BV1oXD7BqEqJ](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
https://www.bilibili.com/video/BV1oXD7BqEqJ
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
**Toonflow: 8-Minute AI Video Quick Start**
|
||||
👉 [Click to Watch](https://www.bilibili.com/video/BV1oXD7BqEqJ/?share_source=copy_web&vd_source=5b718c25439a901a34c7bc0c1d35b38e)
|
||||
**Toonflow 12-minute Quick Start AI Video**
|
||||
👉 [Click to Watch](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
📱 Scan the QR code to watch on mobile
|
||||
📱 Scan with WeChat to watch
|
||||
|
||||
<img src="./videoQR.png" alt="Scan QR code to watch on mobile" width="150"/>
|
||||
<img src="./docs/videoQR.png" alt="Scan with WeChat" width="150"/>
|
||||
|
||||
---
|
||||
|
||||
# 📸 Screenshots & Demo Video
|
||||
# 📸 Demo Screenshots & Video
|
||||
|
||||
The screenshots and video below are from an AI short drama Demo created with Toonflow, completed in approximately 2 hours, covering script generation, storyboard production, and editing.
|
||||
The following screenshots and video are from a short AI drama demo made with Toonflow, completed in about 2 hours, covering script generation, storyboard creation, and editing.
|
||||
|
||||
<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>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/1.png" target="_blank"><img src="./docs/screenshot/1.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/2.png" target="_blank"><img src="./docs/screenshot/2.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/3.png" target="_blank"><img src="./docs/screenshot/3.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/4.png" target="_blank"><img src="./docs/screenshot/4.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/5.png" target="_blank"><img src="./docs/screenshot/5.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/6.png" target="_blank"><img src="./docs/screenshot/6.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/7.png" target="_blank"><img src="./docs/screenshot/7.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/8.png" target="_blank"><img src="./docs/screenshot/8.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/9.png" target="_blank"><img src="./docs/screenshot/9.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/10.png" target="_blank"><img src="./docs/screenshot/10.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
## Demo Information
|
||||
## 🎬 Demo Video
|
||||
|
||||
| Item | Details |
|
||||
|------|---------|
|
||||
| Production Period | ~2 hours |
|
||||
| Video Model | Seedance 2.0 |
|
||||
| Image Model | GPT Image 2 |
|
||||
| Language Model | Claude Opus 4.6 |
|
||||
| Runtime | ~2 min (raw footage 3 min, ~1 min removed) |
|
||||
|
||||
## Cost Breakdown
|
||||
|
||||
| Model Type | Cost |
|
||||
|------|------|
|
||||
| Language Model | ~¥10 |
|
||||
| Video Model (full generation) | ~¥120 |
|
||||
| Image Model | <¥1 |
|
||||
| **Total** | **~¥130** |
|
||||
|
||||
> 📌 Demo original resolution is 1080×1882, published version compressed to 480p. Any infringing content will be removed upon identification.
|
||||
|
||||
## Demo Video
|
||||
<div align="center">
|
||||
|
||||
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
> If the video doesn't play, [click here to download](https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9).
|
||||
If the video cannot play, please [click to download](./docs/screenshot/demo.mp4)
|
||||
|
||||
</div>
|
||||
|
||||
## Demo Info
|
||||
|
||||
| Item | Details |
|
||||
| :---------------- | :--------------------------------------- |
|
||||
| Production Cycle | Approximately 2 hours |
|
||||
| Video Model | Seedance 2.0 |
|
||||
| Image Model | GPT Image 2 |
|
||||
| Language Model | Claude Opus 4.6 |
|
||||
| Total Duration | Approximately 2 minutes (raw 3 min, cut ~1 min of unusable footage) |
|
||||
|
||||
## Cost Breakdown
|
||||
|
||||
| Model Type | Cost |
|
||||
| :------------- | :----------- |
|
||||
| Language Model | ~¥10 |
|
||||
| Video Model (full generation) | ~¥120 |
|
||||
| Image Model | Less than ¥1|
|
||||
| **Total** | **~¥130** |
|
||||
|
||||
> **Disclaimer**: The demo's original resolution is 1080×1882; the release version has been compressed to 480p. If there are any copyright issues, please contact us to delete it.
|
||||
|
||||
---
|
||||
|
||||
@ -219,34 +225,34 @@ https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before installing and using Toonflow, please prepare the following:
|
||||
Before installing and using this software, please prepare the following:
|
||||
|
||||
- ✅ API endpoint for Large Language Model (LLM)
|
||||
- ✅ API endpoint for video generation services (Sora or Doubao)
|
||||
- ✅ API endpoint for image generation model (Nano Banana Pro)
|
||||
- ✅ Large language model AI service API endpoint
|
||||
- ✅ Sora or Doubao video service API endpoint
|
||||
- ✅ Nano Banana Pro image generation model service API
|
||||
|
||||
## Local Installation
|
||||
|
||||
### 1. Download and Install
|
||||
### 1. Download & Install
|
||||
|
||||
| OS | GitHub | Atomgit | Quark Drive Download | Description |
|
||||
| :------: | :----------------------------------------------------------- | :------------------------------------------------------------ | :---------------------------------------------- | :------------- |
|
||||
| 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) | Official Installer |
|
||||
| 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) | Official Installer |
|
||||
| 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) | Official Installer |
|
||||
| OS | GitHub | Notes |
|
||||
| :-----: | :----------------------------------------------------------- | :---------------------------- |
|
||||
| Windows | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | Official release package |
|
||||
| Linux | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | Official release package |
|
||||
| macOS | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | Official release package |
|
||||
|
||||
> [!CAUTION]
|
||||
> **MacOS Users:** Please go to `System Settings > Privacy & Security` to allow the application to run; otherwise, it may fail to open due to certificate issues.
|
||||
> On macOS, go to Settings > Privacy & Security to configure security settings; otherwise, the app may not open due to certificate issues.
|
||||
>
|
||||
> Reference (Zhihu): [https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
> Reference: [https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
|
||||
> Due to Gitee OS environment constraints and Release file size upload limits, Gitee Release download links are currently unavailable.
|
||||
> Due to Gitee OS environment limitations and Release file upload size restrictions, we currently do not provide a Gitee Release download link.
|
||||
|
||||
### 2. Start the Service
|
||||
|
||||
After installation, simply launch the program to start using the service.
|
||||
After installation, launch the program to start using the service.
|
||||
|
||||
> ⚠️ **Default Login**
|
||||
> ⚠️ **First Login**
|
||||
> Username: `admin`
|
||||
> Password: `admin123`
|
||||
|
||||
@ -254,18 +260,18 @@ After installation, simply launch the program to start using the service.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- [Docker](https://docs.docker.com/get-docker/) installed (Version 20.10+)
|
||||
- [Docker](https://docs.docker.com/get-docker/) installed (version 20.10+)
|
||||
|
||||
### Method 1: Online Deployment
|
||||
|
||||
To be updated. Please use local build for now.
|
||||
To be completed; use local build for now.
|
||||
|
||||
### Method 2: Local Build
|
||||
|
||||
Build directly using the local source code. This is suitable for developers or users who have cloned the repository. You will need `git` installed locally:
|
||||
Build directly from existing local source code, suitable for developers or users who have already cloned the repository. Requires git installed locally:
|
||||
|
||||
```shell
|
||||
# Clone the repository first (skip if already cloned)
|
||||
# Clone the project first (skip if already cloned)
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
|
||||
@ -274,37 +280,37 @@ yarn docker:local
|
||||
|
||||
# Or build manually
|
||||
docker build -t toonflow .
|
||||
docker run -d -p <Local_Port>:10588 -v <Local_Data_Path>:/app/data toonflow
|
||||
docker run -d -p <local_port>:10588 -v <local_data_path>:/app/data toonflow
|
||||
|
||||
# You can now access the page at the corresponding port at /web/index.html
|
||||
# Access the page at the corresponding port path /web/index.html
|
||||
# Example: http://localhost:10588/web/index.html
|
||||
```
|
||||
|
||||
### Service Port Description
|
||||
|
||||
| Port | Purpose | Deployment Mapping |
|
||||
| ------- | -------- | ------------- |
|
||||
| `10588` | Software UI | `10588:10588` |
|
||||
| Port | Purpose | Deployment Mapping |
|
||||
| ------ | ---------------- | ------------------ |
|
||||
| `10588`| Software UI | `10588:10588` |
|
||||
|
||||
**Environment Variables:**
|
||||
|
||||
| Variable | Description |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| `NODE_ENV` | Operating environment, `prod` for production |
|
||||
| `PORT` | Service listening port (Default: 10588) |
|
||||
| `OSSURL` | File storage access URL, used for static resources |
|
||||
| Variable | Description |
|
||||
| --------- | ------------------------------------------ |
|
||||
| `NODE_ENV`| Running environment; `prod` for production |
|
||||
| `PORT` | Service listening port (default 10588) |
|
||||
| `OSSURL` | File storage access URL for static assets |
|
||||
|
||||
---
|
||||
|
||||
## Cloud Deployment
|
||||
|
||||
### 1. Server Requirements
|
||||
### I. Server Environment Requirements
|
||||
|
||||
- **OS**: Ubuntu 20.04+ / CentOS 7+
|
||||
- **Node.js**: 24.x (Recommended, Minimum 23.11.1+)
|
||||
- **Node.js**: 24.x (recommended, minimum 23.11.1+)
|
||||
- **Memory**: 2GB+
|
||||
|
||||
### 2. Server Deployment
|
||||
### II. Server Deployment
|
||||
|
||||
#### 1. Install Environment
|
||||
|
||||
@ -317,7 +323,7 @@ nvm install 24
|
||||
npm install -g yarn pm2
|
||||
```
|
||||
|
||||
#### 2. Deploy Project
|
||||
#### 2. Deploy the Project
|
||||
|
||||
**Clone from GitHub:**
|
||||
|
||||
@ -329,7 +335,7 @@ yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
**Clone from Gitee (Recommended for users in China):**
|
||||
**Clone from Gitee (recommended for China):**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
@ -341,7 +347,7 @@ yarn build
|
||||
|
||||
#### 3. Configure PM2
|
||||
|
||||
Create a `pm2.json` file:
|
||||
Create `pm2.json` file:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -357,13 +363,13 @@ Create a `pm2.json` file:
|
||||
}
|
||||
```
|
||||
|
||||
**Environment Variables:**
|
||||
**Environment Variable Description:**
|
||||
|
||||
| Variable | Description |
|
||||
| ---------- | ----------------------------------------------------- |
|
||||
| `NODE_ENV` | Operating environment (`prod` = Production) |
|
||||
| `PORT` | Service listening port (default: 10588) |
|
||||
| `OSSURL` | Object Storage URL for storing and serving static files |
|
||||
| Variable | Description |
|
||||
| --------- | ------------------------------------------ |
|
||||
| `NODE_ENV`| Running environment; `prod` for production |
|
||||
| `PORT` | Service listening port |
|
||||
| `OSSURL` | File storage access URL for static assets |
|
||||
|
||||
---
|
||||
|
||||
@ -384,65 +390,62 @@ pm2 restart all # Restart services
|
||||
pm2 monit # Monitoring dashboard
|
||||
```
|
||||
|
||||
> ⚠️ **Default Login**
|
||||
> ⚠️ **First Login**
|
||||
> Username: `admin`
|
||||
> Password: `admin123`
|
||||
|
||||
#### 6. Deploy Frontend
|
||||
#### 6. Deploy the Frontend
|
||||
|
||||
If you need to deploy or customize the frontend interface separately, please refer to the frontend repository:
|
||||
If you need to deploy or customize the frontend separately, please refer to the frontend repository:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
> 💡 **Note**: This repository already includes the compiled frontend resources.
|
||||
> Regular users do not need to deploy the frontend separately. The Toonflow-web repository is intended only for developers who want to make custom modifications or contribute to the frontend.
|
||||
> 💡 **Note**: This repository already includes pre-built frontend resources; regular users do not need to deploy the frontend separately. The frontend repository is for developers who need secondary development.
|
||||
|
||||
---
|
||||
|
||||
# 🔧 Development Workflow Guide
|
||||
# 🔧 Development Guide
|
||||
|
||||
> [!CAUTION]
|
||||
> 🚧 **PR Submission Guidelines** 🚧
|
||||
>
|
||||
> ⛔ **No PRs accepted on the `master` branch**
|
||||
> ✅ **Please submit all Pull Requests to the `develop` branch**
|
||||
|
||||
We welcome all developers who want to contribute to Toonflow.
|
||||
If you're interested in joining, please contact the project maintainer (ACT) in our community group.
|
||||
> ⛔ Do not submit PRs to the `master` branch. ✅ Please submit PRs to the `develop` branch.
|
||||
>
|
||||
> Developers are welcome to contribute to Toonflow. If interested, please contact the maintainer ACT in the community group.
|
||||
|
||||
## 🛠️ Tech Stack
|
||||
|
||||
| Category | Technology |
|
||||
| ---------- | ----------------------------------------------------------------------------------------- |
|
||||
| Runtime | Node.js 23.11.1+ |
|
||||
| Language | TypeScript 5.x |
|
||||
| Backend | Express 5 |
|
||||
| Database | SQLite (better-sqlite3 / knex) |
|
||||
| AI Integ. | Vercel AI SDK (OpenAI / Anthropic / Google / DeepSeek / Zhipu / MiniMax / Qwen / xAI) |
|
||||
| Local Inf. | @huggingface/transformers (ONNX) |
|
||||
| Real-time | Socket.IO |
|
||||
| Desktop UI | Electron 40 |
|
||||
| Image Proc.| Sharp |
|
||||
| Container | Docker |
|
||||
| Category | Technology |
|
||||
| ------------- | --------------------------------------------------------------------------------------------- |
|
||||
| Runtime | Node.js 23.11.1+ |
|
||||
| Language | TypeScript 5.x |
|
||||
| Backend | Express 5 |
|
||||
| Database | SQLite (better-sqlite3 / knex) |
|
||||
| AI Integration| Vercel AI SDK (OpenAI / Anthropic / Google / DeepSeek / Zhipu / MiniMax / Tongyi Qianwen / xAI)|
|
||||
| Local Inference| @huggingface/transformers (ONNX) |
|
||||
| Real-time | Socket.IO |
|
||||
| Desktop | Electron 40 |
|
||||
| Image Processing| Sharp |
|
||||
| Containerization| Docker |
|
||||
|
||||
## Development Environment Prep
|
||||
## Development Environment Setup
|
||||
|
||||
- **Node.js**: Version 23.11.1 or higher required
|
||||
- **Yarn**: Recommended package manager
|
||||
- **Node.js**: Version 23.11.1 or higher
|
||||
- **Yarn**: Recommended as package manager
|
||||
|
||||
## Quick Start
|
||||
## Quick Start Project
|
||||
|
||||
1. **Clone the Project**
|
||||
|
||||
**From GitHub:**
|
||||
**Clone from GitHub:**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
**From Gitee (Recommended for China):**
|
||||
**Clone from Gitee (recommended for China):**
|
||||
|
||||
```bash
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
@ -451,23 +454,23 @@ If you're interested in joining, please contact the project maintainer (ACT) in
|
||||
|
||||
2. **Install Dependencies**
|
||||
|
||||
Run the following command in the project root directory:
|
||||
Run the following command in the project root to install dependencies:
|
||||
|
||||
```bash
|
||||
yarn install
|
||||
```
|
||||
|
||||
3. **Start the Development Environment**
|
||||
3. **Start Development Environment**
|
||||
|
||||
This project consists of two parts: the **Backend API Service** and the **Frontend Pages**. Choose your startup method based on your needs:
|
||||
This project includes both the **backend API service** and **frontend pages**. Choose the appropriate startup method:
|
||||
|
||||
- **Method 1: Start Backend Service Only**
|
||||
- **Method 1: Start backend only**
|
||||
|
||||
```bash
|
||||
yarn dev
|
||||
```
|
||||
|
||||
> ⚠️ This command only starts the backend API service (Port 10588) and **does not include the frontend pages**. Visiting `http://localhost:10588` directly will only allow API calls without a UI. To use the frontend, start the frontend project separately or use the GUI mode below.
|
||||
> ⚠️ This command starts only the backend API service (port 10588), **without the frontend**. Accessing `http://localhost:10588` will only call API endpoints, not display the full UI. To use the frontend, either run the frontend project separately or use the GUI mode below.
|
||||
|
||||
- **Method 2: Start Electron Desktop Client**
|
||||
|
||||
@ -475,17 +478,17 @@ If you're interested in joining, please contact the project maintainer (ACT) in
|
||||
yarn dev:gui
|
||||
```
|
||||
|
||||
> This command launches both the backend service and the Electron desktop window simultaneously. It comes with built-in frontend pages ready out-of-the-box, requiring no extra configuration. Ideal for developers who want to experience the full feature set.
|
||||
> This command starts both the backend service and the Electron desktop window with a built-in frontend page, ready to use out of the box. Ideal for developers who want the full experience.
|
||||
|
||||
- **Method 3: Start in Production Mode**
|
||||
- **Method 3: Production Mode**
|
||||
|
||||
```bash
|
||||
yarn start
|
||||
```
|
||||
|
||||
> Run the compiled service directly in production mode (requires running `yarn build` first).
|
||||
> Runs the compiled service in production mode (requires `yarn build` first).
|
||||
|
||||
4. **Project Build & Packaging**
|
||||
4. **Package the Project**
|
||||
|
||||
- Compile and generate TypeScript files:
|
||||
|
||||
@ -493,27 +496,27 @@ If you're interested in joining, please contact the project maintainer (ACT) in
|
||||
yarn build
|
||||
```
|
||||
|
||||
- Package as a Windows executable:
|
||||
- Package as Windows executable:
|
||||
|
||||
```bash
|
||||
yarn dist:win
|
||||
```
|
||||
|
||||
- Package as a Mac executable:
|
||||
- Package as macOS executable:
|
||||
|
||||
```bash
|
||||
yarn dist:mac
|
||||
```
|
||||
|
||||
- Package as a Linux executable:
|
||||
- Package as Linux executable:
|
||||
|
||||
```bash
|
||||
yarn dist:linux
|
||||
```
|
||||
|
||||
5. **Code Quality Checks (Linting)**
|
||||
5. **Code Quality Check**
|
||||
|
||||
- Run global syntax and styling checks:
|
||||
- Run global syntax and lint checks:
|
||||
|
||||
```bash
|
||||
yarn lint
|
||||
@ -521,7 +524,7 @@ If you're interested in joining, please contact the project maintainer (ACT) in
|
||||
|
||||
6. **AI Debug Panel (Optional)**
|
||||
|
||||
Launch the AI SDK visual debugging tool to easily trace AI calls:
|
||||
Launch a visual debugging tool for the AI SDK to facilitate debugging AI calls:
|
||||
|
||||
```bash
|
||||
yarn debug:ai
|
||||
@ -529,63 +532,63 @@ If you're interested in joining, please contact the project maintainer (ACT) in
|
||||
|
||||
## Frontend Development
|
||||
|
||||
If you need to modify or customize the frontend interface, please go to the frontend repository:
|
||||
To modify the frontend, please use the frontend repository:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
After building the frontend, copy the entire `dist` folder into the `data/web` directory of this project to integrate it.
|
||||
After building the frontend, copy the `dist` directory contents into the `data/web` directory of this project to integrate.
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
📂 build/ # Build artifacts
|
||||
📂 data/ # Runtime data
|
||||
│ ├─ 📂 models/ # Local inference models (ONNX)
|
||||
│ ├─ 📂 oss/ # Object storage (images, characters, scenes)
|
||||
│ ├─ 📂 serve/ # Production environment entry point
|
||||
│ ├─ 📂 skills/ # Agent skill prompts
|
||||
│ └─ 📂 web/ # Built frontend assets (embedded)
|
||||
📂 docs/ # Documentation and resources
|
||||
📂 env/ # Environment configurations
|
||||
📂 scripts/ # Build and utility scripts
|
||||
│ ├─ 📂 models/ # Local inference models (ONNX)
|
||||
│ ├─ 📂 oss/ # Object storage (assets/characters/scenes)
|
||||
│ ├─ 📂 serve/ # Production entry point
|
||||
│ ├─ 📂 skills/ # Agent skill prompts
|
||||
│ └─ 📂 web/ # Frontend build artifacts (built-in)
|
||||
📂 docs/ # Documentation resources
|
||||
📂 env/ # Environment configuration
|
||||
📂 scripts/ # Build and helper scripts
|
||||
📂 src/
|
||||
├─ 📂 agents/ # AI Agent modules
|
||||
│ ├─ 📂 productionAgent/ # Production Agent
|
||||
│ └─ 📂 scriptAgent/ # Script Agent
|
||||
├─ 📂 lib/ # Shared libraries (DB initialization, response formatting)
|
||||
├─ 📂 middleware/ # Express middlewares
|
||||
├─ 📂 routes/ # Routing modules
|
||||
│ ├─ 📂 agents/ # Agent memory management
|
||||
│ ├─ 📂 artStyle/ # Art style management
|
||||
│ ├─ 📂 assets/ # Asset management
|
||||
│ ├─ 📂 assetsGenerate/ # Asset generation
|
||||
│ ├─ 📂 cornerScape/ # Storyboard management
|
||||
│ ├─ 📂 general/ # General APIs
|
||||
│ ├─ 📂 login/ # Authentication
|
||||
│ ├─ 📂 migrate/ # Data migration
|
||||
│ ├─ 📂 modelSelect/ # Model selection
|
||||
│ ├─ 📂 novel/ # Novel management
|
||||
│ ├─ 📂 other/ # Other functionalities
|
||||
│ ├─ 📂 production/ # Production and editing management
|
||||
│ ├─ 📂 project/ # Project management
|
||||
│ ├─ 📂 script/ # Script generation
|
||||
│ ├─ 📂 scriptAgent/ # Script Agent interface
|
||||
│ ├─ 📂 setting/ # System settings
|
||||
│ ├─ 📂 task/ # Task management
|
||||
│ └─ 📂 test/ # Test APIs
|
||||
├─ 📂 socket/ # Real-time communication via WebSocket
|
||||
├─ 📂 types/ # TypeScript type declarations
|
||||
├─ 📂 utils/ # Utility functions
|
||||
├─ 📄 app.ts # Application entry point
|
||||
├─ 📄 core.ts # Core system initialization
|
||||
├─ 📄 env.ts # Environment variables handling
|
||||
├─ 📄 err.ts # Error handling
|
||||
├─ 📄 logger.ts # Logging module
|
||||
├─ 📄 router.ts # Route registration
|
||||
└─ 📄 utils.ts # General utilities
|
||||
├─ 📂 agents/ # AI Agent modules
|
||||
│ ├─ 📂 productionAgent/ # Production Agent
|
||||
│ └─ 📂 scriptAgent/ # Script Agent
|
||||
├─ 📂 lib/ # Common libraries (DB init, response formats)
|
||||
├─ 📂 middleware/ # Middleware
|
||||
├─ 📂 routes/ # Route modules
|
||||
│ ├─ 📂 agents/ # Agent memory management
|
||||
│ ├─ 📂 artStyle/ # Art style management
|
||||
│ ├─ 📂 assets/ # Asset management
|
||||
│ ├─ 📂 assetsGenerate/ # Asset generation
|
||||
│ ├─ 📂 cornerScape/ # Storyboard management
|
||||
│ ├─ 📂 general/ # General interfaces
|
||||
│ ├─ 📂 login/ # Login authentication
|
||||
│ ├─ 📂 migrate/ # Data migration
|
||||
│ ├─ 📂 modelSelect/ # Model selection
|
||||
│ ├─ 📂 novel/ # Novel management
|
||||
│ ├─ 📂 other/ # Other features
|
||||
│ ├─ 📂 production/ # Production management
|
||||
│ ├─ 📂 project/ # Project management
|
||||
│ ├─ 📂 script/ # Script generation
|
||||
│ ├─ 📂 scriptAgent/ # Script Agent API
|
||||
│ ├─ 📂 setting/ # System settings
|
||||
│ ├─ 📂 task/ # Task management
|
||||
│ └─ 📂 test/ # Test interfaces
|
||||
├─ 📂 socket/ # WebSocket real-time communication
|
||||
├─ 📂 types/ # TypeScript type declarations
|
||||
├─ 📂 utils/ # Utility functions
|
||||
├─ 📄 app.ts # Application entry
|
||||
├─ 📄 core.ts # Core initialization
|
||||
├─ 📄 env.ts # Environment variable handling
|
||||
├─ 📄 err.ts # Error handling
|
||||
├─ 📄 logger.ts # Logging module
|
||||
├─ 📄 router.ts # Route registration
|
||||
└─ 📄 utils.ts # Common utilities
|
||||
📄 Dockerfile # Docker build file
|
||||
📄 electron-builder.yml # Electron packaging configuration
|
||||
📄 electron-builder.yml # Electron packaging config
|
||||
📄 skillList.json # Skill list
|
||||
📄 LICENSE # License (Apache-2.0)
|
||||
📄 NOTICES.txt # Third-party dependency notices
|
||||
@ -597,63 +600,67 @@ After building the frontend, copy the entire `dist` folder into the `data/web` d
|
||||
|
||||
# 🔗 Related Repositories
|
||||
|
||||
| Repository | Description | GitHub | Gitee |
|
||||
|------------------|-----------------------------------------------------------------------------|----------------------------------------------------|--------------------------------------------------|
|
||||
| **Toonflow-app** | Full client (This repository — recommended for most users) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-app) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-app) |
|
||||
| **Toonflow-web** | Frontend source code (For frontend developers) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-web) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-web) |
|
||||
| Repository | Description | GitHub | Gitee |
|
||||
| ---------------- | ---------------------------------------- | -------------------------------------------------- | ------------------------------------------------ |
|
||||
| **Toonflow-app** | Full client (this repo, recommended for regular users) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-app) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-app) |
|
||||
| **Toonflow-web** | Frontend source code (for frontend developers) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-web) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-web) |
|
||||
|
||||
> 💡 **Tip**: If you just want to use Toonflow, downloading the client from this repository is sufficient. The Toonflow-web repository is intended only for developers who need to customize the UI or perform secondary development.
|
||||
> 💡 **Tip**: If you simply want to use Toonflow, download the client from this repository. The frontend repository is for developers who need secondary development or UI customization.
|
||||
|
||||
---
|
||||
|
||||
# 👨👩👧👦 Discord Community
|
||||
# 👨👩👧👦 WeChat Group
|
||||
|
||||
Click the icon below to join our Discord:
|
||||
Helper bot:
|
||||
|
||||
<img src="./docs/QR.png" alt="Toonflow QR" height="400"/>
|
||||
|
||||
You can also click the icon to join Discord:
|
||||
|
||||
[](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
Or click the direct link: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
|
||||
Or click the invite link: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
---
|
||||
|
||||
# 💌 Contact Us
|
||||
|
||||
📧 Email: [ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Toonflow%20Inquiry)
|
||||
📧 Email: [ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Toonflow Inquiry)
|
||||
|
||||
---
|
||||
|
||||
# 📜 License
|
||||
|
||||
Toonflow is open-sourced under the Apache-2.0 License with an additional supplementary commercial agreement.
|
||||
Toonflow is open-sourced under the Apache-2.0 license, with supplementary commercial terms.
|
||||
|
||||
License details: https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
## Supplementary Commercial Agreement
|
||||
## Supplementary Agreement
|
||||
|
||||
- If this software is distributed as a product to **2 or more independent third parties**, a **written commercial license** from HBAI-Ltd is required.
|
||||
- Joint operation and internal use by **≤ 5 legal entities** (without providing services to external users) is considered internal use and **does not require a license**.
|
||||
- It is strictly prohibited to remove or modify any logos or copyright information within Toonflow.
|
||||
- If you distribute this software as a product to **2 or more independent third parties**, you must obtain **written commercial authorization** from HBAI-Ltd.
|
||||
- **≤ 5 legal entities** jointly operating for internal use without providing services externally is considered internal use and **does not require authorization**.
|
||||
- Do not remove or modify any Toonflow identifiers or copyright information.
|
||||
|
||||
## Forever Free Usage Scenarios
|
||||
## Permanent Free Use Cases
|
||||
|
||||
- ✅ Using Toonflow to create content and earning revenue share from video platforms
|
||||
- ✅ Creating content with Toonflow and receiving platform revenue shares
|
||||
- ✅ Secondary development for internal team use
|
||||
- ✅ Joint/internal use by up to 5 legal entities
|
||||
- ✅ Personal learning, research, and non-commercial purposes
|
||||
- ✅ ≤ 5 legal entities joint internal operation
|
||||
- ✅ Personal learning, research, non-commercial use
|
||||
|
||||
## Commercial License Pricing
|
||||
|
||||
| Phase | Annual Revenue | Annual Fee |
|
||||
|----------------|-------------------------|---------------------|
|
||||
| 🌱 Incubation | < $15,000 | **Free** |
|
||||
| 🚀 Startup | $15,000 – $75,000 | $750 / year |
|
||||
| 📈 Growth | $75,000 – $200,000 | $2,900 / year |
|
||||
| 🏢 Scale | $200,000 – $750,000 | $11,500 / year |
|
||||
| 🌐 Enterprise | > $750,000 | Negotiable |
|
||||
| Stage | Annual Revenue | Annual Fee |
|
||||
| ------------- | -------------- | ----------------------------- |
|
||||
| 🌱 Support | < ¥100,000 | **Free license upon request** |
|
||||
| 🚀 Startup | ¥100–500,000 | ¥5,000/year |
|
||||
| 📈 Growth | ¥500k–1.5M | ¥20,000/year |
|
||||
| 🏢 Scale | ¥1.5M–5M | ¥80,000/year |
|
||||
| 🌐 Enterprise | > ¥5M | Negotiable |
|
||||
|
||||
> **Non-Retroactivity Clause**: Users who were using Toonflow under the AGPL-3.0 license before version v1.0.8 will continue to be governed by AGPL-3.0 and are not affected by this agreement change.
|
||||
> **Non-retroactive clause**: Users who used Toonflow under AGPL-3.0 before the v1.0.8 release will continue to be governed by AGPL-3.0 and are not affected by this agreement change.
|
||||
|
||||
For the full agreement, please refer to the [LICENSE](./LICENSE) file.
|
||||
See the full agreement in the [LICENSE](./LICENSE) file.
|
||||
|
||||
---
|
||||
|
||||
@ -668,19 +675,19 @@ For the full agreement, please refer to the [LICENSE](./LICENSE) file.
|
||||
|
||||
# 🙏 Acknowledgements
|
||||
|
||||
We sincerely thank the following open-source projects for providing robust support to Toonflow:
|
||||
We thank the following open-source projects for providing powerful support to Toonflow:
|
||||
|
||||
- [Express](https://expressjs.com/) - Fast, unopinionated, minimalist web framework for Node.js
|
||||
- [AI SDK](https://ai-sdk.dev/) - The AI toolkit for TypeScript
|
||||
- [Better-SQLite3](https://github.com/WiseLibs/better-sqlite3) - High-performance SQLite3 binding library
|
||||
- [AI SDK](https://ai-sdk.dev/) - AI toolkit for TypeScript
|
||||
- [Better-SQLite3](https://github.com/WiseLibs/better-sqlite3) - High-performance SQLite3 binding
|
||||
- [Sharp](https://sharp.pixelplumbing.com/) - High-performance Node.js image processing
|
||||
- [Axios](https://axios-http.com/) - Promise-based HTTP client
|
||||
- [Zod](https://zod.dev/) - TypeScript-first schema validation
|
||||
- [Socket.IO](https://socket.io/) - Real-time bidirectional event-based communication
|
||||
- [Electron](https://www.electronjs.org/) - Cross-platform desktop application framework
|
||||
- [Hugging Face Transformers](https://huggingface.co/docs/transformers.js) - State-of-the-art Machine Learning for the web
|
||||
- [Hugging Face Transformers](https://huggingface.co/docs/transformers.js) - Local ML inference library
|
||||
|
||||
Thanks to the following organizations/individuals for supporting Toonflow:
|
||||
We also thank the following organizations/units/individuals for their support:
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
@ -688,37 +695,39 @@ Thanks to the following organizations/individuals for supporting Toonflow:
|
||||
<th align="center">Logo</th>
|
||||
<th align="center">Name</th>
|
||||
<th align="center">Support Type</th>
|
||||
<th>Description</th>
|
||||
<th>Introduction</th>
|
||||
<th align="center">Website</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/sophnet.png" alt="Sophnet Logo" width="48"></td>
|
||||
<td align="center"><img src="./docs/sponsored/sophnet.png" alt="Sophnet Logo" width="48"></td>
|
||||
<td align="center"><b>Sophnet</b></td>
|
||||
<td align="center">💻 Computing Sponsor</td>
|
||||
<td>Committed to creating a faster, more stable, and more cost-effective one-stop model inference API service platform</td>
|
||||
<td align="center">💻 Computing Sponsorship</td>
|
||||
<td>Committed to building a faster, more stable, and more cost-effective one-stop model inference API service platform</td>
|
||||
<td align="center"><a href="https://www.sophnet.com/">Website</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/atlascloud.png" alt="Atlas Cloud Logo" width="48"></td>
|
||||
<td align="center"><img src="./docs/sponsored/atlascloud.png" alt="Atlas Cloud Logo" width="48"></td>
|
||||
<td align="center"><b>Atlas Cloud</b></td>
|
||||
<td align="center">💻 Computing Sponsor</td>
|
||||
<td>The world's first full-modal inference platform built for developers. Run AI across every modality—chat, reasoning, image, audio, video—through one unified API. 300+ models including DeepSeek, Minimax, Seedance 2.0, Flux. OpenAI-compatible, no provider switching. Explore, test, scale inference seamlessly.</td>
|
||||
<td align="center">💻 Computing Sponsorship</td>
|
||||
<td>The world's first full-modality reasoning platform. Dialogue, image, video, audio — all unified API. 300+ models, OpenAI compatible.</td>
|
||||
<td align="center"><a href="https://www.atlascloud.ai/">Website</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/hunyuan.webp" alt="Tencent Hunyuan3D Logo" width="48"></td>
|
||||
<td align="center"><b>Tencent Hunyuan3D</b></td>
|
||||
<td align="center"><img src="./docs/sponsored/hunyuan.webp" alt="Tencent Hunyuan 3D Logo" width="48"></td>
|
||||
<td align="center"><b>Tencent Hunyuan 3D</b></td>
|
||||
<td align="center">🌐 World Model Technical Support</td>
|
||||
<td>Tencent Hunyuan3D AI Creation Engine is based on Tencent Hunyuan3D generative model v2.5 — the industry's first all-in-one 3D content AI creation platform. Supports text-to-3D, image-to-3D, 3D animation generation, texture generation, sketch-to-3D, and 3D character generation, with advantages in low-poly model generation.</td>
|
||||
<td>Tencent Hunyuan 3D AI creation engine based on version 2.5 of the Hunyuan 3D generation large model, the industry's first one-stop 3D content AI creation platform. Features text-to-3D, image-to-3D, 3D animation generation, texture generation, supports sketch-to-3D, 3D character generation, with advantages in low-poly model generation.</td>
|
||||
<td align="center"><a href="https://3d.hunyuan.tencent.com/">Website</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
For a complete list of third-party dependencies, please refer to `NOTICES.txt`.
|
||||
For the complete list of third-party dependencies, please refer to `NOTICES.txt`
|
||||
|
||||
##### copyright © Beijing Ai'a Technology Co., Ltd.
|
||||
|
||||
|
||||
##### Copyright © Beijing AIA Network 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%"/>
|
||||
@ -10,7 +10,7 @@
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitcode.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="./atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
<img src="./docs/atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
@ -26,19 +26,10 @@
|
||||
|
||||
<div align="center">
|
||||
|
||||
<img src="./logo.png" alt="Toonflow Logo" height="120"/>
|
||||
<img src="./docs/logo.png" alt="Toonflow Logo" height="120"/>
|
||||
|
||||
# Toonflow
|
||||
[](https://git.io/typing-svg)
|
||||
|
||||
<p align="center">
|
||||
<b>
|
||||
AI ショートドラマ制作スタジオ
|
||||
<br />
|
||||
指先一つで、小説があっという間にドラマに!
|
||||
<br />
|
||||
AI脚本 × AI映像 × 超高速生成 🔥
|
||||
</b>
|
||||
</p>
|
||||
<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" />
|
||||
@ -85,222 +76,243 @@
|
||||
<img src="https://widgetbite.com/stats/HBAI-Ltd" alt="Visitors" />
|
||||
</p>
|
||||
|
||||
> 🚀 **オールインワン制作環境**:テキストからキャラクター、絵コンテから動画まで。
|
||||
専門知識ゼロでも全プロセスをAIが**アシスト**し、創作効率を10倍以上に引き上げます!
|
||||
> 🚀 **オールインワンのショートドラマエンジン**:テキストからキャラクター、絵コンテから動画まで、ゼロハードルで全工程をAI化、制作効率10倍以上!
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<img src="./g-star.png" alt="AtomGit G-Star 認定証" width="100%"/>
|
||||
<a href="./docs/g-star.png" target="_blank">
|
||||
<img src="./docs/g-star.png" alt="AtomGit G-Star 認証証明書" width="100%"/>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 🌐 多言語対応
|
||||
# 🌐 多言語サポート
|
||||
|
||||
Toonflow は以下の言語インターフェースに対応しています:
|
||||
Toonflow は以下の言語のインターフェースに対応しています:
|
||||
|
||||
| 言語 | Language |
|
||||
|------|----------|
|
||||
| 简体中文 | Chinese (Simplified) |
|
||||
| 繁體中文 | Chinese (Traditional) |
|
||||
| English | English |
|
||||
| ไทย | Thai |
|
||||
| Tiếng Việt | Vietnamese |
|
||||
| 日本語 | Japanese |
|
||||
| Русский | Russian |
|
||||
| 言語 | Language |
|
||||
| ---------- | --------------------- |
|
||||
| 简体中文 | Chinese (Simplified) |
|
||||
| 繁體中文 | Chinese (Traditional) |
|
||||
| English | English |
|
||||
| ไทย | Thai |
|
||||
| Tiếng Việt | Vietnamese |
|
||||
| 日本語 | Japanese |
|
||||
| Русский | Russian |
|
||||
|
||||
> 💡 さらに多くの言語に対応予定です。多言語翻訳へのご協力(貢献)を歓迎します!
|
||||
> 💡 他の言語も準備中です。翻訳のご協力をお待ちしています!
|
||||
|
||||
---
|
||||
|
||||
# 🌟 主な機能
|
||||
|
||||
Toonflow は、AI技術を活用して小説を自動的に脚本へ変換し、AIが生成した画像や動画と組み合わせることで、効率的なショートドラマ制作を強力に**アシスト**するツールです。Toonflow を使えば、テキストから映像までの全工程を簡単に完結でき、ドラマ制作がよりスマートで便利になります。
|
||||
Toonflow はショートドラマ制作のためのAIワークベンチです。「企画→脚本→絵コンテ→映像出力」の完全なクローズドループを構築し、ローカライズ・プログラマブル・持続的イテレーションが可能な制作フローをサポートします。
|
||||
|
||||
- ✅ **キャラクター生成** 原作の小説テキストを自動分析し、容姿、性格、身分などの詳細情報をインテリジェントに認識・生成します。これにより、後の脚本や画面作りにおいて信頼できる土台を提供します。
|
||||
|
||||
- ✅ **脚本生成** 選択したイベントや章に基づき、セリフ、シーンの描写、ストーリー展開を含む構造化された脚本を自動生成します。文学テキストから映像用脚本への高効率な変換を**アシスト**します。
|
||||
|
||||
- ✅ **絵コンテ制作** 脚本の内容から、絵コンテ用のプロンプト(指示文)と画面構成をインテリジェントに生成します。前景・中景・背景、キャラクターの動き、小道具の配置などを細分化し、動画制作の道筋を完全に**アシスト**します。
|
||||
|
||||
- ✅ **動画合成** AI画像および動画技術を統合し、AIによる動画クリップ生成を可能にします。オンライン編集機能も備えており、個別の微調整に対応。映像制作の効率的な連携とスピーディな完成を**アシスト**します。
|
||||
- ✅ **無限キャンバス制作ワークベンチ**
|
||||
無限キャンバス状に脚本、キャラクター、絵コンテ、素材、動画ノードを整理。自由な配置、巻き戻し、並行制作が可能で、線形ステップに制限されません。
|
||||
- ✅ **3層エージェント協調システム**
|
||||
意思決定層、実行層、監督層が連携し、タスク分解、コンテンツ生成、品質レビュー、修正フィードバックをカバー。安定性と出力の一貫性を向上します。
|
||||
- ✅ **永続化エージェントメモリ**
|
||||
ローカルONNXベクトル検索によるセッションを跨ぐメモリシステム。短期メッセージ、長期要約、意味検索をサポートし、複数ラウンドの創作の連続性を確保します。
|
||||
- ✅ **プログラマブルベンダーシステム**
|
||||
設定センターでベンダーのTypeScriptロジックを直接記述し、即座に反映。ソースコードの変更や再起動は不要で、プライベート化や複数モデルの統合に便利です。
|
||||
- ✅ **章イベントグラフ駆動の翻案**
|
||||
原作の各章のイベントを自動抽出して構造化保存。脚本翻案はイベントグラフに基づいてコンテキストを正確に呼び出し、長文の情報損失を低減します。
|
||||
- ✅ **Skill ファイル化構成**
|
||||
ScriptAgent と ProductionAgent の核心プロンプトをMarkdown Skillファイルとして外部化。オンライン編集と迅速なチューニングが可能です。
|
||||
|
||||
---
|
||||
|
||||
# 📦 活用シーン
|
||||
# 📦 応用シーン
|
||||
|
||||
- ショート動画コンテンツの制作
|
||||
- 小説の映像化テスト
|
||||
- AIによる文学作品の翻案(脚色)ツール
|
||||
- 脚本開発および迅速なプロトタイプ作成
|
||||
- 動画素材の生成
|
||||
- ショート動画コンテンツ制作
|
||||
- 小説の映像化実験
|
||||
- AI文学翻案ツール
|
||||
- 脚本開発とラピッドプロトタイピング
|
||||
- 動画素材生成
|
||||
|
||||
---
|
||||
|
||||
# 🔰 ご利用ガイド
|
||||
# 🔰 使い方ガイド
|
||||
|
||||
## 📺 動画チュートリアル
|
||||
## クイックスタート
|
||||
|
||||
[https://www.bilibili.com/video/BV1oXD7BqEqJ](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
1. アプリを起動しログイン(デフォルトアカウント:`admin` / `admin123`)。
|
||||
2. 設定センターでモデルベンダーを設定(テキスト/画像/動画モデル)。
|
||||
3. 新規プロジェクトを作成し原作をインポート、章イベント抽出を実行。
|
||||
4. ScriptAgent に入り、ストーリー骨格、翻案戦略、構造化脚本を生成。
|
||||
5. ProductionAgent に切り替え、無限キャンバス上で絵コンテ、素材、動画ノードを整理。
|
||||
6. 絵コンテ画像をノード化して微調整後、ワークベンチに戻し動画結合とエクスポートを完了。
|
||||
|
||||
**Toonflow 12分でわかるクイックスタート AI動画作成**
|
||||
👉 [クリックして視聴](https://www.bilibili.com/video/BV1oXD7BqEqJ/?share_source=copy_web&vd_source=5b718c25439a901a34c7bc0c1d35b38e)
|
||||
## 📺 ビデオチュートリアル
|
||||
|
||||
📱 QRコードをスキャンして視聴
|
||||
https://www.bilibili.com/video/BV1oXD7BqEqJ
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
<img src="./videoQR.png" alt="WeChat スキャンして視聴" width="150"/>
|
||||
**Toonflow 12分でわかるAI動画クイックスタート**
|
||||
👉 [クリックして視聴](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
📱 スマホでWeChatスキャンして視聴
|
||||
|
||||
<img src="./docs/videoQR.png" alt="WeChatスキャンで視聴" width="150"/>
|
||||
|
||||
---
|
||||
|
||||
# 📸 スクリーンショット&デモ動画
|
||||
# 📸 デモスクリーンショットと動画
|
||||
|
||||
以下のスクリーンショットと動画は、Toonflowで制作したAIショートドラマのデモです。約2時間で完成し、脚本生成、絵コンテ制作および編集の全工程をカバーしています。
|
||||
以下のスクリーンショットと動画は、Toonflow を使って制作したAIショートドラマデモです。全体で約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>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/1.png" target="_blank"><img src="./docs/screenshot/1.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/2.png" target="_blank"><img src="./docs/screenshot/2.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/3.png" target="_blank"><img src="./docs/screenshot/3.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/4.png" target="_blank"><img src="./docs/screenshot/4.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/5.png" target="_blank"><img src="./docs/screenshot/5.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/6.png" target="_blank"><img src="./docs/screenshot/6.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/7.png" target="_blank"><img src="./docs/screenshot/7.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/8.png" target="_blank"><img src="./docs/screenshot/8.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/9.png" target="_blank"><img src="./docs/screenshot/9.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/10.png" target="_blank"><img src="./docs/screenshot/10.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
## 🎬 デモ動画
|
||||
|
||||
<div align="center">
|
||||
|
||||
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
再生できない場合は、[動画をダウンロード](./docs/screenshot/demo.mp4) してください。
|
||||
|
||||
</div>
|
||||
|
||||
## デモ情報
|
||||
|
||||
| 項目 | 詳細 |
|
||||
|------|------|
|
||||
| :--- | :--- |
|
||||
| 制作期間 | 約2時間 |
|
||||
| 動画モデル | Seedance 2.0 |
|
||||
| 画像モデル | GPT Image 2 |
|
||||
| 言語モデル | Claude Opus 4.6 |
|
||||
| 尺 | 約2分(素材3分、約1分カット)|
|
||||
| 完成動画長 | 約2分(元素材3分、不要部分を約1分カット) |
|
||||
|
||||
## コスト内訳
|
||||
## コスト明細
|
||||
|
||||
| モデル種別 | 費用 |
|
||||
|------|------|
|
||||
| 言語モデル | 約¥10 |
|
||||
| 動画モデル(全量生成)| 約¥120 |
|
||||
| モデル種類 | 費用 |
|
||||
| :--- | :--- |
|
||||
| 言語モデル | 約 ¥10 |
|
||||
| 動画モデル(全量生成) | 約 ¥120 |
|
||||
| 画像モデル | ¥1未満 |
|
||||
| **合計** | **約¥130** |
|
||||
| **合計** | **約 ¥130** |
|
||||
|
||||
> 📌 デモ動画の原解像度は1080×1882、公開版は480pに圧縮済みです。著作権上の問題が確認された場合は、速やかに削除対応いたします。
|
||||
|
||||
## デモ動画
|
||||
|
||||
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
> 再生できない場合は[こちらからダウンロード](https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9)してください。
|
||||
> **声明**:デモの元解像度は1080×1882、公開版は480pに圧縮しています。著作権に関する問題があれば、お問い合わせいただければ削除対応いたします。
|
||||
|
||||
---
|
||||
|
||||
# 🚀 インストール
|
||||
|
||||
## 必須環境(前提条件)
|
||||
## 前提条件
|
||||
|
||||
本ソフトウェアをインストールして使用する前に、以下の準備をお願いします:
|
||||
本ソフトウェアをインストールして使用する前に、以下を準備してください:
|
||||
|
||||
- ✅ 大規模言語モデル (LLM) の AI サービス API エンドポイント
|
||||
- ✅ Sora または 豆包 (Doubao) の動画サービス API エンドポイント
|
||||
- ✅ Nano Banana Pro の画像生成モデルサービス API エンドポイント
|
||||
- ✅ 大規模言語モデルAIサービスのAPIエンドポイント
|
||||
- ✅ Sora または 豆包 動画サービスのAPIエンドポイント
|
||||
- ✅ Nano Banana Pro 画像生成モデルサービスのエンドポイント
|
||||
|
||||
## ローカル環境へのインストール
|
||||
## ローカルインストール
|
||||
|
||||
### 1. ダウンロードとインストール
|
||||
|
||||
| OS | 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) | 公式インストーラ |
|
||||
| オペレーティングシステム | 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 システムをご利用の場合、「システム設定」-「プライバシーとセキュリティ」からセキュリティ設定を行ってください。そうしないと、証明書の問題で正常に開けない場合があります。
|
||||
> MacOS システムの場合は、設定→プライバシーとセキュリティ でセキュリティ設定を行ってください。証明書の問題で正常に開けない場合があります。
|
||||
>
|
||||
> 参考ドキュメント(Zhihu):[https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
> 参考:知乎ドキュメント:[https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
|
||||
> Gitee OS 環境の制限および Release ファイルのアップロード容量制限により、現在 Gitee Release のダウンロードリンクは提供していません。
|
||||
> Gitee OS 環境の制限および Release ファイルのアップロードサイズ制限のため、Gitee Release のダウンロードリンクは現在提供しておりません。
|
||||
|
||||
### 2. サービスの起動
|
||||
|
||||
インストール完了後、プログラムを起動すればサービスを利用開始できます。
|
||||
インストール完了後、プログラムを起動してサービスをご利用いただけます。
|
||||
|
||||
> ⚠️ **初回ログイン**
|
||||
> ユーザー名:`admin`
|
||||
> ⚠️ **初回ログイン**
|
||||
> アカウント:`admin`
|
||||
> パスワード:`admin123`
|
||||
|
||||
## Docker を利用した導入
|
||||
## Docker デプロイ
|
||||
|
||||
### 必須環境
|
||||
### 前提条件
|
||||
|
||||
- [Docker](https://docs.docker.com/get-docker/) がインストール済みであること(バージョン 20.10+)
|
||||
- [Docker](https://docs.docker.com/get-docker/) がインストール済み(バージョン20.10以上)
|
||||
|
||||
### 方法1:オンライン展開
|
||||
### 方法1:オンラインデプロイ
|
||||
|
||||
現在準備中です。一時的にローカルでのビルドをご利用ください。
|
||||
準備中です。当面はローカルビルドをご利用ください。
|
||||
|
||||
### 方法2:ローカルでのビルド
|
||||
### 方法2:ローカルビルド
|
||||
|
||||
既存のソースコードを使用して直接ビルドします。開発者やリポジトリをクローンしたユーザーに適しています(ローカルに git がインストールされている必要があります):
|
||||
ローカルのソースコードを使って直接ビルドします。開発者やリポジトリをクローン済みのユーザー向けです。事前にgitをインストールしておく必要があります:
|
||||
|
||||
```shell
|
||||
# まずプロジェクトをクローン(既に存在する場合はスキップ)
|
||||
# プロジェクトをクローン(既にある場合はスキップ)
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
|
||||
# docker-compose を使用してローカルでビルド・起動
|
||||
# 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
|
||||
# 該当ポートの /web/index.html にアクセス
|
||||
# 例:http://localhost:10588/web/index.html
|
||||
```
|
||||
|
||||
### サービスポートの説明
|
||||
### サービスポート説明
|
||||
|
||||
| ポート | 用途 | デプロイマッピング |
|
||||
| ------- | -------- | ------------- |
|
||||
| `10588` | ソフトウェア画面 | `10588:10588` |
|
||||
| ポート | 用途 | デプロイマッピング |
|
||||
| -------- | ------------- | ------------------ |
|
||||
| `10588` | ソフトウェアUI | `10588:10588` |
|
||||
|
||||
**環境変数の説明:**
|
||||
|
||||
| 変数名 | 説明 |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | 実行環境。`prod` は本番環境を示します |
|
||||
| `PORT` | サービスの待受ポート(デフォルト 10588) |
|
||||
| `OSSURL` | ファイルストレージのアクセスURL(静的リソース用) |
|
||||
| 変数 | 説明 |
|
||||
| ---------- | -------------------------------- |
|
||||
| `NODE_ENV` | 実行環境。`prod`は本番環境 |
|
||||
| `PORT` | サービス待受ポート(デフォルト10588) |
|
||||
| `OSSURL` | ファイルストレージアクセスURL(静的リソース用) |
|
||||
|
||||
---
|
||||
|
||||
## クラウド(サーバー)への導入
|
||||
## クラウドデプロイ
|
||||
|
||||
### 1. サーバー環境の要件
|
||||
### 一、サーバー環境要件
|
||||
|
||||
- **OS**:Ubuntu 20.04+ / CentOS 7+
|
||||
- **Node.js**:24.x(推奨、最低 23.11.1+)
|
||||
- **Node.js**:24.x(推奨、最低23.11.1以上)
|
||||
- **メモリ**:2GB以上
|
||||
|
||||
### 2. サーバーへの配置
|
||||
### 二、サーバーデプロイ
|
||||
|
||||
#### 1. 環境構築
|
||||
#### 1. 環境インストール
|
||||
|
||||
```bash
|
||||
# Node.js のインストール
|
||||
@ -311,7 +323,7 @@ nvm install 24
|
||||
npm install -g yarn pm2
|
||||
```
|
||||
|
||||
#### 2. プロジェクトの配置
|
||||
#### 2. プロジェクトのデプロイ
|
||||
|
||||
**GitHub からクローン:**
|
||||
|
||||
@ -323,7 +335,7 @@ yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
**Gitee からクローン(中国国内推奨):**
|
||||
**Gitee からクローン(国内ユーザー向け):**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
@ -335,7 +347,7 @@ yarn build
|
||||
|
||||
#### 3. PM2 の設定
|
||||
|
||||
`pm2.json` ファイルを作成します:
|
||||
`pm2.json` ファイルを作成:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -353,11 +365,11 @@ yarn build
|
||||
|
||||
**環境変数の説明:**
|
||||
|
||||
| 変数名 | 説明 |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | 実行環境。`prod` は本番環境を示します |
|
||||
| `PORT` | サービスの待受ポート |
|
||||
| `OSSURL` | ファイルストレージのアクセスURL(静的リソース用) |
|
||||
| 変数 | 説明 |
|
||||
| ---------- | -------------------------------- |
|
||||
| `NODE_ENV` | 実行環境。`prod`は本番環境 |
|
||||
| `PORT` | サービス待受ポート |
|
||||
| `OSSURL` | ファイルストレージアクセスURL(静的リソース用) |
|
||||
|
||||
---
|
||||
|
||||
@ -372,54 +384,54 @@ pm2 save
|
||||
#### 5. よく使うコマンド
|
||||
|
||||
```bash
|
||||
pm2 list # プロセス一覧の確認
|
||||
pm2 logs toonflow-app # ログの確認
|
||||
pm2 restart all # サービスの再起動
|
||||
pm2 monit # 監視パネルの表示
|
||||
pm2 list # プロセス一覧
|
||||
pm2 logs toonflow-app # ログ表示
|
||||
pm2 restart all # サービス再起動
|
||||
pm2 monit # モニタリングパネル
|
||||
```
|
||||
|
||||
> ⚠️ **初回ログイン**
|
||||
> ユーザー名:`admin`
|
||||
> ⚠️ **初回ログイン**
|
||||
> アカウント:`admin`
|
||||
> パスワード:`admin123`
|
||||
|
||||
#### 6. フロントエンドサイトの配置
|
||||
#### 6. フロントエンドのデプロイ
|
||||
|
||||
フロントエンド画面を単独で配置、またはカスタマイズしたい場合は、フロントエンドのリポジトリを参照してください:
|
||||
フロントエンドを個別にデプロイまたはカスタマイズする場合は、フロントエンドリポジトリを参照してください:
|
||||
|
||||
- **GitHub**:[Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**:[Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
> 💡 **補足**:本リポジトリには既にコンパイル済みのフロントエンド成果物が組み込まれているため、一般ユーザーはフロントエンドを個別に配置する必要はありません。フロントエンドのリポジトリは、二次開発を行う開発者向けです。
|
||||
> 💡 **説明**:本リポジトリにはコンパイル済みのフロントエンドリソースが組み込まれているため、一般ユーザーはフロントエンドを個別にデプロイする必要はありません。フロントエンドリポジトリは二次開発を行う開発者向けです。
|
||||
|
||||
---
|
||||
|
||||
# 🔧 開発フローガイド
|
||||
|
||||
> [!CAUTION]
|
||||
> 🚧 **PR(プルリクエスト)提出のルール** 🚧
|
||||
> 🚧 **PR 提出ルール** 🚧
|
||||
>
|
||||
> ⛔ `master` ブランチへの PR は受け付けていません | ✅ PR は `develop` ブランチへ提出してください
|
||||
> ⛔ `master` ブランチへのPRは受け付けていません。✅ `develop` ブランチにPRを提出してください。
|
||||
>
|
||||
> 開発者の皆様の Toonflow への共同参加を歓迎します。興味のある方は、交流グループ内で管理者の ACT までご連絡ください。
|
||||
> 開発者の皆様のToonflowへの共同参加を歓迎します。参加ご希望の方は、交流グループ内で主催者ACTまでご連絡ください。
|
||||
|
||||
## 🛠️ 採用技術
|
||||
## 🛠️ 技術スタック
|
||||
|
||||
| カテゴリ | 技術 |
|
||||
| ---------- | ----------------------------------------------------------------------------------------- |
|
||||
| 実行環境 | Node.js 23.11.1+ |
|
||||
| 言語 | TypeScript 5.x |
|
||||
| カテゴリ | 技術 |
|
||||
| ------------ | ----------------------------------------------------------------------------------------- |
|
||||
| ランタイム | Node.js 23.11.1+ |
|
||||
| 言語 | TypeScript 5.x |
|
||||
| バックエンド | Express 5 |
|
||||
| データベース | SQLite(better-sqlite3 / knex) |
|
||||
| AI 統合 | Vercel AI SDK(OpenAI / Anthropic / Google / DeepSeek / 智譜 / MiniMax / 通義千問 / xAI) |
|
||||
| AI統合 | Vercel AI SDK(OpenAI / Anthropic / Google / DeepSeek / 智谱 / MiniMax / 通义千问 / xAI) |
|
||||
| ローカル推論 | @huggingface/transformers(ONNX) |
|
||||
| リアルタイム通信 | Socket.IO |
|
||||
| デスクトップアプリ | Electron 40 |
|
||||
| 画像処理 | Sharp |
|
||||
| コンテナ化 | Docker |
|
||||
| リアルタイム通信 | Socket.IO |
|
||||
| デスクトップクライアント | Electron 40 |
|
||||
| 画像処理 | Sharp |
|
||||
| コンテナ化 | Docker |
|
||||
|
||||
## 開発環境の準備
|
||||
|
||||
- **Node.js**:バージョン 23.11.1 以上が必要
|
||||
- **Node.js**:バージョン23.11.1以上
|
||||
- **Yarn**:プロジェクトのパッケージマネージャーとして推奨
|
||||
|
||||
## プロジェクトのクイックスタート
|
||||
@ -433,16 +445,16 @@ pm2 monit # 監視パネルの表示
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
**Gitee からクローン(中国国内推奨):**
|
||||
**Gitee からクローン(国内ユーザー向け):**
|
||||
|
||||
```bash
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
2. **依存関係(パッケージ)のインストール**
|
||||
2. **依存関係のインストール**
|
||||
|
||||
プロジェクトのルートディレクトリで以下のコマンドを実行します:
|
||||
プロジェクトルートで以下のコマンドを実行して依存関係をインストールしてください:
|
||||
|
||||
```bash
|
||||
yarn install
|
||||
@ -450,7 +462,7 @@ pm2 monit # 監視パネルの表示
|
||||
|
||||
3. **開発環境の起動**
|
||||
|
||||
本プロジェクトは **バックエンド API サービス** と **フロントエンド画面** の2つの部分を含みます。必要に応じて起動方法を選択してください:
|
||||
本プロジェクトは **バックエンドAPIサービス** と **フロントエンドページ** の2つの部分からなります。必要に応じて起動方法を選択してください:
|
||||
|
||||
- **方法1:バックエンドサービスのみ起動**
|
||||
|
||||
@ -458,7 +470,7 @@ pm2 monit # 監視パネルの表示
|
||||
yarn dev
|
||||
```
|
||||
|
||||
> ⚠️ このコマンドはバックエンド API サービス(ポート 10588)のみを起動し、**フロントエンド画面は含まれません**。直接 `http://localhost:10588` にアクセスしても API を呼び出せるだけで、完全な Web 画面は見えません。画面を利用する場合はフロントエンドプロジェクトを別途起動するか、以下の GUI モードを使用してください。
|
||||
> ⚠️ このコマンドはバックエンドAPIサービスのみ起動(ポート10588)し、**フロントエンドページは含みません**。`http://localhost:10588` に直接アクセスするとAPIインターフェースのみ呼び出せ、完全なWebインターフェースは表示されません。フロントエンドページも使用する場合は、フロントエンドプロジェクトを別途起動するか、下記のGUIモードを使用してください。
|
||||
|
||||
- **方法2:Electron デスクトップクライアントの起動**
|
||||
|
||||
@ -466,45 +478,45 @@ pm2 monit # 監視パネルの表示
|
||||
yarn dev:gui
|
||||
```
|
||||
|
||||
> このコマンドはバックエンドサービスと Electron のデスクトップウィンドウを同時に起動します。フロントエンド画面が内蔵されており、追加の設定なしですぐに使えます。すべての機能を体験したい開発者に最適です。
|
||||
> このコマンドはバックエンドサービスとElectronデスクトップウィンドウを同時に起動します。組み込みのフロントエンドページが含まれており、追加設定なしで即座に使用できます。全機能を完全に体験したい開発者に適しています。
|
||||
|
||||
- **方法3:本番(Production)モードで起動**
|
||||
- **方法3:本番モードでの起動**
|
||||
|
||||
```bash
|
||||
yarn start
|
||||
```
|
||||
|
||||
> コンパイル済みのサービスを本番モードで直接実行します(事前に `yarn build` を実行しておく必要があります)。
|
||||
> 本番モードでコンパイル済みのサービスを直接実行します(事前に `yarn build` が必要です)。
|
||||
|
||||
4. **プロジェクトのパッケージ化(ビルド)**
|
||||
4. **プロジェクトのパッケージング**
|
||||
|
||||
- コンパイルして TypeScript ファイルを生成:
|
||||
- TypeScriptファイルのコンパイルと生成:
|
||||
|
||||
```bash
|
||||
yarn build
|
||||
```
|
||||
|
||||
- Windows 用の実行ファイルをパッケージ化:
|
||||
- Windows プラットフォーム用実行可能プログラムのパッケージング:
|
||||
|
||||
```bash
|
||||
yarn dist:win
|
||||
```
|
||||
|
||||
- Mac 用の実行ファイルをパッケージ化:
|
||||
- Mac プラットフォーム用実行可能プログラムのパッケージング:
|
||||
|
||||
```bash
|
||||
yarn dist:mac
|
||||
```
|
||||
|
||||
- Linux 用の実行ファイルをパッケージ化:
|
||||
- Linux プラットフォーム用実行可能プログラムのパッケージング:
|
||||
|
||||
```bash
|
||||
yarn dist:linux
|
||||
```
|
||||
|
||||
5. **コード品質チェック(Lint)**
|
||||
5. **コード品質チェック**
|
||||
|
||||
- グローバルな構文およびコーディング規約のチェックを実行:
|
||||
- グローバルな構文と規約のチェック:
|
||||
|
||||
```bash
|
||||
yarn lint
|
||||
@ -512,7 +524,7 @@ pm2 monit # 監視パネルの表示
|
||||
|
||||
6. **AI デバッグパネル(オプション)**
|
||||
|
||||
AI SDK のビジュアルデバッグツールを起動し、AI の呼び出しを簡単にデバッグできます:
|
||||
AI SDKの可視化デバッグツールを起動し、AI呼び出しをデバッグしやすくします:
|
||||
|
||||
```bash
|
||||
yarn debug:ai
|
||||
@ -520,66 +532,66 @@ pm2 monit # 監視パネルの表示
|
||||
|
||||
## フロントエンド開発
|
||||
|
||||
フロントエンド画面を修正する必要がある場合は、フロントエンドのリポジトリで開発を行ってください:
|
||||
フロントエンドインターフェースを変更する場合は、フロントエンドリポジトリで開発を行ってください:
|
||||
|
||||
- **GitHub**:[Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**:[Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
フロントエンドのビルド後、`dist` ディレクトリの内容を本プロジェクトの `data/web` ディレクトリにコピーするだけで統合できます。
|
||||
フロントエンドをビルド後、`dist` ディレクトリの内容を本プロジェクトの `data/web` ディレクトリにコピーすれば統合完了です。
|
||||
|
||||
## プロジェクト構成
|
||||
## プロジェクト構造
|
||||
|
||||
```
|
||||
📂 build/ # ビルド成果物
|
||||
📂 data/ # 実行時データ
|
||||
│ ├─ 📂 models/ # ローカル推論モデル(ONNX)
|
||||
│ ├─ 📂 oss/ # オブジェクトストレージ(素材/キャラクター/背景)
|
||||
│ ├─ 📂 serve/ # 本番環境のエントリー
|
||||
│ ├─ 📂 skills/ # Agent スキルのプロンプト
|
||||
│ └─ 📂 web/ # フロントエンドビルド成果物(内蔵)
|
||||
📂 docs/ # ドキュメントや画像リソース
|
||||
📂 data/ # ランタイムデータ
|
||||
│ ├─ 📂 models/ # ローカル推論モデル(ONNX)
|
||||
│ ├─ 📂 oss/ # オブジェクトストレージ(素材/キャラクター/シーン)
|
||||
│ ├─ 📂 serve/ # 本番環境エントリ
|
||||
│ ├─ 📂 skills/ # Agent スキルプロンプト
|
||||
│ └─ 📂 web/ # フロントエンドビルド成果物(組み込み)
|
||||
📂 docs/ # ドキュメントリソース
|
||||
📂 env/ # 環境設定
|
||||
📂 scripts/ # ビルドや補助スクリプト
|
||||
📂 scripts/ # ビルドと補助スクリプト
|
||||
📂 src/
|
||||
├─ 📂 agents/ # AI Agent モジュール
|
||||
│ ├─ 📂 productionAgent/ # 制作 Agent
|
||||
│ └─ 📂 scriptAgent/ # 脚本 Agent
|
||||
├─ 📂 lib/ # 共通ライブラリ(DB初期化、レスポンス形式など)
|
||||
├─ 📂 agents/ # AI Agent モジュール
|
||||
│ ├─ 📂 productionAgent/ # プロダクション Agent
|
||||
│ └─ 📂 scriptAgent/ # 脚本 Agent
|
||||
├─ 📂 lib/ # 共通ライブラリ(DB初期化、レスポンスフォーマット)
|
||||
├─ 📂 middleware/ # ミドルウェア
|
||||
├─ 📂 routes/ # ルーティングモジュール
|
||||
│ ├─ 📂 agents/ # Agent メモリ管理
|
||||
│ ├─ 📂 artStyle/ # 画風(アートスタイル)管理
|
||||
│ ├─ 📂 assets/ # 素材管理
|
||||
│ ├─ 📂 assetsGenerate/ # 素材生成
|
||||
│ ├─ 📂 cornerScape/ # 絵コンテ管理
|
||||
│ ├─ 📂 general/ # 汎用 API
|
||||
│ ├─ 📂 login/ # ログイン認証
|
||||
│ ├─ 📂 migrate/ # データ移行
|
||||
│ ├─ 📂 modelSelect/ # モデル選択
|
||||
│ ├─ 📂 novel/ # 小説管理
|
||||
│ ├─ 📂 other/ # その他機能
|
||||
│ ├─ 📂 production/ # 制作進行管理
|
||||
│ ├─ 📂 project/ # プロジェクト管理
|
||||
│ ├─ 📂 script/ # 脚本生成
|
||||
│ ├─ 📂 scriptAgent/ # 脚本 Agent インターフェース
|
||||
│ ├─ 📂 setting/ # システム設定
|
||||
│ ├─ 📂 task/ # タスク管理
|
||||
│ └─ 📂 test/ # テスト用 API
|
||||
├─ 📂 socket/ # WebSocket リアルタイム通信
|
||||
├─ 📂 types/ # TypeScript 型定義
|
||||
├─ 📂 utils/ # ユーティリティ関数
|
||||
├─ 📄 app.ts # アプリケーションエントリー
|
||||
├─ 📄 core.ts # コア初期化
|
||||
├─ 📄 env.ts # 環境変数の処理
|
||||
├─ 📄 err.ts # エラーハンドリング
|
||||
├─ 📄 logger.ts # ログモジュール
|
||||
├─ 📄 router.ts # ルーティング登録
|
||||
└─ 📄 utils.ts # 汎用ツール
|
||||
├─ 📂 routes/ # ルートモジュール
|
||||
│ ├─ 📂 agents/ # Agent メモリ管理
|
||||
│ ├─ 📂 artStyle/ # 画風管理
|
||||
│ ├─ 📂 assets/ # 素材管理
|
||||
│ ├─ 📂 assetsGenerate/ # 素材生成
|
||||
│ ├─ 📂 cornerScape/ # 絵コンテ管理
|
||||
│ ├─ 📂 general/ # 汎用インターフェース
|
||||
│ ├─ 📂 login/ # ログイン認証
|
||||
│ ├─ 📂 migrate/ # データマイグレーション
|
||||
│ ├─ 📂 modelSelect/ # モデル選択
|
||||
│ ├─ 📂 novel/ # 小説管理
|
||||
│ ├─ 📂 other/ # その他機能
|
||||
│ ├─ 📂 production/ # 制作管理
|
||||
│ ├─ 📂 project/ # プロジェクト管理
|
||||
│ ├─ 📂 script/ # 脚本生成
|
||||
│ ├─ 📂 scriptAgent/ # 脚本 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 # スキルリスト
|
||||
📄 electron-builder.yml # Electron パッケージング設定
|
||||
📄 skillList.json # スキル一覧
|
||||
📄 LICENSE # ライセンス(Apache-2.0)
|
||||
📄 NOTICES.txt # 依存パッケージに関する表記
|
||||
📄 NOTICES.txt # サードパーティ依存関係の声明
|
||||
📄 package.json # プロジェクト設定
|
||||
📄 tsconfig.json # TypeScript 設定
|
||||
```
|
||||
@ -588,67 +600,71 @@ pm2 monit # 監視パネルの表示
|
||||
|
||||
# 🔗 関連リポジトリ
|
||||
|
||||
| リポジトリ | 説明 | GitHub | Gitee |
|
||||
| リポジトリ | 説明 | 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-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 を使用するだけであれば、本リポジトリのクライアントを直接ダウンロードするだけで十分です。フロントエンドのリポジトリは、二次開発やフロントエンド画面のカスタマイズが必要な開発者向けです。
|
||||
> 💡 **ヒント**:Toonflow をただ使いたいだけの場合は、本リポジトリのクライアントをダウンロードしてください。フロントエンドリポジトリは二次開発やフロントエンドのカスタマイズを行う開発者向けです。
|
||||
|
||||
---
|
||||
|
||||
# 👨👩👧👦 Discord 交流グループ
|
||||
# 👨👩👧👦 WeChat 交流グループ
|
||||
|
||||
下のアイコンをクリックして Discord に参加:
|
||||
グループ追加用アシスタント:
|
||||
|
||||
<img src="./docs/QR.png" alt="Toonflow QR" height="400"/>
|
||||
|
||||
アイコンをクリックして Discord に参加することもできます:
|
||||
|
||||
[](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
または直接リンクをクリック: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
|
||||
または招待リンク: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
---
|
||||
|
||||
# 💌 お問い合わせ
|
||||
|
||||
📧 メール:[ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Toonflowのお問い合わせ)
|
||||
📧 メール:[ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Toonflow問い合わせ)
|
||||
|
||||
---
|
||||
|
||||
# 📜 ライセンス
|
||||
|
||||
Toonflow は Apache-2.0 ライセンスに基づいてオープンソースとして公開されており、補足的な商業契約が付随しています。
|
||||
Toonflow は Apache-2.0 ライセンスのもとでオープンソース公開されており、補足的な商用利用規約が付帯しています。
|
||||
|
||||
ライセンスの詳細:https://www.apache.org/licenses/LICENSE-2.0
|
||||
ライセンス詳細:https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
## 補足条項
|
||||
## 補足契約
|
||||
|
||||
- 本ソフトウェアを製品として **2つ以上の独立した第三者** に配布・提供する場合、HBAI-Ltd からの **書面による商業ライセンス(許諾)** を取得する必要があります。
|
||||
- **5法人以下** が共同で運営し、外部にサービスを提供せずに内部利用のみとする場合は、内部利用と見なされ、**商業ライセンスの取得は不要**です。
|
||||
- Toonflow 内のロゴや著作権情報を削除または変更することは禁止されています。
|
||||
- 本ソフトウェアを製品として **2つ以上の独立した第三者** に配布する場合は、HBAI-Ltd の **書面による商用ライセンス** を取得する必要があります。
|
||||
- **5法人以下** が共同運営で内部利用し、外部にサービスを提供しない場合は内部利用とみなし、**ライセンスは不要** です。
|
||||
- Toonflow の識別表示や著作権情報を削除または変更してはなりません。
|
||||
|
||||
## 永久無料となるケース
|
||||
## 永久無料のケース
|
||||
|
||||
- ✅ Toonflow を利用してコンテンツを制作し、プラットフォームから収益分配を得る場合
|
||||
- ✅ 自分のチーム内で使用するために二次開発を行う場合
|
||||
- ✅ 5法人以下の共同運営による内部利用
|
||||
- ✅ 個人の学習、研究、非営利目的
|
||||
- ✅ Toonflow を使ってコンテンツを制作し、プラットフォームから収益を得る
|
||||
- ✅ 二次開発して自分のチーム内で使用する
|
||||
- ✅ 5法人以下が共同運営で内部利用する
|
||||
- ✅ 個人の学習、研究、非商用利用
|
||||
|
||||
## 商業ライセンス価格
|
||||
## 商用ライセンス価格
|
||||
|
||||
| フェーズ | 年間売上高 | 年間費用 |
|
||||
|------|---------|------|
|
||||
| 🌱 支援期 | 200万円 未満 | **無料** |
|
||||
| 🚀 創業期 | 200万円 ~ 1,000万円 | 108,000 円/年 |
|
||||
| 📈 成長期 | 1,000万円 ~ 3,000万円 | 420,000 円/年 |
|
||||
| 🏢 規模拡大期 | 3,000万円 ~ 1億円 | 1,680,000 円/年 |
|
||||
| 🌐 エンタープライズ | 1億円 超 | 応相談 |
|
||||
| 段階 | 年間売上 | 年会費 |
|
||||
|------|---------|--------|
|
||||
| 🌱 支援期 | < ¥10万 | **申請すれば無料ライセンス** |
|
||||
| 🚀 創業期 | ¥10–50万 | ¥5,000/年 |
|
||||
| 📈 成長期 | ¥50–150万 | ¥20,000/年 |
|
||||
| 🏢 規模期 | ¥150–500万 | ¥80,000/年 |
|
||||
| 🌐 エンタープライズ | > ¥500万 | 要相談 |
|
||||
|
||||
> **遡及(そきゅう)適用除外条項**:v1.0.8 リリース以前に AGPL-3.0 に基づいて使用していたユーザーは、引き続き AGPL-3.0 に従い、本契約変更の制約を受けません。
|
||||
> **不遡及条項**:v1.0.8 リリース前に AGPL-3.0 に基づいて使用していたユーザーは、引き続き AGPL-3.0 に従うものとし、本契約の変更の影響を受けません。
|
||||
|
||||
契約の全文については [LICENSE](./LICENSE) ファイルを参照してください。
|
||||
完全な契約は [LICENSE](./LICENSE) ファイルを参照してください。
|
||||
|
||||
---
|
||||
|
||||
# ⭐️ Star 獲得履歴
|
||||
# ⭐️ スター履歴
|
||||
|
||||
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
|
||||
|
||||
@ -659,57 +675,59 @@ Toonflow は Apache-2.0 ライセンスに基づいてオープンソースと
|
||||
|
||||
# 🙏 謝辞
|
||||
|
||||
Toonflow に強力なサポートを提供してくださる以下のオープンソースプロジェクトに感謝いたします:
|
||||
以下のオープンソースプロジェクトが Toonflow に強力なサポートを提供しています:
|
||||
|
||||
- [Express](https://expressjs.com/) - 高速でオープン、ミニマルな Node.js Web フレームワーク
|
||||
- [Express](https://expressjs.com/) - 高速でオープンな Node.js Web フレームワーク
|
||||
- [AI SDK](https://ai-sdk.dev/) - TypeScript 向け AI ツールキット
|
||||
- [Better-SQLite3](https://github.com/WiseLibs/better-sqlite3) - 高性能 SQLite3 バインディングライブラリ
|
||||
- [Sharp](https://sharp.pixelplumbing.com/) - 高性能 Node.js 画像処理ライブラリ
|
||||
- [Axios](https://axios-http.com/) - Promise ベースの HTTP クライアント
|
||||
- [Zod](https://zod.dev/) - TypeScript ファーストのスキーマ検証ライブラリ
|
||||
- [Socket.IO](https://socket.io/) - リアルタイムの双方向イベント通信エンジン
|
||||
- [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 を支援してくださる以下の組織・団体・個人に感謝いたします:
|
||||
以下の組織・団体・個人が Toonflow をサポートしています:
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="center">Logo</th>
|
||||
<th align="center">名前</th>
|
||||
<th align="center">サポート種別</th>
|
||||
<th>説明</th>
|
||||
<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="Sophnet Logo" width="48"></td>
|
||||
<td align="center"><b>算能雲 (Sophnet)</b></td>
|
||||
<td align="center">💻 計算リソース提供</td>
|
||||
<td>より高速・安定・低コストなワンストップモデル推論 API サービスプラットフォームの構築に取り組んでいます</td>
|
||||
<td align="center"><img src="./docs/sponsored/sophnet.png" alt="算能雲 ロゴ" width="48"></td>
|
||||
<td align="center"><b>算能雲</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"><img src="./docs/sponsored/atlascloud.png" alt="Atlas Cloud ロゴ" width="48"></td>
|
||||
<td align="center"><b>Atlas Cloud</b></td>
|
||||
<td align="center">💻 計算リソース提供</td>
|
||||
<td>世界初のオムニモーダル推論プラットフォーム。チャット・画像・動画・音声すべてを統一 API で。300+ モデル、OpenAI 互換。</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 Hunyuan3D Logo" width="48"></td>
|
||||
<td align="center"><b>Tencent Hunyuan3D</b></td>
|
||||
<td align="center">🌐 世界モデル技術サポート</td>
|
||||
<td>Tencent Hunyuan3D AIクリエイションエンジンはTencent Hunyuan3D生成モデル v2.5 をベースにした業界初のオールインワン3DコンテンツAI創作プラットフォームです。テキスト→3D、画像→3D、3Dアニメーション生成、テクスチャ生成、スケッチ→3D、3Dキャラクター生成に対応し、ローポリモデル生成に優れています。</td>
|
||||
<td align="center"><img src="./docs/sponsored/hunyuan.webp" alt="Tencent Hunyuan 3D ロゴ" width="48"></td>
|
||||
<td align="center"><b>Tencent Hunyuan 3D</b></td>
|
||||
<td align="center">🌐 ワールドモデル技術サポート</td>
|
||||
<td>Tencent Hunyuan 3D AI 創作エンジンは、Hunyuan 3D 生成大モデル v2.5 をベースにした、業界初のワンストップ3DコンテンツAI創作プラットフォーム。テキストからの3D生成、画像からの3D生成、3Dアニメーション生成、テクスチャ生成などをサポートし、スケッチからの3D生成、3Dキャラクター生成、ローポリゴンモデル生成に強み。</td>
|
||||
<td align="center"><a href="https://3d.hunyuan.tencent.com/">公式サイト</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
完全なサードパーティの依存関係リストについては `NOTICES.txt` をご参照ください。
|
||||
完全なサードパーティ依存関係リストは `NOTICES.txt` を参照してください。
|
||||
|
||||
##### copyright © 北京愛阿科技有限公司
|
||||
|
||||
|
||||
##### copyright © Beijing AIA Network 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%"/>
|
||||
@ -10,7 +10,7 @@
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitcode.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="./atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
<img src="./docs/atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
@ -26,19 +26,10 @@
|
||||
|
||||
<div align="center">
|
||||
|
||||
<img src="./logo.png" alt="Toonflow Logo" height="120"/>
|
||||
<img src="./docs/logo.png" alt="Toonflow Logo" height="120"/>
|
||||
|
||||
# Toonflow
|
||||
[](https://git.io/typing-svg)
|
||||
|
||||
<p align="center">
|
||||
<b>
|
||||
Фабрика AI-мини-сериалов и короткометражных фильмов
|
||||
<br />
|
||||
Всего несколько кликов — и ваша новелла превращается в фильм или сериал!
|
||||
<br />
|
||||
AI-сценарий × AI-изображения × Сверхбыстрая генерация 🔥
|
||||
</b>
|
||||
</p>
|
||||
<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" />
|
||||
@ -85,131 +76,148 @@
|
||||
<img src="https://widgetbite.com/stats/HBAI-Ltd" alt="Visitors" />
|
||||
</p>
|
||||
|
||||
> 🚀 **All-in-One платформа для коротких сериалов и фильмов**: От текста до персонажей, от раскадровки до готового видео. Полная автоматизация с помощью ИИ с нулевым порогом входа — повышает эффективность творчества в 10 раз и более!
|
||||
> 🚀 **Комплексная платформа для создания сериалов**: от текста до персонажей, от раскадровки до видео — полный AI-конвейер с нулевым порогом входа, повышающий эффективность творчества в 10+ раз!
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<img src="./g-star.png" alt="Сертификат AtomGit G-Star" width="100%"/>
|
||||
<a href="./docs/g-star.png" target="_blank">
|
||||
<img src="./docs/g-star.png" alt="AtomGit G-Star 认证证书" width="100%"/>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 🌐 Мультиязычная поддержка
|
||||
# 🌐 Многоязычная поддержка
|
||||
|
||||
Toonflow поддерживает следующие языки интерфейса:
|
||||
Toonflow поддерживает интерфейс на следующих языках:
|
||||
|
||||
| Язык | Language |
|
||||
|---------------|---------------------------|
|
||||
| 简体中文 | Chinese (Simplified) |
|
||||
| 繁體中文 | Chinese (Traditional) |
|
||||
| English | English |
|
||||
| ไทย | Thai |
|
||||
| Tiếng Việt | Vietnamese |
|
||||
| 日本語 | Japanese |
|
||||
| Русский | Russian |
|
||||
| Язык | Language |
|
||||
| ----------------------- | --------------------- |
|
||||
| 简体中文 | Chinese (Simplified) |
|
||||
| 繁體中文 | Chinese (Traditional) |
|
||||
| English | English |
|
||||
| ไทย | Thai |
|
||||
| Tiếng Việt | Vietnamese |
|
||||
| 日本語 | Japanese |
|
||||
| Русский | Russian |
|
||||
|
||||
> 💡 В настоящее время мы активно добавляем новые языки. Будем рады вашей помощи с переводами!
|
||||
> 💡 Скоро будут добавлены другие языки. Приветствуется помощь с переводами!
|
||||
|
||||
---
|
||||
|
||||
# 🌟 Основные возможности
|
||||
# 🌟 Основные функции
|
||||
|
||||
Toonflow — это мощный ИИ-инструмент для создания коротких видео, мини-сериалов и комиксов. Он автоматически превращает новеллы в сценарии, а затем с помощью ИИ генерирует изображения и видео, позволяя быстро и эффективно создавать качественный контент.
|
||||
С Toonflow вы можете пройти весь цикл производства — от текста до готового видео — легко и удобно, без специальных навыков.
|
||||
Toonflow — это AI-рабочее место для производства сериалов, выстроенное вокруг полного цикла «планирование → сценарий → раскадровка → вывод», с поддержкой локализации, программируемости и непрерывной итерации.
|
||||
|
||||
- ✅ **Генерация персонажей**
|
||||
Автоматический анализ оригинального текста новеллы, интеллектуальное распознавание и создание подробных профилей персонажей (внешность, характер, личность, отношения и другие детали). Это закладывает прочную основу для сценария и визуальной части.
|
||||
|
||||
- ✅ **Генерация сценария**
|
||||
На основе выбранных событий и глав система автоматически создаёт структурированный сценарий с естественными диалогами, описаниями сцен и развитием сюжета, обеспечивая эффективную адаптацию литературного произведения в видеоформат.
|
||||
|
||||
- ✅ **Создание раскадровки (Storyboard)**
|
||||
Автоматическая генерация промптов и дизайн кадров на основе сценария. Детальная проработка переднего, среднего и заднего планов, движений персонажей, реквизита и композиции — готовая раскадровка становится точным планом для производства видео.
|
||||
|
||||
- ✅ **Синтез видео**
|
||||
Интеграция современных ИИ-технологий для генерации изображений и видеоклипов. Встроенный онлайн-редактор позволяет гибко настраивать результат, делая процесс создания видео быстрым, удобным и плавным.
|
||||
- ✅ **Бесконечный холст для производства**
|
||||
Организация сценариев, персонажей, раскадровок, материалов и видеоузлов в формате бесконечного холста со свободным редактированием, возможностью отката и параллельным производством, без ограничений линейными шагами.
|
||||
- ✅ **Трёхуровневая система Agent-взаимодействия**
|
||||
Совместная работа уровня принятия решений, уровня исполнения и уровня контроля, охватывающая декомпозицию задач, генерацию контента, проверку качества и обратную связь для повышения стабильности и согласованности результатов.
|
||||
- ✅ **Персистентная память Agent**
|
||||
Межсессионная система памяти на основе локального векторного поиска ONNX с поддержкой краткосрочных сообщений, долгосрочных сводок и семантического поиска для обеспечения непрерывности многораундового творчества.
|
||||
- ✅ **Программируемая система провайдеров**
|
||||
Поддержка написания TypeScript-логики провайдера непосредственно в центре настроек с мгновенным вступлением в силу, без изменения исходного кода или перезапуска, для лёгкой кастомизации и подключения множества моделей.
|
||||
- ✅ **Адаптация на основе графа событий глав**
|
||||
Автоматическое извлечение и структурированное хранение событий глав оригинального произведения; адаптация сценария с точным вызовом контекста по графу событий для уменьшения потери информации в длинных текстах.
|
||||
- ✅ **Конфигурация навыков (Skill) в файлах**
|
||||
Ключевые промпты ScriptAgent и ProductionAgent вынесены в Markdown-файлы навыков с поддержкой онлайн-редактирования и быстрой настройки.
|
||||
|
||||
---
|
||||
|
||||
# 📦 Сценарии использования
|
||||
# 📦 Сценарии применения
|
||||
|
||||
- Создание контента для коротких видео (Shorts, Reels, TikTok)
|
||||
- Экранизация и визуализация новелл
|
||||
- ИИ-инструмент для адаптации литературных произведений
|
||||
- Создание коротких видеороликов
|
||||
- Эксперименты по экранизации романов
|
||||
- Инструменты AI-адаптации литературы
|
||||
- Разработка сценариев и быстрое прототипирование
|
||||
- Генерация видеоматериалов и футажей
|
||||
- Генерация видеоматериалов
|
||||
|
||||
---
|
||||
|
||||
# 🔰 Руководство пользователя
|
||||
# 🔰 Руководство по использованию
|
||||
|
||||
## 📺 Видеоуроки
|
||||
## Быстрый старт
|
||||
|
||||
[https://www.bilibili.com/video/BV1oXD7BqEqJ](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
1. Запустите приложение и войдите (учётные данные по умолчанию: `admin` / `admin123`).
|
||||
2. В центре настроек выполните конфигурацию провайдеров моделей (текстовые/изображения/видеомодели).
|
||||
3. Создайте новый проект и импортируйте оригинальное произведение, выполните извлечение событий глав.
|
||||
4. Перейдите в ScriptAgent для генерации сюжетного каркаса, стратегии адаптации и структурированного сценария.
|
||||
5. Переключитесь в ProductionAgent для организации раскадровок, материалов и видеоузлов на бесконечном холсте.
|
||||
6. Выполните узловую точную настройку изображений раскадровки, после чего верните их на рабочее место для склейки видео и экспорта.
|
||||
|
||||
**Toonflow: Быстрый старт в AI-видео за 12 минут**
|
||||
👉 [Нажмите для просмотра](https://www.bilibili.com/video/BV1oXD7BqEqJ/?share_source=copy_web&vd_source=5b718c25439a901a34c7bc0c1d35b38e)
|
||||
## 📺 Видеоурок
|
||||
|
||||
📱 Отсканируйте QR-код для просмотра видео на телефоне
|
||||
https://www.bilibili.com/video/BV1oXD7BqEqJ
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
<img src="./videoQR.png" alt="Сканировать QR-код для просмотра видео" width="150"/>
|
||||
**Toonflow: быстрый старт с AI-видео за 12 минут**
|
||||
👉 [Нажмите для просмотра](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
📱 Отсканируйте QR-код в WeChat для просмотра
|
||||
|
||||
<img src="./docs/videoQR.png" alt="微信扫码观看" width="150"/>
|
||||
|
||||
---
|
||||
|
||||
# 📸 Скриншоты и демо-видео
|
||||
# 📸 Скриншоты и видео демонстрации
|
||||
|
||||
Скриншоты и видео ниже взяты из демонстрационного AI-сериала, созданного с помощью Toonflow примерно за 2 часа. Процесс охватывал генерацию сценария, раскадровку и монтаж.
|
||||
Следующие скриншоты и видео взяты из 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>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/1.png" target="_blank"><img src="./docs/screenshot/1.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/2.png" target="_blank"><img src="./docs/screenshot/2.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/3.png" target="_blank"><img src="./docs/screenshot/3.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/4.png" target="_blank"><img src="./docs/screenshot/4.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/5.png" target="_blank"><img src="./docs/screenshot/5.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/6.png" target="_blank"><img src="./docs/screenshot/6.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/7.png" target="_blank"><img src="./docs/screenshot/7.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/8.png" target="_blank"><img src="./docs/screenshot/8.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/9.png" target="_blank"><img src="./docs/screenshot/9.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/10.png" target="_blank"><img src="./docs/screenshot/10.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
## Информация о демо
|
||||
## 🎬 Демо-видео
|
||||
|
||||
| Пункт | Подробности |
|
||||
|-------|------------|
|
||||
| Период производства | ~2 часа |
|
||||
| Модель видео | Seedance 2.0 |
|
||||
| Модель изображений | GPT Image 2 |
|
||||
| Языковая модель | Claude Opus 4.6 |
|
||||
| Хронометраж | ~2 мин (исходный материал 3 мин, ~1 мин удалено)|
|
||||
|
||||
## Разбивка затрат
|
||||
|
||||
| Тип модели | Стоимость |
|
||||
|-------|-----------|
|
||||
| Языковая модель | ~¥10 |
|
||||
| Видео-модель (полная генерация) | ~¥120 |
|
||||
| Модель изображений | <¥1 |
|
||||
| **Итого** | **~¥130** |
|
||||
|
||||
> 📌 Исходное разрешение демо-видео — 1080×1882, опубликованная версия сжата до 480p. При обнаружении нарушений авторских прав контент будет незамедлительно удалён.
|
||||
|
||||
## Демо-видео
|
||||
<div align="center">
|
||||
|
||||
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
> Если видео не воспроизводится, [нажмите для скачивания](https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9).
|
||||
Если видео не воспроизводится, [скачайте его](./docs/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. В случае нарушения авторских прав просьба свяжитесь с нами для удаления.
|
||||
|
||||
---
|
||||
|
||||
@ -217,94 +225,92 @@ https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
## Предварительные требования
|
||||
|
||||
Перед установкой и использованием Toonflow подготовьте следующее:
|
||||
Перед установкой и использованием программного обеспечения подготовьте следующее:
|
||||
|
||||
- ✅ URL API для LLM (большой языковой модели)
|
||||
- ✅ URL API для генерации видео (Sora или Doubao)
|
||||
- ✅ URL API для генерации изображений (Nano Banana Pro)
|
||||
- ✅ Адрес API-интерфейса большой языковой модели AI
|
||||
- ✅ Адрес API-интерфейса видеосервиса Sora или Doubao
|
||||
- ✅ API-интерфейс сервиса генерации изображений Nano Banana Pro
|
||||
|
||||
## Локальная установка (на ПК)
|
||||
## Локальная установка
|
||||
|
||||
### 1. Скачивание и установка
|
||||
### 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) | Официальный установщик |
|
||||
| Операционная система | 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 необходимо перейти в **Системные настройки → Конфиденциальность и безопасность** и разрешить запуск приложения. В противном случае программа может не открыться из-за проблем с сертификатом.
|
||||
> Пользователям MacOS необходимо перейти в Настройки → Конфиденциальность и безопасность, чтобы настроить безопасность, иначе приложение может не открыться из-за проблем с сертификатом.
|
||||
>
|
||||
> Подробнее (на китайском): [https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
> Справочная статья на Zhihu: [https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
|
||||
> Из-за технических ограничений Gitee Release (размер файлов и окружение) ссылки для скачивания на Gitee временно недоступны.
|
||||
> Из-за ограничений среды Gitee OS и ограничений на размер загружаемых файлов Release, ссылки для скачивания с Gitee Release временно не предоставляются.
|
||||
|
||||
### 2. Запуск сервиса
|
||||
|
||||
После завершения установки просто откройте программу Toonflow — сервис будет готов к работе.
|
||||
После завершения установки запустите программу, чтобы начать использование.
|
||||
|
||||
> ⚠️ **Данные для первого входа**
|
||||
> ⚠️ **Первый вход**
|
||||
> Логин: `admin`
|
||||
> Пароль: `admin123`
|
||||
|
||||
## Развертывание через Docker
|
||||
## Развёртывание через Docker
|
||||
|
||||
### Предварительные требования
|
||||
|
||||
- Установлен [Docker](https://docs.docker.com/get-docker/) версии 20.10 или выше
|
||||
- Установлен [Docker](https://docs.docker.com/get-docker/) (версия 20.10+)
|
||||
|
||||
### Способ 1: Онлайн-развертывание
|
||||
### Способ 1: Онлайн-развёртывание
|
||||
|
||||
В настоящее время в стадии разработки.
|
||||
Рекомендуется использовать локальную сборку.
|
||||
В разработке. Пока используйте локальную сборку.
|
||||
|
||||
### Способ 2: Локальная сборка
|
||||
|
||||
Сборка проекта непосредственно из исходного кода на вашем компьютере.
|
||||
Подходит для разработчиков и пользователей, которые уже клонировали репозиторий. Требуется установленная система контроля версий Git:
|
||||
Соберите проект из исходного кода. Подходит для разработчиков или пользователей, уже клонировавших репозиторий. Для этого требуется локально установленный git:
|
||||
|
||||
```shell
|
||||
# Сначала клонируйте проект (пропустите, если уже сделано)
|
||||
# Клонируйте проект (пропустите, если уже есть)
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
|
||||
# Локальная сборка и запуск с помощью docker-compose
|
||||
# Локальная сборка и запуск через docker-compose
|
||||
yarn docker:local
|
||||
|
||||
# Или ручная сборка
|
||||
# Или соберите вручную
|
||||
docker build -t toonflow .
|
||||
docker run -d -p <локальный_порт>:10588 -v <путь_к_локальным_данным>:/app/data toonflow
|
||||
docker run -d -p <локальный_порт>:10588 -v <локальный_путь_данных>:/app/data toonflow
|
||||
|
||||
# После этого интерфейс будет доступен по пути /web/index.html на указанном порту
|
||||
# Пример: http://localhost:10588/web/index.html
|
||||
# После этого страница будет доступна по пути /web/index.html на соответствующем порту
|
||||
# Например: http://localhost:10588/web/index.html
|
||||
```
|
||||
|
||||
### Описание портов сервиса
|
||||
|
||||
| Порт | Назначение | Маппинг |
|
||||
| ------- | --------------------------- | ---------------- |
|
||||
| `10588` | Основной порт сервиса (API) | `10588:10588` |
|
||||
| Порт | Назначение | Маппинг при развёртывании |
|
||||
| -------- | ---------------- | ------------------------- |
|
||||
| `10588` | Веб-интерфейс | `10588:10588` |
|
||||
|
||||
**Переменные окружения (Environment Variables):**
|
||||
**Описание переменных окружения:**
|
||||
|
||||
| Переменная | Описание |
|
||||
| ---------- | ----------------------------------------------------- |
|
||||
| `NODE_ENV` | Среда выполнения (`prod` = Production) |
|
||||
| `PORT` | Порт сервиса (по умолчанию 10588) |
|
||||
| `OSSURL` | Адрес Object Storage для хранения и отдачи статических файлов |
|
||||
| Переменная | Описание |
|
||||
| ---------- | -------------------------------------------------- |
|
||||
| `NODE_ENV` | Среда выполнения, `prod` — производственная среда |
|
||||
| `PORT` | Порт прослушивания сервиса (по умолчанию 10588) |
|
||||
| `OSSURL` | Адрес доступа к файловому хранилищу для статики |
|
||||
|
||||
---
|
||||
|
||||
## Облачное развертывание / Установка на сервер
|
||||
## Облачное развёртывание
|
||||
|
||||
### I. Требования к серверу
|
||||
### 1. Требования к серверу
|
||||
|
||||
- **Операционная система**: Ubuntu 20.04+ / CentOS 7+
|
||||
- **ОС**: Ubuntu 20.04+ / CentOS 7+
|
||||
- **Node.js**: 24.x (рекомендуется, минимум 23.11.1+)
|
||||
- **ОЗУ**: 2 ГБ и более
|
||||
- **Память**: 2GB+
|
||||
|
||||
### II. Развертывание
|
||||
### 2. Развёртывание на сервере
|
||||
|
||||
#### 1. Установка окружения
|
||||
|
||||
@ -317,7 +323,7 @@ nvm install 24
|
||||
npm install -g yarn pm2
|
||||
```
|
||||
|
||||
#### 2. Загрузка и сборка проекта
|
||||
#### 2. Развёртывание проекта
|
||||
|
||||
**Клонирование с GitHub:**
|
||||
|
||||
@ -357,13 +363,13 @@ yarn build
|
||||
}
|
||||
```
|
||||
|
||||
**Переменные окружения (Environment Variables):**
|
||||
**Описание переменных окружения:**
|
||||
|
||||
| Переменная | Описание |
|
||||
| ---------- | ----------------------------------------------------- |
|
||||
| `NODE_ENV` | Среда выполнения (`prod` = Production) |
|
||||
| `PORT` | Порт сервиса (по умолчанию 10588) |
|
||||
| `OSSURL` | Адрес Object Storage для хранения и отдачи статических файлов |
|
||||
| Переменная | Описание |
|
||||
| ---------- | -------------------------------------------------- |
|
||||
| `NODE_ENV` | Среда выполнения, `prod` — производственная среда |
|
||||
| `PORT` | Порт прослушивания сервиса |
|
||||
| `OSSURL` | Адрес доступа к файловому хранилищу для статики |
|
||||
|
||||
---
|
||||
|
||||
@ -375,72 +381,71 @@ pm2 startup
|
||||
pm2 save
|
||||
```
|
||||
|
||||
#### 5. Полезные команды
|
||||
#### 5. Часто используемые команды
|
||||
|
||||
```bash
|
||||
pm2 list # Список процессов
|
||||
pm2 list # Просмотр процессов
|
||||
pm2 logs toonflow-app # Просмотр логов
|
||||
pm2 restart all # Перезапуск сервисов
|
||||
pm2 restart all # Перезапуск сервиса
|
||||
pm2 monit # Панель мониторинга
|
||||
```
|
||||
|
||||
> ⚠️ **Данные для первого входа**
|
||||
> ⚠️ **Первый вход**
|
||||
> Логин: `admin`
|
||||
> Пароль: `admin123`
|
||||
|
||||
#### 6. Развертывание Frontend
|
||||
#### 6. Развёртывание фронтенда
|
||||
|
||||
Если вам нужно отдельно развернуть или кастомизировать фронтенд, перейдите в репозиторий 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** 🚧
|
||||
> 🚧 **Правила отправки PR** 🚧
|
||||
>
|
||||
> ⛔ **Ветка `master` не принимает PR** | ✅ **Отправляйте все PR в ветку `develop`**
|
||||
> ⛔ Ветка `master` не принимает PR | ✅ Пожалуйста, отправляйте PR в ветку `develop`
|
||||
>
|
||||
> Приглашаем всех желающих разработчиков присоединиться к развитию Toonflow.
|
||||
> Если вы хотите участвовать, свяжитесь с куратором проекта ACT в нашей группе сообщества.
|
||||
> Приветствуется совместное участие разработчиков в создании 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+ |
|
||||
| Язык | 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**: рекомендуется использовать в качестве пакетного менеджера
|
||||
- **Yarn**: рекомендуется в качестве менеджера пакетов
|
||||
|
||||
## Быстрый запуск проекта
|
||||
|
||||
1. **Клонирование проекта**
|
||||
|
||||
**С GitHub:**
|
||||
**Клонирование с GitHub:**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
**С Gitee:**
|
||||
**Клонирование с Gitee (рекомендуется для Китая):**
|
||||
|
||||
```bash
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
@ -449,7 +454,7 @@ pm2 monit # Панель мониторинга
|
||||
|
||||
2. **Установка зависимостей**
|
||||
|
||||
Выполните следующую команду в корневой папке проекта:
|
||||
Выполните следующую команду в корневой директории проекта для установки зависимостей:
|
||||
|
||||
```bash
|
||||
yarn install
|
||||
@ -457,39 +462,35 @@ pm2 monit # Панель мониторинга
|
||||
|
||||
3. **Запуск среды разработки**
|
||||
|
||||
Проект состоит из **Backend API** и **Frontend страниц**. Выберите нужный способ запуска:
|
||||
Проект состоит из **бэкенд-сервиса API** и **фронтенда**. Выберите способ запуска по необходимости:
|
||||
|
||||
- **Способ 1: Запуск только Backend**
|
||||
- **Способ 1: Запуск только бэкенда**
|
||||
|
||||
```bash
|
||||
yarn dev
|
||||
```
|
||||
|
||||
> ⚠️ Эта команда запускает **только Backend API** (порт 10588) **без интерфейса Frontend**.
|
||||
> При переходе по адресу `http://localhost:10588` вы сможете только обращаться к API. Полноценный графический интерфейс отображаться не будет.
|
||||
> Чтобы работать с UI, запустите Frontend отдельно или используйте режим GUI (см. ниже).
|
||||
> ⚠️ Эта команда запускает только бэкенд-сервис API (порт 10588), **не включая фронтенд**. При прямом обращении к `http://localhost:10588` будут доступны только API, но не полный веб-интерфейс. Для одновременного использования фронтенда запустите его отдельно или используйте режим GUI ниже.
|
||||
|
||||
- **Способ 2: Запуск клиента Electron (GUI)**
|
||||
- **Способ 2: Запуск Electron-клиента**
|
||||
|
||||
```bash
|
||||
yarn dev:gui
|
||||
```
|
||||
|
||||
> Эта команда одновременно запускает Backend и десктопное приложение Electron со встроенным Frontend.
|
||||
> Программа готова к работе сразу после запуска, без дополнительных настроек.
|
||||
> Идеально подходит для разработчиков, которые хотят быстро протестировать весь функционал приложения.
|
||||
> Эта команда одновременно запускает бэкенд и окно Electron Desktop со встроенным фронтендом — готовое решение «из коробки», не требующее дополнительных настроек. Подходит для разработчиков, желающих опробовать все функции.
|
||||
|
||||
- **Способ 3: Запуск в режиме Production**
|
||||
- **Способ 3: Запуск в production-режиме**
|
||||
|
||||
```bash
|
||||
yarn start
|
||||
```
|
||||
|
||||
> Запуск скомпилированного сервиса в режиме Production (сначала необходимо выполнить `yarn build`).
|
||||
> Запуск предварительно скомпилированного сервиса в production-режиме (требуется предварительно выполнить `yarn build`).
|
||||
|
||||
4. **Сборка проекта (Build & Package)**
|
||||
4. **Сборка проекта**
|
||||
|
||||
- Компиляция и генерация TypeScript:
|
||||
- Компиляция TypeScript-файлов:
|
||||
|
||||
```bash
|
||||
yarn build
|
||||
@ -501,7 +502,7 @@ pm2 monit # Панель мониторинга
|
||||
yarn dist:win
|
||||
```
|
||||
|
||||
- Сборка исполняемого файла для Mac:
|
||||
- Сборка исполняемого файла для macOS:
|
||||
|
||||
```bash
|
||||
yarn dist:mac
|
||||
@ -513,80 +514,80 @@ pm2 monit # Панель мониторинга
|
||||
yarn dist:linux
|
||||
```
|
||||
|
||||
5. **Проверка качества кода (Linting)**
|
||||
5. **Проверка качества кода**
|
||||
|
||||
- Запуск глобальной проверки синтаксиса:
|
||||
- Глобальная проверка синтаксиса и соответствия стандартам:
|
||||
|
||||
```bash
|
||||
yarn lint
|
||||
```
|
||||
|
||||
6. **Панель отладки AI (Опционально)**
|
||||
6. **Отладочная панель AI (опционально)**
|
||||
|
||||
Запуск визуального инструмента отладки AI SDK:
|
||||
Запуск визуального инструмента отладки AI SDK для удобства отладки AI-вызовов:
|
||||
|
||||
```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` этого проекта для интеграции.
|
||||
После сборки фронтенда скопируйте содержимое директории `dist` в директорию `data/web` данного проекта.
|
||||
|
||||
## Структура проекта
|
||||
|
||||
```
|
||||
📂 build/ # Артефакты сборки
|
||||
📂 data/ # Данные времени выполнения (Runtime)
|
||||
│ ├─ 📂 models/ # Локальные модели (ONNX)
|
||||
│ ├─ 📂 oss/ # Object Storage (изображения, персонажи, сцены)
|
||||
│ ├─ 📂 serve/ # Точка входа в Production-режим
|
||||
│ ├─ 📂 skills/ # Промпты навыков Agent
|
||||
│ └─ 📂 web/ # Скомпилированный Frontend (встроен в проект)
|
||||
📂 docs/ # Документация и ресурсы
|
||||
📂 env/ # Конфигурации окружения
|
||||
📂 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/ # 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
|
||||
├─ 📂 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)
|
||||
@ -599,67 +600,71 @@ pm2 monit # Панель мониторинга
|
||||
|
||||
# 🔗 Связанные репозитории
|
||||
|
||||
| Репозиторий | Описание | 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) |
|
||||
| Репозиторий | Описание | 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, достаточно скачать клиент из этого репозитория. Репозиторий Toonflow-web предназначен только для разработчиков, желающих внести изменения или доработать интерфейс.
|
||||
> 💡 **Подсказка**: Если вы просто хотите использовать Toonflow, скачайте клиент из этого репозитория. Репозиторий фронтенда предназначен только для разработчиков, которым требуется доработка или кастомизация интерфейса.
|
||||
|
||||
---
|
||||
|
||||
# 👨👩👧👦 Discord сообщество
|
||||
# 👨👩👧👦 Группа в WeChat
|
||||
|
||||
Нажмите на иконку ниже, чтобы присоединиться к Discord:
|
||||
Помощник для добавления в группу:
|
||||
|
||||
<img src="./docs/QR.png" alt="Toonflow QR" height="400"/>
|
||||
|
||||
Вы также можете присоединиться к Discord, нажав на иконку:
|
||||
|
||||
[](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
Или перейдите по прямой ссылке: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
|
||||
Или перейдя по ссылке-приглашению: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
---
|
||||
|
||||
# 💌 Свяжитесь с нами
|
||||
# 💌 Контакты
|
||||
|
||||
📧 Email: [ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Запрос%20Toonflow)
|
||||
📧 Эл. почта: [ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Toonflow咨询)
|
||||
|
||||
---
|
||||
|
||||
# 📜 Лицензия
|
||||
|
||||
Toonflow распространяется как open-source проект под лицензией Apache-2.0 с дополнительным коммерческим соглашением.
|
||||
Toonflow распространяется с открытым исходным кодом по лицензии Apache-2.0 с дополнительным коммерческим соглашением.
|
||||
|
||||
Подробнее о лицензии Apache-2.0: https://www.apache.org/licenses/LICENSE-2.0
|
||||
Подробности лицензии: https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
## Дополнительное коммерческое соглашение
|
||||
## Дополнительное соглашение
|
||||
|
||||
- Если данное ПО распространяется в виде продукта для **2 и более независимых третьих лиц**, необходимо получить **письменную коммерческую лицензию** от HBAI-Ltd.
|
||||
- Если ПО используется совместно **не более чем 5 юридическими лицами** только для внутренних нужд (без оказания услуг внешним пользователям), это считается внутренним использованием и **лицензия не требуется**.
|
||||
- Запрещается удалять или изменять логотипы и информацию об авторских правах в Toonflow.
|
||||
- Если данное программное обеспечение распространяется в виде продукта **двум и более независимым третьим сторонам**, необходимо получить **письменное коммерческое разрешение** от HBAI-Ltd.
|
||||
- **Совместное внутреннее использование ≤ 5 юридическими лицами** без предоставления услуг внешним сторонам считается внутренним использованием и **не требует разрешения**.
|
||||
- Запрещается удалять или изменять идентификационные знаки и информацию об авторских правах Toonflow.
|
||||
|
||||
## Сценарии бессрочного бесплатного использования
|
||||
## Сценарии постоянного бесплатного использования
|
||||
|
||||
- ✅ Создание контента с помощью Toonflow и монетизация через видеоплатформы
|
||||
- ✅ Вторичная разработка (secondary development) для внутреннего использования команды
|
||||
- ✅ Совместное использование группой из ≤ 5 юридических лиц только внутри организации
|
||||
- ✅ Личное обучение, научные исследования и любые некоммерческие цели
|
||||
- ✅ Создание контента с помощью Toonflow и получение дохода от платформы
|
||||
- ✅ Доработка для внутреннего использования в своей команде
|
||||
- ✅ Совместное внутреннее использование ≤ 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 | Договорная цена |
|
||||
| Этап | Годовой объём продаж | Годовая плата |
|
||||
| -------------- | -------------------- | -------------- |
|
||||
| 🌱 Поддержка | < ¥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 | Обсуждается |
|
||||
|
||||
> **Оговорка о необратной силе**: Пользователи, которые использовали Toonflow под лицензией AGPL-3.0 до выхода версии v1.0.8, продолжают работать по правилам AGPL-3.0. Изменения данного соглашения на них не распространяются.
|
||||
> **Положение о неретроактивности**: Пользователи, использовавшие программное обеспечение на условиях AGPL-3.0 до выхода версии v1.0.8, продолжают действовать в соответствии с AGPL-3.0 и не подпадают под действие изменений данного соглашения.
|
||||
|
||||
Полный текст соглашения доступен в файле [LICENSE](./LICENSE).
|
||||
Полный текст соглашения см. в файле [LICENSE](./LICENSE).
|
||||
|
||||
---
|
||||
|
||||
# ⭐️ История звезд (Star History)
|
||||
# ⭐️ Звёзды
|
||||
|
||||
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
|
||||
|
||||
@ -670,57 +675,57 @@ Toonflow распространяется как open-source проект под
|
||||
|
||||
# 🙏 Благодарности
|
||||
|
||||
Выражаем благодарность следующим open-source проектам за мощную поддержку Toonflow:
|
||||
Благодарим следующие проекты с открытым исходным кодом за мощную поддержку 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 инференса
|
||||
- [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:
|
||||
Благодарим следующие организации и лица за поддержку Toonflow:
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="center">Logo</th>
|
||||
<th align="center">Логотип</th>
|
||||
<th align="center">Название</th>
|
||||
<th align="center">Тип поддержки</th>
|
||||
<th align="center">Форма поддержки</th>
|
||||
<th>Описание</th>
|
||||
<th align="center">Сайт</th>
|
||||
<th align="center">Веб-сайт</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/sophnet.png" alt="Sophnet Logo" width="48"></td>
|
||||
<td align="center"><b>Sophnet</b></td>
|
||||
<td align="center">💻 Спонсор</td>
|
||||
<td>Создание быстрой, стабильной и экономичной платформы API для инференса моделей</td>
|
||||
<td align="center"><a href="https://www.sophnet.com/">Сайт</a></td>
|
||||
<td align="center"><img src="./docs/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"><img src="./docs/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>
|
||||
<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 Hunyuan3D Logo" width="48"></td>
|
||||
<td align="center"><b>Tencent Hunyuan3D</b></td>
|
||||
<td align="center">🌐 Техническая поддержка World Model</td>
|
||||
<td>Tencent Hunyuan3D AI Creation Engine основан на модели Tencent Hunyuan3D v2.5 — первая в отрасли комплексная платформа создания 3D-контента на базе ИИ. Поддерживает текст-в-3D, изображение-в-3D, генерацию 3D-анимации, текстур, эскиз-в-3D и 3D-персонажей, с преимуществами генерации low-poly моделей.</td>
|
||||
<td align="center"><a href="https://3d.hunyuan.tencent.com/">Сайт</a></td>
|
||||
<td align="center"><img src="./docs/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`.
|
||||
Полный список сторонних зависимостей см. в файле `NOTICES.txt`
|
||||
|
||||
##### copyright © Beijing AIA Network Technology Co., Ltd.
|
||||
##### 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%"/>
|
||||
@ -10,7 +10,7 @@
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitcode.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="./atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
<img src="./docs/atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
@ -26,19 +26,10 @@
|
||||
|
||||
<div align="center">
|
||||
|
||||
<img src="./logo.png" alt="Toonflow Logo" height="120"/>
|
||||
<img src="./docs/logo.png" alt="Toonflow Logo" height="120"/>
|
||||
|
||||
# Toonflow
|
||||
[](https://git.io/typing-svg)
|
||||
|
||||
<p align="center">
|
||||
<b>
|
||||
โรงงานผลิตภาพยนตร์สั้น AI
|
||||
<br />
|
||||
เพียงคลิกไม่กี่ครั้ง นิยายก็กลายเป็นภาพยนตร์ได้ในพริบตา!
|
||||
<br />
|
||||
บทภาพยนตร์ AI × ภาพ AI × สร้างวิดีโอความเร็วสูง 🔥
|
||||
</b>
|
||||
</p>
|
||||
<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" />
|
||||
@ -85,128 +76,148 @@
|
||||
<img src="https://widgetbite.com/stats/HBAI-Ltd" alt="Visitors" />
|
||||
</p>
|
||||
|
||||
> 🚀 **สตูดิโอภาพยนตร์สั้น All-in-One**: จากข้อความสู่ตัวละคร จากสตอรี่บอร์ดสู่ภาพยนตร์ ใช้ AI อัตโนมัติทั้งกระบวนการ ไม่ต้องมีพื้นฐานใด ๆ เพิ่มประสิทธิภาพการสร้างสรรค์มากกว่า 10 เท่า!
|
||||
> 🚀 **โรงงานซีรีส์สั้นแบบครบวงจร**: จากข้อความสู่ตัวละคร จากสตอรี่บอร์ดสู่คลิปวิดีโอ ครบวงจรด้วย AI โดยไม่ต้องมีทักษะ เพิ่มประสิทธิภาพการสร้างสรรค์มากกว่า 10 เท่า!
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<img src="./g-star.png" alt="ใบรับรอง AtomGit G-Star" width="100%"/>
|
||||
<a href="./docs/g-star.png" target="_blank">
|
||||
<img src="./docs/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 |
|
||||
| ภาษา | Language |
|
||||
| ---------- | --------------------- |
|
||||
| 简体中文 | Chinese (Simplified) |
|
||||
| 繁體中文 | Chinese (Traditional) |
|
||||
| English | English |
|
||||
| ไทย | Thai |
|
||||
| Tiếng Việt | Vietnamese |
|
||||
| 日本語 | Japanese |
|
||||
| Русский | Russian |
|
||||
|
||||
> 💡 กำลังเพิ่มการรองรับภาษาอื่นๆ ยินดีต้อนรับผู้ที่ต้องการช่วยแปล!
|
||||
> 💡 กำลังปรับภาษาเพิ่มเติม ยินดีต้อนรับการมีส่วนร่วมในการแปล!
|
||||
|
||||
---
|
||||
|
||||
# 🌟 ฟีเจอร์หลัก
|
||||
# 🌟 ฟังก์ชันหลัก
|
||||
|
||||
Toonflow เป็นเครื่องมือ AI สำหรับสร้างภาพยนตร์สั้นและการ์ตูน ที่สามารถแปลงนิยายเป็นภาพยนตร์ได้โดยอัตโนมัติ ด้วยการผสานเทคโนโลยี AI ในการสร้างตัวละคร บทภาพยนตร์ ภาพประกอบ และวิดีโอ ทำให้กระบวนการผลิตภาพยนตร์สั้นมีประสิทธิภาพสูง ด้วย Toonflow คุณสามารถจัดการทุกขั้นตอนตั้งแต่ข้อความต้นฉบับจนถึงวิดีโอสำเร็จรูปได้อย่างง่ายดาย ทำให้การผลิตภาพยนตร์สั้นฉลาด สะดวก และรวดเร็วยิ่งขึ้น
|
||||
Toonflow คือเวิร์กสเตชัน AI ที่มุ่งเน้นการผลิตซีรีส์สั้น สร้างวงจรปิดที่สมบูรณ์ตั้งแต่ "การวางแผน → การเขียนบท → การทำสตอรี่บอร์ด → การผลิตคลิป" และรองรับกระบวนการผลิตที่ปรับเปลี่ยนได้ในพื้นที่ สามารถตั้งโปรแกรมได้ และพัฒนาอย่างต่อเนื่อง
|
||||
|
||||
- ✅ **สร้างตัวละครอัตโนมัติ**
|
||||
วิเคราะห์ข้อความจากนิยายต้นฉบับโดยอัตโนมัติ ระบุและสร้างโปรไฟล์ตัวละครอย่างชาญฉลาด รวมถึงรูปร่างหน้าตา นิสัย ตัวตน และรายละเอียดอื่น ๆ เพื่อสร้างพื้นฐานที่แข็งแรงสำหรับบทภาพยนตร์และภาพในขั้นตอนต่อไป
|
||||
|
||||
- ✅ **สร้างบทภาพยนตร์**
|
||||
จากเหตุการณ์และบท (Chapter) ที่เลือก ระบบจะสร้างบทภาพยนตร์ที่มีโครงสร้างชัดเจน ประกอบด้วยบทสนทนา คำอธิบายฉาก และทิศทางเรื่องราว ช่วยแปลงงานวรรณกรรมเป็นบทภาพยนตร์ได้อย่างมีประสิทธิภาพ
|
||||
|
||||
- ✅ **สร้างสตอรี่บอร์ด (Storyboard)**
|
||||
จากบทภาพยนตร์ ระบบจะสร้างพรอมต์และออกแบบเฟรมภาพสตอรี่บอร์ดโดยอัตโนมัติ โดยระบุรายละเอียดฉากหน้า ฉากกลาง ฉากหลัง การเคลื่อนไหวของตัวละคร พร็อพ และการจัดวางฉาก เพื่อสร้างแผนการผลิตวิดีโอที่สมบูรณ์
|
||||
|
||||
- ✅ **สังเคราะห์และตัดต่อวิดีโอ**
|
||||
ใช้เทคโนโลยี AI สร้างคลิปวิดีโอคุณภาพสูง รองรับระบบตัดต่อออนไลน์ที่สามารถปรับแต่งได้ตามต้องการ ช่วยให้กระบวนการสร้างภาพยนตร์สั้นเป็นไปอย่างราบรื่นและรวดเร็ว
|
||||
- ✅ **เวิร์กสเตชันการผลิตแบบผืนผ้าใบไม่จำกัด**
|
||||
จัดระเบียบสคริปต์ ตัวละคร สตอรี่บอร์ด 素材 และโหนดวิดีโอในรูปแบบผืนผ้าใบไม่จำกัด รองรับการจัดเรียงอิสระ การย้อนกลับ และการผลิตแบบขนาน ไม่ถูกจำกัดด้วยขั้นตอนเชิงเส้น
|
||||
- ✅ **ระบบความร่วมมือ Agent สามชั้น**
|
||||
ชั้น决策 (การตัดสินใจ) ชั้น执行 (การปฏิบัติ) และชั้น监督 (การกำกับดูแล) ทำงานร่วมกัน ครอบคลุมการแยกย่อยงาน การสร้างเนื้อหา การตรวจสอบคุณภาพ และการ反馈 (ข้อเสนอแนะ) เพื่อเพิ่มความเสถียรและความสอดคล้องของผลงาน
|
||||
- ✅ **ความจำ Agent แบบถาวร**
|
||||
ระบบความจำข้ามเซสชันที่ใช้การค้นหาเวกเตอร์ ONNX ในพื้นที่ รองรับข้อความระยะสั้น สรุประยะยาว และการเรียกคืนความหมาย เพื่อรับประกันความต่อเนื่องในการสร้างสรรค์หลายรอบ
|
||||
- ✅ **ระบบผู้ให้บริการที่ตั้งโปรแกรมได้**
|
||||
รองรับการเขียนตรรกะ TypeScript ของผู้ให้บริการในศูนย์การตั้งค่าและ生效 (มีผล) ทันที โดยไม่ต้องแก้ไขซอร์สโค้ดหรือรีสตาร์ท สะดวกสำหรับการปรับใช้ส่วนตัวและการเชื่อมต่อหลายโมเดล
|
||||
- ✅ **การปรับบทโดยใช้แผนที่เหตุการณ์ของบท**
|
||||
แยกเหตุการณ์ในบทของต้นฉบับโดยอัตโนมัติและจัดเก็บอย่างมีโครงสร้าง การปรับบทจะเรียกใช้บริบทตามแผนที่เหตุการณ์อย่างแม่นยำ ลดการสูญเสียข้อมูลในข้อความยาว
|
||||
- ✅ **การกำหนดค่า Skill เป็นไฟล์**
|
||||
คำแนะนำหลักของ ScriptAgent และ ProductionAgent ถูกแยกออกเป็นไฟล์ Markdown Skill รองรับการแก้ไขออนไลน์และการปรับแต่งอย่างรวดเร็ว
|
||||
|
||||
---
|
||||
|
||||
# 📦 รูปแบบการใช้งาน (Use Cases)
|
||||
# 📦 สถานการณ์การใช้งาน
|
||||
|
||||
- สร้างคอนเทนต์วิดีโอสั้น
|
||||
- ทดลองแปลงนิยายเป็นภาพยนตร์สั้น
|
||||
- เครื่องมือ AI ในการดัดแปลงวรรณกรรมเป็นภาพยนตร์
|
||||
- พัฒนาบทภาพยนตร์และสร้างต้นแบบ (Rapid Prototyping) อย่างรวดเร็ว
|
||||
- สร้างฟุตเทจและวัสดุวิดีโอคุณภาพสูง
|
||||
- การสร้างเนื้อหาวิดีโอสั้น
|
||||
- การทดลองทำนิยายเป็นภาพยนตร์
|
||||
- เครื่องมือปรับบทวรรณกรรมด้วย AI
|
||||
- การพัฒนาบทและการสร้างต้นแบบอย่างรวดเร็ว
|
||||
- การสร้าง素材วิดีโอ
|
||||
|
||||
---
|
||||
|
||||
# 🔰 คู่มือการใช้งาน
|
||||
|
||||
## 📺 วิดีโอสอนการใช้งาน
|
||||
## เริ่มต้นใช้งานอย่างรวดเร็ว
|
||||
|
||||
[https://www.bilibili.com/video/BV1oXD7BqEqJ](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
1. เปิดแอปพลิเคชันและเข้าสู่ระบบ (บัญชีเริ่มต้น: `admin` / `admin123`)
|
||||
2. กำหนดค่าผู้ให้บริการโมเดลในศูนย์การตั้งค่า (โมเดลข้อความ/รูปภาพ/วิดีโอ)
|
||||
3. สร้างโปรเจกต์ใหม่และนำเข้านิยายต้นฉบับ ดำเนินการแยกเหตุการณ์ในบท
|
||||
4. เข้าสู่ ScriptAgent เพื่อสร้างโครงเรื่อง กลยุทธ์การปรับบท และสคริปต์ที่มีโครงสร้าง
|
||||
5. สลับไปที่ ProductionAgent จัดระเบียบสตอรี่บอร์ด 素材 และโหนดวิดีโอในผืนผ้าใบไม่จำกัด
|
||||
6. ปรับแต่งภาพสตอรี่บอร์ดเป็นโหนดอย่างละเอียดแล้วส่งกลับไปยังเวิร์กสเตชันเพื่อทำการต่อวิดีโอและส่งออก
|
||||
|
||||
**เริ่มต้นสร้างวิดีโอ AI กับ Toonflow ใน 12 นาที**
|
||||
👉 [คลิกเพื่อรับชม](https://www.bilibili.com/video/BV1oXD7BqEqJ/?share_source=copy_web&vd_source=5b718c25439a901a34c7bc0c1d35b38e)
|
||||
## 📺 บทเรียนวิดีโอ
|
||||
|
||||
📱 **สแกน QR Code เพื่อรับชมวิดีโอบนมือถือ**
|
||||
https://www.bilibili.com/video/BV1oXD7BqEqJ
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
<img src="./videoQR.png" alt="สแกน QR Code เพื่อรับชมวิดีโอ" width="150"/>
|
||||
**Toonflow 12 นาที เริ่มต้นใช้งาน AI อย่างรวดเร็ว**
|
||||
👉 [คลิกเพื่อรับชม](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
📱 สแกนด้วย WeChat บนมือถือเพื่อรับชม
|
||||
|
||||
<img src="./docs/videoQR.png" alt="สแกนด้วย WeChat เพื่อรับชม" width="150"/>
|
||||
|
||||
---
|
||||
|
||||
# 📸 ภาพหน้าจอและวิดีโอตัวอย่าง
|
||||
# 📸 ภาพหน้าจอและวิดีโอสาธิต
|
||||
|
||||
ภาพหน้าจอและวิดีโอด้านล่างนี้มาจาก Demo ภาพยนตร์สั้น AI ที่สร้างด้วย Toonflow ใช้เวลาประมาณ 2 ชั่วโมง ครอบคลุมการสร้างบทภาพยนตร์ สตอรี่บอร์ด และการตัดต่อ
|
||||
ภาพหน้าจอและวิดีโอด้านล่างมาจากตัวอย่างซีรีส์สั้น 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>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/1.png" target="_blank"><img src="./docs/screenshot/1.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/2.png" target="_blank"><img src="./docs/screenshot/2.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/3.png" target="_blank"><img src="./docs/screenshot/3.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/4.png" target="_blank"><img src="./docs/screenshot/4.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/5.png" target="_blank"><img src="./docs/screenshot/5.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/6.png" target="_blank"><img src="./docs/screenshot/6.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/7.png" target="_blank"><img src="./docs/screenshot/7.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/8.png" target="_blank"><img src="./docs/screenshot/8.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/9.png" target="_blank"><img src="./docs/screenshot/9.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/10.png" target="_blank"><img src="./docs/screenshot/10.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
## ข้อมูล Demo
|
||||
## 🎬 วิดีโอสาธิต
|
||||
|
||||
| รายการ | รายละเอียด |
|
||||
|--------|-----------|
|
||||
| ระยะเวลาผลิต | ประมาณ 2 ชั่วโมง |
|
||||
| โมเดลวิดีโอ | Seedance 2.0 |
|
||||
| โมเดลรูปภาพ | GPT Image 2 |
|
||||
| โมเดลภาษา | Claude Opus 4.6 |
|
||||
| ความยาว | ประมาณ 2 นาที (ต้นฉบับ 3 นาที ตัดออกประมาณ 1 นาที)|
|
||||
|
||||
## รายละเอียดต้นทุน
|
||||
|
||||
| ประเภทโมเดล | ค่าใช้จ่าย |
|
||||
|--------|----------|
|
||||
| โมเดลภาษา | ~¥10 |
|
||||
| โมเดลวิดีโอ (สร้างทั้งหมด) | ~¥120 |
|
||||
| โมเดลรูปภาพ | <¥1 |
|
||||
| **รวม** | **~¥130** |
|
||||
|
||||
> 📌 Demo มีความละเอียดต้นฉบับ 1080×1882 บีบอัดเป็น 480p สำหรับเวอร์ชันที่เผยแพร่ หากพบปัญหาด้านลิขสิทธิ์ เราจะดำเนินการลบเนื้อหานั้นทันที
|
||||
|
||||
## วิดีโอตัวอย่าง
|
||||
<div align="center">
|
||||
|
||||
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
> หากวิดีโอไม่เล่น [คลิกที่นี่เพื่อดาวน์โหลด](https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9)
|
||||
หากเล่นไม่ได้ กรุณา [คลิกดาวน์โหลดวิดีโอ](./docs/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 หากเกี่ยวข้องกับปัญหาเรื่องลิขสิทธิ์ โปรดติดต่อเราเพื่อดำเนินการลบออก
|
||||
|
||||
---
|
||||
|
||||
@ -214,94 +225,92 @@ https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
## ข้อกำหนดเบื้องต้น
|
||||
|
||||
ก่อนติดตั้งและใช้งาน Toonflow โปรดเตรียมข้อมูลต่อไปนี้ให้พร้อม:
|
||||
ก่อนติดตั้งและใช้งานซอฟต์แวร์นี้ โปรดเตรียมสิ่งต่อไปนี้:
|
||||
|
||||
- ✅ ที่อยู่ API ของโมเดลภาษาขนาดใหญ่ (LLM)
|
||||
- ✅ ที่อยู่ API ของบริการสร้างวิดีโอ (Sora หรือ Doubao)
|
||||
- ✅ ที่อยู่ API ของโมเดลสร้างภาพ Nano Banana Pro
|
||||
- ✅ ที่อยู่接口บริการ AI โมเดลภาษาใหญ่
|
||||
- ✅ ที่อยู่接口บริการวิดีโอ Sora หรือ Doubao
|
||||
- ✅ บริการ接口โมเดลสร้างรูปภาพ Nano Banana Pro
|
||||
|
||||
## การติดตั้งบนเครื่อง (Local)
|
||||
## การติดตั้งบนเครื่อง
|
||||
|
||||
### 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) | ตัวติดตั้งอย่างเป็นทางการ |
|
||||
| ระบบปฏิบัติการ | 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 โปรดไปที่ **การตั้งค่า > ความเป็นส่วนตัวและความปลอดภัย** เพื่ออนุญาตให้แอปพลิเคชันทำงาน มิฉะนั้นอาจเปิดโปรแกรมไม่ได้เนื่องจากปัญหาใบรับรองความปลอดภัย
|
||||
> สำหรับระบบ MacOS โปรดไปที่ การตั้งค่า-ความเป็นส่วนตัวและความปลอดภัย เพื่อกำหนดค่าความปลอดภัย มิฉะนั้นอาจเปิดไม่ได้เนื่องจากปัญหาใบรับรอง
|
||||
>
|
||||
> อ้างอิงเอกสารจาก Zhihu: [https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
> ดูเอกสารอ้างอิง Zhihu: [https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
|
||||
> เนื่องจากข้อจำกัดเรื่องสภาพแวดล้อมระบบและขนาดไฟล์ของ Gitee Release ปัจจุบันจึงยังไม่มีลิงก์ดาวน์โหลดบน Gitee
|
||||
> เนื่องจากข้อจำกัดของสภาพแวดล้อม Gitee OS และข้อจำกัดขนาดไฟล์อัปโหลด Release จึงยังไม่มีให้ดาวน์โหลดจาก Gitee Release ในขณะนี้
|
||||
|
||||
### 2. เริ่มการทำงาน
|
||||
### 2. เริ่มบริการ
|
||||
|
||||
หลังจากติดตั้งเสร็จสิ้น เพียงเปิดโปรแกรม Toonflow ก็สามารถเริ่มใช้งานได้ทันที
|
||||
หลังจากติดตั้งเสร็จ ให้เริ่มโปรแกรมเพื่อเริ่มใช้บริการนี้
|
||||
|
||||
> ⚠️ **เข้าสู่ระบบครั้งแรก**
|
||||
> ชื่อผู้ใช้: `admin`
|
||||
> บัญชี: `admin`
|
||||
> รหัสผ่าน: `admin123`
|
||||
|
||||
## การใช้งานผ่าน Docker
|
||||
## การปรับใช้ Docker
|
||||
|
||||
### ข้อกำหนดเบื้องต้น
|
||||
|
||||
- ติดตั้ง [Docker](https://docs.docker.com/get-docker/) เวอร์ชัน 20.10 ขึ้นไป เรียบร้อยแล้ว
|
||||
- ติดตั้ง [Docker](https://docs.docker.com/get-docker/) แล้ว (เวอร์ชัน 20.10+)
|
||||
|
||||
### วิธีที่ 1: การติดตั้งออนไลน์
|
||||
### วิธีที่ 1: ปรับใช้ออนไลน์
|
||||
|
||||
กำลังพัฒนา
|
||||
ปัจจุบันแนะนำให้ใช้วิธี Build บนเครื่องก่อน
|
||||
อยู่ระหว่างการปรับปรุง ให้ใช้การสร้างในพื้นที่ก่อน
|
||||
|
||||
### วิธีที่ 2: การ Build บนเครื่อง
|
||||
### วิธีที่ 2: สร้างในพื้นที่
|
||||
|
||||
ใช้วิธี Build จากซอร์สโค้ดที่มีอยู่ในเครื่องโดยตรง
|
||||
เหมาะสำหรับนักพัฒนาหรือผู้ใช้ที่โคลน Repository มาแล้ว (ต้องติดตั้ง Git บนเครื่องก่อน)
|
||||
ใช้ซอร์สโค้ดที่มีอยู่ในพื้นที่สร้างโดยตรง เหมาะสำหรับนักพัฒนาหรือผู้ที่ clone repository ไว้แล้ว ซึ่งต้องติดตั้ง git ในเครื่อง:
|
||||
|
||||
```shell
|
||||
# โคลนโปรเจกต์ก่อน (ข้ามขั้นตอนนี้ถ้ามีอยู่แล้ว)
|
||||
# ขั้นแรก clone โปรเจกต์ (ข้ามได้ถ้ามีแล้ว)
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
|
||||
# ใช้ docker-compose ในการ Build และรันบนเครื่อง
|
||||
# ใช้ docker-compose สร้างและเริ่มในพื้นที่
|
||||
yarn docker:local
|
||||
|
||||
# หรือทำการ Build แบบแมนนวล
|
||||
# หรือสร้างด้วยตนเอง
|
||||
docker build -t toonflow .
|
||||
docker run -d -p <พอร์ตบนเครื่อง>:10588 -v <พาธข้อมูลบนเครื่อง>:/app/data toonflow
|
||||
docker run -d -p <พอร์ตท้องถิ่น>:10588 -v <เส้นทางข้อมูลท้องถิ่น>:/app/data toonflow
|
||||
|
||||
# จากนั้นสามารถเข้าถึงหน้าเว็บผ่านพอร์ตที่ระบุ ที่พาธ /web/index.html
|
||||
# ตัวอย่าง: http://localhost:10588/web/index.html
|
||||
# จากนั้นสามารถเข้าถึงหน้าเว็บได้ที่路径 /web/index.html ของพอร์ตนั้น
|
||||
# ตัวอย่างเช่น http://localhost:10588/web/index.html
|
||||
```
|
||||
|
||||
### คำอธิบายพอร์ตบริการ
|
||||
|
||||
| พอร์ต | การใช้งาน | การจับคู่พอร์ต (Mapping) |
|
||||
| ------- | ---------------------- | ------------------------ |
|
||||
| `10588` | พอร์ตบริการหลัก (API) | `10588:10588` |
|
||||
| พอร์ต | การใช้งาน | การแมปปรับใช้ |
|
||||
| ------- | -------- | ------------- |
|
||||
| `10588` | อินเทอร์เฟซซอฟต์แวร์ | `10588:10588` |
|
||||
|
||||
**คำอธิบายตัวแปรสภาพแวดล้อม (Environment Variables):**
|
||||
**คำอธิบายตัวแปรสภาพแวดล้อม:**
|
||||
|
||||
| ตัวแปร | คำอธิบาย |
|
||||
| ---------- | ----------------------------------------------------- |
|
||||
| `NODE_ENV` | สภาพแวดล้อมการทำงาน (`prod` = Production) |
|
||||
| `PORT` | พอร์ตสำหรับให้บริการ (ค่าเริ่มต้น 10588) |
|
||||
| `OSSURL` | ที่อยู่ OSS สำหรับเก็บและโหลดไฟล์สาธารณะ (Static files) |
|
||||
| ตัวแปร | คำอธิบาย |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | สภาพแวดล้อมการทำงาน `prod` หมายถึงสภาพแวดล้อมการผลิต |
|
||||
| `PORT` | พอร์ตที่บริการรับฟัง (ค่าเริ่มต้น 10588) |
|
||||
| `OSSURL` | ที่อยู่เข้าถึงการจัดเก็บไฟล์ ใช้สำหรับเข้าถึงทรัพยากรแบบ static |
|
||||
|
||||
---
|
||||
|
||||
## การติดตั้งบนคลาวด์ / เซิร์ฟเวอร์
|
||||
## การปรับใช้บนคลาวด์
|
||||
|
||||
### 1. ข้อกำหนดสภาพแวดล้อมเซิร์ฟเวอร์
|
||||
|
||||
- **ระบบปฏิบัติการ**: Ubuntu 20.04+ / CentOS 7+
|
||||
- **Node.js**: 24.x (แนะนำ, ขั้นต่ำ 23.11.1+)
|
||||
- **RAM**: 2GB+
|
||||
- **ระบบ**: Ubuntu 20.04+ / CentOS 7+
|
||||
- **Node.js**: 24.x (แนะนำ ขั้นต่ำ 23.11.1+)
|
||||
- **หน่วยความจำ**: 2GB+
|
||||
|
||||
### 2. การติดตั้งบนเซิร์ฟเวอร์
|
||||
### 2. การปรับใช้เซิร์ฟเวอร์
|
||||
|
||||
#### 1. ติดตั้งสภาพแวดล้อม
|
||||
|
||||
@ -314,9 +323,9 @@ nvm install 24
|
||||
npm install -g yarn pm2
|
||||
```
|
||||
|
||||
#### 2. ดึงโค้ดโปรเจกต์
|
||||
#### 2. ปรับใช้โปรเจกต์
|
||||
|
||||
**โคลนจาก GitHub:**
|
||||
**Clone จาก GitHub:**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
@ -326,7 +335,7 @@ yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
**โคลนจาก Gitee (แนะนำสำหรับประเทศจีน):**
|
||||
**Clone จาก Gitee (แนะนำสำหรับในประเทศจีน):**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
@ -336,7 +345,7 @@ yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
#### 3. ตั้งค่า PM2
|
||||
#### 3. กำหนดค่า PM2
|
||||
|
||||
สร้างไฟล์ `pm2.json`:
|
||||
|
||||
@ -354,17 +363,17 @@ yarn build
|
||||
}
|
||||
```
|
||||
|
||||
**คำอธิบายตัวแปรสภาพแวดล้อม (Environment Variables):**
|
||||
**คำอธิบายตัวแปรสภาพแวดล้อม:**
|
||||
|
||||
| ตัวแปร | คำอธิบาย |
|
||||
| ---------- | ----------------------------------------------------- |
|
||||
| `NODE_ENV` | สภาพแวดล้อมการทำงาน (`prod` = Production) |
|
||||
| `PORT` | พอร์ตสำหรับให้บริการ (ค่าเริ่มต้น 10588) |
|
||||
| `OSSURL` | ที่อยู่ OSS สำหรับเก็บและโหลดไฟล์สาธารณะ (Static files) |
|
||||
| ตัวแปร | คำอธิบาย |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | สภาพแวดล้อมการทำงาน `prod` หมายถึงสภาพแวดล้อมการผลิต |
|
||||
| `PORT` | พอร์ตที่บริการรับฟัง |
|
||||
| `OSSURL` | ที่อยู่เข้าถึงการจัดเก็บไฟล์ ใช้สำหรับเข้าถึงทรัพยากรแบบ static |
|
||||
|
||||
---
|
||||
|
||||
#### 4. เริ่มการทำงาน
|
||||
#### 4. เริ่มบริการ
|
||||
|
||||
```bash
|
||||
pm2 start pm2.json
|
||||
@ -375,290 +384,287 @@ pm2 save
|
||||
#### 5. คำสั่งที่ใช้บ่อย
|
||||
|
||||
```bash
|
||||
pm2 list # ดู Process ทั้งหมด
|
||||
pm2 logs toonflow-app # ดู Logs
|
||||
pm2 restart all # รีสตาร์ทเซอร์วิส
|
||||
pm2 monit # เปิดหน้าต่าง Monitoring
|
||||
pm2 list # ดู processos
|
||||
pm2 logs toonflow-app # ดู log
|
||||
pm2 restart all # รีสตาร์ทบริการ
|
||||
pm2 monit # แผงตรวจสอบ
|
||||
```
|
||||
|
||||
> ⚠️ **เข้าสู่ระบบครั้งแรก**
|
||||
> ชื่อผู้ใช้: `admin`
|
||||
> บัญชี: `admin`
|
||||
> รหัสผ่าน: `admin123`
|
||||
|
||||
#### 6. การติดตั้งเว็บไซต์ฟรอนต์เอนด์ (Frontend)
|
||||
#### 6. ปรับใช้เว็บไซต์ส่วนหน้า
|
||||
|
||||
หากต้องการติดตั้งหรือปรับแต่งอินเทอร์เฟซฟรอนต์เอนด์แยกต่างหาก โปรดอ้างอิง Repository ฟรอนต์เอนด์ดังนี้:
|
||||
หากต้องการปรับใช้หรือปรับแต่งอินเทอร์เฟซส่วนหน้าแยกต่างหาก โปรดดูที่คลังส่วนหน้า:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
> 💡 **หมายเหตุ**: Repository นี้มาพร้อมไฟล์ฟรอนต์เอนด์ที่คอมไพล์เสร็จสมบูรณ์แล้ว
|
||||
> ผู้ใช้ทั่วไปไม่จำเป็นต้องติดตั้งฟรอนต์เอนด์แยก Repository นี้มีไว้สำหรับนักพัฒนาที่ต้องการปรับแต่งหรือพัฒนาเพิ่มเติมเท่านั้น
|
||||
> 💡 **หมายเหตุ**: คลังนี้มีทรัพยากรส่วนหน้าที่ build ไว้ในตัวแล้ว ผู้ใช้ทั่วไปไม่จำเป็นต้องปรับใช้ส่วนหน้าแยกต่างหาก คลังส่วนหน้ามีไว้สำหรับนักพัฒนาที่ต้องการพัฒนาเพิ่มเติมเท่านั้น
|
||||
|
||||
---
|
||||
|
||||
# 🔧 คู่มือสำหรับนักพัฒนา (Development Workflow Guide)
|
||||
# 🔧 คู่มือขั้นตอนการพัฒนา
|
||||
|
||||
> [!CAUTION]
|
||||
> 🚧 **ข้อบังคับในการส่ง Pull Request** 🚧
|
||||
> 🚧 **ข้อกำหนดการส่ง PR** 🚧
|
||||
>
|
||||
> ⛔ **ไม่รับ PR ใน branch `master`**|✅ **โปรดส่ง PR ไปที่ branch `develop`**
|
||||
> ⛔ สาขา `master` ไม่รับ PR ใดๆ | ✅ โปรดส่ง PR ไปยังสาขา `develop`
|
||||
>
|
||||
> ยินดีต้อนรับนักพัฒนาทุกท่านที่สนใจร่วมพัฒนา Toonflow
|
||||
> หากต้องการเข้าร่วม โปรดติดต่อผู้ดูแลโปรเจกต์ (ACT) ในกลุ่มพูดคุย
|
||||
> ยินดีต้อนรับนักพัฒนาทุกท่านร่วมสร้างสรรค์ Toonflow หากสนใจเข้าร่วม โปรดติดต่อผู้ดูแล ACT ในกลุ่มสนทนา
|
||||
|
||||
## 🛠️ เทคโนโลยีที่ใช้ (Tech Stack)
|
||||
## 🛠️ สแต็กเทคโนโลยี
|
||||
|
||||
| ประเภท | เทคโนโลยี |
|
||||
| ประเภท | เทคโนโลยี |
|
||||
| ---------- | ----------------------------------------------------------------------------------------- |
|
||||
| Runtime | Node.js 23.11.1+ |
|
||||
| Language | TypeScript 5.x |
|
||||
| Backend | Express 5 |
|
||||
| Database | SQLite (better-sqlite3 / knex) |
|
||||
| AI Integ. | Vercel AI SDK (OpenAI / Anthropic / Google / DeepSeek / Zhipu / MiniMax / Qwen / xAI) |
|
||||
| Local Inf. | @huggingface/transformers (ONNX) |
|
||||
| Real-time | Socket.IO |
|
||||
| Desktop | Electron 40 |
|
||||
| Image Proc.| Sharp |
|
||||
| Container | Docker |
|
||||
| รันไทม์ | 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 Qianwen / xAI) |
|
||||
| การอนุมานในพื้นที่ | @huggingface/transformers (ONNX) |
|
||||
| การสื่อสารเรียลไทม์ | Socket.IO |
|
||||
| ไคลเอนต์เดสก์ท็อป | Electron 40 |
|
||||
| การประมวลผลภาพ | Sharp |
|
||||
| การทำคอนเทนเนอร์ | Docker |
|
||||
|
||||
## การเตรียมสภาพแวดล้อมการพัฒนา
|
||||
|
||||
- **Node.js**: ต้องใช้เวอร์ชัน 23.11.1 ขึ้นไป
|
||||
- **Yarn**: แนะนำให้ใช้เป็น Package Manager
|
||||
- **Node.js**: เวอร์ชัน 23.11.1 ขึ้นไป
|
||||
- **Yarn**: แนะนำให้ใช้เป็นตัวจัดการแพ็คเกจของโปรเจกต์
|
||||
|
||||
## การเริ่มโปรเจกต์อย่างรวดเร็ว
|
||||
## การเริ่มต้นโปรเจกต์อย่างรวดเร็ว
|
||||
|
||||
1. **โคลนโปรเจกต์**
|
||||
1. **Clone โปรเจกต์**
|
||||
|
||||
**โคลนจาก GitHub:**
|
||||
**Clone จาก GitHub:**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
**โคลนจาก Gitee (แนะนำสำหรับประเทศจีน):**
|
||||
**Clone จาก Gitee (แนะนำสำหรับในประเทศจีน):**
|
||||
|
||||
```bash
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
2. **ติดตั้ง Dependencies**
|
||||
2. **ติดตั้ง dependencies**
|
||||
|
||||
ให้รันคำสั่งด้านล่างนี้ใน root ของโปรเจกต์เพื่อติดตั้ง Dependencies:
|
||||
โปรดรันคำสั่งต่อไปนี้ในไดเรกทอรีรากของโปรเจกต์เพื่อติดตั้ง dependencies:
|
||||
|
||||
```bash
|
||||
yarn install
|
||||
```
|
||||
|
||||
3. **เริ่มใช้งานในโหมด Development**
|
||||
3. **เริ่มสภาพแวดล้อมการพัฒนา**
|
||||
|
||||
โปรเจกต์นี้ประกอบด้วย **บริการ Backend API** และ **หน้า Frontend** คุณสามารถเลือกวิธีการเปิดใช้งานได้ตามต้องการ:
|
||||
โปรเจกต์นี้ประกอบด้วย **บริการ API แบ็กเอนด์** และ **หน้าส่วนหน้า** สองส่วน โปรดเลือกวิธีการเริ่มตามความต้องการ:
|
||||
|
||||
- **วิธีที่ 1: รันเฉพาะ Backend อย่างเดียว**
|
||||
- **วิธีที่ 1: เริ่มเฉพาะบริการแบ็กเอนด์**
|
||||
|
||||
```bash
|
||||
yarn dev
|
||||
```
|
||||
|
||||
> ⚠️ คำสั่งนี้จะรัน **เฉพาะ Backend API** (พอร์ต 10588) **โดยไม่มีหน้า Frontend**
|
||||
> เมื่อเข้าถึง `http://localhost:10588` จะสามารถเรียกใช้งาน API ได้เท่านั้น
|
||||
> หากต้องการใช้งานพร้อมกับหน้าเว็บ Frontend โปรดรัน Frontend แยกต่างหาก หรือใช้โหมด GUI ด้านล่างนี้
|
||||
> ⚠️ คำสั่งนี้เริ่มเฉพาะบริการ API แบ็กเอนด์ (พอร์ต 10588) **ไม่มีหน้าส่วนหน้า** การเข้าถึง `http://localhost:10588` โดยตรงจะเรียกใช้接口 API ได้เท่านั้น ไม่สามารถเห็นอินเทอร์เฟซเว็บที่สมบูรณ์ได้ หากต้องการใช้หน้าส่วนหน้าพร้อมกัน โปรดใช้ร่วมกับโปรเจกต์ส่วนหน้าที่แยกต่างหาก หรือใช้โหมด GUI ด้านล่าง
|
||||
|
||||
- **วิธีที่ 2: รัน Electron Desktop Client**
|
||||
- **วิธีที่ 2: เริ่มไคลเอนต์เดสก์ท็อป Electron**
|
||||
|
||||
```bash
|
||||
yarn dev:gui
|
||||
```
|
||||
|
||||
> คำสั่งนี้จะรันทั้ง Backend และหน้าต่าง Electron Desktop พร้อมกัน โดยมี Frontend ฝังมาในตัว
|
||||
> โปรแกรมพร้อมใช้งานทันทีโดยไม่ต้องตั้งค่าเพิ่มเติม
|
||||
> เหมาะสำหรับนักพัฒนาที่ต้องการทดสอบฟีเจอร์ทั้งหมดของแอปพลิเคชัน
|
||||
> คำสั่งนี้จะเริ่มบริการแบ็กเอนด์และหน้าต่างเดสก์ท็อป Electron พร้อมกัน มีหน้าส่วนหน้าในตัว พร้อมใช้งานทันที ไม่ต้องกำหนดค่าเพิ่มเติม เหมาะสำหรับนักพัฒนาที่ต้องการสัมผัสประสบการณ์ฟังก์ชันทั้งหมดอย่างสมบูรณ์
|
||||
|
||||
- **วิธีที่ 3: รันโหมด Production**
|
||||
- **วิธีที่ 3: เริ่มโหมดการผลิต**
|
||||
|
||||
```bash
|
||||
yarn start
|
||||
```
|
||||
|
||||
> รันโปรแกรมในโหมด Production ทันทีหลังจากที่คอมไพล์เสร็จ (ต้องรัน `yarn build` ก่อน)
|
||||
> รันบริการที่ compile แล้วโดยตรงในโหมดการผลิต (ต้องรัน `yarn build` ก่อน)
|
||||
|
||||
4. **การแพ็คโปรเจกต์ (Build/Dist)**
|
||||
4. **การแพ็คเกจโปรเจกต์**
|
||||
|
||||
- คอมไพล์และสร้างไฟล์ TypeScript:
|
||||
- Compile และสร้างไฟล์ TypeScript:
|
||||
|
||||
```bash
|
||||
yarn build
|
||||
```
|
||||
|
||||
- แพ็คโปรเจกต์เป็นไฟล์รัน (Executable) สำหรับ Windows:
|
||||
- แพ็คเกจเป็นโปรแกรมที่รันได้บน Windows:
|
||||
|
||||
```bash
|
||||
yarn dist:win
|
||||
```
|
||||
|
||||
- แพ็คโปรเจกต์สำหรับ macOS:
|
||||
- แพ็คเกจเป็นโปรแกรมที่รันได้บน Mac:
|
||||
|
||||
```bash
|
||||
yarn dist:mac
|
||||
```
|
||||
|
||||
- แพ็คโปรเจกต์สำหรับ Linux:
|
||||
- แพ็คเกจเป็นโปรแกรมที่รันได้บน Linux:
|
||||
|
||||
```bash
|
||||
yarn dist:linux
|
||||
```
|
||||
|
||||
5. **ตรวจสอบคุณภาพโค้ด (Lint)**
|
||||
5. **การตรวจสอบคุณภาพโค้ด**
|
||||
|
||||
- ทำการตรวจสอบไวยากรณ์และข้อกำหนดโค้ด (Linting) ทั้งหมด:
|
||||
- ตรวจสอบไวยากรณ์และมาตรฐานโดยรวม:
|
||||
|
||||
```bash
|
||||
yarn lint
|
||||
```
|
||||
|
||||
6. **แผงควบคุมดีบัก AI (ตัวเลือก)**
|
||||
6. **แผงดีบัก AI (ไม่บังคับ)**
|
||||
|
||||
เปิดใช้งานเครื่องมือดีบักแบบ Visual ของ AI SDK เพื่อความสะดวกในการดีบักการเรียกใช้ AI:
|
||||
เริ่มเครื่องมือดีบัก可视化ของ AI SDK เพื่อความสะดวกในการดีบักการเรียก AI:
|
||||
|
||||
```bash
|
||||
yarn debug:ai
|
||||
```
|
||||
|
||||
## การพัฒนาฟรอนต์เอนด์ (Frontend)
|
||||
## การพัฒนาส่วนหน้า
|
||||
|
||||
หากต้องการแก้ไขหรือพัฒนาอินเทอร์เฟซฟรอนต์เอนด์ โปรดไปที่ Repository ฟรอนต์เอนด์ดังนี้:
|
||||
หากต้องการแก้ไขอินเทอร์เฟซส่วนหน้า โปรดไปที่คลังส่วนหน้าเพื่อพัฒนา:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
หลังจาก Build ฟรอนต์เอนด์เสร็จสิ้นแล้ว ให้คัดลอกโฟลเดอร์ `dist` ทั้งหมดไปวางในโฟลเดอร์ `data/web` ของโปรเจกต์นี้เพื่อทำการรวมเข้ากับระบบ
|
||||
หลังจากสร้างส่วนหน้าแล้ว ให้คัดลอกเนื้อหาของไดเรกทอรี `dist` ไปยัง `data/web` ของโปรเจกต์นี้เพื่อรวมเข้าด้วยกัน
|
||||
|
||||
## โครงสร้างโปรเจกต์
|
||||
|
||||
```
|
||||
📂 build/ # ผลลัพธ์หลัง Build
|
||||
📂 data/ # ข้อมูล Runtime
|
||||
│ ├─ 📂 models/ # โมเดล Infer บนเครื่อง (ONNX)
|
||||
│ ├─ 📂 oss/ # Object Storage (เก็บภาพ ตัวละคร และฉาก)
|
||||
│ ├─ 📂 serve/ # จุดเข้าใช้งานโหมด Production
|
||||
│ ├─ 📂 skills/ # Prompt ทักษะของ Agent
|
||||
│ └─ 📂 web/ # Frontend ที่ Build แล้ว (ฝังมาในตัว)
|
||||
📂 docs/ # เอกสารและรูปภาพคู่มือ
|
||||
📂 env/ # การตั้งค่าสภาพแวดล้อม
|
||||
📂 scripts/ # สคริปต์ช่วยเหลือและ Build
|
||||
📂 build/ # ผลลัพธ์การ compile
|
||||
📂 data/ # ข้อมูลรันไทม์
|
||||
│ ├─ 📂 models/ # โมเดลการอนุมานในพื้นที่ (ONNX)
|
||||
│ ├─ 📂 oss/ # ที่เก็บอ็อบเจกต์ (素材/ตัวละคร/ฉาก)
|
||||
│ ├─ 📂 serve/ # จุดเข้าใช้งานสภาพแวดล้อมการผลิต
|
||||
│ ├─ 📂 skills/ # คำแนะนำทักษะ Agent
|
||||
│ └─ 📂 web/ # ผลลัพธ์การ compile ส่วนหน้า (built-in)
|
||||
📂 docs/ # ทรัพยากรเอกสาร
|
||||
📂 env/ # การกำหนดค่าสภาพแวดล้อม
|
||||
📂 scripts/ # สคริปต์การสร้างและเสริม
|
||||
📂 src/
|
||||
├─ 📂 agents/ # โมดูล AI Agent
|
||||
│ ├─ 📂 productionAgent/ # Agent ฝ่ายผลิต (Production)
|
||||
│ └─ 📂 scriptAgent/ # Agent ฝ่ายบทภาพยนตร์ (Script)
|
||||
├─ 📂 lib/ # ไลบรารีส่วนกลาง (Init ฐานข้อมูล, รูปแบบ Response)
|
||||
├─ 📂 middleware/ # Middleware
|
||||
├─ 📂 routes/ # โมดูล Routing
|
||||
│ ├─ 📂 agents/ # จัดการหน่วยความจำ Agent
|
||||
│ ├─ 📂 artStyle/ # จัดการสไตล์ภาพศิลป์
|
||||
│ ├─ 📂 assets/ # จัดการ Asset
|
||||
│ ├─ 📂 assetsGenerate/ # สร้าง Asset
|
||||
│ ├─ 📂 cornerScape/ # จัดการสตอรี่บอร์ด (Storyboard)
|
||||
│ ├─ 📂 general/ # API ทั่วไป
|
||||
│ ├─ 📂 login/ # การยืนยันตัวตน
|
||||
│ ├─ 📂 migrate/ # Migration ข้อมูล
|
||||
│ ├─ 📂 modelSelect/ # เลือกโมเดล
|
||||
│ ├─ 📂 novel/ # จัดการนวนิยายต้นฉบับ
|
||||
│ ├─ 📂 other/ # ฟังก์ชันอื่น ๆ
|
||||
│ ├─ 📂 production/ # จัดการการผลิต/ตัดต่อ
|
||||
│ ├─ 📂 project/ # จัดการโปรเจกต์
|
||||
│ ├─ 📂 script/ # สร้างบทภาพยนตร์
|
||||
│ ├─ 📂 scriptAgent/ # Interface ของ Script Agent
|
||||
│ ├─ 📂 setting/ # ตั้งค่าระบบ
|
||||
│ ├─ 📂 task/ # จัดการ Task
|
||||
│ └─ 📂 test/ # API ทดสอบ
|
||||
├─ 📂 socket/ # การสื่อสารเรียลไทม์ผ่าน WebSocket
|
||||
├─ 📂 types/ # ประกาศ TypeScript Types
|
||||
├─ 📂 utils/ # ฟังก์ชันยูทิลิตี้
|
||||
├─ 📄 app.ts # จุดเริ่มต้นของแอปพลิเคชัน (App Entry)
|
||||
├─ 📄 core.ts # เริ่มต้น Core ระบบ
|
||||
├─ 📄 env.ts # จัดการตัวแปร Environment
|
||||
├─ 📄 err.ts # จัดการ Error
|
||||
├─ 📄 logger.ts # โมดูล Logger
|
||||
├─ 📄 router.ts # ลงทะเบียน Router
|
||||
└─ 📄 utils.ts # ฟังก์ชันอรรถประโยชน์ทั่วไป
|
||||
├─ 📂 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
|
||||
📄 electron-builder.yml # การกำหนดค่าแพ็คเกจ Electron
|
||||
📄 skillList.json # รายการทักษะ
|
||||
📄 LICENSE # สัญญาอนุญาต (Apache-2.0)
|
||||
📄 NOTICES.txt # ประกาศไลบรารี Third-party
|
||||
📄 package.json # การตั้งค่าโปรเจกต์
|
||||
📄 tsconfig.json # การตั้งค่า TypeScript
|
||||
📄 LICENSE # ใบอนุญาต (Apache-2.0)
|
||||
📄 NOTICES.txt # การประกาศ dependencies ของบุคคลที่สาม
|
||||
📄 package.json # การกำหนดค่าโปรเจกต์
|
||||
📄 tsconfig.json # การกำหนดค่า TypeScript
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 🔗 Repository ที่เกี่ยวข้อง
|
||||
# 🔗 คลังที่เกี่ยวข้อง
|
||||
|
||||
| Repository | คำอธิบาย | GitHub | Gitee |
|
||||
| ---------------- | --------------------------------------------- | -------------------------------------------------- | ------------------------------------------------ |
|
||||
| **Toonflow-app** | ไคลเอนต์แบบสมบูรณ์ (Repository นี้ แนะนำสำหรับผู้ใช้ทั่วไป) | [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) |
|
||||
| คลัง | คำอธิบาย | 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 เพียงดาวน์โหลดไคลเอนต์จาก Repository นี้ก็เพียงพอแล้ว
|
||||
> Repository Toonflow-web มีไว้สำหรับนักพัฒนาที่ต้องการปรับแต่งหรือพัฒนาต่อยอดอินเทอร์เฟซเท่านั้น
|
||||
> 💡 **คำแนะนำ**: หากคุณเพียงต้องการใช้ Toonflow ให้ดาวน์โหลดไคลเอนต์จากคลังนี้โดยตรง คลังส่วนหน้ามีไว้สำหรับนักพัฒนาที่ต้องการพัฒนาเพิ่มเติมหรือปรับแต่งอินเทอร์เฟซส่วนหน้าเท่านั้น
|
||||
|
||||
---
|
||||
|
||||
# 👨👩👧👦 กลุ่ม Discord ชุมชน
|
||||
# 👨👩👧👦 กลุ่มสนทนา WeChat
|
||||
|
||||
คลิกที่ไอคอนด้านล่างเพื่อเข้าร่วม Discord:
|
||||
ผู้ช่วยเพิ่มเพื่อน:
|
||||
|
||||
<img src="./docs/QR.png" alt="Toonflow QR" height="400"/>
|
||||
|
||||
หรือคลิกไอคอนเพื่อเข้าร่วม Discord:
|
||||
|
||||
[](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
หรือคลิกลิงก์โดยตรง: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
|
||||
หรือคลิกลิงก์เชิญ: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
---
|
||||
|
||||
# 💌 ติดต่อเรา
|
||||
|
||||
📧 อีเมล: [ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=สอบถาม%20เรื่อง%20Toonflow)
|
||||
📧 อีเมล: [ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=สอบถาม Toonflow)
|
||||
|
||||
---
|
||||
|
||||
# 📜 ใบอนุญาต (License)
|
||||
# 📜 ใบอนุญาต
|
||||
|
||||
Toonflow เปิดเผยเป็นโอเพ่นซอร์สภายใต้สัญญาอนุญาต Apache-2.0 พร้อมด้วยข้อตกลงเชิงพาณิชย์เพิ่มเติม
|
||||
Toonflow เผยแพร่ภายใต้สัญญาอนุญาต Apache-2.0 พร้อมข้อตกลงทางการค้าเพิ่มเติม
|
||||
|
||||
รายละเอียดสัญญา Apache-2.0: https://www.apache.org/licenses/LICENSE-2.0
|
||||
รายละเอียดใบอนุญาต: https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
## ข้อตกลงเชิงพาณิชย์เพิ่มเติม
|
||||
## ข้อตกลงเพิ่มเติม
|
||||
|
||||
- หากนำซอฟต์แวร์นี้ไปเผยแพร่ในรูปแบบผลิตภัณฑ์ให้กับ **บุคคลที่สามอิสระตั้งแต่ 2 รายขึ้นไป** ต้องได้รับ **การอนุญาตเชิงพาณิชย์เป็นลายลักษณ์อักษร** จาก HBAI-Ltd
|
||||
- หากใช้งานร่วมกันภายในโดย **นิติบุคคลไม่เกิน 5 ราย** และไม่ให้บริการแก่บุคคลภายนอก จะถือเป็นการใช้งานภายในและ **ไม่ต้องขออนุญาต**
|
||||
- ห้ามลบหรือแก้ไขโลโก้หรือข้อมูลลิขสิทธิ์ภายใน Toonflow
|
||||
- หากแจกจ่ายซอฟต์แวร์นี้เป็นผลิตภัณฑ์ให้กับ **บุคคลที่สามอิสระ 2 รายขึ้นไป** ใช้งาน ต้องได้รับ **อนุญาตทางการค้าเป็นลายลักษณ์อักษร** จาก HBAI-Ltd
|
||||
- **นิติบุคคล ≤ 5 ราย** ดำเนินการร่วมกันเพื่อใช้งานภายใน โดยไม่ให้บริการภายนอก ถือเป็นการใช้งานภายใน **ไม่ต้องขออนุญาต**
|
||||
- ห้ามลบหรือแก้ไขเครื่องหมายหรือข้อมูลลิขสิทธิ์ใน Toonflow
|
||||
|
||||
## กรณีใช้งานฟรีตลอดชีพ
|
||||
## สถานการณ์ที่ใช้งานฟรีถาวร
|
||||
|
||||
- ✅ ใช้ Toonflow สร้างเนื้อหาเพื่อรับส่วนแบ่งรายได้จากแพลตฟอร์มวิดีโอ
|
||||
- ✅ นำโค้ดไปพัฒนาต่อยอดเพื่อใช้งานภายในทีม
|
||||
- ✅ ใช้งานร่วมกันภายในโดยนิติบุคคลไม่เกิน 5 ราย
|
||||
- ✅ เพื่อการศึกษา การวิจัย และวัตถุประสงค์ที่ไม่ใช่เชิงพาณิชย์
|
||||
- ✅ ใช้ Toonflow สร้างเนื้อหาและได้รับส่วนแบ่งรายได้จากแพลตฟอร์ม
|
||||
- ✅ พัฒนาต่อยอดเพื่อใช้ภายในทีมของตนเอง
|
||||
- ✅ นิติบุคคล ≤ 5 รายดำเนินการร่วมกันเพื่อใช้งานภายใน
|
||||
- ✅ การเรียนรู้ การวิจัย และการใช้งานที่ไม่ใช่เชิงพาณิชย์ส่วนบุคคล
|
||||
|
||||
## โครงสร้างราคาการอนุญาตเชิงพาณิชย์
|
||||
## การกำหนดราคาอนุญาตทางการค้า
|
||||
|
||||
| ระยะ | ยอดขายรายปี | ค่าธรรมเนียมรายปี |
|
||||
|--------------|-----------------------------|-----------------------|
|
||||
| 🌱 ช่วงเริ่มต้น (Incubation) | < ¥100,000 | **ฟรี** |
|
||||
| 🚀 ช่วง startup | ¥100,000 – 500,000 | ¥5,000 / ปี |
|
||||
| 📈 ช่วงเติบโต (Growth) | ¥500,000 – 1,500,000 | ¥20,000 / ปี |
|
||||
| 🏢 ช่วงขยายขนาด (Scale) | ¥1,500,000 – 5,000,000 | ¥80,000 / ปี |
|
||||
| 🌐 ระดับองค์กร (Enterprise) | > ¥5,000,000 | เจรจาต่อรอง |
|
||||
| ขั้นตอน | ยอดขายต่อปี | ค่าธรรมเนียมรายปี |
|
||||
|------|---------|------|
|
||||
| 🌱 ระยะส่งเสริม | < ¥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 | เจรจาต่อรอง |
|
||||
|
||||
> **ข้อกำหนดไม่ย้อนหลัง (Non-Retroactivity)**: ผู้ใช้ที่เคยใช้งาน Toonflow ภายใต้สัญญา AGPL-3.0 ก่อนเวอร์ชัน v1.0.8 จะยังคงผูกพันตาม AGPL-3.0 ต่อไป และไม่ได้รับผลกระทบจากการเปลี่ยนแปลงข้อตกลงนี้
|
||||
> **ข้อกำหนดไม่ย้อนหลัง**: ผู้ใช้ที่ใช้งานภายใต้ AGPL-3.0 ก่อนการเผยแพร่ v1.0.8 จะยังคงปฏิบัติตาม AGPL-3.0 ต่อไป โดยไม่ถูกผูกมัดด้วยการเปลี่ยนแปลงข้อตกลงนี้
|
||||
|
||||
ดูรายละเอียดข้อตกลงฉบับเต็มได้ที่ไฟล์ [LICENSE](./LICENSE)
|
||||
ข้อตกลงฉบับสมบูรณ์ดูได้จากไฟล์ [LICENSE](./LICENSE)
|
||||
|
||||
---
|
||||
|
||||
# ⭐️ ประวัติการให้ดาว (Star History)
|
||||
# ⭐️ ประวัติดาว
|
||||
|
||||
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
|
||||
|
||||
@ -667,59 +673,61 @@ Toonflow เปิดเผยเป็นโอเพ่นซอร์สภ
|
||||
---
|
||||
|
||||
|
||||
# 🙏 ขอขอบคุณ
|
||||
# 🙏 คำขอบคุณ
|
||||
|
||||
ขอขอบคุณโปรเจกต์โอเพ่นซอร์สต่อไปนี้ที่ช่วยสนับสนุน Toonflow อย่างมาก:
|
||||
ขอขอบคุณโครงการโอเพนซอร์สต่อไปนี้ที่ให้การสนับสนุนอย่างแข็งแกร่งแก่ Toonflow:
|
||||
|
||||
- [Express](https://expressjs.com/) - Web Framework สำหรับ Node.js ที่รวดเร็ว เปิดกว้าง และใช้งานง่าย
|
||||
- [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 Client แบบ Promise-based
|
||||
- [Zod](https://zod.dev/) - ไลบรารีตรวจสอบโครงสร้างข้อมูล (Schema Validation) สำหรับ TypeScript
|
||||
- [Socket.IO](https://socket.io/) - เอนจินการสื่อสารเรียลไทม์แบบสองทาง
|
||||
- [Electron](https://www.electronjs.org/) - เฟรมเวิร์กพัฒนาแอปพลิเคชันเดสก์ท็อปข้ามแพลตฟอร์ม
|
||||
- [Hugging Face Transformers](https://huggingface.co/docs/transformers.js) - ไลบรารี Machine Learning สำหรับการ Inference บนเครื่อง
|
||||
- [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:
|
||||
ขอขอบคุณองค์กร/หน่วยงาน/บุคคลต่อไปนี้ที่ให้การสนับสนุน Toonflow:
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="center">Logo</th>
|
||||
<th align="center">โลโก้</th>
|
||||
<th align="center">ชื่อ</th>
|
||||
<th align="center">ประเภทการสนับสนุน</th>
|
||||
<th>รายละเอียด</th>
|
||||
<th align="center">รูปแบบการสนับสนุน</th>
|
||||
<th>คำอธิบาย</th>
|
||||
<th align="center">เว็บไซต์</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/sophnet.png" alt="Sophnet Logo" width="48"></td>
|
||||
<td align="center"><b>Sophnet</b></td>
|
||||
<td align="center">💻 ผู้สนับสนุนพลังงาน</td>
|
||||
<td>มุ่งสร้างแพลตฟอร์ม API สำหรับ Model Inference แบบครบวงจร ที่เร็วกว่า เสถียรกว่า และประหยัดกว่า</td>
|
||||
<td align="center"><img src="./docs/sponsored/sophnet.png" alt="โลโก้ Sophnet Cloud" width="48"></td>
|
||||
<td align="center"><b>Sophnet 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"><img src="./docs/sponsored/atlascloud.png" alt="โลโก้ Atlas Cloud" width="48"></td>
|
||||
<td align="center"><b>Atlas Cloud</b></td>
|
||||
<td align="center">💻 ผู้สนับสนุนพลังงาน</td>
|
||||
<td>แพลตฟอร์ม Inference แบบ Omni-modal แรกของโลก รองรับการสนทนา ภาพ วิดีโอ เสียง — ผ่าน API เดียว รองรับโมเดลกว่า 300 รายการ เข้ากันได้กับ OpenAI</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 Hunyuan3D Logo" width="48"></td>
|
||||
<td align="center"><b>Tencent Hunyuan3D</b></td>
|
||||
<td align="center">🌐 การสนับสนุนเทคนิค World Model</td>
|
||||
<td>Tencent Hunyuan3D AI Creation Engine ใช้พื้นฐานจากโมเดล Tencent Hunyuan3D 2.5 — แพลตฟอร์มสร้างเนื้อหา 3D ด้วย AI แบบครบวงจรแห่งแรกของอุตสาหกรรม รองรับ text-to-3D, image-to-3D, สร้างแอนิเมชัน 3D, สร้าง texture, sketch-to-3D และสร้างตัวละคร 3D พร้อมข้อได้เปรียบในการสร้างโมเดล low-poly</td>
|
||||
<td align="center"><img src="./docs/sponsored/hunyuan.webp" alt="โลโก้ Tencent Hunyuan 3D" width="48"></td>
|
||||
<td align="center"><b>Tencent Hunyuan 3D</b></td>
|
||||
<td align="center">🌐 สนับสนุนเทคโนโลยี World Model</td>
|
||||
<td>Tencent Hunyuan 3D AI Creation Engine ใช้ Hunyuan 3D Generation Large Model เวอร์ชัน 2.5 เป็นแพลตฟอร์มสร้างเนื้อหา 3D แบบครบวงจรด้วย AI รายแรกในอุตสาหกรรม มีฟังก์ชันสร้าง 3D จากข้อความและรูปภาพ, สร้างแอนิเมชัน 3D, สร้างพื้นผิว เป็นต้น รองรับการสร้าง 3D จากภาพร่าง, การสร้างตัวละคร 3D มีข้อได้เปรียบในการสร้างโมเดลแบบ low-poly</td>
|
||||
<td align="center"><a href="https://3d.hunyuan.tencent.com/">เว็บไซต์</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
รายการ Third-party Dependencies แบบสมบูรณ์ สามารถดูได้ที่ไฟล์ `NOTICES.txt`
|
||||
รายการ dependencies ของบุคคลที่สามทั้งหมดกรุณาดูที่ `NOTICES.txt`
|
||||
|
||||
##### copyright © Beijing Ai'a Technology Co., Ltd.
|
||||
|
||||
|
||||
##### copyright © Beijing AIA Network 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%"/>
|
||||
@ -10,7 +10,7 @@
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitcode.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="./atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
<img src="./docs/atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
@ -26,25 +26,16 @@
|
||||
|
||||
<div align="center">
|
||||
|
||||
<img src="./logo.png" alt="Toonflow Logo" height="120"/>
|
||||
<img src="./docs/logo.png" alt="Toonflow Logo" height="120"/>
|
||||
|
||||
# Toonflow
|
||||
[](https://git.io/typing-svg)
|
||||
|
||||
<p align="center">
|
||||
<b>
|
||||
Nhà máy Phim ngắn AI
|
||||
<br />
|
||||
Chỉ với vài cú click, tiểu thuyết lập tức biến thành phim!
|
||||
<br />
|
||||
Kịch bản AI × Hình ảnh AI × Tạo siêu tốc 🔥
|
||||
</b>
|
||||
</p>
|
||||
<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" />
|
||||
<img src="https://img.shields.io/github/stars/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github" alt="Huy hiệu Sao" />
|
||||
</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" />
|
||||
<img src="https://img.shields.io/badge/Giấy phép-Apache%202.0-blue.svg?style=for-the-badge" alt="Huy hiệu Giấy phép Apache-2.0" />
|
||||
</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" />
|
||||
@ -52,24 +43,24 @@
|
||||
</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" />
|
||||
<img src="https://img.shields.io/github/forks/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github&color=orange" alt="Huy hiệu Fork" />
|
||||
</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" />
|
||||
<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 Số 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" />
|
||||
<img src="https://img.shields.io/badge/Discord-Cộng+đồng-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" />
|
||||
<img src="https://img.shields.io/github/issues/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=F48D73" alt="Vấn đề" />
|
||||
</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" />
|
||||
<img src="https://img.shields.io/github/contributors/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=2088FF" alt="Người đóng góp" />
|
||||
</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" />
|
||||
<img src="https://img.shields.io/github/last-commit/HBAI-Ltd/Toonflow-app?style=for-the-badge&color=blueviolet" alt="Cam kết cuối" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
@ -79,128 +70,154 @@
|
||||
<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" />
|
||||
<img src="https://mobaicons.com/icons/typescript,nodejs,electron,docker,socket?perline=5" alt="Biểu tượng Công nghệ" />
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://widgetbite.com/stats/HBAI-Ltd" alt="Visitors" />
|
||||
<img src="https://widgetbite.com/stats/HBAI-Ltd" alt="Khách truy cập" />
|
||||
</p>
|
||||
|
||||
> 🚀 **Dự án Phim ngắn All-in-One**: Từ văn bản đến nhân vật, từ storyboard đến video hoàn chỉnh. Tự động hóa toàn bộ quy trình bằng AI – không rào cản, tăng hiệu suất sáng tạo lên gấp 10 lần!
|
||||
> 🚀 **Quy trình sản xuất phim ngắn tất cả trong một**: Từ văn bản đến nhân vật, từ phân cảnh đến video, toàn bộ quy trình AI không rào cản, nâng cao hiệu suất sáng tạo lên hơn 10 lần!
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<img src="./g-star.png" alt="Chứng chỉ AtomGit G-Star" width="100%"/>
|
||||
<a href="./docs/g-star.png" target="_blank">
|
||||
<img src="./docs/g-star.png" alt="Chứng nhận AtomGit G-Star" width="100%"/>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# 🌐 Hỗ trợ Đa ngôn ngữ
|
||||
# 🌐 Hỗ trợ đa ngôn ngữ
|
||||
|
||||
Toonflow hỗ trợ giao diện với các ngôn ngữ sau:
|
||||
Toonflow hỗ trợ giao diện các ngôn ngữ sau:
|
||||
|
||||
| Ngôn ngữ | Language |
|
||||
|------|----------|
|
||||
| 简体中文 | Chinese (Simplified) |
|
||||
| 繁體中文 | Chinese (Traditional) |
|
||||
| English | English |
|
||||
| ไทย | Thai |
|
||||
| Tiếng Việt | Vietnamese |
|
||||
| 日本語 | Japanese |
|
||||
| Русский | Russian |
|
||||
| Ngôn ngữ | Ngôn ngữ |
|
||||
| ---------- | --------------------- |
|
||||
| 简体中文 | Tiếng Trung (Giản thể) |
|
||||
| 繁體中文 | Tiếng Trung (Phồn thể) |
|
||||
| English | Tiếng Anh |
|
||||
| ไทย | Tiếng Thái |
|
||||
| Tiếng Việt | Tiếng Việt |
|
||||
| 日本語 | Tiếng Nhật |
|
||||
| Русский | Tiếng Nga |
|
||||
|
||||
> 💡 Đang cập nhật thêm nhiều ngôn ngữ, hoan nghênh bạn đóng góp bản dịch!
|
||||
> 💡 Đang thích ứng thêm nhiều ngôn ngữ, hoan nghênh đóng góp bản dịch!
|
||||
|
||||
---
|
||||
|
||||
# 🌟 Tính năng Chính
|
||||
# 🌟 Chức năng chính
|
||||
|
||||
Toonflow là công cụ AI chuyên tạo phim ngắn và truyện tranh, có khả năng tự động biến tiểu thuyết thành phim chỉ trong một quy trình liền mạch. Từ văn bản gốc, AI sẽ tạo nhân vật, viết kịch bản, thiết kế phân cảnh và tổng hợp video hoàn chỉnh – giúp bạn sản xuất phim ngắn nhanh chóng, thông minh và tiết kiệm chi phí tối đa.
|
||||
Toonflow là một bàn làm việc AI dành cho sản xuất phim ngắn, xoay quanh quy trình "Lên kế hoạch → Viết kịch bản → Phân cảnh → Xuất phim" để tạo thành một vòng lặp hoàn chỉnh, đồng thời hỗ trợ quy trình sản xuất có thể bản địa hóa, có thể lập trình và liên tục cải tiến.
|
||||
|
||||
- ✅ **Tạo Nhân vật Tự động** Hệ thống phân tích tiểu thuyết gốc, thông minh nhận diện và xây dựng hồ sơ nhân vật chi tiết (ngoại hình, tính cách, danh tính, mối quan hệ…). Tạo nền tảng vững chắc cho kịch bản và hình ảnh sau này.
|
||||
- ✅ **Tạo Kịch bản Thông minh** Dựa trên các chương/sự kiện bạn chọn, AI tự động xây dựng kịch bản có cấu trúc rõ ràng, bao gồm hội thoại tự nhiên, mô tả cảnh quay và hướng phát triển cốt truyện – chuyển đổi văn học sang kịch bản phim một cách hiệu quả.
|
||||
- ✅ **Tạo Phân cảnh (Storyboard)** Từ kịch bản, hệ thống tự động sinh ra các prompt phân cảnh và thiết kế khung hình chi tiết. Bao gồm tiền cảnh/trung cảnh/hậu cảnh, hành động nhân vật, đạo cụ và bố cục điện ảnh – tạo ra lộ trình hoàn chỉnh sẵn sàng cho việc sản xuất video.
|
||||
- ✅ **Tổng hợp & Chỉnh sửa Video** Tích hợp công nghệ AI hình ảnh và video để tạo ra các đoạn clip chất lượng cao. Hỗ trợ chỉnh sửa trực tuyến linh hoạt, cho phép bạn tinh chỉnh theo ý muốn, giúp toàn bộ quy trình sáng tạo phim diễn ra mượt mà và cực kỳ nhanh chóng.
|
||||
- ✅ **Bàn làm việc sản xuất trên Canvas vô hạn**
|
||||
Tổ chức kịch bản, nhân vật, phân cảnh, tài liệu và nút video dưới dạng canvas vô hạn, hỗ trợ sắp xếp tự do, quay lui và sản xuất song song, không bị giới hạn bởi các bước tuyến tính.
|
||||
- ✅ **Hệ thống cộng tác Agent ba lớp**
|
||||
Lớp ra quyết định, lớp thực thi và lớp giám sát làm việc cùng nhau, bao gồm phân rã nhiệm vụ, tạo nội dung, đánh giá chất lượng và phản hồi sửa đổi, nâng cao tính ổn định và nhất quán của thành phẩm.
|
||||
- ✅ **Bộ nhớ Agent bền vững**
|
||||
Hệ thống bộ nhớ xuyên phiên dựa trên truy xuất vector ONNX cục bộ, hỗ trợ tin nhắn ngắn hạn, tóm tắt dài hạn và truy xuất ngữ nghĩa, đảm bảo tính liên tục của sáng tạo qua nhiều vòng.
|
||||
- ✅ **Hệ thống nhà cung cấp có thể lập trình**
|
||||
Hỗ trợ viết trực tiếp logic TypeScript của nhà cung cấp trong trung tâm cài đặt và có hiệu lực ngay lập tức, không cần sửa mã nguồn hoặc khởi động lại, thuận tiện cho việc tư nhân hóa và kết nối đa mô hình.
|
||||
- ✅ **Chuyển thể dựa trên đồ thị sự kiện chương**
|
||||
Tự động trích xuất các sự kiện chương của tác phẩm gốc và lưu trữ có cấu trúc, chuyển thể kịch bản gọi ngữ cảnh chính xác theo đồ thị sự kiện, giảm mất thông tin văn bản dài.
|
||||
- ✅ **Cấu hình Skill dưới dạng tệp**
|
||||
Lời nhắc cốt lõi của ScriptAgent và ProductionAgent được ngoại hóa thành các tệp Markdown Skill, hỗ trợ chỉnh sửa trực tuyến và tối ưu hóa nhanh chóng.
|
||||
|
||||
---
|
||||
|
||||
# 📦 Ứng dụng Thực tế
|
||||
# 📦 Kịch bản ứng dụng
|
||||
|
||||
- Sáng tạo nội dung video ngắn
|
||||
- Thử nghiệm chuyển thể tiểu thuyết thành phim ngắn
|
||||
- Công cụ AI chuyển thể văn học thành video
|
||||
- Phát triển kịch bản và tạo bản mẫu nhanh (Rapid Prototyping)
|
||||
- Tạo tài liệu video chất lượng cao
|
||||
- Thử nghiệm điện ảnh hóa tiểu thuyết
|
||||
- Công cụ chuyển thể văn học AI
|
||||
- Phát triển kịch bản và tạo mẫu nhanh
|
||||
- Tạo tài liệu video
|
||||
|
||||
---
|
||||
|
||||
# 🔰 Hướng dẫn Sử dụng
|
||||
# 🔰 Hướng dẫn sử dụng
|
||||
|
||||
## 📺 Hướng dẫn bằng Video
|
||||
## Bắt đầu nhanh
|
||||
|
||||
[https://www.bilibili.com/video/BV1oXD7BqEqJ](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
1. Khởi động ứng dụng và đăng nhập (tài khoản mặc định: `admin` / `admin123`).
|
||||
2. Hoàn tất cấu hình nhà cung cấp mô hình trong trung tâm cài đặt (mô hình văn bản/hình ảnh/video).
|
||||
3. Tạo dự án mới và nhập tác phẩm gốc, thực hiện trích xuất sự kiện chương.
|
||||
4. Vào ScriptAgent để tạo khung cốt truyện, chiến lược chuyển thể và kịch bản có cấu trúc.
|
||||
5. Chuyển sang ProductionAgent, tổ chức các nút phân cảnh, tài liệu và video trong canvas vô hạn.
|
||||
6. Tinh chỉnh từng nút cho ảnh phân cảnh rồi đưa trở lại bàn làm việc, hoàn tất ghép nối và xuất video.
|
||||
|
||||
**Toonflow - 12 phút làm quen nhanh với Video AI**
|
||||
👉 [Nhấn để xem](https://www.bilibili.com/video/BV1oXD7BqEqJ/?share_source=copy_web&vd_source=5b718c25439a901a34c7bc0c1d35b38e)
|
||||
## 📺 Hướng dẫn bằng video
|
||||
|
||||
📱 **Quét mã QR để xem video trên điện thoại**
|
||||
<img src="./videoQR.png" alt="Quét mã QR để xem video" width="150"/>
|
||||
https://www.bilibili.com/video/BV1oXD7BqEqJ
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
**Toonflow 12 phút bắt đầu nhanh với AI Video**
|
||||
👉 [Nhấp để xem](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
📱 Quét mã QR bằng WeChat để xem
|
||||
|
||||
<img src="./docs/videoQR.png" alt="Quét mã QR WeChat để xem" width="150"/>
|
||||
|
||||
---
|
||||
|
||||
# 📸 Ảnh chụp màn hình & Video Demo
|
||||
# 📸 Ảnh chụp màn hình và video trình diễn
|
||||
|
||||
Các ảnh chụp màn hình và video dưới đây được lấy từ Demo phim ngắn AI được tạo bằng Toonflow trong khoảng 2 giờ, bao gồm tạo kịch bản, sản xuất storyboard và dựng phim.
|
||||
Các ảnh chụp màn hình và video dưới đây đến từ một bản demo phim ngắn AI được tạo bằng Toonflow, toàn bộ quá trình hoàn thành trong khoảng 2 giờ, bao gồm tạo kịch bản, làm phân cảnh và chỉnh sửa.
|
||||
|
||||
<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>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/1.png" target="_blank"><img src="./docs/screenshot/1.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/2.png" target="_blank"><img src="./docs/screenshot/2.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/3.png" target="_blank"><img src="./docs/screenshot/3.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/4.png" target="_blank"><img src="./docs/screenshot/4.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/5.png" target="_blank"><img src="./docs/screenshot/5.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/6.png" target="_blank"><img src="./docs/screenshot/6.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/7.png" target="_blank"><img src="./docs/screenshot/7.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/8.png" target="_blank"><img src="./docs/screenshot/8.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/9.png" target="_blank"><img src="./docs/screenshot/9.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/10.png" target="_blank"><img src="./docs/screenshot/10.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
## Thông tin Demo
|
||||
## 🎬 Video Demo
|
||||
|
||||
| Mục | Chi tiết |
|
||||
|-----|---------|
|
||||
| Thời gian sản xuất | ~2 giờ |
|
||||
| Mô hình video | Seedance 2.0 |
|
||||
| Mô hình hình ảnh | GPT Image 2 |
|
||||
| Mô hình ngôn ngữ | Claude Opus 4.6 |
|
||||
| Thời lượng | ~2 phút (tư liệu gốc 3 phút, cắt ~1 phút)|
|
||||
|
||||
## Chi tiết Chi phí
|
||||
|
||||
| Loại mô hình | Chi phí |
|
||||
|-----|------|
|
||||
| Mô hình ngôn ngữ | ~¥10 |
|
||||
| Mô hình video (tạo đầy đủ) | ~¥120 |
|
||||
| Mô hình hình ảnh | <¥1 |
|
||||
| **Tổng** | **~¥130** |
|
||||
|
||||
> 📌 Độ phân giải gốc của Demo là 1080×1882, phiên bản phát hành đã nén xuống 480p. Nếu phát hiện vi phạm bản quyền, chúng tôi sẽ xóa nội dung ngay lập tức.
|
||||
|
||||
## Video Demo
|
||||
<div align="center">
|
||||
|
||||
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
> Nếu video không phát được, [click để tải xuống](https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9).
|
||||
Nếu không phát được, vui lòng [nhấp để tải video](./docs/screenshot/demo.mp4)
|
||||
|
||||
</div>
|
||||
|
||||
## Thông tin Demo
|
||||
|
||||
| Dự án | Chi tiết |
|
||||
| :--- | :--- |
|
||||
| Thời gian sản xuất | Khoảng 2 giờ |
|
||||
| Mô hình video | Seedance 2.0 |
|
||||
| Mô hình hình ảnh | GPT Image 2 |
|
||||
| Mô hình ngôn ngữ | Claude Opus 4.6 |
|
||||
| Tổng thời lượng thành phẩm | Khoảng 2 phút (tài liệu gốc 3 phút, cắt bỏ cảnh lỗi khoảng 1 phút) |
|
||||
|
||||
## Chi phí chi tiết
|
||||
|
||||
| Loại mô hình | Chi phí |
|
||||
| :--- | :--- |
|
||||
| Mô hình ngôn ngữ | Khoảng ¥10 |
|
||||
| Mô hình video (tạo toàn bộ) | Khoảng ¥120 |
|
||||
| Mô hình hình ảnh | Dưới ¥1 |
|
||||
| **Tổng cộng** | **Khoảng ¥130** |
|
||||
|
||||
> **Tuyên bố**: Độ phân giải gốc của Demo là 1080×1882, phiên bản phát hành đã được nén xuống 480p. Nếu có vấn đề về bản quyền, vui lòng liên hệ chúng tôi để xóa bỏ.
|
||||
|
||||
---
|
||||
|
||||
@ -208,94 +225,94 @@ https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
## Điều kiện tiên quyết
|
||||
|
||||
Trước khi cài đặt và sử dụng phần mềm, vui lòng chuẩn bị:
|
||||
Trước khi cài đặt và sử dụng phần mềm này, vui lòng chuẩn bị những nội dung sau:
|
||||
|
||||
- ✅ Địa chỉ API của Mô hình ngôn ngữ lớn (LLM)
|
||||
- ✅ Địa chỉ API của dịch vụ video Sora hoặc Doubao
|
||||
- ✅ Địa chỉ API của dịch vụ tạo ảnh Nano Banana Pro
|
||||
- ✅ Địa chỉ giao diện dịch vụ AI mô hình ngôn ngữ lớn
|
||||
- ✅ Địa chỉ giao diện dịch vụ video Sora hoặc Doubao
|
||||
- ✅ Giao diện dịch vụ mô hình tạo hình ảnh Nano Banana Pro
|
||||
|
||||
## Cài đặt trên máy cá nhân (Local)
|
||||
## Cài đặt máy
|
||||
|
||||
### 1. Tải xuống & Cài đặt
|
||||
### 1. Tải xuống và cài đặt
|
||||
|
||||
| Hệ điều hành | GitHub | Atomgit | Tải qua Quark Drive | Mô tả |
|
||||
| :------: | :----------------------------------------------------------- | :------------------------------------------------------------ | :---------------------------------------------- | :------------- |
|
||||
| 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) | Bản cài đặt chính thức |
|
||||
| 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) | Bản cài đặt chính thức |
|
||||
| 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) | Bản cài đặt chính thức |
|
||||
| Hệ điều hành | GitHub | Ghi chú |
|
||||
| :------: |:------------------------------------------------------------|:------------- |
|
||||
| Windows | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | Gói cài đặt chính thức |
|
||||
| Linux | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | Gói cài đặt chính thức |
|
||||
| macOS | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | Gói cài đặt chính thức |
|
||||
|
||||
> [!CAUTION]
|
||||
> Với hệ điều hành MacOS, vui lòng vào "Cài đặt hệ thống" -> "Quyền riêng tư & Bảo mật" để cấp quyền mở ứng dụng, nếu không phần mềm có thể không mở được do vấn đề chứng chỉ.
|
||||
> Hệ thống MacOS vui lòng vào Cài đặt-Quyền riêng tư & Bảo mật để cấu hình bảo mật, nếu không có thể không mở được do vấn đề chứng chỉ
|
||||
>
|
||||
> Tham khảo hướng dẫn Zhihu: [https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
> Tham khảo tài liệu Zhihu: [https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
|
||||
> Do giới hạn môi trường Gitee OS và giới hạn kích thước tệp tải lên của Release, chúng tôi tạm thời không cung cấp link tải qua Gitee Release.
|
||||
> Do hạn chế về môi trường của Gitee OS và giới hạn kích thước tải lên tệp Release, tạm thời không cung cấp địa chỉ tải xuống Gitee Release.
|
||||
|
||||
### 2. Khởi chạy Dịch vụ
|
||||
### 2. Khởi động dịch vụ
|
||||
|
||||
Sau khi cài đặt xong, hãy mở chương trình để bắt đầu sử dụng.
|
||||
Sau khi cài đặt hoàn tất, khởi động chương trình để bắt đầu sử dụng dịch vụ này.
|
||||
|
||||
> ⚠️ **Đăng nhập lần đầu**
|
||||
> ⚠️ **Đăng nhập lần đầu**
|
||||
> Tài khoản: `admin`
|
||||
> Mật khẩu: `admin123`
|
||||
|
||||
## Triển khai bằng Docker
|
||||
## Triển khai Docker
|
||||
|
||||
### Điều kiện tiên quyết
|
||||
|
||||
- Đã cài đặt [Docker](https://docs.docker.com/get-docker/) (Phiên bản 20.10+)
|
||||
- Đã cài đặt [Docker](https://docs.docker.com/get-docker/) (phiên bản 20.10+)
|
||||
|
||||
### Cách 1: Triển khai trực tuyến
|
||||
|
||||
Đang hoàn thiện, tạm thời sử dụng cách Build tại máy (Local build).
|
||||
Đang hoàn thiện, tạm thời sử dụng bản dựng cục bộ.
|
||||
|
||||
### Cách 2: Build tại máy (Local build)
|
||||
### Cách 2: Dựng cục bộ
|
||||
|
||||
Sử dụng mã nguồn có sẵn để build trực tiếp. Phù hợp với lập trình viên hoặc người dùng đã clone repository. (Yêu cầu cài đặt git trên máy):
|
||||
Sử dụng mã nguồn có sẵn tại địa phương để xây dựng trực tiếp, phù hợp với nhà phát triển hoặc người dùng đã clone kho lưu trữ, điều này yêu cầu bạn cài đặt git cục bộ:
|
||||
|
||||
```shell
|
||||
# Clone dự án (Bỏ qua nếu đã clone)
|
||||
# Đầu tiên clone dự án (nếu đã có thì bỏ qua)
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
|
||||
# Sử dụng docker-compose để build và chạy
|
||||
# Sử dụng docker-compose để xây dựng và khởi động cục bộ
|
||||
yarn docker:local
|
||||
|
||||
# Hoặc build thủ công
|
||||
# Hoặc xây dựng thủ công
|
||||
docker build -t toonflow .
|
||||
docker run -d -p <Port trên máy>:10588 -v <Đường dẫn dữ liệu trên máy>:/app/data toonflow
|
||||
docker run -d -p <cổng_local>:10588 -v <đường_dẫn_dữ_liệu_local>:/app/data toonflow
|
||||
|
||||
# Sau đó, truy cập giao diện qua đường dẫn /web/index.html bằng Port đã thiết lập
|
||||
# Ví dụ: http://localhost:10588/web/index.html
|
||||
# Lúc này, tại đường dẫn /web/index.html của cổng tương ứng có thể truy cập trang
|
||||
# Ví dụ http://localhost:10588/web/index.html
|
||||
```
|
||||
|
||||
### Cấu hình Cổng dịch vụ (Port)
|
||||
### Giải thích cổng dịch vụ
|
||||
|
||||
| Cổng (Port) | Chức năng | Port Mapping |
|
||||
| Cổng | Mục đích | Ánh xạ triển khai |
|
||||
| ------- | -------- | ------------- |
|
||||
| `10588` | Giao diện phần mềm | `10588:10588` |
|
||||
|
||||
**Giải thích Biến môi trường:**
|
||||
**Giải thích biến môi trường:**
|
||||
|
||||
| Biến (Variable) | Giải thích |
|
||||
| Biến | Giải thích |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | Môi trường chạy, `prod` là môi trường Product (sản xuất) |
|
||||
| `PORT` | Port lắng nghe của dịch vụ (Mặc định: 10588) |
|
||||
| `OSSURL` | Địa chỉ truy cập lưu trữ file, dùng cho các tài nguyên tĩnh (Static) |
|
||||
| `NODE_ENV` | Môi trường chạy, `prod` là môi trường sản xuất |
|
||||
| `PORT` | Cổng lắng nghe dịch vụ (mặc định 10588) |
|
||||
| `OSSURL` | Địa chỉ truy cập lưu trữ tệp, dùng để truy cập tài nguyên tĩnh |
|
||||
|
||||
---
|
||||
|
||||
## Triển khai trên Máy chủ Đám mây (Cloud)
|
||||
## Triển khai đám mây
|
||||
|
||||
### 1. Yêu cầu Môi trường Máy chủ
|
||||
### I. Yêu cầu môi trường máy chủ
|
||||
|
||||
- **Hệ điều hành**: Ubuntu 20.04+ / CentOS 7+
|
||||
- **Node.js**: 24.x (Khuyên dùng, Tối thiểu 23.11.1+)
|
||||
- **RAM**: 2GB+
|
||||
- **Hệ thống**: Ubuntu 20.04+ / CentOS 7+
|
||||
- **Node.js**: 24.x (khuyến nghị, tối thiểu 23.11.1+)
|
||||
- **Bộ nhớ**: 2GB+
|
||||
|
||||
### 2. Triển khai Máy chủ
|
||||
### II. Triển khai máy chủ
|
||||
|
||||
#### 1. Cài đặt Môi trường
|
||||
#### 1. Cài đặt môi trường
|
||||
|
||||
```bash
|
||||
# Cài đặt Node.js
|
||||
@ -306,7 +323,7 @@ nvm install 24
|
||||
npm install -g yarn pm2
|
||||
```
|
||||
|
||||
#### 2. Triển khai Dự án
|
||||
#### 2. Triển khai dự án
|
||||
|
||||
**Clone từ GitHub:**
|
||||
|
||||
@ -318,7 +335,7 @@ yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
**Clone từ Gitee (Khuyên dùng tại TQ):**
|
||||
**Clone từ Gitee (khuyến nghị cho nội địa Trung Quốc):**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
@ -346,17 +363,17 @@ Tạo tệp `pm2.json`:
|
||||
}
|
||||
```
|
||||
|
||||
**Giải thích Biến môi trường:**
|
||||
**Giải thích biến môi trường:**
|
||||
|
||||
| Biến (Variable) | Giải thích |
|
||||
| Biến | Giải thích |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | Môi trường chạy, `prod` là môi trường Product |
|
||||
| `PORT` | Cổng lắng nghe của dịch vụ (Port) |
|
||||
| `OSSURL` | Địa chỉ truy cập lưu trữ file, dùng cho tài nguyên tĩnh |
|
||||
| `NODE_ENV` | Môi trường chạy, `prod` là môi trường sản xuất |
|
||||
| `PORT` | Cổng lắng nghe dịch vụ |
|
||||
| `OSSURL` | Địa chỉ truy cập lưu trữ tệp, dùng để truy cập tài nguyên tĩnh |
|
||||
|
||||
---
|
||||
|
||||
#### 4. Khởi chạy Dịch vụ
|
||||
#### 4. Khởi động dịch vụ
|
||||
|
||||
```bash
|
||||
pm2 start pm2.json
|
||||
@ -364,60 +381,60 @@ pm2 startup
|
||||
pm2 save
|
||||
```
|
||||
|
||||
#### 5. Các lệnh PM2 thường dùng
|
||||
#### 5. Các lệnh thường dùng
|
||||
|
||||
```bash
|
||||
pm2 list # Xem danh sách tiến trình
|
||||
pm2 logs toonflow-app # Xem log (nhật ký)
|
||||
pm2 list # Xem tiến trình
|
||||
pm2 logs toonflow-app # Xem nhật ký
|
||||
pm2 restart all # Khởi động lại dịch vụ
|
||||
pm2 monit # Mở bảng điều khiển giám sát
|
||||
pm2 monit # Bảng điều khiển giám sát
|
||||
```
|
||||
|
||||
> ⚠️ **Đăng nhập lần đầu**
|
||||
> ⚠️ **Đăng nhập lần đầu**
|
||||
> Tài khoản: `admin`
|
||||
> Mật khẩu: `admin123`
|
||||
|
||||
#### 6. Triển khai trang web Frontend
|
||||
#### 6. Triển khai trang web frontend
|
||||
|
||||
Nếu bạn cần triển khai riêng hoặc tùy chỉnh giao diện Frontend, vui lòng tham khảo Repository Frontend:
|
||||
Nếu cần triển khai riêng lẻ hoặc tùy chỉnh giao diện frontend, vui lòng tham khảo kho lưu trữ frontend:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
> 💡 **Lưu ý**: Repository này đã được tích hợp sẵn tài nguyên Frontend đã build. Người dùng thông thường không cần tự triển khai Frontend riêng. Repository Frontend chỉ dành cho các nhà phát triển muốn tùy chỉnh chuyên sâu.
|
||||
> 💡 **Ghi chú**: Kho lưu trữ này đã được tích hợp sẵn tài nguyên frontend đã biên dịch, người dùng thông thường không cần triển khai riêng frontend. Kho lưu trữ frontend chỉ dành cho các nhà phát triển cần phát triển thứ cấp.
|
||||
|
||||
---
|
||||
|
||||
# 🔧 Hướng dẫn Quy trình Phát triển (Development Workflow)
|
||||
# 🔧 Hướng dẫn quy trình phát triển
|
||||
|
||||
> [!CAUTION]
|
||||
> 🚧 **Quy định nộp PR (Pull Request)** 🚧
|
||||
> 🚧 **Quy tắc gửi PR** 🚧
|
||||
>
|
||||
> ⛔ Nhánh `master` KHÔNG chấp nhận bất kỳ PR nào | ✅ Vui lòng gửi PR vào nhánh `develop`
|
||||
> ⛔ Nhánh `master` không chấp nhận bất kỳ PR nào | ✅ Vui lòng gửi PR đến nhánh `develop`
|
||||
>
|
||||
> Chào mừng các nhà phát triển tham gia đóng góp cho Toonflow. Nếu có hứng thú, vui lòng liên hệ với quản trị viên ACT trong nhóm giao lưu.
|
||||
> Chào mừng các nhà phát triển cùng tham gia xây dựng Toonflow. Nếu có hứng thú tham gia, vui lòng liên hệ quản lý ACT trong nhóm trao đổi.
|
||||
|
||||
## 🛠️ Công nghệ sử dụng (Tech Stack)
|
||||
## 🛠️ Tech Stack
|
||||
|
||||
| Phân loại | Công nghệ |
|
||||
| Danh mục | Công nghệ |
|
||||
| ---------- | ----------------------------------------------------------------------------------------- |
|
||||
| Môi trường | Node.js 23.11.1+ |
|
||||
| Ngôn ngữ | TypeScript 5.x |
|
||||
| Backend | Express 5 |
|
||||
| Cơ sở dữ liệu | SQLite (better-sqlite3 / knex) |
|
||||
| Tích hợp AI| Vercel AI SDK (OpenAI / Anthropic / Google / DeepSeek / Zhipu / MiniMax / Qwen / xAI) |
|
||||
| Suy luận Local| @huggingface/transformers (ONNX) |
|
||||
| Real-time | Socket.IO |
|
||||
| Ứng dụng Desktop | Electron 40 |
|
||||
| Xử lý ảnh | Sharp |
|
||||
| Container | Docker |
|
||||
| Môi trường chạy | Node.js 23.11.1+ |
|
||||
| Ngôn ngữ | TypeScript 5.x |
|
||||
| Backend Framework | Express 5 |
|
||||
| Cơ sở dữ liệu | SQLite (better-sqlite3 / knex) |
|
||||
| Tích hợp AI | Vercel AI SDK (OpenAI / Anthropic / Google / DeepSeek / Zhipu / MiniMax / Tongyi Qianwen / xAI) |
|
||||
| Suy luận cục bộ | @huggingface/transformers (ONNX) |
|
||||
| Giao tiếp thời gian thực | Socket.IO |
|
||||
| Ứng dụng desktop | Electron 40 |
|
||||
| Xử lý hình ảnh | Sharp |
|
||||
| Container hóa | Docker |
|
||||
|
||||
## Chuẩn bị Môi trường Phát triển
|
||||
## Chuẩn bị môi trường phát triển
|
||||
|
||||
- **Node.js**: Yêu cầu phiên bản 23.11.1 trở lên
|
||||
- **Yarn**: Khuyến nghị sử dụng làm Package Manager
|
||||
- **Yarn**: Khuyến nghị sử dụng làm trình quản lý gói cho dự án
|
||||
|
||||
## Khởi chạy Dự án nhanh
|
||||
## Khởi động nhanh dự án
|
||||
|
||||
1. **Clone dự án**
|
||||
|
||||
@ -428,86 +445,86 @@ Nếu bạn cần triển khai riêng hoặc tùy chỉnh giao diện Frontend,
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
**Clone từ Gitee:**
|
||||
**Clone từ Gitee (khuyến nghị cho nội địa Trung Quốc):**
|
||||
|
||||
```bash
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
2. **Cài đặt Dependencies**
|
||||
2. **Cài đặt phụ thuộc**
|
||||
|
||||
Chạy lệnh sau tại thư mục gốc của dự án:
|
||||
Vui lòng thực hiện lệnh sau trong thư mục gốc của dự án để cài đặt các phụ thuộc:
|
||||
|
||||
```bash
|
||||
yarn install
|
||||
```
|
||||
|
||||
3. **Khởi chạy môi trường Dev**
|
||||
3. **Khởi động môi trường phát triển**
|
||||
|
||||
Dự án bao gồm **Backend API** và **Trang Frontend**. Tùy nhu cầu mà chọn cách khởi chạy:
|
||||
Dự án này bao gồm **Dịch vụ API backend** và **Trang frontend** hai phần, vui lòng chọn cách khởi động theo nhu cầu:
|
||||
|
||||
- **Cách 1: Chỉ chạy Backend API**
|
||||
- **Cách 1: Chỉ khởi động dịch vụ backend**
|
||||
|
||||
```bash
|
||||
yarn dev
|
||||
```
|
||||
|
||||
> ⚠️ Lệnh này chỉ khởi chạy Backend API (Port 10588), không bao gồm giao diện Frontend. Khi truy cập http://localhost:10588 chỉ có thể gọi API. Nếu muốn sử dụng giao diện, vui lòng chạy Frontend riêng hoặc dùng chế độ GUI bên dưới.
|
||||
> ⚠️ Lệnh này chỉ khởi động dịch vụ API backend (cổng 10588), **không bao gồm trang frontend**. Truy cập trực tiếp `http://localhost:10588` chỉ có thể gọi các API, không thấy được giao diện web đầy đủ. Nếu muốn sử dụng đồng thời trang frontend, vui lòng kết hợp với dự án frontend khởi động riêng, hoặc sử dụng chế độ GUI bên dưới.
|
||||
|
||||
- **Cách 2: Khởi chạy Client Desktop Electron (Khuyên dùng)**
|
||||
- **Cách 2: Khởi động ứng dụng desktop Electron**
|
||||
|
||||
```bash
|
||||
yarn dev:gui
|
||||
```
|
||||
|
||||
> Lệnh này sẽ chạy đồng thời Backend và cửa sổ Desktop Electron với giao diện Frontend đã tích hợp sẵn. Mở lên là có thể sử dụng ngay mà không cần cấu hình thêm. Phù hợp nhất cho lập trình viên muốn trải nghiệm toàn bộ tính năng.
|
||||
> Lệnh này sẽ đồng thời khởi động dịch vụ backend và cửa sổ desktop Electron, có sẵn trang frontend tích hợp, dùng ngay, không cần cấu hình thêm. Phù hợp với nhà phát triển muốn trải nghiệm đầy đủ tất cả chức năng.
|
||||
|
||||
- **Cách 3: Chạy ở chế độ Product (Sản xuất)**
|
||||
- **Cách 3: Khởi động chế độ sản xuất**
|
||||
|
||||
```bash
|
||||
yarn start
|
||||
```
|
||||
|
||||
> Chạy trực tiếp dịch vụ sau khi đã build (Cần chạy lệnh yarn build trước).
|
||||
> Chạy trực tiếp dịch vụ đã biên dịch ở chế độ sản xuất (cần thực hiện `yarn build` trước).
|
||||
|
||||
4. **Đóng gói dự án (Build / Pack)**
|
||||
4. **Đóng gói dự án**
|
||||
|
||||
- Biên dịch tệp TypeScript:
|
||||
- Biên dịch và tạo tệp TypeScript:
|
||||
|
||||
```bash
|
||||
yarn build
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho Windows:
|
||||
- Đóng gói thành chương trình thực thi cho Windows:
|
||||
|
||||
```bash
|
||||
yarn dist:win
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho MacOS:
|
||||
- Đóng gói thành chương trình thực thi cho Mac:
|
||||
|
||||
```bash
|
||||
yarn dist:mac
|
||||
```
|
||||
|
||||
- Đóng gói thành tệp thực thi cho Linux:
|
||||
- Đóng gói thành chương trình thực thi cho Linux:
|
||||
|
||||
```bash
|
||||
yarn dist:linux
|
||||
```
|
||||
|
||||
5. **Kiểm tra chất lượng mã (Lint)**
|
||||
5. **Kiểm tra chất lượng mã**
|
||||
|
||||
- Kiểm tra cú pháp và quy chuẩn toàn cục:
|
||||
- Thực hiện kiểm tra cú pháp và quy tắc toàn cục:
|
||||
|
||||
```bash
|
||||
yarn lint
|
||||
```
|
||||
|
||||
6. **Bảng điều khiển Debug AI (Tùy chọn)**
|
||||
6. **Bảng điều khiển gỡ lỗi AI (Tùy chọn)**
|
||||
|
||||
Mở công cụ Debug trực quan của AI SDK để tiện theo dõi các lời gọi AI:
|
||||
Khởi động công cụ gỡ lỗi trực quan của AI SDK, tiện lợi cho việc gỡ lỗi các cuộc gọi AI:
|
||||
|
||||
```bash
|
||||
yarn debug:ai
|
||||
@ -515,135 +532,139 @@ Nếu bạn cần triển khai riêng hoặc tùy chỉnh giao diện Frontend,
|
||||
|
||||
## Phát triển Frontend
|
||||
|
||||
Nếu bạn cần chỉnh sửa giao diện Frontend, vui lòng chuyển sang kho lưu trữ Frontend riêng:
|
||||
Nếu muốn sửa đổi giao diện frontend, vui lòng đến kho lưu trữ frontend để phát triển:
|
||||
|
||||
- **GitHub**: [Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**: [Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
Sau khi build Frontend xong, hãy copy toàn bộ thư mục dist vào thư mục data/web của dự án này để tích hợp.
|
||||
Sau khi xây dựng frontend, sao chép nội dung thư mục `dist` vào thư mục `data/web` của dự án này để tích hợp.
|
||||
|
||||
## Cấu trúc Dự án
|
||||
## Cấu trúc dự án
|
||||
|
||||
```
|
||||
📂 build/ # Sản phẩm sau khi build
|
||||
📂 data/ # Dữ liệu Runtime
|
||||
│ ├─ 📂 models/ # Mô hình suy luận Local (ONNX)
|
||||
│ ├─ 📂 oss/ # Lưu trữ Object (ảnh, nhân vật, cảnh)
|
||||
│ ├─ 📂 serve/ # Cổng vào môi trường Production
|
||||
│ ├─ 📂 skills/ # Prompt kỹ năng của Agent
|
||||
│ └─ 📂 web/ # Frontend đã build (tích hợp sẵn)
|
||||
📂 docs/ # Tài liệu và hình ảnh
|
||||
📂 build/ # Sản phẩm biên dịch
|
||||
📂 data/ # Dữ liệu thời gian chạy
|
||||
│ ├─ 📂 models/ # Mô hình suy luận cục bộ (ONNX)
|
||||
│ ├─ 📂 oss/ # Lưu trữ đối tượng (tài liệu/nhân vật/bối cảnh)
|
||||
│ ├─ 📂 serve/ # Điểm vào môi trường sản xuất
|
||||
│ ├─ 📂 skills/ # Lời nhắc kỹ năng Agent
|
||||
│ └─ 📂 web/ # Sản phẩm biên dịch frontend (tích hợp sẵn)
|
||||
📂 docs/ # Tài liệu
|
||||
📂 env/ # Cấu hình môi trường
|
||||
📂 scripts/ # Script hỗ trợ và Build
|
||||
📂 scripts/ # Tập lệnh xây dựng và hỗ trợ
|
||||
📂 src/
|
||||
├─ 📂 agents/ # Module AI Agent
|
||||
│ ├─ 📂 productionAgent/ # Agent Sản xuất (Production)
|
||||
│ └─ 📂 scriptAgent/ # Agent Kịch bản (Script)
|
||||
├─ 📂 lib/ # Thư viện chung (Khởi tạo Database, định dạng Response)
|
||||
├─ 📂 agents/ # Mô-đun AI Agent
|
||||
│ ├─ 📂 productionAgent/ # Agent sản xuất
|
||||
│ └─ 📂 scriptAgent/ # Agent kịch bản
|
||||
├─ 📂 lib/ # Thư viện công cộng (khởi tạo cơ sở dữ liệu, định dạng phản hồi)
|
||||
├─ 📂 middleware/ # Middleware
|
||||
├─ 📂 routes/ # Các Module Routing
|
||||
│ ├─ 📂 agents/ # Quản lý bộ nhớ Agent
|
||||
│ ├─ 📂 artStyle/ # Quản lý phong cách nghệ thuật
|
||||
│ ├─ 📂 assets/ # Quản lý tài nguyên (Assets)
|
||||
│ ├─ 📂 assetsGenerate/ # Trình tạo tài nguyên
|
||||
│ ├─ 📂 cornerScape/ # Quản lý phân cảnh (Storyboard)
|
||||
│ ├─ 📂 general/ # API chung
|
||||
│ ├─ 📂 login/ # Xác thực đăng nhập
|
||||
│ ├─ 📂 migrate/ # Di chuyển dữ liệu (Migration)
|
||||
│ ├─ 📂 modelSelect/ # Chọn mô hình
|
||||
│ ├─ 📂 novel/ # Quản lý tiểu thuyết
|
||||
│ ├─ 📂 other/ # Các tính năng khác
|
||||
│ ├─ 📂 production/ # Quản lý sản xuất / dựng phim
|
||||
│ ├─ 📂 project/ # Quản lý dự án
|
||||
│ ├─ 📂 script/ # Tạo kịch bản
|
||||
│ ├─ 📂 scriptAgent/ # Interface của Agent kịch bản
|
||||
│ ├─ 📂 setting/ # Cài đặt hệ thống
|
||||
│ ├─ 📂 task/ # Quản lý tác vụ (Task)
|
||||
│ └─ 📂 test/ # API thử nghiệm (Test)
|
||||
├─ 📂 socket/ # Giao tiếp Real-time qua WebSocket
|
||||
├─ 📂 types/ # Khai báo Type của TypeScript
|
||||
├─ 📂 utils/ # Các hàm tiện ích
|
||||
├─ 📄 app.ts # Entry của ứng dụng
|
||||
├─ 📄 core.ts # Khởi tạo Core
|
||||
├─ 📄 env.ts # Xử lý biến môi trường
|
||||
├─ 📄 err.ts # Xử lý lỗi (Error handling)
|
||||
├─ 📄 logger.ts # Module ghi log (Logger)
|
||||
├─ 📄 router.ts # Đăng ký Router
|
||||
└─ 📄 utils.ts # Công cụ chung
|
||||
📄 Dockerfile # Tệp cấu hình Build Docker
|
||||
├─ 📂 routes/ # Mô-đun định tuyến
|
||||
│ ├─ 📂 agents/ # Quản lý bộ nhớ Agent
|
||||
│ ├─ 📂 artStyle/ # Quản lý phong cách
|
||||
│ ├─ 📂 assets/ # Quản lý tài liệu
|
||||
│ ├─ 📂 assetsGenerate/ # Tạo tài liệu
|
||||
│ ├─ 📂 cornerScape/ # Quản lý phân cảnh
|
||||
│ ├─ 📂 general/ # API chung
|
||||
│ ├─ 📂 login/ # Xác thực đăng nhập
|
||||
│ ├─ 📂 migrate/ # Di chuyển dữ liệu
|
||||
│ ├─ 📂 modelSelect/ # Lựa chọn mô hình
|
||||
│ ├─ 📂 novel/ # Quản lý tiểu thuyết
|
||||
│ ├─ 📂 other/ # Chức năng khác
|
||||
│ ├─ 📂 production/ # Quản lý sản xuất
|
||||
│ ├─ 📂 project/ # Quản lý dự án
|
||||
│ ├─ 📂 script/ # Tạo kịch bản
|
||||
│ ├─ 📂 scriptAgent/ # API Agent kịch bản
|
||||
│ ├─ 📂 setting/ # Cài đặt hệ thống
|
||||
│ ├─ 📂 task/ # Quản lý tác vụ
|
||||
│ └─ 📂 test/ # API kiểm thử
|
||||
├─ 📂 socket/ # Giao tiếp thời gian thực WebSocket
|
||||
├─ 📂 types/ # Khai báo kiểu TypeScript
|
||||
├─ 📂 utils/ # Hàm tiện ích
|
||||
├─ 📄 app.ts # Điểm vào ứng dụng
|
||||
├─ 📄 core.ts # Khởi tạo lõi
|
||||
├─ 📄 env.ts # Xử lý biến môi trường
|
||||
├─ 📄 err.ts # Xử lý lỗi
|
||||
├─ 📄 logger.ts # Mô-đun nhật ký
|
||||
├─ 📄 router.ts # Đăng ký định tuyến
|
||||
└─ 📄 utils.ts # Tiện ích chung
|
||||
📄 Dockerfile # Tệp xây dựng Docker
|
||||
📄 electron-builder.yml # Cấu hình đóng gói Electron
|
||||
📄 skillList.json # Danh sách kỹ năng
|
||||
📄 LICENSE # Giấy phép (Apache-2.0)
|
||||
📄 NOTICES.txt # Khai báo thư viện bên thứ ba
|
||||
📄 NOTICES.txt # Tuyên bố phụ thuộc bên thứ ba
|
||||
📄 package.json # Cấu hình dự án
|
||||
📄 tsconfig.json # Cấu hình TypeScript
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 🔗 Các Kho lưu trữ Liên quan
|
||||
# 🔗 Kho lưu trữ liên quan
|
||||
|
||||
| Repository (Kho) | Mô tả | GitHub | Gitee |
|
||||
| Kho lưu trữ | Giải thích | GitHub | Gitee |
|
||||
| ---------------- | ---------------------------------- | -------------------------------------------------- | ------------------------------------------------ |
|
||||
| **Toonflow-app** | Client hoàn chỉnh (Repo này, khuyến nghị cho người dùng) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-app) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-app) |
|
||||
| **Toonflow-web** | Mã nguồn Frontend (Dành cho lập trình viên Frontend) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-web) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-web) |
|
||||
| **Toonflow-app** | Ứng dụng đầy đủ (kho lưu trữ này, khuyến nghị cho người dùng thông thường) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-app) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-app) |
|
||||
| **Toonflow-web** | Mã nguồn frontend (phù hợp với nhà phát triển frontend) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-web) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-web) |
|
||||
|
||||
> 💡 **Mẹo nhỏ**: Nếu bạn chỉ muốn sử dụng Toonflow, hãy tải Client hoàn chỉnh từ kho này là đủ. Kho Toonflow-web chỉ dành cho các nhà phát triển cần chỉnh sửa hoặc phát triển lại giao diện (secondary development).
|
||||
> 💡 **Gợi ý**: Nếu bạn chỉ muốn sử dụng Toonflow, hãy tải trực tiếp ứng dụng từ kho lưu trữ này. Kho lưu trữ frontend chỉ dành cho các nhà phát triển cần phát triển thứ cấp hoặc tùy chỉnh giao diện frontend.
|
||||
|
||||
---
|
||||
|
||||
# 👨👩👧👦 Nhóm Discord Cộng đồng
|
||||
# 👨👩👧👦 Nhóm WeChat
|
||||
|
||||
Nhấn vào biểu tượng bên dưới để tham gia Discord:
|
||||
Trợ lý thêm nhóm:
|
||||
|
||||
[](https://discord.gg/HEjKmpNpAZ)
|
||||
<img src="./docs/QR.png" alt="Toonflow QR" height="400"/>
|
||||
|
||||
Hoặc click trực tiếp vào link: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
|
||||
Cũng có thể nhấp vào biểu tượng để tham gia Discord:
|
||||
|
||||
[](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
Hoặc nhấp vào liên kết mời: [https://discord.gg/HEjKmpNpAZ](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
---
|
||||
|
||||
# 💌 Liên hệ với chúng tôi
|
||||
|
||||
📧 Email: [ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Toonflow%20%C6%B0%C9%9B)
|
||||
📧 Email: [ltlctools@outlook.com](mailto:ltlctools@outlook.com?subject=Toonflow咨询)
|
||||
|
||||
---
|
||||
|
||||
# 📜 Giấy phép (License)
|
||||
# 📜 Giấy phép
|
||||
|
||||
Toonflow được phát hành mã nguồn mở dưới giấy phép Apache-2.0, kèm theo Thỏa thuận thương mại bổ sung.
|
||||
Toonflow được phát hành dưới dạng mã nguồn mở dựa trên giấy phép Apache-2.0, kèm theo thỏa thuận thương mại bổ sung.
|
||||
|
||||
Chi tiết giấy phép Apache-2.0: https://www.apache.org/licenses/LICENSE-2.0
|
||||
Chi tiết giấy phép: https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
## Thỏa thuận bổ sung
|
||||
|
||||
- Nếu phần mềm này được phân phối dưới dạng sản phẩm cho **2 hoặc nhiều bên thứ ba độc lập** sử dụng, bắt buộc phải có **giấy phép thương mại bằng văn bản** từ HBAI-Ltd.
|
||||
- Nếu **≤ 5 pháp nhân** hợp tác vận hành để sử dụng nội bộ và không cung cấp dịch vụ ra bên ngoài, thì được coi là sử dụng nội bộ và **không cần cấp phép**.
|
||||
- Không được phép xóa hoặc sửa đổi logo hoặc thông tin bản quyền trong Toonflow.
|
||||
- Nếu phân phối phần mềm này dưới dạng sản phẩm cho **2 bên thứ ba độc lập trở lên** sử dụng, phải có **giấy phép thương mại bằng văn bản** từ HBAI-Ltd.
|
||||
- **≤ 5 pháp nhân** đồng vận hành sử dụng nội bộ, không cung cấp dịch vụ ra bên ngoài, được coi là sử dụng nội bộ, **không cần cấp phép**.
|
||||
- Không được xóa hoặc sửa đổi nhãn hiệu hoặc thông tin bản quyền trong Toonflow.
|
||||
|
||||
## Các trường hợp Miễn phí Vĩnh viễn
|
||||
## Kịch bản miễn phí vĩnh viễn
|
||||
|
||||
- ✅ Dùng Toonflow để sản xuất nội dung và nhận chia sẻ doanh thu từ các nền tảng video
|
||||
- ✅ Chỉnh sửa mã nguồn (Secondary development) để dùng cho nhóm nội bộ
|
||||
- ✅ ≤ 5 pháp nhân hợp tác vận hành để sử dụng nội bộ
|
||||
- ✅ Phục vụ học tập cá nhân, nghiên cứu và các mục đích phi thương mại
|
||||
- ✅ Sử dụng Toonflow để tạo nội dung và nhận chia sẻ doanh thu từ nền tảng
|
||||
- ✅ Phát triển thứ cấp cho nhóm của riêng bạn sử dụng nội bộ
|
||||
- ✅ ≤ 5 pháp nhân đồng vận hành sử dụng nội bộ
|
||||
- ✅ Học tập, nghiên cứu cá nhân, mục đích phi thương mại
|
||||
|
||||
## Bảng giá Cấp phép Thương mại
|
||||
## Định giá cấp phép thương mại
|
||||
|
||||
| Giai đoạn | Doanh thu Hàng năm | Phí Hàng năm |
|
||||
| Giai đoạn | Doanh thu hàng năm | Phí hàng năm |
|
||||
|------|---------|------|
|
||||
| 🌱 Ươm mầm | < ¥100k (RMB) | **Miễn phí** |
|
||||
| 🚀 Khởi nghiệp | ¥100k – 500k (RMB) | ¥5,000 / Năm |
|
||||
| 📈 Tăng trưởng | ¥500k – 1.5M (RMB) | ¥20,000 / Năm |
|
||||
| 🏢 Quy mô | ¥1.5M – 5M (RMB) | ¥80,000 / Năm |
|
||||
| 🌐 Doanh nghiệp | > ¥5M (RMB) | Thương lượng |
|
||||
| 🌱 Giai đoạn hỗ trợ | < ¥100.000 | **Đăng ký là được cấp phép miễn phí** |
|
||||
| 🚀 Giai đoạn khởi nghiệp | ¥100.000–500.000 | ¥5.000/năm |
|
||||
| 📈 Giai đoạn tăng trưởng | ¥500.000–1.500.000 | ¥20.000/năm |
|
||||
| 🏢 Giai đoạn quy mô | ¥1.500.000–5.000.000 | ¥80.000/năm |
|
||||
| 🌐 Cấp doanh nghiệp | > ¥5.000.000 | Thương lượng |
|
||||
|
||||
> **Điều khoản Không hồi tố**: Những người dùng đã sử dụng Toonflow dưới giấy phép AGPL-3.0 trước khi phát hành phiên bản v1.0.8 sẽ tiếp tục tuân theo AGPL-3.0 và không bị ràng buộc bởi sự thay đổi thỏa thuận này.
|
||||
> **Điều khoản không truy thu**: Người dùng đã sử dụng theo AGPL-3.0 trước khi phát hành v1.0.8 tiếp tục thực hiện theo AGPL-3.0, không bị ràng buộc bởi các thay đổi của thỏa thuận này.
|
||||
|
||||
Xem toàn bộ thỏa thuận tại tệp [LICENSE](./LICENSE).
|
||||
Thỏa thuận đầy đủ xem trong tệp [LICENSE](./LICENSE).
|
||||
|
||||
---
|
||||
|
||||
# ⭐️ Lịch sử Thả sao (Star History)
|
||||
# ⭐️ Lịch sử Star
|
||||
|
||||
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
|
||||
|
||||
@ -652,21 +673,21 @@ Xem toàn bộ thỏa thuận tại tệp [LICENSE](./LICENSE).
|
||||
---
|
||||
|
||||
|
||||
# 🙏 Lời Cảm ơn
|
||||
# 🙏 Lời cảm ơn
|
||||
|
||||
Xin cảm ơn các dự án mã nguồn mở sau đây đã hỗ trợ đắc lực cho Toonflow:
|
||||
Cảm ơn các dự án mã nguồn mở sau đã cung cấp hỗ trợ mạnh mẽ cho Toonflow:
|
||||
|
||||
- [Express](https://expressjs.com/) - Web framework cho Node.js cực nhanh và tối giản
|
||||
- [Express](https://expressjs.com/) - Framework Web Node.js nhanh, mở, tối giản
|
||||
- [AI SDK](https://ai-sdk.dev/) - Bộ công cụ AI dành cho TypeScript
|
||||
- [Better-SQLite3](https://github.com/WiseLibs/better-sqlite3) - Thư viện liên kết SQLite3 hiệu suất cao
|
||||
- [Sharp](https://sharp.pixelplumbing.com/) - Thư viện xử lý hình ảnh Node.js hiệu suất cao
|
||||
- [Axios](https://axios-http.com/) - HTTP client dựa trên Promise
|
||||
- [Zod](https://zod.dev/) - Thư viện xác thực Schema ưu tiên TypeScript
|
||||
- [Zod](https://zod.dev/) - Thư viện xác thực lược đồ ưu tiên TypeScript
|
||||
- [Socket.IO](https://socket.io/) - Công cụ giao tiếp sự kiện hai chiều thời gian thực
|
||||
- [Electron](https://www.electronjs.org/) - Framework phát triển ứng dụng Desktop đa nền tảng
|
||||
- [Hugging Face Transformers](https://huggingface.co/docs/transformers.js) - Thư viện suy luận Machine Learning tại Local
|
||||
- [Electron](https://www.electronjs.org/) - Framework phát triển ứng dụng desktop đa nền tảng
|
||||
- [Hugging Face Transformers](https://huggingface.co/docs/transformers.js) - Thư viện suy luận ML cục bộ
|
||||
|
||||
Xin cảm ơn các tổ chức/đơn vị/cá nhân sau đây đã hỗ trợ cho Toonflow:
|
||||
Cảm ơn các tổ chức/đơn vị/cá nhân sau đã cung cấp hỗ trợ cho Toonflow:
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
@ -674,37 +695,37 @@ Xin cảm ơn các tổ chức/đơn vị/cá nhân sau đây đã hỗ trợ ch
|
||||
<th align="center">Logo</th>
|
||||
<th align="center">Tên</th>
|
||||
<th align="center">Hình thức hỗ trợ</th>
|
||||
<th>Mô tả</th>
|
||||
<th align="center">Website</th>
|
||||
<th>Giới thiệu</th>
|
||||
<th align="center">Trang web</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/sophnet.png" alt="Sophnet Logo" width="48"></td>
|
||||
<td align="center"><img src="./docs/sponsored/sophnet.png" alt="Sophnet Logo" width="48"></td>
|
||||
<td align="center"><b>Sophnet</b></td>
|
||||
<td align="center">💻 Tài trợ điện toán</td>
|
||||
<td>Nền tảng API suy luận mô hình một cửa, nhanh hơn, ổn định hơn và tiết kiệm hơn</td>
|
||||
<td align="center"><a href="https://www.sophnet.com/">Website</a></td>
|
||||
<td align="center">💻 Tài trợ sức mạnh tính toán</td>
|
||||
<td>Cam kết tạo nền tảng dịch vụ API suy luận mô hình tất cả trong một nhanh hơn, ổn định hơn, tiết kiệm hơn</td>
|
||||
<td align="center"><a href="https://www.sophnet.com/">Trang web</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/atlascloud.png" alt="Atlas Cloud Logo" width="48"></td>
|
||||
<td align="center"><img src="./docs/sponsored/atlascloud.png" alt="Atlas Cloud Logo" width="48"></td>
|
||||
<td align="center"><b>Atlas Cloud</b></td>
|
||||
<td align="center">💻 Tài trợ điện toán</td>
|
||||
<td>Nền tảng suy luận đa phương thức đầu tiên trên thế giới. Chat, hình ảnh, video, âm thanh — tất cả qua một API thống nhất. 300+ mô hình, tương thích OpenAI.</td>
|
||||
<td align="center"><a href="https://www.atlascloud.ai/">Website</a></td>
|
||||
<td align="center">💻 Tài trợ sức mạnh tính toán</td>
|
||||
<td>Nền tảng suy luận đa phương thức toàn diện đầu tiên trên thế giới. Hội thoại, hình ảnh, video, âm thanh - tất cả API thống nhất. Hơn 300 mô hình, tương thích OpenAI.</td>
|
||||
<td align="center"><a href="https://www.atlascloud.ai/">Trang web</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="./sponsored/hunyuan.webp" alt="Tencent Hunyuan3D Logo" width="48"></td>
|
||||
<td align="center"><b>Tencent Hunyuan3D</b></td>
|
||||
<td align="center">🌐 Hỗ trợ kỹ thuật World Model</td>
|
||||
<td>Tencent Hunyuan3D AI Creation Engine dựa trên mô hình Tencent Hunyuan3D 2.5 — nền tảng tạo nội dung 3D AI tích hợp đầu tiên trong ngành. Hỗ trợ text-to-3D, image-to-3D, tạo hoạt hình 3D, tạo kết cấu, sketch-to-3D và tạo nhân vật 3D, với lợi thế trong tạo mô hình low-poly.</td>
|
||||
<td align="center"><a href="https://3d.hunyuan.tencent.com/">Website</a></td>
|
||||
<td align="center"><img src="./docs/sponsored/hunyuan.webp" alt="Tencent Hunyuan 3D Logo" width="48"></td>
|
||||
<td align="center"><b>Tencent Hunyuan 3D</b></td>
|
||||
<td align="center">🌐 Hỗ trợ kỹ thuật mô hình thế giới</td>
|
||||
<td>Tencent Hunyuan 3D AI Creation Engine dựa trên phiên bản 2.5 của mô hình tạo 3D lớn Hunyuan, nền tảng tạo nội dung 3D AI tất cả trong một đầu tiên trong ngành. Có các chức năng như tạo 3D từ văn bản, hình ảnh, tạo hoạt ảnh 3D, tạo kết cấu, hỗ trợ tạo 3D từ phác thảo, tạo nhân vật 3D, có lợi thế trong việc tạo mô hình đa giác thấp.</td>
|
||||
<td align="center"><a href="https://3d.hunyuan.tencent.com/">Trang web</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Vui lòng xem danh sách đầy đủ các thư viện phụ thuộc của bên thứ ba trong tệp `NOTICES.txt`.
|
||||
Danh sách đầy đủ các phụ thuộc bên thứ ba vui lòng tham khảo `NOTICES.txt`
|
||||
|
||||
##### Copyright © Beijing AIA Network Technology Co., Ltd.
|
||||
##### copyright © Beijing Ai'ah 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%"/>
|
||||
@ -10,12 +10,12 @@
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitcode.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="./atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
<img src="./docs/atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="./README.md">简体中文</a> |
|
||||
<a href="../README.md">简体中文</a> |
|
||||
<strong>繁體中文</strong> |
|
||||
<a href="./README.en.md">English</a> |
|
||||
<a href="./README.th.md">ไทย</a> |
|
||||
@ -26,19 +26,10 @@
|
||||
|
||||
<div align="center">
|
||||
|
||||
<img src="./logo.png" alt="Toonflow Logo" height="120"/>
|
||||
<img src="./docs/logo.png" alt="Toonflow Logo" height="120"/>
|
||||
|
||||
# Toonflow
|
||||
[](https://git.io/typing-svg)
|
||||
|
||||
<p align="center">
|
||||
<b>
|
||||
AI 短劇工廠
|
||||
<br />
|
||||
動動手指,小說秒變劇集!
|
||||
<br />
|
||||
AI 劇本 × AI 影像 × 極速生成 🔥
|
||||
</b>
|
||||
</p>
|
||||
<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" />
|
||||
@ -85,11 +76,13 @@
|
||||
<img src="https://widgetbite.com/stats/HBAI-Ltd" alt="Visitors" />
|
||||
</p>
|
||||
|
||||
> 🚀 **一站式短劇工程**:從文字到角色,從分鏡到影片,0 門檻全流程 AI 化,創作效率提升 10 倍+!
|
||||
> 🚀 **一站式短劇工程**:從文本到角色,從分鏡到影片,0門檻全流程AI化,創作效率提升10倍+!
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<img src="./g-star.png" alt="AtomGit G-Star 認證證書" width="100%"/>
|
||||
<a href="./docs/g-star.png" target="_blank">
|
||||
<img src="./docs/g-star.png" alt="AtomGit G-Star 認證證書" width="100%"/>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
---
|
||||
@ -98,117 +91,133 @@
|
||||
|
||||
Toonflow 支援以下語言介面:
|
||||
|
||||
| 語言 | Language |
|
||||
|--------------|---------------------------|
|
||||
| 简体中文 | Chinese (Simplified) |
|
||||
| 繁體中文 | Chinese (Traditional) |
|
||||
| English | English |
|
||||
| ไทย | Thai |
|
||||
| Tiếng Việt | Vietnamese |
|
||||
| 日本語 | Japanese |
|
||||
| Русский | Russian |
|
||||
| 語言 | Language |
|
||||
| ---------- | --------------------- |
|
||||
| 簡體中文 | Chinese (Simplified) |
|
||||
| 繁體中文 | Chinese (Traditional) |
|
||||
| English | English |
|
||||
| ไทย | Thai |
|
||||
| Tiếng Việt | Vietnamese |
|
||||
| 日本語 | Japanese |
|
||||
| Русский | Russian |
|
||||
|
||||
> 💡 更多語言正在適配中,歡迎貢獻翻譯!
|
||||
> 💡 更多語言適配中,歡迎貢獻翻譯!
|
||||
|
||||
---
|
||||
|
||||
# 🌟 主要功能
|
||||
|
||||
Toonflow 是一款 AI 短劇與漫畫創作工具,能夠利用 AI 技術將小說自動轉化為劇本,並結合 AI 生成的圖像與影片,高效完成短劇製作。透過 Toonflow,您可以輕鬆完成從文字到最終影片的全流程,讓短劇創作變得更加智能與便捷。
|
||||
Toonflow 是面向短劇生產的 AI 工作檯,圍繞「策劃 → 編劇 → 分鏡 → 出片」構建完整閉環,並支援本地化、可程式化、可持續迭代的生產流程。
|
||||
|
||||
- ✅ **角色生成**
|
||||
自動分析原始小說文本,智能識別並建立角色設定,包含外貌、性格、身份等詳細資訊,為後續劇本與畫面創作提供堅實基礎。
|
||||
|
||||
- ✅ **劇本生成**
|
||||
根據選定的事件與章節,系統自動產生結構清晰的劇本,包含自然對白、場景描述與劇情發展,高效將文學作品轉化為影視劇本。
|
||||
|
||||
- ✅ **分鏡製作 (Storyboard)**
|
||||
根據劇本自動生成分鏡提示詞與畫面設計,細化前、中、後景、角色動作、道具與場景佈局,為影片製作提供完整的藍圖。
|
||||
|
||||
- ✅ **影片合成**
|
||||
整合 AI 圖像與影片生成技術,可產生高品質影片片段。內建線上剪輯功能,支援個人化調整,讓創作過程更順暢快速。
|
||||
- ✅ **無限畫布生產工作檯**
|
||||
以類無限畫布形式組織劇本、角色、分鏡、素材與影片節點,支援自由編排、回溯與並行生產,不受線性步驟限制。
|
||||
- ✅ **三層 Agent 協作體系**
|
||||
決策層、執行層、監督層協同工作,涵蓋任務拆解、內容生成、品質審閱與修訂反饋,提升穩定性與成片一致性。
|
||||
- ✅ **持久化 Agent 記憶**
|
||||
基於本地 ONNX 向量檢索的跨會話記憶系統,支援短期訊息、長期摘要和語義召回,確保多輪創作連續性。
|
||||
- ✅ **可程式化供應商系統**
|
||||
支援在設定中心直接編寫供應商 TypeScript 邏輯並即時生效,無需改源碼或重啟,便於私有化和多模型接入。
|
||||
- ✅ **章節事件圖譜驅動改編**
|
||||
自動提取原著章節事件並結構化儲存,劇本改編按事件圖譜精準呼叫上下文,減少長文本資訊遺失。
|
||||
- ✅ **Skill 檔案化配置**
|
||||
ScriptAgent 與 ProductionAgent 的核心提示詞外化為 Markdown Skill 檔案,支援線上編輯與快速調優。
|
||||
|
||||
---
|
||||
|
||||
# 📦 應用場景
|
||||
|
||||
- 短影音內容創作
|
||||
- 短視頻內容創作
|
||||
- 小說影視化實驗
|
||||
- AI 文學改編工具
|
||||
- 劇本開發與快速原型製作
|
||||
- 劇本開發與快速原型
|
||||
- 影片素材生成
|
||||
|
||||
---
|
||||
|
||||
# 🔰 使用指南
|
||||
|
||||
## 快速上手
|
||||
|
||||
1. 啟動應用並登入(預設帳號:`admin` / `admin123`)。
|
||||
2. 在設定中心完成模型供應商配置(文字/圖像/影片模型)。
|
||||
3. 新建專案並匯入原著,執行章節事件提取。
|
||||
4. 進入 ScriptAgent 生成故事骨架、改編策略與結構化劇本。
|
||||
5. 切換到 ProductionAgent,在無限畫布中組織分鏡、素材與影片節點。
|
||||
6. 對分鏡圖進行節點化精調後回流工作檯,完成影片拼接與匯出。
|
||||
|
||||
## 📺 影片教學
|
||||
|
||||
[https://www.bilibili.com/video/BV1oXD7BqEqJ](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
https://www.bilibili.com/video/BV1oXD7BqEqJ
|
||||
[](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
**Toonflow 12 分鐘快速上手 AI 影片**
|
||||
👉 [點擊觀看](https://www.bilibili.com/video/BV1oXD7BqEqJ/?share_source=copy_web&vd_source=5b718c25439a901a34c7bc0c1d35b38e)
|
||||
👉 [點擊觀看](https://www.bilibili.com/video/BV1oXD7BqEqJ)
|
||||
|
||||
📱 使用手機掃描 QR Code 觀看
|
||||
📱 手機微信掃碼觀看
|
||||
|
||||
<img src="./videoQR.png" alt="掃描 QR Code 觀看" width="150"/>
|
||||
<img src="./docs/videoQR.png" alt="微信掃碼觀看" width="150"/>
|
||||
|
||||
---
|
||||
|
||||
# 📸 演示截圖與影片
|
||||
# 📸 示範截圖與影片
|
||||
|
||||
以下截圖及影片來自使用 Toonflow 製作的一段 AI 短劇 Demo,全程約 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>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/1.png" target="_blank"><img src="./docs/screenshot/1.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/2.png" target="_blank"><img src="./docs/screenshot/2.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/3.png" target="_blank"><img src="./docs/screenshot/3.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/4.png" target="_blank"><img src="./docs/screenshot/4.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/5.png" target="_blank"><img src="./docs/screenshot/5.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/6.png" target="_blank"><img src="./docs/screenshot/6.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/7.png" target="_blank"><img src="./docs/screenshot/7.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/8.png" target="_blank"><img src="./docs/screenshot/8.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><a href="./docs/screenshot/9.png" target="_blank"><img src="./docs/screenshot/9.png" width="100%"/></a></td>
|
||||
<td width="50%"><a href="./docs/screenshot/10.png" target="_blank"><img src="./docs/screenshot/10.png" width="100%"/></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
## 🎬 Demo 影片
|
||||
|
||||
<div align="center">
|
||||
|
||||
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
如無法播放,請[點擊下載影片](./docs/screenshot/demo.mp4)
|
||||
|
||||
</div>
|
||||
|
||||
## Demo 資訊
|
||||
|
||||
| 項目 | 詳情 |
|
||||
|------|------|
|
||||
| :--- | :--- |
|
||||
| 製作週期 | 約 2 小時 |
|
||||
| 影片模型 | Seedance 2.0 |
|
||||
| 圖像模型 | GPT Image 2 |
|
||||
| 圖片模型 | GPT Image 2 |
|
||||
| 語言模型 | Claude Opus 4.6 |
|
||||
| 時長 | 約 2 分鐘(原始素材 3 分鐘,剪除約 1 分鐘)|
|
||||
| 成片總時長 | 約 2 分鐘(原始素材 3 分鐘,剪除廢片約 1 分鐘) |
|
||||
|
||||
## 成本明細
|
||||
|
||||
| 模型類型 | 費用 |
|
||||
|------|------|
|
||||
| :--- | :--- |
|
||||
| 語言模型 | 約 ¥10 |
|
||||
| 影片模型(全量生成)| 約 ¥120 |
|
||||
| 圖像模型 | 不足 ¥1 |
|
||||
| 影片模型(全量生成) | 約 ¥120 |
|
||||
| 圖片模型 | 不足 ¥1 |
|
||||
| **合計** | **約 ¥130** |
|
||||
|
||||
> 📌 Demo 原始解析度為 1080×1882,發布版本已壓縮至 480p。如涉及版權問題,我們將予以刪除處理。
|
||||
|
||||
## Demo 影片
|
||||
|
||||
https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
> 若影片無法播放,請[點此下載](https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9)。
|
||||
> **聲明**:Demo 原始解析度為 1080×1882,發布版本已壓縮至 480p。如涉及版權問題,請聯繫我們刪除處理。
|
||||
|
||||
---
|
||||
|
||||
@ -216,34 +225,34 @@ https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
## 前置條件
|
||||
|
||||
安裝並使用本軟體前,請先準備以下項目:
|
||||
在安裝和使用本軟體之前,請準備以下內容:
|
||||
|
||||
- ✅ 大型語言模型 (LLM) 的 API 網址
|
||||
- ✅ Sora 或豆包影片生成服務的 API 網址
|
||||
- ✅ Nano Banana Pro 圖像生成模型的 API 網址
|
||||
- ✅ 大語言模型 AI 服務介面地址
|
||||
- ✅ Sora 或豆包影片服務介面地址
|
||||
- ✅ Nano Banana Pro 圖片生成模型服務介面
|
||||
|
||||
## 本機安裝
|
||||
|
||||
### 1. 下載與安裝
|
||||
|
||||
| 作業系統 | GitHub | Atomgit | 夸克網碟下載 | 說明 |
|
||||
| :------: | :----------------------------------------------------------- | :------------------------------------------------------------ | :---------------------------------------------- | :------------- |
|
||||
| Windows | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [夸克網碟](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) | [夸克網碟](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) | [夸克網碟](https://pan.quark.cn/s/94ef07509df0) | 官方發佈安裝包 |
|
||||
| 作業系統 | 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 系統請至「系統設定」-「隱私權與安全性」設定安全性,否則可能因憑證問題無法正常開啟。
|
||||
> MacOS 系統請到 設定-隱私與安全性 配置安全性否則可能因憑證問題無法正常開啟
|
||||
>
|
||||
> 參考知乎教學:[https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
> 參考知乎文件:[https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
|
||||
> 因 Gitee OS 環境限制及 Release 檔案上傳大小限制,暫不提供 Gitee Release 下載連結。
|
||||
> 因 Gitee OS 環境限制及 Release 檔案上傳大小限制,暫不提供 Gitee Release 下載地址。
|
||||
|
||||
### 2. 啟動服務
|
||||
|
||||
安裝完成後,啟動程式即可開始使用本服務。
|
||||
|
||||
> ⚠️ **首次登入**
|
||||
> ⚠️ **首次登入**
|
||||
> 帳號:`admin`
|
||||
> 密碼:`admin123`
|
||||
|
||||
@ -255,31 +264,31 @@ https://github.com/user-attachments/assets/2d9fddac-dfdf-4640-b030-b09d7f7287e9
|
||||
|
||||
### 方式一:線上部署
|
||||
|
||||
待完善,暫時使用本機建置。
|
||||
待完善,暫時使用本地建置。
|
||||
|
||||
### 方式二:本機建置
|
||||
### 方式二:本地建置
|
||||
|
||||
使用本機已有的原始碼直接建置,適合開發者或已 Clone 儲存庫的使用者,這需要您在本機安裝 git:
|
||||
使用本地已有的原始碼直接建置,適合開發者或已克隆倉庫的使用者,這需要你在本地安裝 git:
|
||||
|
||||
```shell
|
||||
# 先 Clone 專案(若已有則跳過)
|
||||
# 先克隆專案(如已有則跳過)
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
|
||||
# 使用 docker-compose 進行本機建置並啟動
|
||||
# 使用 docker-compose 本地建置並啟動
|
||||
yarn docker:local
|
||||
|
||||
# 或者手動建置
|
||||
docker build -t toonflow .
|
||||
docker run -d -p <本機 Port>:10588 -v <本機資料路徑>:/app/data toonflow
|
||||
docker run -d -p <本地埠>:10588 -v <本地資料路徑>:/app/data toonflow
|
||||
|
||||
# 此時在相應 Port 的 /web/index.html 路徑即可存取頁面
|
||||
# 此時在相應埠的 /web/index.html 路徑即可訪問頁面
|
||||
# 例如 http://localhost:10588/web/index.html
|
||||
```
|
||||
|
||||
### 服務 Port 說明
|
||||
### 服務埠說明
|
||||
|
||||
| Port | 用途 | 部署對應 |
|
||||
| 埠 | 用途 | 部署映射 |
|
||||
| ------- | -------- | ------------- |
|
||||
| `10588` | 軟體介面 | `10588:10588` |
|
||||
|
||||
@ -287,13 +296,13 @@ docker run -d -p <本機 Port>:10588 -v <本機資料路徑>:/app/data toonflow
|
||||
|
||||
| 變數 | 說明 |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | 執行環境,`prod` 表示正式環境 |
|
||||
| `PORT` | 服務監聽 Port(預設 10588) |
|
||||
| `OSSURL` | 檔案儲存存取網址,用於靜態資源存取 |
|
||||
| `NODE_ENV` | 執行環境,`prod` 表示生產環境 |
|
||||
| `PORT` | 服務監聽埠(預設 10588) |
|
||||
| `OSSURL` | 檔案儲存訪問位址,用於靜態資源訪問 |
|
||||
|
||||
---
|
||||
|
||||
## ☁️ 雲端部署
|
||||
## 雲端部署
|
||||
|
||||
### 一、伺服器環境要求
|
||||
|
||||
@ -316,7 +325,7 @@ npm install -g yarn pm2
|
||||
|
||||
#### 2. 部署專案
|
||||
|
||||
**從 GitHub Clone:**
|
||||
**從 GitHub 克隆:**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
@ -326,7 +335,7 @@ yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
**從 Gitee Clone(內地網路使用):**
|
||||
**從 Gitee 克隆(國內推薦):**
|
||||
|
||||
```bash
|
||||
cd /opt
|
||||
@ -336,7 +345,7 @@ yarn install
|
||||
yarn build
|
||||
```
|
||||
|
||||
#### 3. 設定 PM2
|
||||
#### 3. 配置 PM2
|
||||
|
||||
建立 `pm2.json` 檔案:
|
||||
|
||||
@ -358,9 +367,9 @@ yarn build
|
||||
|
||||
| 變數 | 說明 |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | 執行環境,`prod` 表示正式環境 |
|
||||
| `PORT` | 服務監聽 Port |
|
||||
| `OSSURL` | 檔案儲存存取網址,用於靜態資源存取 |
|
||||
| `NODE_ENV` | 執行環境,`prod` 表示生產環境 |
|
||||
| `PORT` | 服務監聽埠 |
|
||||
| `OSSURL` | 檔案儲存訪問位址,用於靜態資源訪問 |
|
||||
|
||||
---
|
||||
|
||||
@ -375,24 +384,24 @@ pm2 save
|
||||
#### 5. 常用指令
|
||||
|
||||
```bash
|
||||
pm2 list # 查看處理程序
|
||||
pm2 list # 查看進程
|
||||
pm2 logs toonflow-app # 查看日誌
|
||||
pm2 restart all # 重新啟動服務
|
||||
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)
|
||||
|
||||
> 💡 **說明**:本儲存庫已內建編譯好的前端資源,一般使用者無需單獨部署前端。前端儲存庫僅供需要二次開發的開發者使用。
|
||||
> 💡 **說明**:本倉庫已內建編譯好的前端資源,一般使用者無需單獨部署前端。前端倉庫僅供需要二次開發的開發者使用。
|
||||
|
||||
---
|
||||
|
||||
@ -403,49 +412,49 @@ pm2 monit # 監控面板
|
||||
>
|
||||
> ⛔ `master` 分支不接受任何 PR | ✅ 請將 PR 提交到 `develop` 分支
|
||||
>
|
||||
> 歡迎開發者們共同參與 Toonflow 的共創。如有興趣加入,請在交流群內聯絡主理人 ACT
|
||||
> 歡迎開發者們共同參與 Toonflow 的共創。如有興趣加入,請在交流群內聯繫主持人 ACT
|
||||
|
||||
## 🛠️ 技術堆疊
|
||||
## 🛠️ 技術棧
|
||||
|
||||
| 類別 | 技術 |
|
||||
| ---------- | ----------------------------------------------------------------------------------------- |
|
||||
| 執行環境 | Node.js 23.11.1+ |
|
||||
| 執行時 | Node.js 23.11.1+ |
|
||||
| 語言 | TypeScript 5.x |
|
||||
| 後端框架 | Express 5 |
|
||||
| 資料庫 | SQLite(better-sqlite3 / knex) |
|
||||
| AI 整合 | Vercel AI SDK(OpenAI / Anthropic / Google / DeepSeek / 智譜 / MiniMax / 通義千問 / xAI) |
|
||||
| 本機推論 | @huggingface/transformers(ONNX) |
|
||||
| 本地推理 | @huggingface/transformers(ONNX) |
|
||||
| 即時通訊 | Socket.IO |
|
||||
| 桌面用戶端 | Electron 40 |
|
||||
| 影像處理 | Sharp |
|
||||
| 桌面客戶端 | Electron 40 |
|
||||
| 圖像處理 | Sharp |
|
||||
| 容器化 | Docker |
|
||||
|
||||
## 開發環境準備
|
||||
|
||||
- **Node.js**:版本要求 23.11.1 及以上
|
||||
- **Yarn**:推薦作為專案套件管理員
|
||||
- **Yarn**:推薦作為專案套件管理器
|
||||
|
||||
## 快速啟動專案
|
||||
|
||||
1. **Clone 專案**
|
||||
1. **克隆專案**
|
||||
|
||||
**從 GitHub Clone:**
|
||||
**從 GitHub 克隆:**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
**從 Gitee Clone(內地網路使用):**
|
||||
**從 Gitee 克隆(國內推薦):**
|
||||
|
||||
```bash
|
||||
git clone https://gitee.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
```
|
||||
|
||||
2. **安裝相依套件**
|
||||
2. **安裝依賴**
|
||||
|
||||
請先在專案根目錄下執行以下指令以安裝相依套件:
|
||||
請先在專案根目錄下執行以下指令以安裝依賴項:
|
||||
|
||||
```bash
|
||||
yarn install
|
||||
@ -461,17 +470,17 @@ pm2 monit # 監控面板
|
||||
yarn dev
|
||||
```
|
||||
|
||||
> ⚠️ 此指令僅啟動後端 API 服務(Port 10588),**不包含前端頁面**。直接瀏覽 `http://localhost:10588` 只能呼叫 API 介面,無法看到完整的網頁介面。若需同時使用前端頁面,請配合前端專案單獨啟動,或使用下方的 GUI 模式。
|
||||
> ⚠️ 此指令僅啟動後端 API 服務(埠 10588),**不包含前端頁面**。直接訪問 `http://localhost:10588` 只能呼叫 API 介面,無法看到完整的網頁介面。如需同時使用前端頁面,請配合前端專案單獨啟動,或使用下方的 GUI 模式。
|
||||
|
||||
- **方式二:啟動 Electron 桌面用戶端**
|
||||
- **方式二:啟動 Electron 桌面客戶端**
|
||||
|
||||
```bash
|
||||
yarn dev:gui
|
||||
```
|
||||
|
||||
> 此指令會同時啟動後端服務和 Electron 桌面視窗,內建前端頁面,開箱即用,無需額外設定。適合想要完整體驗所有功能的開發者。
|
||||
> 此指令會同時啟動後端服務和 Electron 桌面視窗,自帶內建前端頁面,開箱即用,無需額外配置。適合想要完整體驗所有功能的開發者。
|
||||
|
||||
- **方式三:正式環境模式啟動**
|
||||
- **方式三:生產模式啟動**
|
||||
|
||||
```bash
|
||||
yarn start
|
||||
@ -479,33 +488,33 @@ pm2 monit # 監控面板
|
||||
|
||||
> 以生產模式直接執行編譯後的服務(需先執行 `yarn build`)。
|
||||
|
||||
4. **專案打包建置**
|
||||
4. **專案打包**
|
||||
|
||||
- 編譯並產生 TypeScript 檔案:
|
||||
- 編譯並生成 TypeScript 檔案:
|
||||
|
||||
```bash
|
||||
yarn build
|
||||
```
|
||||
|
||||
- 打包為 Windows 平台執行檔:
|
||||
- 打包為 Windows 平台可執行程式:
|
||||
|
||||
```bash
|
||||
yarn dist:win
|
||||
```
|
||||
|
||||
- 打包為 Mac 平台執行檔:
|
||||
- 打包為 Mac 平台可執行程式:
|
||||
|
||||
```bash
|
||||
yarn dist:mac
|
||||
```
|
||||
|
||||
- 打包為 Linux 平台執行檔:
|
||||
- 打包為 Linux 平台可執行程式:
|
||||
|
||||
```bash
|
||||
yarn dist:linux
|
||||
```
|
||||
|
||||
5. **程式碼品質檢查 (Lint)**
|
||||
5. **程式碼品質檢查**
|
||||
|
||||
- 進行全域語法和規範檢查:
|
||||
|
||||
@ -513,9 +522,9 @@ pm2 monit # 監控面板
|
||||
yarn lint
|
||||
```
|
||||
|
||||
6. **AI 除錯面板(選用)**
|
||||
6. **AI 偵錯面板(可選)**
|
||||
|
||||
啟動 AI SDK 的視覺化除錯工具,方便對 AI 呼叫進行除錯:
|
||||
啟動 AI SDK 的可視化偵錯工具,方便偵錯 AI 呼叫:
|
||||
|
||||
```bash
|
||||
yarn debug:ai
|
||||
@ -523,7 +532,7 @@ pm2 monit # 監控面板
|
||||
|
||||
## 前端開發
|
||||
|
||||
若需修改前端介面,請前往前端儲存庫進行開發:
|
||||
如需修改前端介面,請前往前端倉庫進行開發:
|
||||
|
||||
- **GitHub**:[Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**:[Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
@ -533,21 +542,21 @@ pm2 monit # 監控面板
|
||||
## 專案結構
|
||||
|
||||
```
|
||||
📂 build/ # 編譯產物
|
||||
📂 data/ # 執行時資料
|
||||
│ ├─ 📂 models/ # 本機推論模型(ONNX)
|
||||
📂 build/ # 編譯產物
|
||||
📂 data/ # 執行時資料
|
||||
│ ├─ 📂 models/ # 本地推理模型(ONNX)
|
||||
│ ├─ 📂 oss/ # 物件儲存(素材/角色/場景)
|
||||
│ ├─ 📂 serve/ # 正式環境入口
|
||||
│ ├─ 📂 serve/ # 生產環境入口
|
||||
│ ├─ 📂 skills/ # Agent 技能提示詞
|
||||
│ └─ 📂 web/ # 前端編譯產物(內建)
|
||||
📂 docs/ # 文件資源
|
||||
📂 env/ # 環境設定
|
||||
📂 scripts/ # 建置與輔助腳本
|
||||
📂 docs/ # 文件資源
|
||||
📂 env/ # 環境配置
|
||||
📂 scripts/ # 建置與輔助腳本
|
||||
📂 src/
|
||||
├─ 📂 agents/ # AI Agent 模組
|
||||
│ ├─ 📂 productionAgent/ # 製作 Agent
|
||||
│ ├─ 📂 productionAgent/ # 生產 Agent
|
||||
│ └─ 📂 scriptAgent/ # 劇本 Agent
|
||||
├─ 📂 lib/ # 公用函式庫(資料庫初始化、回應格式)
|
||||
├─ 📂 lib/ # 公共庫(資料庫初始化、回應格式)
|
||||
├─ 📂 middleware/ # 中介軟體
|
||||
├─ 📂 routes/ # 路由模組
|
||||
│ ├─ 📂 agents/ # Agent 記憶管理
|
||||
@ -555,9 +564,9 @@ pm2 monit # 監控面板
|
||||
│ ├─ 📂 assets/ # 素材管理
|
||||
│ ├─ 📂 assetsGenerate/ # 素材生成
|
||||
│ ├─ 📂 cornerScape/ # 分鏡管理
|
||||
│ ├─ 📂 general/ # 通用 API
|
||||
│ ├─ 📂 general/ # 通用介面
|
||||
│ ├─ 📂 login/ # 登入認證
|
||||
│ ├─ 📂 migrate/ # 資料轉移
|
||||
│ ├─ 📂 migrate/ # 資料遷移
|
||||
│ ├─ 📂 modelSelect/ # 模型選擇
|
||||
│ ├─ 📂 novel/ # 小說管理
|
||||
│ ├─ 📂 other/ # 其他功能
|
||||
@ -569,8 +578,8 @@ pm2 monit # 監控面板
|
||||
│ ├─ 📂 task/ # 任務管理
|
||||
│ └─ 📂 test/ # 測試介面
|
||||
├─ 📂 socket/ # WebSocket 即時通訊
|
||||
├─ 📂 types/ # TypeScript 類型宣告
|
||||
├─ 📂 utils/ # 工具函式
|
||||
├─ 📂 types/ # TypeScript 型別宣告
|
||||
├─ 📂 utils/ # 工具函數
|
||||
├─ 📄 app.ts # 應用入口
|
||||
├─ 📄 core.ts # 核心初始化
|
||||
├─ 📄 env.ts # 環境變數處理
|
||||
@ -579,79 +588,83 @@ pm2 monit # 監控面板
|
||||
├─ 📄 router.ts # 路由註冊
|
||||
└─ 📄 utils.ts # 通用工具
|
||||
📄 Dockerfile # Docker 建置檔案
|
||||
📄 electron-builder.yml # Electron 打包設定
|
||||
📄 electron-builder.yml # Electron 打包配置
|
||||
📄 skillList.json # 技能清單
|
||||
📄 LICENSE # 授權條款(Apache-2.0)
|
||||
📄 NOTICES.txt # 第三方相依套件聲明
|
||||
📄 package.json # 專案設定
|
||||
📄 tsconfig.json # TypeScript 設定
|
||||
📄 LICENSE # 許可證(Apache-2.0)
|
||||
📄 NOTICES.txt # 第三方依賴宣告
|
||||
📄 package.json # 專案配置
|
||||
📄 tsconfig.json # TypeScript 配置
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 🔗 相關儲存庫
|
||||
# 🔗 相關倉庫
|
||||
|
||||
| 儲存庫 | 說明 | GitHub | Gitee |
|
||||
| 倉庫 | 說明 | GitHub | Gitee |
|
||||
| ---------------- | ---------------------------------- | -------------------------------------------------- | ------------------------------------------------ |
|
||||
| **Toonflow-app** | 完整用戶端(本儲存庫,推薦一般使用者) | [GitHub](https://github.com/HBAI-Ltd/Toonflow-app) | [Gitee](https://gitee.com/HBAI-Ltd/Toonflow-app) |
|
||||
| **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,直接下載本儲存庫的用戶端即可。前端儲存庫僅供需要二次開發或客製化前端介面的開發者使用。
|
||||
> 💡 **提示**:如果您只是想使用 Toonflow,直接下載本倉庫的客戶端即可。前端倉庫僅供需要二次開發或定製前端介面的開發者使用。
|
||||
|
||||
---
|
||||
|
||||
# 👨👩👧👦 Discord 交流群組
|
||||
# 👨👩👧👦 微信交流群
|
||||
|
||||
點擊下方圖示加入 Discord:
|
||||
拉群小助手:
|
||||
|
||||
<img src="./docs/QR.png" alt="Toonflow QR" height="400"/>
|
||||
|
||||
也可以點擊圖示加入 Discord:
|
||||
|
||||
[](https://discord.gg/HEjKmpNpAZ)
|
||||
|
||||
或直接點擊連結: [https://discord.gg/HEjKmpNpAZ](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 協定開源發佈,並附有補充商業協議。
|
||||
Toonflow 基於 Apache-2.0 協議開源發布,並附有補充商業協議。
|
||||
|
||||
授權條款詳情:https://www.apache.org/licenses/LICENSE-2.0
|
||||
許可證詳情:https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
## 補充協議
|
||||
|
||||
- 若將本軟體以產品形式散佈給 **2 個及以上獨立第三方**使用,須取得 HBAI-Ltd **書面商業授權**。
|
||||
- **≤ 5 個法人**聯合營運內部使用,不對外提供服務的,視為內部使用,**無需授權**。
|
||||
- 若將本軟體以產品形式分發給 **2 個及以上獨立第三方**使用,須取得 HBAI-Ltd **書面商業授權**。
|
||||
- **≤ 5 個法人**聯合運營內部使用,不對外提供服務的,視為內部使用,**無需授權**。
|
||||
- 不得刪除或修改 Toonflow 中的標識或版權資訊。
|
||||
|
||||
## 永久免費場景
|
||||
|
||||
- ✅ 用 Toonflow 製作內容並獲得平台分潤
|
||||
- ✅ 用 Toonflow 製作內容並獲得平台分帳
|
||||
- ✅ 二次開發供自己團隊內部使用
|
||||
- ✅ ≤ 5 個法人聯合營運內部使用
|
||||
- ✅ ≤ 5 個法人聯合運營內部使用
|
||||
- ✅ 個人學習、研究、非商業用途
|
||||
|
||||
## 商業授權定價(人民幣)
|
||||
## 商業授權定價
|
||||
|
||||
| 階段 | 年營業額 | 年費 |
|
||||
|------------|---------------------------|-------------------|
|
||||
| 🌱 扶持期 | < 10 萬人民幣 | **免費** |
|
||||
| 🚀 初創期 | 10–50 萬人民幣 | ¥5,000 / 年 |
|
||||
| 📈 成長期 | 50–150 萬人民幣 | ¥20,000 / 年 |
|
||||
| 🏢 規模期 | 150–500 萬人民幣 | ¥80,000 / 年 |
|
||||
| 🌐 企業級 | > 500 萬人民幣 | 面議 |
|
||||
| 階段 | 年銷售額 | 年費 |
|
||||
|------|---------|------|
|
||||
| 🌱 扶持期 | < ¥10 萬 | **申請即可免費授權** |
|
||||
| 🚀 初創期 | ¥10–50 萬 | ¥5,000/年 |
|
||||
| 📈 成長期 | ¥50–150 萬 | ¥20,000/年 |
|
||||
| 🏢 規模期 | ¥150–500 萬 | ¥80,000/年 |
|
||||
| 🌐 企業級 | > ¥500 萬 | 面議 |
|
||||
|
||||
> **不溯及既往條款**:v1.0.8 發佈前基於 AGPL-3.0 使用的使用者,繼續按 AGPL-3.0 執行,不受本協議變更約束。
|
||||
> **不追溯條款**:v1.0.8 發布前基於 AGPL-3.0 使用的使用者,繼續按 AGPL-3.0 執行,不受本協議變更約束。
|
||||
|
||||
完整協議詳見 [LICENSE](./LICENSE) 檔案。
|
||||
|
||||
---
|
||||
|
||||
# ⭐️ Star 歷史
|
||||
# ⭐️ 星標歷史
|
||||
|
||||
[](https://www.star-history.com/#HBAI-Ltd/Toonflow-app)
|
||||
|
||||
@ -667,12 +680,12 @@ Toonflow 基於 Apache-2.0 協定開源發佈,並附有補充商業協議。
|
||||
- [Express](https://expressjs.com/) - 快速、開放、極簡的 Node.js Web 框架
|
||||
- [AI SDK](https://ai-sdk.dev/) - 面向 TypeScript 的 AI 工具包
|
||||
- [Better-SQLite3](https://github.com/WiseLibs/better-sqlite3) - 高效能 SQLite3 綁定庫
|
||||
- [Sharp](https://sharp.pixelplumbing.com/) - 高效能 Node.js 影像處理庫
|
||||
- [Axios](https://axios-http.com/) - 基於 Promise 的 HTTP 用戶端
|
||||
- [Zod](https://zod.dev/) - TypeScript 優先的結構驗證庫
|
||||
- [Sharp](https://sharp.pixelplumbing.com/) - 高效能 Node.js 圖像處理庫
|
||||
- [Axios](https://axios-http.com/) - 基於 Promise 的 HTTP 客戶端
|
||||
- [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 推論庫
|
||||
- [Hugging Face Transformers](https://huggingface.co/docs/transformers.js) - 本地 ML 推理庫
|
||||
|
||||
感謝以下組織/單位/個人為 Toonflow 提供支援:
|
||||
|
||||
@ -681,38 +694,40 @@ Toonflow 基於 Apache-2.0 協定開源發佈,並附有補充商業協議。
|
||||
<tr>
|
||||
<th align="center">Logo</th>
|
||||
<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="算能雲 Logo" width="48"></td>
|
||||
<td align="center"><img src="./docs/sponsored/sophnet.png" alt="算能雲 Logo" width="48"></td>
|
||||
<td align="center"><b>算能雲</b></td>
|
||||
<td align="center">💻 算力贊助</td>
|
||||
<td>致力於打造更快、更穩、更省的一站式模型推理 API 服務平台</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"><img src="./docs/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>全球首個全模態推理平台。對話、圖像、影片、音訊——全部統一 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="騰訊混元3D Logo" width="48"></td>
|
||||
<td align="center"><img src="./docs/sponsored/hunyuan.webp" alt="騰訊混元3D Logo" width="48"></td>
|
||||
<td align="center"><b>騰訊混元3D</b></td>
|
||||
<td align="center">🌐 世界模型技術支持</td>
|
||||
<td>騰訊混元3D AI創作引擎基於騰訊混元3D生成大模型2.5版本,業界首個一站式3D內容AI創作平台。具備文生、圖生3D、3D動畫生成、紋理生成等功能,支援草圖生3D、3D人物生成,具有低多邊形模型生成優勢。</td>
|
||||
<td align="center">🌐 世界模型技術支援</td>
|
||||
<td>騰訊混元3D AI創作引擎基於騰訊混元3D生成大模型2.5版本,業界首個一站式3D內容AI創作平台。具備文生、圖生3D、3D動畫生成、紋理生成等功能,支援草圖生3D、3D人物生成,有低多邊形模型生成優勢。</td>
|
||||
<td align="center"><a href="https://3d.hunyuan.tencent.com/">官網</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
完整的第三方相依性清單請查閱 `NOTICES.txt`
|
||||
完整的第三方依賴清單請查閱 `NOTICES.txt`
|
||||
|
||||
##### copyright © 北京愛阿科技有限公司
|
||||
|
||||
|
||||
##### copyright © 北京艾阿網絡科技有限公司
|
||||
|
||||
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=100§ion=footer" width="100%"/>
|
||||
Loading…
x
Reference in New Issue
Block a user