feat:修改readme关于我们

This commit is contained in:
jiangzj
2026-01-19 17:33:38 +08:00
parent eb0f34a4d1
commit db7103aa51
3 changed files with 235 additions and 113 deletions

View File

@@ -61,22 +61,26 @@ Experience AI short drama generation:
## ✨ Features
### 🎭 Character Management
- ✅ AI-generated character portraits
- ✅ Batch character generation
- ✅ Character image upload and management
### 🎬 Storyboard Production
- ✅ Automatic storyboard script generation
- ✅ Scene descriptions and shot design
- ✅ Storyboard image generation (text-to-image)
- ✅ Frame type selection (first frame/key frame/last frame/panel)
### 🎥 Video Generation
- ✅ Automatic image-to-video generation
- ✅ Video composition and editing
- ✅ Transition effects
### 📦 Asset Management
- ✅ Unified asset library management
- ✅ Local storage support
- ✅ Asset import/export
@@ -88,22 +92,24 @@ Experience AI short drama generation:
### 📋 Prerequisites
| Software | Version | Description |
|----------|---------|-------------|
| **Go** | 1.23+ | Backend runtime |
| **Node.js** | 18+ | Frontend build environment |
| **npm** | 9+ | Package manager |
| **FFmpeg** | 4.0+ | Video processing (**Required**) |
| **SQLite** | 3.x | Database (built-in) |
| Software | Version | Description |
| ----------- | ------- | ------------------------------- |
| **Go** | 1.23+ | Backend runtime |
| **Node.js** | 18+ | Frontend build environment |
| **npm** | 9+ | Package manager |
| **FFmpeg** | 4.0+ | Video processing (**Required**) |
| **SQLite** | 3.x | Database (built-in) |
#### Installing FFmpeg
**macOS:**
```bash
brew install ffmpeg
```
**Ubuntu/Debian:**
```bash
sudo apt update
sudo apt install ffmpeg
@@ -113,6 +119,7 @@ sudo apt install ffmpeg
Download from [FFmpeg Official Site](https://ffmpeg.org/download.html) and configure environment variables
Verify installation:
```bash
ffmpeg -version
```
@@ -132,7 +139,7 @@ Configuration file format (`configs/config.yaml`):
app:
name: "Huobao Drama API"
version: "1.0.0"
debug: true # Set to true for development, false for production
debug: true # Set to true for development, false for production
server:
port: 5678
@@ -160,6 +167,7 @@ ai:
```
**Key Configuration Items:**
- `app.debug`: Debug mode switch (recommended true for development)
- `server.port`: Service port
- `server.cors_origins`: Allowed CORS origins for frontend
@@ -260,12 +268,14 @@ docker logs -f huobao-drama
```
**Local Build** (optional):
```bash
docker build -t huobao-drama:latest .
docker run -d --name huobao-drama -p 5678:5678 -v $(pwd)/data:/app/data huobao-drama:latest
```
**Docker Deployment Advantages:**
- ✅ Ready to use with default configuration
- ✅ Environment consistency, avoiding dependency issues
- ✅ One-click start, no need to install Go, Node.js, FFmpeg
@@ -280,6 +290,7 @@ The container is configured to access host services using `http://host.docker.in
**Configuration Steps:**
1. **Start service on host (listen on all interfaces)**
```bash
export OLLAMA_HOST=0.0.0.0:11434 && ollama serve
```
@@ -306,12 +317,14 @@ go build -o huobao-drama .
```
Generated files:
- `huobao-drama` - Backend executable
- `web/dist/` - Frontend static files (embedded in backend)
#### 2. Prepare Deployment Files
Files to upload to server:
```
huobao-drama # Backend executable
configs/config.yaml # Configuration file
@@ -372,6 +385,7 @@ WantedBy=multi-user.target
```
Start service:
```bash
sudo systemctl daemon-reload
sudo systemctl enable huobao-drama
@@ -401,11 +415,13 @@ sudo systemctl restart huobao-drama
```
**Reason:**
- SQLite requires write permission on both the database file **and** its directory
- Needs to create temporary files in the directory (e.g., `-wal`, `-journal`)
- **Key**: Ensure systemd `User` matches data directory owner
**Common Usernames:**
- Ubuntu/Debian: `www-data`, `ubuntu`
- CentOS/RHEL: `nginx`, `apache`
- Custom deployment: `deploy`, `app`, current logged-in user
@@ -436,6 +452,7 @@ server {
## 🎨 Tech Stack
### Backend
- **Language**: Go 1.23+
- **Web Framework**: Gin 1.9+
- **ORM**: GORM
@@ -445,6 +462,7 @@ server {
- **AI Services**: OpenAI, Gemini, Doubao, etc.
### Frontend
- **Framework**: Vue 3.4+
- **Language**: TypeScript 5+
- **Build Tool**: Vite 5
@@ -454,6 +472,7 @@ server {
- **Router**: Vue Router 4
### Development Tools
- **Package Management**: Go Modules, npm
- **Code Standards**: ESLint, Prettier
- **Version Control**: Git
@@ -463,19 +482,24 @@ server {
## 📝 FAQ
### Q: How can Docker containers access Ollama on the host?
A: Use `http://host.docker.internal:11434/v1` as Base URL. Note two things:
1. Host Ollama needs to listen on `0.0.0.0`: `export OLLAMA_HOST=0.0.0.0:11434 && ollama serve`
2. Linux users using `docker run` need to add: `--add-host=host.docker.internal:host-gateway`
See: [DOCKER_HOST_ACCESS.md](docs/DOCKER_HOST_ACCESS.md)
### Q: FFmpeg not installed or not found?
A: Ensure FFmpeg is installed and in the PATH environment variable. Verify with `ffmpeg -version`.
### Q: Frontend cannot connect to backend API?
A: Check if backend is running and port is correct. In development mode, frontend proxy config is in `web/vite.config.ts`.
### Q: Database tables not created?
A: GORM automatically creates tables on first startup, check logs to confirm migration success.
---
@@ -485,6 +509,7 @@ A: GORM automatically creates tables on first startup, check logs to confirm mig
### v1.0.2 (2026-01-16)
#### 🚀 Major Updates
- Pure Go SQLite driver (`modernc.org/sqlite`), supports `CGO_ENABLED=0` cross-platform compilation
- Optimized concurrency performance (WAL mode), resolved "database is locked" errors
- Docker cross-platform support for `host.docker.internal` to access host services
@@ -493,6 +518,7 @@ A: GORM automatically creates tables on first startup, check logs to confirm mig
### v1.0.1 (2026-01-14)
#### 🐛 Bug Fixes / 🔧 Improvements
- Fixed video generation API response parsing issues
- Added OpenAI Sora video endpoint configuration
- Optimized error handling and logging
@@ -512,13 +538,27 @@ Issues and Pull Requests are welcome!
---
## API Configuration Site
Configure in 2 minutes: [API Aggregation Site](https://api.chatfire.site/models)
## 📧 Contact
Business Contact (WeChat): dangbao1117
---
## 👨‍💻 About Us
**AI Huobao - AI Studio Startup**
- 🏠 **Location**: Nanjing, China
- 🚀 **Status**: Startup in Progress
- 📧 **Email**: [18550175439@163.com](mailto:18550175439@163.com)
- 💬 **WeChat**: dangbao1117 (Personal WeChat - No technical support)
- 🐙 **GitHub**: [https://github.com/chatfire-AI/huobao-drama](https://github.com/chatfire-AI/huobao-drama)
> _"Let AI help us do more creative things"_
## Community Group
![Community Group](drama.png)
- Submit [Issue](../../issues)
- Email project maintainers

View File

@@ -1,8 +1,8 @@
# 🎬 Huobao Drama - AIショートドラマ制作プラットフォーム
# 🎬 Huobao Drama - AI ショートドラマ制作プラットフォーム
<div align="center">
**Go + Vue3 ベースのフルスタックAIショートドラマ自動化プラットフォーム**
**Go + Vue3 ベースのフルスタック AI ショートドラマ自動化プラットフォーム**
[![Go Version](https://img.shields.io/badge/Go-1.23+-00ADD8?style=flat&logo=go)](https://golang.org)
[![Vue Version](https://img.shields.io/badge/Vue-3.x-4FC08D?style=flat&logo=vue.js)](https://vuejs.org)
@@ -18,12 +18,12 @@
## 📖 概要
Huobao Dramaは、脚本生成、キャラクターデザイン、絵コンテ作成から動画合成までの全ワークフローを自動化するAI駆動のショートドラマ制作プラットフォームです。
Huobao Drama は、脚本生成、キャラクターデザイン、絵コンテ作成から動画合成までの全ワークフローを自動化する AI 駆動のショートドラマ制作プラットフォームです。
### 🎯 主要機能
- **🤖 AI駆動**: 大規模言語モデルを使用して脚本を解析し、キャラクター、シーン、絵コンテ情報を抽出
- **🎨 インテリジェント創作**: AIによるキャラクターポートレートとシーン背景の生成
- **🤖 AI 駆動**: 大規模言語モデルを使用して脚本を解析し、キャラクター、シーン、絵コンテ情報を抽出
- **🎨 インテリジェント創作**: AI によるキャラクターポートレートとシーン背景の生成
- **📹 動画生成**: テキストから動画、画像から動画モデルによる絵コンテ動画の自動生成
- **🔄 完全なワークフロー**: アイデアから完成動画までのエンドツーエンド制作ワークフロー
@@ -40,7 +40,7 @@ Huobao Dramaは、脚本生成、キャラクターデザイン、絵コンテ
### 🎥 デモ動画
AIショートドラマ生成を体験
AI ショートドラマ生成を体験:
<div align="center">
@@ -52,7 +52,7 @@ AIショートドラマ生成を体験
<video src="https://ffile.chatfire.site/cf/public/fcede75e8aeafe22031dbf78f86285b8.mp4" controls width="640"></video>
[動画1を見る](https://ffile.chatfire.site/cf/public/20260114094337396.mp4) | [動画2を見る](https://ffile.chatfire.site/cf/public/fcede75e8aeafe22031dbf78f86285b8.mp4)
[動画 1 を見る](https://ffile.chatfire.site/cf/public/20260114094337396.mp4) | [動画 2 を見る](https://ffile.chatfire.site/cf/public/fcede75e8aeafe22031dbf78f86285b8.mp4)
</div>
@@ -61,22 +61,26 @@ AIショートドラマ生成を体験
## ✨ 機能
### 🎭 キャラクター管理
- ✅ AI生成キャラクターポートレート
- ✅ AI 生成キャラクターポートレート
- ✅ バッチキャラクター生成
- ✅ キャラクター画像のアップロードと管理
### 🎬 絵コンテ制作
- ✅ 自動絵コンテスクリプト生成
- ✅ シーン説明とショットデザイン
- ✅ 絵コンテ画像生成(テキストから画像)
- ✅ フレームタイプ選択(先頭フレーム/キーフレーム/末尾フレーム/パネル)
### 🎥 動画生成
- ✅ 画像から動画の自動生成
- ✅ 動画合成と編集
- ✅ トランジション効果
### 📦 アセット管理
- ✅ 統合アセットライブラリ管理
- ✅ ローカルストレージサポート
- ✅ アセットのインポート/エクスポート
@@ -88,31 +92,34 @@ AIショートドラマ生成を体験
### 📋 前提条件
| ソフトウェア | バージョン | 説明 |
|-------------|----------|------|
| **Go** | 1.23+ | バックエンドランタイム |
| **Node.js** | 18+ | フロントエンドビルド環境 |
| **npm** | 9+ | パッケージマネージャー |
| **FFmpeg** | 4.0+ | 動画処理(**必須** |
| **SQLite** | 3.x | データベース(内蔵) |
| ソフトウェア | バージョン | 説明 |
| ------------ | ---------- | ------------------------ |
| **Go** | 1.23+ | バックエンドランタイム |
| **Node.js** | 18+ | フロントエンドビルド環境 |
| **npm** | 9+ | パッケージマネージャー |
| **FFmpeg** | 4.0+ | 動画処理(**必須** |
| **SQLite** | 3.x | データベース(内蔵) |
#### FFmpegのインストール
#### FFmpeg のインストール
**macOS:**
```bash
brew install ffmpeg
```
**Ubuntu/Debian:**
```bash
sudo apt update
sudo apt install ffmpeg
```
**Windows:**
[FFmpeg公式サイト](https://ffmpeg.org/download.html)からダウンロードし、環境変数を設定
[FFmpeg 公式サイト](https://ffmpeg.org/download.html)からダウンロードし、環境変数を設定
インストール確認:
```bash
ffmpeg -version
```
@@ -132,7 +139,7 @@ vim configs/config.yaml
app:
name: "Huobao Drama API"
version: "1.0.0"
debug: true # 開発環境ではtrue、本番環境ではfalseに設定
debug: true # 開発環境ではtrue、本番環境ではfalseに設定
server:
port: 5678
@@ -160,13 +167,14 @@ ai:
```
**主要設定項目:**
- `app.debug`: デバッグモードスイッチ開発環境ではtrueを推奨
- `app.debug`: デバッグモードスイッチ(開発環境では true を推奨)
- `server.port`: サービスポート
- `server.cors_origins`: フロントエンドの許可CORSオリジン
- `database.path`: SQLiteデータベースファイルパス
- `server.cors_origins`: フロントエンドの許可 CORS オリジン
- `database.path`: SQLite データベースファイルパス
- `storage.local_path`: ローカルファイルストレージパス
- `storage.base_url`: 静的リソースアクセスURL
- `ai.default_*_provider`: AIサービスプロバイダー設定APIキーはWeb UIで設定
- `storage.base_url`: 静的リソースアクセス URL
- `ai.default_*_provider`: AI サービスプロバイダー設定API キーは Web UI で設定)
### 📥 インストール
@@ -186,7 +194,7 @@ cd ..
### 🎯 プロジェクトの起動
#### 方法1: 開発モード(推奨)
#### 方法 1: 開発モード(推奨)
**フロントエンドとバックエンドを分離、ホットリロード対応**
@@ -200,12 +208,12 @@ npm run dev
```
- フロントエンド: `http://localhost:3012`
- バックエンドAPI: `http://localhost:5678/api/v1`
- フロントエンドはAPIリクエストを自動的にバックエンドにプロキシ
- バックエンド API: `http://localhost:5678/api/v1`
- フロントエンドは API リクエストを自動的にバックエンドにプロキシ
#### 方法2: シングルサービスモード
#### 方法 2: シングルサービスモード
**バックエンドがAPIとフロントエンド静的ファイルの両方を提供**
**バックエンドが API とフロントエンド静的ファイルの両方を提供**
```bash
# 1. フロントエンドをビルド
@@ -221,15 +229,15 @@ go run main.go
### 🗄️ データベース初期化
データベーステーブルは初回起動時に自動作成されますGORM AutoMigrateを使用。手動マイグレーションは不要です。
データベーステーブルは初回起動時に自動作成されますGORM AutoMigrate を使用)。手動マイグレーションは不要です。
---
## 📦 デプロイ
### 🐳 Dockerデプロイ推奨
### 🐳 Docker デプロイ(推奨)
#### 方法1: Docker Compose推奨
#### 方法 1: Docker Compose推奨
```bash
# サービスを起動
@@ -242,9 +250,9 @@ docker-compose logs -f
docker-compose down
```
#### 方法2: Dockerコマンド
#### 方法 2: Docker コマンド
> **注意**: Linuxユーザーはホストサービスにアクセスするために `--add-host=host.docker.internal:host-gateway` を追加する必要があります
> **注意**: Linux ユーザーはホストサービスにアクセスするために `--add-host=host.docker.internal:host-gateway` を追加する必要があります
```bash
# Docker Hubから実行
@@ -260,15 +268,17 @@ docker logs -f huobao-drama
```
**ローカルビルド**(オプション):
```bash
docker build -t huobao-drama:latest .
docker run -d --name huobao-drama -p 5678:5678 -v $(pwd)/data:/app/data huobao-drama:latest
```
**Dockerデプロイの利点**
**Docker デプロイの利点:**
- ✅ デフォルト設定ですぐに使用可能
- ✅ 環境の一貫性、依存関係の問題を回避
- ✅ ワンクリック起動、Go、Node.js、FFmpegのインストール不要
- ✅ ワンクリック起動、Go、Node.js、FFmpeg のインストール不要
- ✅ 移行とスケーリングが容易
- ✅ 自動ヘルスチェックと再起動
- ✅ ファイル権限の自動処理
@@ -280,11 +290,12 @@ docker run -d --name huobao-drama -p 5678:5678 -v $(pwd)/data:/app/data huobao-d
**設定手順:**
1. **ホストでサービスを起動(全インターフェースでリッスン)**
```bash
export OLLAMA_HOST=0.0.0.0:11434 && ollama serve
```
2. **フロントエンドAIサービス設定**
2. **フロントエンド AI サービス設定**
- Base URL: `http://host.docker.internal:11434/v1`
- Provider: `openai`
- Model: `qwen2.5:latest`
@@ -306,12 +317,14 @@ go build -o huobao-drama .
```
生成ファイル:
- `huobao-drama` - バックエンド実行ファイル
- `web/dist/` - フロントエンド静的ファイル(バックエンドに埋め込み)
#### 2. デプロイファイルの準備
サーバーにアップロードするファイル:
```
huobao-drama # バックエンド実行ファイル
configs/config.yaml # 設定ファイル
@@ -347,7 +360,7 @@ chmod +x huobao-drama
./huobao-drama
```
#### 4. systemdでサービス管理
#### 4. systemd でサービス管理
サービスファイル `/etc/systemd/system/huobao-drama.service` を作成:
@@ -372,6 +385,7 @@ WantedBy=multi-user.target
```
サービスを起動:
```bash
sudo systemctl daemon-reload
sudo systemctl enable huobao-drama
@@ -379,7 +393,7 @@ sudo systemctl start huobao-drama
sudo systemctl status huobao-drama
```
**⚠️ よくある問題: SQLite書き込み権限エラー**
**⚠️ よくある問題: SQLite 書き込み権限エラー**
`attempt to write a readonly database` エラーが発生した場合:
@@ -401,16 +415,18 @@ sudo systemctl restart huobao-drama
```
**原因:**
- SQLiteはデータベースファイル**と**そのディレクトリの両方に書き込み権限が必要
- SQLite はデータベースファイル**と**そのディレクトリの両方に書き込み権限が必要
- ディレクトリ内に一時ファイル(例: `-wal`、`-journal`)を作成する必要がある
- **重要**: systemdの`User`がデータディレクトリの所有者と一致していることを確認
- **重要**: systemd の`User`がデータディレクトリの所有者と一致していることを確認
**一般的なユーザー名:**
- Ubuntu/Debian: `www-data`、`ubuntu`
- CentOS/RHEL: `nginx`、`apache`
- カスタムデプロイ: `deploy`、`app`、現在ログインしているユーザー
#### 5. Nginxリバースプロキシ
#### 5. Nginx リバースプロキシ
```nginx
server {
@@ -436,24 +452,27 @@ server {
## 🎨 技術スタック
### バックエンド
- **言語**: Go 1.23+
- **Webフレームワーク**: Gin 1.9+
- **Web フレームワーク**: Gin 1.9+
- **ORM**: GORM
- **データベース**: SQLite
- **ログ**: Zap
- **動画処理**: FFmpeg
- **AIサービス**: OpenAI、Gemini、Doubaoなど
- **AI サービス**: OpenAI、Gemini、Doubao など
### フロントエンド
- **フレームワーク**: Vue 3.4+
- **言語**: TypeScript 5+
- **ビルドツール**: Vite 5
- **UIコンポーネント**: Element Plus
- **CSSフレームワーク**: TailwindCSS
- **UI コンポーネント**: Element Plus
- **CSS フレームワーク**: TailwindCSS
- **状態管理**: Pinia
- **ルーター**: Vue Router 4
### 開発ツール
- **パッケージ管理**: Go Modules、npm
- **コード規約**: ESLint、Prettier
- **バージョン管理**: Git
@@ -462,21 +481,26 @@ server {
## 📝 よくある質問
### Q: DockerコンテナからホストのOllamaにアクセスするには
A: Base URLとして `http://host.docker.internal:11434/v1` を使用します。注意点:
1. ホストのOllamaは `0.0.0.0` でリッスンする必要があります: `export OLLAMA_HOST=0.0.0.0:11434 && ollama serve`
2. `docker run` を使用するLinuxユーザーは追加が必要: `--add-host=host.docker.internal:host-gateway`
### Q: Docker コンテナからホストの Ollama にアクセスするには?
A: Base URL として `http://host.docker.internal:11434/v1` を使用します。注意点:
1. ホストの Ollama は `0.0.0.0` でリッスンする必要があります: `export OLLAMA_HOST=0.0.0.0:11434 && ollama serve`
2. `docker run` を使用する Linux ユーザーは追加が必要: `--add-host=host.docker.internal:host-gateway`
詳細: [DOCKER_HOST_ACCESS.md](docs/DOCKER_HOST_ACCESS.md)
### Q: FFmpegがインストールされていない、または見つからない
A: FFmpegがインストールされ、PATH環境変数に含まれていることを確認してください。`ffmpeg -version` で確認。
### Q: FFmpeg がインストールされていない、または見つからない?
A: FFmpeg がインストールされ、PATH 環境変数に含まれていることを確認してください。`ffmpeg -version` で確認。
### Q: フロントエンドがバックエンド API に接続できない?
### Q: フロントエンドがバックエンドAPIに接続できない
A: バックエンドが実行中で、ポートが正しいか確認してください。開発モードでは、フロントエンドプロキシ設定は `web/vite.config.ts` にあります。
### Q: データベーステーブルが作成されない?
A: GORMは初回起動時にテーブルを自動作成します。ログでマイグレーション成功を確認してください。
A: GORM は初回起動時にテーブルを自動作成します。ログでマイグレーション成功を確認してください。
---
@@ -485,40 +509,56 @@ A: GORMは初回起動時にテーブルを自動作成します。ログでマ
### v1.0.2 (2026-01-16)
#### 🚀 主要アップデート
- 純粋なGo SQLiteドライバー`modernc.org/sqlite`)、`CGO_ENABLED=0` クロスプラットフォームコンパイルをサポート
- 並行性能を最適化WALモード、"database is locked" エラーを解決
- ホストサービスへのアクセス用 `host.docker.internal` のDockerクロスプラットフォームサポート
- 純粋な Go SQLite ドライバー(`modernc.org/sqlite`)、`CGO_ENABLED=0` クロスプラットフォームコンパイルをサポート
- 並行性能を最適化WAL モード)、"database is locked" エラーを解決
- ホストサービスへのアクセス用 `host.docker.internal` の Docker クロスプラットフォームサポート
- ドキュメントとデプロイガイドの簡素化
### v1.0.1 (2026-01-14)
#### 🐛 バグ修正 / 🔧 改善
- 動画生成APIレスポンスのパース問題を修正
- OpenAI Sora動画エンドポイント設定を追加
- 動画生成 API レスポンスのパース問題を修正
- OpenAI Sora 動画エンドポイント設定を追加
- エラー処理とログ出力を最適化
---
## 🤝 コントリビューション
IssuePull Requestを歓迎します
IssuePull Request を歓迎します!
1. このプロジェクトをフォーク
2. フィーチャーブランチを作成 (`git checkout -b feature/AmazingFeature`)
3. 変更をコミット (`git commit -m 'Add some AmazingFeature'`)
4. ブランチにプッシュ (`git push origin feature/AmazingFeature`)
5. Pull Requestを作成
5. Pull Request を作成
---
## API設定サイト
2分で設定完了: [API集約サイト](https://api.chatfire.site/models)
## API 設定サイト
## 📧 連絡先
ビジネス連絡先WeChat: dangbao1117
2 分で設定完了: [API 集約サイト](https://api.chatfire.site/models)
---
## 👨‍💻 私たちについて
**AI 火宝 - AI スタジオ起業中**
- 🏠 **所在地**: 中国南京
- 🚀 **ステータス**: 起業中
- 📧 **Email**: [18550175439@163.com](mailto:18550175439@163.com)
- 💬 **WeChat**: dangbao1117 (個人 WeChat - 技術的な質問には対応しません)
- 🐙 **GitHub**: [https://github.com/chatfire-AI/huobao-drama](https://github.com/chatfire-AI/huobao-drama)
> _「AI に私たちのより創造的なことを手伝ってもらおう」_
## コミュニティグループ
![コミュニティグループ](drama.png)
- [Issue](../../issues)を提出
- プロジェクトメンテナにメール
@@ -526,9 +566,9 @@ IssueとPull Requestを歓迎します
<div align="center">
**⭐ このプロジェクトが役に立ったら、Starをお願いします**
**⭐ このプロジェクトが役に立ったら、Star をお願いします!**
## Star履歴
## Star 履歴
[![Star History Chart](https://api.star-history.com/svg?repos=chatfire-AI/huobao-drama&type=date&legend=top-left)](https://www.star-history.com/#chatfire-AI/huobao-drama&type=date&legend=top-left)

116
README.md
View File

@@ -1,8 +1,8 @@
# 🎬 Huobao Drama - AI短剧生成平台
# 🎬 Huobao Drama - AI 短剧生成平台
<div align="center">
**基于 Go + Vue3 的全栈AI短剧自动化生产平台**
**基于 Go + Vue3 的全栈 AI 短剧自动化生产平台**
[![Go Version](https://img.shields.io/badge/Go-1.23+-00ADD8?style=flat&logo=go)](https://golang.org)
[![Vue Version](https://img.shields.io/badge/Vue-3.x-4FC08D?style=flat&logo=vue.js)](https://vuejs.org)
@@ -18,20 +18,20 @@
## 📖 项目简介 / About
Huobao Drama 是一个基于AI的短剧自动化生产平台实现从剧本生成、角色设计、分镜制作到视频合成的全流程自动化。
Huobao Drama 是一个基于 AI 的短剧自动化生产平台,实现从剧本生成、角色设计、分镜制作到视频合成的全流程自动化。
Huobao Drama is an AI-powered short drama production platform that automates the entire workflow from script generation, character design, storyboarding to video composition.
### 🎯 核心价值 / Core Features
- **🤖 AI驱动 / AI-Driven**:使用大语言模型解析剧本,提取角色、场景和分镜信息 | Parse scripts using large language models to extract characters, scenes, and storyboards
- **🎨 智能创作 / Intelligent Creation**AI绘图生成角色形象和场景背景 | AI-generated character portraits and scene backgrounds
- **🤖 AI 驱动 / AI-Driven**:使用大语言模型解析剧本,提取角色、场景和分镜信息 | Parse scripts using large language models to extract characters, scenes, and storyboards
- **🎨 智能创作 / Intelligent Creation**AI 绘图生成角色形象和场景背景 | AI-generated character portraits and scene backgrounds
- **📹 视频生成 / Video Generation**:基于文生视频和图生视频模型自动生成分镜视频 | Automatic storyboard video generation using text-to-video and image-to-video models
- **🔄 工作流 / Workflow**:完整的短剧制作工作流,从创意到成片一站式完成 | Complete production workflow from idea to final video
### 🛠️ 技术架构
采用**DDD领域驱动设计**,清晰分层:
采用**DDD 领域驱动设计**,清晰分层:
```
├── API层 (Gin HTTP)
@@ -63,22 +63,26 @@ Huobao Drama is an AI-powered short drama production platform that automates the
## ✨ 功能特性
### 🎭 角色管理
- ✅ AI生成角色形象
- ✅ AI 生成角色形象
- ✅ 批量角色生成
- ✅ 角色图片上传和管理
### 🎬 分镜制作
- ✅ 自动生成分镜脚本
- ✅ 场景描述和镜头设计
- ✅ 分镜图片生成(文生图)
- ✅ 帧类型选择(首帧/关键帧/尾帧/分镜板)
### 🎥 视频生成
- ✅ 图生视频自动生成
- ✅ 视频合成和剪辑
- ✅ 转场效果
### 📦 资源管理
- ✅ 素材库统一管理
- ✅ 本地存储支持
- ✅ 资源导入导出
@@ -90,31 +94,34 @@ Huobao Drama is an AI-powered short drama production platform that automates the
### 📋 环境要求
| 软件 | 版本要求 | 说明 |
|------|---------|------|
| **Go** | 1.23+ | 后端运行环境 |
| **Node.js** | 18+ | 前端构建环境 |
| **npm** | 9+ | 包管理工具 |
| **FFmpeg** | 4.0+ | 视频处理(**必需** |
| **SQLite** | 3.x | 数据库(已内置) |
| 软件 | 版本要求 | 说明 |
| ----------- | -------- | -------------------- |
| **Go** | 1.23+ | 后端运行环境 |
| **Node.js** | 18+ | 前端构建环境 |
| **npm** | 9+ | 包管理工具 |
| **FFmpeg** | 4.0+ | 视频处理(**必需** |
| **SQLite** | 3.x | 数据库(已内置) |
#### 安装 FFmpeg
**macOS:**
```bash
brew install ffmpeg
```
**Ubuntu/Debian:**
```bash
sudo apt update
sudo apt install ffmpeg
```
**Windows:**
从 [FFmpeg官网](https://ffmpeg.org/download.html) 下载并配置环境变量
从 [FFmpeg 官网](https://ffmpeg.org/download.html) 下载并配置环境变量
验证安装:
```bash
ffmpeg -version
```
@@ -134,7 +141,7 @@ vim configs/config.yaml
app:
name: "Huobao Drama API"
version: "1.0.0"
debug: true # 开发环境设为true生产环境设为false
debug: true # 开发环境设为true生产环境设为false
server:
port: 5678
@@ -162,13 +169,14 @@ ai:
```
**重要配置项:**
- `app.debug`: 调试模式开关开发环境建议设为true
- `app.debug`: 调试模式开关(开发环境建议设为 true
- `server.port`: 服务运行端口
- `server.cors_origins`: 允许跨域访问的前端地址
- `database.path`: SQLite数据库文件路径
- `database.path`: SQLite 数据库文件路径
- `storage.local_path`: 本地文件存储路径
- `storage.base_url`: 静态资源访问URL
- `ai.default_*_provider`: AI服务提供商配置在Web界面中配置具体的API Key
- `storage.base_url`: 静态资源访问 URL
- `ai.default_*_provider`: AI 服务提供商配置(在 Web 界面中配置具体的 API Key
### 📥 安装依赖
@@ -202,12 +210,12 @@ npm run dev
```
- 前端地址: `http://localhost:3012`
- 后端API: `http://localhost:5678/api/v1`
- 前端自动代理API请求到后端
- 后端 API: `http://localhost:5678/api/v1`
- 前端自动代理 API 请求到后端
#### 方式二:单服务模式
**后端同时提供API和前端静态文件**
**后端同时提供 API 和前端静态文件**
```bash
# 1. 构建前端
@@ -223,7 +231,7 @@ go run main.go
### 🗄️ 数据库初始化
数据库表会在首次启动时自动创建使用GORM AutoMigrate无需手动迁移。
数据库表会在首次启动时自动创建(使用 GORM AutoMigrate无需手动迁移。
---
@@ -262,12 +270,14 @@ docker logs -f huobao-drama
```
**本地构建**(可选):
```bash
docker build -t huobao-drama:latest .
docker run -d --name huobao-drama -p 5678:5678 -v $(pwd)/data:/app/data huobao-drama:latest
```
**Docker 部署优势:**
- ✅ 开箱即用,内置默认配置
- ✅ 环境一致性,避免依赖问题
- ✅ 一键启动,无需安装 Go、Node.js、FFmpeg
@@ -282,6 +292,7 @@ docker run -d --name huobao-drama -p 5678:5678 -v $(pwd)/data:/app/data huobao-d
**配置步骤:**
1. **宿主机启动服务(监听所有接口)**
```bash
export OLLAMA_HOST=0.0.0.0:11434 && ollama serve
```
@@ -308,12 +319,14 @@ go build -o huobao-drama .
```
生成文件:
- `huobao-drama` - 后端可执行文件
- `web/dist/` - 前端静态文件(已嵌入后端)
#### 2. 准备部署文件
需要上传到服务器的文件:
```
huobao-drama # 后端可执行文件
configs/config.yaml # 配置文件
@@ -374,6 +387,7 @@ WantedBy=multi-user.target
```
启动服务:
```bash
sudo systemctl daemon-reload
sudo systemctl enable huobao-drama
@@ -403,11 +417,13 @@ sudo systemctl restart huobao-drama
```
**原因说明**
- SQLite 需要对数据库文件 **和** 所在目录都有写权限
- 需要在目录中创建临时文件(如 `-wal`、`-journal`
- **关键**:确保 systemd 配置中的 `User` 与数据目录所有者一致
**常用用户名**
- Ubuntu/Debian: `www-data`、`ubuntu`
- CentOS/RHEL: `nginx`、`apache`
- 自定义部署: `deploy`、`app`、当前登录用户
@@ -438,24 +454,27 @@ server {
## 🎨 技术栈
### 后端技术
- **语言**: Go 1.23+
- **Web框架**: Gin 1.9+
- **Web 框架**: Gin 1.9+
- **ORM**: GORM
- **数据库**: SQLite
- **日志**: Zap
- **视频处理**: FFmpeg
- **AI服务**: OpenAI、Gemini、火山等
- **AI 服务**: OpenAI、Gemini、火山等
### 前端技术
- **框架**: Vue 3.4+
- **语言**: TypeScript 5+
- **构建工具**: Vite 5
- **UI组件**: Element Plus
- **CSS框架**: TailwindCSS
- **UI 组件**: Element Plus
- **CSS 框架**: TailwindCSS
- **状态管理**: Pinia
- **路由**: Vue Router 4
### 开发工具
- **包管理**: Go Modules, npm
- **代码规范**: ESLint, Prettier
- **版本控制**: Git
@@ -465,20 +484,25 @@ server {
## 📝 常见问题
### Q: Docker 容器如何访问宿主机的 Ollama
A: 使用 `http://host.docker.internal:11434/v1` 作为 Base URL。注意两点
1. 宿主机 Ollama 需监听 `0.0.0.0``export OLLAMA_HOST=0.0.0.0:11434 && ollama serve`
2. Linux 用户使用 `docker run` 需添加:`--add-host=host.docker.internal:host-gateway`
详见:[DOCKER_HOST_ACCESS.md](docs/DOCKER_HOST_ACCESS.md)
### Q: FFmpeg未安装或找不到
A: 确保FFmpeg已安装并在PATH环境变量中。运行 `ffmpeg -version` 验证。
### Q: FFmpeg 未安装或找不到?
A: 确保 FFmpeg 已安装并在 PATH 环境变量中。运行 `ffmpeg -version` 验证。
### Q: 前端无法连接后端 API
### Q: 前端无法连接后端API
A: 检查后端是否启动,端口是否正确。开发模式下前端代理配置在 `web/vite.config.ts`。
### Q: 数据库表未创建?
A: GORM会在首次启动时自动创建表检查日志确认迁移是否成功。
A: GORM 会在首次启动时自动创建表,检查日志确认迁移是否成功。
---
@@ -487,6 +511,7 @@ A: GORM会在首次启动时自动创建表检查日志确认迁移是否成
### v1.0.2 (2026-01-16)
#### 🚀 重大更新
- SQLite 纯 Go 驱动(`modernc.org/sqlite`),支持 `CGO_ENABLED=0` 跨平台编译
- 优化并发性能WAL 模式),解决 "database is locked" 错误
- Docker 跨平台支持 `host.docker.internal` 访问宿主机服务
@@ -495,6 +520,7 @@ A: GORM会在首次启动时自动创建表检查日志确认迁移是否成
### v1.0.1 (2026-01-14)
#### 🐛 Bug Fixes / 🔧 Improvements
- 修复视频生成 API 响应解析问题
- 添加 OpenAI Sora 视频端点配置
- 优化错误处理和日志输出
@@ -513,13 +539,28 @@ A: GORM会在首次启动时自动创建表检查日志确认迁移是否成
---
## API配置站点
2分钟完成配置[API聚合站点](https://api.chatfire.site/models)
## API 配置站点
2 分钟完成配置:[API 聚合站点](https://api.chatfire.site/models)
---
## 👨‍💻 关于我们
**AI 火宝 - AI 工作室创业中**
- 🏠 **位置**: 中国南京
- 🚀 **状态**: 创业中
- 📧 **Email**: [18550175439@163.com](mailto:18550175439@163.com)
- 💬 **微信**: dangbao1117 (私人微信不解答任何技术问题)
- 🐙 **GitHub**: [https://github.com/chatfire-AI/huobao-drama](https://github.com/chatfire-AI/huobao-drama)
> _"让 AI 帮我们做更有创造力的事"_
## 📧 联系方式
商务联系Vdangbao1117
## 项目交流群
![项目交流群](drama.png)
- 提交 [Issue](../../issues)
- 发送邮件至项目维护者
@@ -527,7 +568,8 @@ A: GORM会在首次启动时自动创建表检查日志确认迁移是否成
<div align="center">
**⭐ 如果这个项目对你有帮助请给一个Star**
**⭐ 如果这个项目对你有帮助,请给一个 Star**
## Star History
[![Star History Chart](https://api.star-history.com/svg?repos=chatfire-AI/huobao-drama&type=date&legend=top-left)](https://www.star-history.com/#chatfire-AI/huobao-drama&type=date&legend=top-left)