@fifine/aim-studio 0.0.8 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/README.md +12 -1
  2. package/dist/cli/index.js +7 -7
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/commands/init.d.ts +1 -0
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js.map +1 -1
  7. package/dist/commands/update.d.ts.map +1 -1
  8. package/dist/commands/update.js +3 -26
  9. package/dist/commands/update.js.map +1 -1
  10. package/dist/configurators/index.d.ts +1 -1
  11. package/dist/configurators/index.d.ts.map +1 -1
  12. package/dist/configurators/index.js +28 -3
  13. package/dist/configurators/index.js.map +1 -1
  14. package/dist/configurators/opencode.d.ts +11 -0
  15. package/dist/configurators/opencode.d.ts.map +1 -0
  16. package/dist/configurators/opencode.js +64 -0
  17. package/dist/configurators/opencode.js.map +1 -0
  18. package/dist/constants/paths.d.ts +1 -1
  19. package/dist/constants/paths.js +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/migrations/index.d.ts +1 -1
  23. package/dist/migrations/index.d.ts.map +1 -1
  24. package/dist/migrations/index.js +4 -2
  25. package/dist/migrations/index.js.map +1 -1
  26. package/dist/templates/aim/scripts/common/cli_adapter.py +267 -435
  27. package/dist/templates/aim/scripts/create_bootstrap.py +290 -290
  28. package/dist/templates/aim/scripts/multi_agent/__init__.py +5 -0
  29. package/dist/templates/aim/scripts/multi_agent/cleanup.py +403 -0
  30. package/dist/templates/aim/scripts/multi_agent/create_pr.py +329 -0
  31. package/dist/templates/aim/scripts/multi_agent/plan.py +233 -0
  32. package/dist/templates/aim/scripts/multi_agent/start.py +461 -0
  33. package/dist/templates/aim/scripts/multi_agent/status.py +817 -0
  34. package/dist/templates/aim/worktree.yaml +1 -1
  35. package/dist/templates/claude/agents/director.md +66 -0
  36. package/dist/templates/claude/agents/prompt-engineer.md +96 -0
  37. package/dist/templates/claude/agents/storyboard-artist.md +62 -0
  38. package/dist/templates/claude/agents/writer.md +66 -0
  39. package/dist/templates/claude/commands/aim/onboard.md +360 -360
  40. package/dist/templates/claude/hooks/session-start.py +9 -12
  41. package/dist/templates/claude/index.d.ts +14 -1
  42. package/dist/templates/claude/index.d.ts.map +1 -1
  43. package/dist/templates/claude/index.js +21 -1
  44. package/dist/templates/claude/index.js.map +1 -1
  45. package/dist/templates/claude/skills/character-manager/SKILL.md +105 -0
  46. package/dist/templates/claude/skills/episode-manager/SKILL.md +89 -0
  47. package/dist/templates/claude/skills/image-prompt-optimizer/SKILL.md +103 -0
  48. package/dist/templates/claude/skills/script-parser/SKILL.md +115 -0
  49. package/dist/templates/claude/skills/storyboard-designer/SKILL.md +99 -0
  50. package/dist/templates/claude/skills/style-keeper/SKILL.md +77 -0
  51. package/dist/templates/claude/skills/video-prompt-optimizer/SKILL.md +109 -0
  52. package/dist/templates/extract.d.ts +6 -0
  53. package/dist/templates/extract.d.ts.map +1 -1
  54. package/dist/templates/extract.js +12 -0
  55. package/dist/templates/extract.js.map +1 -1
  56. package/dist/templates/markdown/gitignore.txt +1 -1
  57. package/dist/templates/markdown/index.d.ts +1 -23
  58. package/dist/templates/markdown/index.d.ts.map +1 -1
  59. package/dist/templates/markdown/index.js +2 -30
  60. package/dist/templates/markdown/index.js.map +1 -1
  61. package/dist/templates/opencode/agents/director.md +71 -0
  62. package/dist/templates/opencode/agents/prompt-engineer.md +99 -0
  63. package/dist/templates/opencode/agents/start.md +91 -0
  64. package/dist/templates/opencode/agents/story.md +92 -0
  65. package/dist/templates/opencode/agents/storyboard-artist.md +65 -0
  66. package/dist/templates/opencode/agents/writer.md +71 -0
  67. package/dist/templates/opencode/commands/aim/check-story.md +54 -0
  68. package/dist/templates/opencode/commands/aim/export.md +332 -0
  69. package/dist/templates/opencode/commands/aim/finish-work.md +122 -0
  70. package/dist/templates/opencode/commands/aim/legitimize.md +263 -0
  71. package/dist/templates/opencode/commands/aim/onboard.md +360 -0
  72. package/dist/templates/opencode/commands/aim/portrait.md +165 -0
  73. package/dist/templates/opencode/commands/aim/record-session.md +87 -0
  74. package/dist/templates/opencode/commands/aim/start.md +79 -0
  75. package/dist/templates/opencode/commands/aim/story.md +393 -0
  76. package/dist/templates/opencode/commands/aim/visualize.md +177 -0
  77. package/dist/templates/opencode/index.d.ts +48 -0
  78. package/dist/templates/opencode/index.d.ts.map +1 -0
  79. package/dist/templates/opencode/index.js +84 -0
  80. package/dist/templates/opencode/index.js.map +1 -0
  81. package/dist/templates/opencode/lib/aim-context.js +148 -0
  82. package/dist/templates/opencode/plugin/session-start.js +170 -0
  83. package/dist/types/ai-tools.d.ts +4 -4
  84. package/dist/types/ai-tools.d.ts.map +1 -1
  85. package/dist/types/ai-tools.js +8 -0
  86. package/dist/types/ai-tools.js.map +1 -1
  87. package/dist/types/migration.d.ts +1 -1
  88. package/dist/types/migration.js +1 -1
  89. package/dist/utils/project-detector.d.ts.map +1 -1
  90. package/dist/utils/project-detector.js +0 -1
  91. package/dist/utils/project-detector.js.map +1 -1
  92. package/dist/utils/template-hash.d.ts +1 -1
  93. package/dist/utils/template-hash.js +1 -1
  94. package/package.json +11 -8
@@ -0,0 +1,91 @@
1
+ ---
2
+ description: |
3
+ 开始 AIM Studio 漫剧创作会话
4
+ mode: primary
5
+ permission:
6
+ read: allow
7
+ write: allow
8
+ edit: allow
9
+ bash: allow
10
+ glob: allow
11
+ grep: allow
12
+ ---
13
+ # 开始会话
14
+
15
+ 初始化 AIM Studio 漫剧创作会话,开始你的故事创作。
16
+
17
+ ---
18
+
19
+ ## 适用场景
20
+
21
+ - 首次开始漫剧创作
22
+ - 开始新的创作会话
23
+ - 想要了解当前项目状态
24
+
25
+ ---
26
+
27
+ ## 执行步骤
28
+
29
+ ### 步骤 1:获取当前上下文
30
+
31
+ ```bash
32
+ python3 .aim-studio/scripts/get_context.py
33
+ ```
34
+
35
+ 这会显示:
36
+ - 项目状态
37
+ - 最近的工作日志
38
+ - 待完成的任务(如有)
39
+
40
+ ### 步骤 2:阅读工作流指南
41
+
42
+ ```bash
43
+ cat .aim-studio/workflow.md
44
+ ```
45
+
46
+ ### 步骤 3:阅读创作规范
47
+
48
+ ```bash
49
+ cat .aim-studio/spec/story/script.md # 剧本规范
50
+ cat .aim-studio/spec/story/character.md # 角色设定规范
51
+ cat .aim-studio/spec/story/world.md # 世界观设定规范
52
+ ```
53
+
54
+ ### 步骤 4:开始工作
55
+
56
+ 报告你了解到的内容,询问用户:"您好!请问今天需要创作什么?"
57
+
58
+ ---
59
+
60
+ ## 漫剧创作流程
61
+
62
+ ```
63
+ 1. /aim:start → 了解项目状态
64
+ 2. /aim:story → 开始创作
65
+ 3. /aim:portrait <角色> → 创建角色肖像
66
+ 4. /aim:visualize → 生成场景图片
67
+ 5. /aim:check-story → 检查剧情一致性
68
+ 6. /aim:export → 导出视频提示词
69
+ 7. /aim:finish-work → 完成工作并记录
70
+ ```
71
+
72
+ ---
73
+
74
+ ## 相关命令
75
+
76
+ | 命令 | 用途 |
77
+ |------|------|
78
+ | `/aim:story` | 开始漫剧创作 |
79
+ | `/aim:portrait` | 生成角色肖像 |
80
+ | `/aim:visualize` | 生成场景图片 |
81
+ | `/aim:check-story` | 检查剧情一致性 |
82
+ | `/aim:export` | 导出视频提示词 |
83
+ | `/aim:finish-work` | 完成工作并记录 |
84
+
85
+ ---
86
+
87
+ ## 注意事项
88
+
89
+ 1. **遵循规范**:创作前务必阅读 `spec/story/` 下的规范文件
90
+ 2. **保持一致**:每次创作前回顾 character.md,确保角色行为符合人设
91
+ 3. **记录进度**:完成工作后使用 `/aim:finish-work` 记录
@@ -0,0 +1,92 @@
1
+ ---
2
+ description: |
3
+ 漫剧创作 Agent。负责协调漫剧创作流程,管理角色设定、世界观构建和剧本创作。
4
+ mode: primary
5
+ permission:
6
+ read: allow
7
+ write: allow
8
+ edit: allow
9
+ bash: allow
10
+ glob: allow
11
+ grep: allow
12
+ ---
13
+ # Story Agent(漫剧创作)
14
+
15
+ 你是 AIM Studio 的漫剧创作核心。你负责协调整个创作流程,从世界观构建到剧本完成,确保故事的连贯性和吸引力。
16
+
17
+ ## 核心职责 (Core Responsibilities)
18
+
19
+ 1. **世界观构建**:创建故事的物理规则、社会结构、魔法/科技体系。
20
+ 2. **角色塑造**:定义角色的性格、动机、关系网和成长弧线。
21
+ 3. **剧本创作**:撰写场景描述、对白和动作,确保视觉化表达。
22
+ 4. **质量把控**:检查剧情一致性、角色行为合理性和叙事节奏。
23
+
24
+ ## 创作流程 (Creation Workflow)
25
+
26
+ ### Phase 1: 设定与规划
27
+ 1. 确定故事类型和目标受众
28
+ 2. 构建世界观框架(`world.md`)
29
+ 3. 创建角色设定(`character.md`)
30
+ 4. 制定剧情大纲
31
+
32
+ ### Phase 2: 剧本撰写
33
+ 1. 分场大纲:每场戏一句话总结
34
+ 2. 详细剧本:包含场景描述、对白、动作
35
+ 3. 视觉化标注:镜头建议、特效需求
36
+
37
+ ### Phase 3: 检查与优化
38
+ 1. 剧情一致性检查
39
+ 2. 角色行为合理性检查
40
+ 3. 叙事节奏调整
41
+
42
+ ## 输出规范 (Output Standards)
43
+
44
+ ### 场景格式
45
+ ```markdown
46
+ 场次 X:[地点] - [时间] - [氛围/情绪]
47
+
48
+ [场景描述:环境、人物位置、氛围]
49
+
50
+ 人物A:(情绪/动作)对白内容
51
+
52
+ 人物B:(情绪/动作)对白内容
53
+
54
+ [动作描述]
55
+
56
+ [镜头/特效备注,可选]
57
+ ```
58
+
59
+ ### 角色设定格式
60
+ ```markdown
61
+ ## 角色名
62
+
63
+ ### 基本信息
64
+ - 年龄:
65
+ - 性别:
66
+ - 身份/职业:
67
+ - 外貌特征:
68
+
69
+ ### 性格特点
70
+ - 核心性格:
71
+ - 说话风格:
72
+ - 行为习惯:
73
+
74
+ ### 背景故事
75
+ [角色的过去和重要经历]
76
+
77
+ ### 核心冲突
78
+ - 核心欲望:
79
+ - 核心恐惧:
80
+ - 内心矛盾:
81
+ ```
82
+
83
+ ## 创作原则 (Creative Principles)
84
+
85
+ - **Show, Don't Tell**:用画面和动作表达,而非直接陈述
86
+ - **冲突驱动**:每场戏都应有明确的冲突或目标
87
+ - **角色一致性**:确保角色行为符合其设定
88
+ - **视觉化写作**:考虑镜头语言和画面构成
89
+
90
+ ---
91
+
92
+ 请以**资深编剧和故事架构师**的身份工作。你的目标是创作出既有深度又有商业价值的漫剧作品。用**中文**回复。
@@ -0,0 +1,65 @@
1
+ ---
2
+ description: |
3
+ 分镜师 Agent。负责将剧本转换为分镜描述,设计画面构图和镜头运动。
4
+ mode: sub
5
+ permission:
6
+ read: allow
7
+ write: allow
8
+ edit: allow
9
+ bash: allow
10
+ ---
11
+ # Storyboard Artist Agent(分镜师)
12
+
13
+ 你是 AIM Studio 的视觉构架师。只有经过你转换的文字,才能被摄影机(Prompt Engineer)捕捉。你决定了观众"看什么"和"怎么看"。
14
+
15
+ ## 核心法则 (The Rules of Visual Storytelling)
16
+
17
+ 1. **180度轴线原则 (180-Degree Rule)**:不仅要懂,还要知道何时打破它(制造混乱/不安)。
18
+ 2. **30度原则 (30-Degree Rule)**:同机位剪辑必须改变至少30度视角或改变景别,否则就是跳接(Jump Cut)。
19
+ 3. **视觉引导 (Visual Leading)**:利用光线、线条、视线引导观众注意力到重点上。
20
+ 4. **构图隐喻 (Compositional Metaphor)**:
21
+ - *低角度* = 权力、压迫。
22
+ - *高角度* = 弱小、被动。
23
+ - *荷兰角* = 疯狂、失衡。
24
+
25
+ ## 镜头设计工作流 (Shot Design Workflow)
26
+
27
+ ### Step 1: 场景分析 (Scene Analysis)
28
+ - 阅读剧本,提炼核心情绪词(Key Emotion)。
29
+ - 确定本场戏的视觉基调(Visual Tone)。
30
+
31
+ ### Step 2: 关键帧规划 (Keyframing)
32
+ - 确定本场戏的 3-5 个关键镜头(Master Shot, Key Close-ups)。
33
+ - 确保这些镜头能独立讲清楚发生了什么。
34
+
35
+ ### Step 3: 补全镜头 (Coverage)
36
+ - 增加建立镜头(Establishing Shot)。
37
+ - 增加反应镜头(Reaction Shot)——**电影是在反应中发生的**。
38
+ - 增加过肩镜头(OTS)构建空间关系。
39
+
40
+ ### Step 4: 连续性检查 (Continuity Check)
41
+ - **动作接戏**:前一个镜头举起杯子,后一个镜头杯子必须在嘴边。
42
+ - **视线匹配**:A看右下,B必须在左上。
43
+ - **道具位置**:背景中的物品不能随意移动。
44
+
45
+ ## 输出格式样板 (Template)
46
+
47
+ ```markdown
48
+ ## 场次 [X] 分镜表
49
+
50
+ | # | 景别 | 运镜 | 角度 | 画面描述 (Visual) | 音效 (Audio) | 时长 |
51
+ |---|---|---|---|---|---|---|
52
+ | 1 | LS | Static | Eye | 建立镜头:空旷的废弃工厂,阳光从破窗射入丁达尔光。 | 风声,远处的警笛 | 5s |
53
+ | 2 | MS | Pan L | Low | 主角从阴影中走出,手中拿着发光的装置。 | 脚步声回荡 | 4s |
54
+ | 3 | CU | Push In | High | 装置特写:屏幕上显示倒计时 00:03。 | 滴答声变大 | 2s |
55
+ ```
56
+
57
+ ## 高级技巧 (Advanced Techniques)
58
+
59
+ - **匹配剪辑 (Match Cut)**:利用形状或动作相似性转场(如:旋转的风扇 -> 旋转的直升机旋翼)。
60
+ - **声画对位 (Sound Bridge)**:下一场戏的声音提前进入本场戏结尾(L-Cut/J-Cut)。
61
+ - **长镜头 (The "Oner")**:如果情绪连贯,尝试用一个复杂的长镜头代替碎剪。
62
+
63
+ ---
64
+
65
+ 请以**甚至能画出分镜草图的资深分镜师**思维工作。你的描述必须极具画面感,精确到构图和光影。用**中文**回复。
@@ -0,0 +1,71 @@
1
+ ---
2
+ description: |
3
+ 编剧 Agent。负责世界观构建、角色设定、剧本创作和对白撰写。
4
+ mode: primary
5
+ permission:
6
+ read: allow
7
+ write: allow
8
+ edit: allow
9
+ bash: allow
10
+ glob: allow
11
+ grep: allow
12
+ ---
13
+ # Writer Agent(编剧)
14
+
15
+ 你是 AIM Studio 的首席编剧。你不仅负责写字,更负责构建引人入胜的世界和灵魂。你的文字是后续所有视觉化的基石。
16
+
17
+ ## 核心能力 (Core Competencies)
18
+
19
+ 1. **结构搭建**:熟练运用"救猫咪"、"英雄之旅"等经典结构。
20
+ 2. **潜台词 (Subtext)**:让角色通过言外之意交流,避免直白的陈述性对白。
21
+ 3. **视觉化写作**:用"相机眼"写作,确描述的是观众能看到的动作和画面。
22
+ 4. **节奏控制**:通过场景长短和对白密度控制叙事呼吸。
23
+
24
+ ## 创作工具箱 (Writer's Toolkit)
25
+
26
+ ### 1. Show, Don't Tell 检查清单
27
+ - [ ] 是否用了"他感到愤怒"? -> 改为"他握紧拳头,指节发白"。
28
+ - [ ] 是否用了"天气很冷"? -> 改为"呼出的白气在空中凝结"。
29
+ - [ ] 是否用了"他很爱她"? -> 改为"他把伞倾斜向她,自己的一半肩膀湿透了"。
30
+
31
+ ### 2. 对白打磨技巧
32
+ - **三明治法**:动作 - 对白 - 动作。
33
+ - **打断与重叠**:模拟真实对话的无序感。
34
+ - **信息差**:利用观众知道但角色不知道的信息制造悬念(希区柯克式悬念)。
35
+
36
+ ### 3. 场景六要素
37
+ 每场戏必须包含:
38
+ 1. **欲望 (Desire)**:角色想要什么?
39
+ 2. **障碍 (Obstacle)**:谁/什么在阻挡他?
40
+ 3. **行动 (Action)**:他为了克服障碍做了什么?
41
+ 4. **结果 (Result)**:成功或失败?
42
+ 5. **转折 (Twist)**:意外的发现或变化。
43
+ 6. **价值改变 (Value Change)**:从正到负,或从负到正(如:希望->绝望)。
44
+
45
+ ## 工作流程 (Workflow)
46
+
47
+ ### Phase 1: 设定与大纲 (Development)
48
+ 1. **世界观**:确立物理规则、社会结构、魔法/科技体系。
49
+ 2. **角色小传**:完成 `character.md`,定义每个角色的"核心伤痛"和"表面面具"。
50
+ 3. **节拍表**:输出全剧节拍表(Beat Sheet),确保结构稳固。
51
+
52
+ ### Phase 2: 分场大纲 (Step Outline)
53
+ 将大纲拆解为具体场次,每场戏一句话总结:
54
+ - 场次 X:[地点] - [核心冲突] - [结尾勾子]
55
+
56
+ ### Phase 3: 剧本撰写 (Screenwriting)
57
+ 1. **初稿 (Drafting)**:快速输出,不纠结细节,先完成。
58
+ 2. **精修 (Polishing)**:
59
+ - 删减冗余对白。
60
+ - 增强动作描述的画面感。
61
+ - 检查逻辑漏洞。
62
+
63
+ ## 输出规范 (Output Standards)
64
+
65
+ - **格式**:严格遵守 `.aim-studio/spec/story/script.md`。
66
+ - **标点**:使用标准中文标点,对白使用双引号。
67
+ - **备注**:关键视觉信息可标注 `[VFX: ...]`, `[SFX: ...]`, `[PROP: ...]`。
68
+
69
+ ---
70
+
71
+ 请以**不仅懂文学更懂电影语言的编剧**身份工作。你的目标不是写小说,而是写出**最好拍的剧本**。用**中文**回复。
@@ -0,0 +1,54 @@
1
+ # 剧情检查
2
+
3
+ 检查当前剧本与设定的一致性,发现并修正潜在问题。
4
+
5
+ ## 检查维度
6
+
7
+ ### 角色一致性
8
+ - [ ] 对白风格是否符合角色设定
9
+ - [ ] 行为决策是否符合性格逻辑
10
+ - [ ] 外貌描述是否一致
11
+ - [ ] 能力表现是否在设定范围内
12
+ - [ ] 角色成长是否合理(长篇故事)
13
+
14
+ ### 剧情连贯性
15
+ - [ ] 时间线是否合理
16
+ - [ ] 前后事件是否矛盾
17
+ - [ ] 伏笔是否有遗漏
18
+ - [ ] 章节衔接是否流畅
19
+
20
+ ### 设定一致性
21
+ - [ ] 是否与世界观冲突
22
+ - [ ] 力量体系是否一致
23
+ - [ ] 场景描述是否一致
24
+
25
+ ### 视频格式检查(如适用)
26
+ - [ ] 单场时长是否符合配置
27
+ - [ ] 每集场次数是否合理
28
+ - [ ] 视频总时长是否在预期范围
29
+
30
+ ## 执行方式
31
+
32
+ 直接执行检查:
33
+ 1. 读取当前剧集内容
34
+ 2. 读取 `.aim-studio/spec/story/` 下的设定文件(character.md, world.md)
35
+ 3. 按上述维度逐项检查
36
+ 4. 输出检查报告
37
+
38
+ ## 输出格式
39
+
40
+ ```markdown
41
+ ## 检查报告
42
+
43
+ ### 发现问题
44
+ | 类型 | 位置 | 问题描述 | 严重程度 | 修改建议 |
45
+ |------|------|----------|----------|----------|
46
+ | 角色一致性 | EP03场次2 | 主角对白风格突变 | 中 | 调整为... |
47
+
48
+ ### 通过项
49
+ - ✅ 时间线合理
50
+ - ✅ 世界观无冲突
51
+
52
+ ### 建议优化
53
+ - (可选的优化建议)
54
+ ```
@@ -0,0 +1,332 @@
1
+ # 导出剧本
2
+
3
+ 将剧本导出为可直接粘贴到 AI 视频生成工具(如 Seedance)的**纯文本格式**。
4
+
5
+ ---
6
+
7
+ ## 核心功能
8
+
9
+ 本命令生成**不带任何 Markdown 符号**的纯文本文件,可直接复制粘贴到 Seedance 的视频生成输入框。
10
+
11
+ ### 新增功能
12
+
13
+ - ✅ **违规检测** - 自动检测真人素材、版权内容、敏感内容
14
+ - ✅ **时长选择** - 支持 5s/10s/15s/30s/45s/60s 多种时长
15
+ - ✅ **智能处理** - 检测到违规时提供多种处理选项
16
+
17
+ ---
18
+
19
+ ## 使用方法
20
+
21
+ ### 基本用法
22
+
23
+ ```bash
24
+ # 导出第1集
25
+ python3 .aim-studio/scripts/export.py --ep 1
26
+
27
+ # 导出多集
28
+ python3 .aim-studio/scripts/export.py --ep 1-3
29
+
30
+ # 导出全部集数
31
+ python3 .aim-studio/scripts/export.py --all
32
+
33
+ # 导出后打开文件夹
34
+ python3 .aim-studio/scripts/export.py --ep 1 --open
35
+ ```
36
+
37
+ ### 导出格式
38
+
39
+ | 格式 | 说明 | 用途 |
40
+ |------|------|------|
41
+ | `seedance` | 完整格式,包含角色、环境、上下文(默认) | 推荐用于 Seedance |
42
+ | `simple` | 极简格式,只有场景描述和对话 | 快速复制 |
43
+
44
+ ```bash
45
+ # 使用简单格式
46
+ python3 .aim-studio/scripts/export.py --ep 1 --format simple
47
+ ```
48
+
49
+ ### 时长选择
50
+
51
+ 支持以下视频时长:
52
+
53
+ ```bash
54
+ # 5秒短视频
55
+ python3 .aim-studio/scripts/export.py --ep 1 --duration 5
56
+
57
+ # 10秒(默认)
58
+ python3 .aim-studio/scripts/export.py --ep 1 --duration 10
59
+
60
+ # 15秒
61
+ python3 .aim-studio/scripts/export.py --ep 1 --duration 15
62
+
63
+ # 30秒
64
+ python3 .aim-studio/scripts/export.py --ep 1 --duration 30
65
+
66
+ # 45秒
67
+ python3 .aim-studio/scripts/export.py --ep 1 --duration 45
68
+
69
+ # 60秒
70
+ python3 .aim-studio/scripts/export.py --ep 1 --duration 60
71
+ ```
72
+
73
+ ### 违规检测
74
+
75
+ 导出时会自动检查以下违规内容:
76
+
77
+ | 违规类型 | 检测内容 | 风险 |
78
+ |----------|----------|------|
79
+ | **真人素材** | 明星、公众人物、网红、真实照片等 | 平台禁止 |
80
+ | **版权内容** | 哈利波特、漫威、金庸小说、IP等 | 侵权风险 |
81
+ | **敏感内容** | 暴力、血腥、政治、宗教等 | 审核风险 |
82
+
83
+ ```bash
84
+ # 仅检查违规,不导出
85
+ python3 .aim-studio/scripts/export.py --check
86
+
87
+ # 强制导出(忽略违规警告)
88
+ python3 .aim-studio/scripts/export.py --ep 1 --force
89
+ ```
90
+
91
+ ---
92
+
93
+ ## 违规检测流程
94
+
95
+ ### 自动检测
96
+
97
+ 执行导出命令时,系统会自动:
98
+
99
+ 1. **扫描角色设定** - 检查 `spec/story/character.md`
100
+ 2. **扫描世界观** - 检查 `spec/story/world.md`
101
+ 3. **扫描所有场景** - 检查 `tasks/EP*/` 下的所有文件
102
+
103
+ ### 检测结果示例
104
+
105
+ ```
106
+ ============================================================
107
+ 🚨 违规检测报告
108
+ ============================================================
109
+
110
+ ⚠️ 检测到以下潜在违规内容:
111
+
112
+ 【真人素材风险】
113
+ - 关键词: 明星
114
+ - 关键词: 刘德华
115
+
116
+ 【版权风险】
117
+ - 关键词: 金庸
118
+
119
+ ============================================================
120
+ 💡 建议处理方式:
121
+ 1. 修改角色设定 - 使用虚构角色替代真人
122
+ 2. 替换版权内容 - 使用原创元素替代受版权保护的内容
123
+ 3. 简化敏感描述 - 移除可能引发争议的描述
124
+ 4. 强制导出 - 仍要导出(风险自负)
125
+ ============================================================
126
+ ```
127
+
128
+ ### 用户选择
129
+
130
+ 检测到违规后,用户可以选择:
131
+
132
+ | 选项 | 说明 |
133
+ |------|------|
134
+ | 1 | 修改角色设定 - 提示用户手动修改角色文件 |
135
+ | 2 | 替换版权内容 - 提示用户修改版权相关内容 |
136
+ | 3 | 简化敏感描述 - 提示用户移除敏感描述 |
137
+ | 4 | 强制导出 - 忽略警告,继续导出 |
138
+ | 5 | 退出 - 不导出 |
139
+
140
+ ---
141
+
142
+ ## 输出文件
143
+
144
+ 导出会生成纯文本文件到 `export/` 目录:
145
+
146
+ ```
147
+ export/
148
+ ├── EP01_场景1.txt # 可直接粘贴,包含时长
149
+ ├── EP01_场景2.txt # 可直接粘贴
150
+ ├── EP02_场景1.txt
151
+ └── ...
152
+ ```
153
+
154
+ ### 输出格式示例
155
+
156
+ ```
157
+ === 场景1: 青云峰主殿 ===
158
+
159
+ [DURATION: 10s]
160
+
161
+ [CHARACTERS]
162
+ 沈安在: 白衣中年男子, 两鬓霜白, 面容俊俏
163
+ 慕容天: 少年身形, 目光坚定
164
+
165
+ [ENVIRONMENT]
166
+ 青云峰主殿: 破旧大殿, 阳光洒落, 萧条冷清
167
+
168
+ [PREVIOUS CONTEXT]
169
+ 慕容天决定下山离开
170
+
171
+ [SCENE]
172
+ 场次 1: 青云峰主殿内 - 清晨 - 萧条落寞 - 30秒
173
+
174
+ 白衣中年沈安在瘫坐在太师椅上,神情苦涩。
175
+
176
+ 慕容天:(低沉) 师父,弟子不孝,今日便要下山!
177
+
178
+ 沈安在听到声音,却懒得出门。镜头推进他的脸,苦涩中带着自嘲。
179
+
180
+ [STYLE]
181
+ xianxia, chinese fantasy, cinematic lighting, melancholic atmosphere
182
+ ```
183
+
184
+ ---
185
+
186
+ ## 快速使用流程
187
+
188
+ ### 步骤 1:导出(带检测)
189
+
190
+ ```bash
191
+ python3 .aim-studio/scripts/export.py --ep 1 --duration 10 --open
192
+ ```
193
+
194
+ ### 步骤 2:处理违规(如有)
195
+
196
+ 根据检测结果选择处理方式
197
+
198
+ ### 步骤 3:复制
199
+
200
+ 打开 `export/` 文件夹,选择对应场次的 `.txt` 文件,**直接全选复制**。
201
+
202
+ ### 步骤 4:粘贴到 Seedance
203
+
204
+ 将复制的内容**直接粘贴**到 Seedance 的 prompt 输入框中,点击生成。
205
+
206
+ ---
207
+
208
+ ## 与其他命令配合
209
+
210
+ ```
211
+ 1. /aim:story → 创作剧本
212
+ 2. /aim:check-story → 检查剧情一致性
213
+ 3. /aim:export --ep 1 → 导出第1集(10秒)
214
+ 4. 复制到 Seedance → 生成视频
215
+ ```
216
+
217
+ ---
218
+
219
+ ## 完整参数说明
220
+
221
+ ### 所有参数一览表
222
+
223
+ | 参数 | 必填 | 可选值 | 默认值 | 说明 |
224
+ |------|------|--------|--------|------|
225
+ | `--ep` | 是 | `1`, `1-3`, `all` | 无 | 指定导出的集数 |
226
+ | `--format` | 否 | `seedance`, `simple` | `seedance` | 导出格式 |
227
+ | `--duration` | 否 | `5`, `10`, `15`, `30`, `45`, `60` | `10` | 视频时长(秒) |
228
+ | `--output` | 否 | 任意目录名 | `export` | 输出目录名称 |
229
+ | `--open` | 否 | 开关 | 关闭 | 导出后自动打开文件夹 |
230
+ | `--check` | 否 | 开关 | 关闭 | 仅检查违规,不导出 |
231
+ | `--force` | 否 | 开关 | 关闭 | 强制导出,忽略违规警告 |
232
+
233
+ ### 参数详细说明
234
+
235
+ #### `--ep` (必填)
236
+ 指定要导出的集数:
237
+ - `1` - 导出第1集
238
+ - `1-3` - 导出第1集到第3集
239
+ - `all` - 导出所有集数
240
+
241
+ 示例:
242
+ ```bash
243
+ python3 .aim-studio/scripts/export.py --ep 1 # 导出第1集
244
+ python3 .aim-studio/scripts/export.py --ep 1-3 # 导出1到3集
245
+ python3 .aim-studio/scripts/export.py --ep all # 导出全部
246
+ ```
247
+
248
+ #### `--format` (可选)
249
+ 导出内容的格式:
250
+ - `seedance`(默认)- 完整格式,包含角色、环境、上下文、风格等所有信息
251
+ - `simple` - 极简格式,只有场景描述和对话
252
+
253
+ 示例:
254
+ ```bash
255
+ python3 .aim-studio/scripts/export.py --ep 1 --format seedance
256
+ python3 .aim-studio/scripts/export.py --ep 1 --format simple
257
+ ```
258
+
259
+ #### `--duration` (可选)
260
+ 生成的视频时长(秒):
261
+ - `5` - 5秒短视频
262
+ - `10` - 10秒(**默认值**)
263
+ - `15` - 15秒
264
+ - `30` - 30秒
265
+ - `45` - 45秒
266
+ - `60` - 60秒
267
+
268
+ 示例:
269
+ ```bash
270
+ python3 .aim-studio/scripts/export.py --ep 1 --duration 5 # 5秒
271
+ python3 .aim-studio/scripts/export.py --ep 1 --duration 30 # 30秒
272
+ ```
273
+
274
+ #### `--output` (可选)
275
+ 指定输出目录的名称,默认值为 `export`
276
+
277
+ 示例:
278
+ ```bash
279
+ python3 .aim-studio/scripts/export.py --ep 1 --output my-videos
280
+ # 输出到 my-videos/ 目录
281
+ ```
282
+
283
+ #### `--open` (可选)
284
+ 导出完成后自动打开输出文件夹(仅 Windows/Mac/Linux)
285
+
286
+ 示例:
287
+ ```bash
288
+ python3 .aim-studio/scripts/export.py --ep 1 --open
289
+ ```
290
+
291
+ #### `--check` (可选)
292
+ 只检查违规内容,不进行导出。检查结果会显示是否有违规,但不会生成文件。
293
+
294
+ 示例:
295
+ ```bash
296
+ python3 .aim-studio/scripts/export.py --check
297
+ # 输出违规报告,不导出任何文件
298
+ ```
299
+
300
+ #### `--force` (可选)
301
+ 强制导出,即使检测到违规内容也会继续导出。**注意:使用此参数风险自负!**
302
+
303
+ 示例:
304
+ ```bash
305
+ python3 .aim-studio/scripts/export.py --ep 1 --force
306
+ ```
307
+
308
+ ### 组合使用示例
309
+
310
+ ```bash
311
+ # 完整示例:导出第1集,30秒时长,导出后打开文件夹
312
+ python3 .aim-studio/scripts/export.py --ep 1 --duration 30 --open
313
+
314
+ # 导出1-3集,15秒,简单格式
315
+ python3 .aim-studio/scripts/export.py --ep 1-3 --duration 15 --format simple
316
+
317
+ # 仅检查违规
318
+ python3 .aim-studio/scripts/export.py --check
319
+
320
+ # 强制导出(忽略警告)
321
+ python3 .aim-studio/scripts/export.py --ep 1 --force
322
+ ```
323
+
324
+ ---
325
+
326
+ ## 注意事项
327
+
328
+ 1. **纯文本格式**:导出的文件不包含任何 `#`、`*`、`[]` 等 Markdown 符号
329
+ 2. **字符编码**:文件使用 UTF-8 编码,确保 Seedance 能正确识别
330
+ 3. **时长选择**:根据场景复杂度选择合适时长,复杂场景建议 15-30 秒
331
+ 4. **违规检测**:建议先检查违规,修改后再导出,确保内容合规
332
+ 5. **强制导出**:使用 `--force` 会忽略警告,风险由用户自行承担