6.8 KiB
6.8 KiB
Creative Studio MVP 使用指南
快速开始
1. 启动后端
cd backend
.\start.bat
2. 启动前端
cd frontend
npm install
npm run dev
3. 配置 GLM API Key
编辑 backend\.env 文件:
ZHIPUAI_API_KEY=your_api_key_here
获取 API Key: https://open.bigmodel.cn/usercenter/apikeys
完整创作流程演示
步骤 1: 创建项目
- 访问 http://localhost:5173
- 点击 "创建新项目"
- 填写项目信息:
项目名称: 宫廷风云
总集数: 30
世界观设定: 架空朝代天启朝,皇权与相权之争
风格指南: 古风正剧,对话半文半白
主要人物:
李云飞:边关将军,耿直刚正,说话简练直接
苏婉儿:丞相之女,聪慧隐忍,说话含蓄委婉
整体大纲:
EP01-05:相识与相恋,两人被迫分离
EP06-15:宫中斗争,婉儿周旋,云飞征战
EP16-25:真相大白,联手对抗丞相
EP26-30:最终对决,有情人终成眷属
步骤 2: 开始创作
- 进入项目详情页
- 点击 "开始创作 (EP1-EP3)"
- 等待 AI 创作完成(每集约需 30-60 秒)
步骤 3: 查看结果
- 创作完成后,剧集列表会显示已完成
- 点击 "查看内容" 查看剧本
- 可以看到大纲、完整剧本、质量分数
API 使用示例
使用 Swagger UI
1. 查看所有 Skills
GET /api/v1/skills
2. 测试 Skill
POST /api/v1/skills/dialogue_writer_ancient/test
{
"test_input": "请创作一段古风对话:李云飞向苏婉儿告别",
"temperature": 0.7
}
3. 创建项目
POST /api/v1/projects
{
"name": "宫廷风云",
"totalEpisodes": 30,
"globalContext": {
"worldSetting": "架空朝代天启朝...",
"characterProfiles": {
"char_1": {
"name": "李云飞",
"description": "边关将军",
"personality": "耿直刚正",
"speechStyle": "简练直接"
}
}
}
}
4. 执行剧集创作
POST /api/v1/projects/{project_id}/execute
{
"episodeNumber": 1,
"title": "初识"
}
Python 脚本示例
完整创作流程脚本
import requests
import time
BASE_URL = "http://localhost:8000/api/v1"
# 1. 创建项目
project_data = {
"name": "测试项目",
"totalEpisodes": 3,
"globalContext": {
"worldSetting": "架空朝代,皇权与相权之争",
"overallOutline": "EP1-3:相识与相恋"
}
}
response = requests.post(f"{BASE_URL}/projects", json=project_data)
project = response.json()
project_id = project["id"]
print(f"✅ 项目创建成功: {project_id}")
# 2. 执行 EP1 创作
print("\n🎬 开始创作 EP1...")
start_time = time.time()
response = requests.post(
f"{BASE_URL}/projects/{project_id}/execute",
json={"episodeNumber": 1, "title": "初识"}
)
result = response.json()
if result["success"]:
episode = result["episode"]
print(f"✅ EP1 创作完成!")
print(f" 质量分数: {episode['qualityScore']}")
print(f" 创作耗时: {time.time() - start_time:.1f}秒")
print(f"\n📜 剧本预览:")
print(episode["content"][:500] + "...")
else:
print(f"❌ 创作失败: {result['message']}")
# 3. 获取所有剧集
response = requests.get(f"{BASE_URL}/projects/{project_id}/episodes")
episodes = response.json()
print(f"\n📊 已完成 {len(episodes)} 集")
for ep in episodes:
print(f" EP{ep['number']}: {ep['status']} - 分数: {ep.get('qualityScore', 'N/A')}")
批量创作脚本
import requests
import time
BASE_URL = "http://localhost:8000/api/v1"
project_id = "your-project-id"
# 批量创作 EP1-EP5
for ep_num in range(1, 6):
print(f"\n🎬 创作 EP{ep_num}...")
start = time.time()
response = requests.post(
f"{BASE_URL}/projects/{project_id}/execute",
json={"episodeNumber": ep_num}
)
result = response.json()
elapsed = time.time() - start
if result["success"]:
episode = result["episode"]
print(f"✅ 完成 - 分数: {episode['qualityScore']} - 耗时: {elapsed:.1f}秒")
else:
print(f"❌ 失败: {result['message']}")
cURL 示例
创建项目
curl -X POST http://localhost:8000/api/v1/projects \
-H "Content-Type: application/json" \
-d '{
"name": "宫廷风云",
"totalEpisodes": 3,
"globalContext": {
"worldSetting": "架空朝代天启朝",
"overallOutline": "EP1-3:相识与相恋"
}
}'
执行创作
curl -X POST http://localhost:8000/api/v1/projects/{project_id}/execute \
-H "Content-Type: application/json" \
-d '{
"episodeNumber": 1,
"title": "初识"
}'
预期输出示例
创作完成的剧本
【场景】御花园,傍晚,落霞满天
【人物】李云飞、苏婉儿
李云飞:(拱手)苏姑娘,此地不宜久留。
苏婉儿:(轻叹)将军所言极是,只是...
李云飞:(环顾四周)只是什么?
苏婉儿:(低头)只是婉儿不知何时才能再与将军相见。
李云飞:(沉默片刻)三年,三年后我必回来。
苏婉儿:(猛地抬头)三年?太久了...
李云飞:(坚定)这是我能做到的极限。
【场景转换】
宫门之外,李云飞翻身上马,最后回首望向宫墙深处...
故障排查
问题 1: GLM API 调用失败
症状: 创作失败,提示 "GLM API 调用失败"
解决:
- 检查
.env文件中的ZHIPUAI_API_KEY是否正确 - 确认 API Key 有效且有足够额度
- 检查网络连接
问题 2: 创作结果为空
症状: 创作完成但内容为空
解决:
- 查看后端日志
- 尝试降低
temperature参数 - 检查提示词是否过长
问题 3: 前端无法连接后端
症状: 前端报错 "Network Error"
解决:
- 确认后端服务正在运行 (http://localhost:8000)
- 检查 CORS 配置
- 确认前端代理配置正确
MVP 功能限制
当前 MVP 版本的功能限制:
| 功能 | 状态 | 说明 |
|---|---|---|
| 项目管理 | ✅ | 完整支持 |
| 单集执行 | ✅ | 完整支持 |
| 批量执行 | ✅ | 简化实现 |
| 记忆系统 | ⚠️ | 简化版(仅记录事件) |
| 审核系统 | ⚠️ | 简化版(LLM 评分) |
| Agent 管理 | ❌ | 未实现(使用固定 Agent) |
| Skill 配置 | ⚠️ | 仅支持内置 Skills |
| 用户创建 Skill | ✅ | 支持 |
| 数据持久化 | ❌ | 内存存储(重启丢失) |
下一步
MVP 验证通过后,可以继续实现:
- 数据持久化 - 集成 MongoDB 存储项目和剧集
- 完整记忆系统 - 事件时间线、伏笔追踪
- 高级审核 - 多维度审核、问题定位
- Agent 管理 - 可视化 Agent 工作流
- 实时执行监控 - WebSocket 推送创作进度