@fifine/aim-studio 0.0.4 → 0.0.8

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 (89) hide show
  1. package/README.md +59 -41
  2. package/dist/commands/init.d.ts.map +1 -1
  3. package/dist/commands/init.js +3 -5
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/commands/update.d.ts.map +1 -1
  6. package/dist/commands/update.js +42 -8
  7. package/dist/commands/update.js.map +1 -1
  8. package/dist/configurators/workflow.d.ts.map +1 -1
  9. package/dist/configurators/workflow.js +4 -104
  10. package/dist/configurators/workflow.js.map +1 -1
  11. package/dist/templates/aim/scripts/export.py +2 -2
  12. package/dist/templates/claude/commands/aim/legitimize.md +268 -0
  13. package/dist/templates/claude/commands/aim/start.md +92 -179
  14. package/dist/templates/claude/commands/aim/story.md +60 -10
  15. package/dist/templates/markdown/index.d.ts +1 -0
  16. package/dist/templates/markdown/index.d.ts.map +1 -1
  17. package/dist/templates/markdown/index.js +1 -0
  18. package/dist/templates/markdown/index.js.map +1 -1
  19. package/dist/templates/markdown/spec/story/style-guide.md.txt +96 -0
  20. package/package.json +1 -1
  21. package/dist/migrations/manifests/0.3.0-rc.2.json +0 -9
  22. package/dist/templates/aim/scripts/multi_agent/__init__.py +0 -5
  23. package/dist/templates/aim/scripts/multi_agent/cleanup.py +0 -403
  24. package/dist/templates/aim/scripts/multi_agent/create_pr.py +0 -329
  25. package/dist/templates/aim/scripts/multi_agent/plan.py +0 -233
  26. package/dist/templates/aim/scripts/multi_agent/start.py +0 -461
  27. package/dist/templates/aim/scripts/multi_agent/status.py +0 -817
  28. package/dist/templates/aim/scripts-shell-archive/add-session.sh +0 -384
  29. package/dist/templates/aim/scripts-shell-archive/common/developer.sh +0 -129
  30. package/dist/templates/aim/scripts-shell-archive/common/git-context.sh +0 -263
  31. package/dist/templates/aim/scripts-shell-archive/common/paths.sh +0 -208
  32. package/dist/templates/aim/scripts-shell-archive/common/phase.sh +0 -150
  33. package/dist/templates/aim/scripts-shell-archive/common/registry.sh +0 -247
  34. package/dist/templates/aim/scripts-shell-archive/common/task-queue.sh +0 -142
  35. package/dist/templates/aim/scripts-shell-archive/common/task-utils.sh +0 -151
  36. package/dist/templates/aim/scripts-shell-archive/common/worktree.sh +0 -128
  37. package/dist/templates/aim/scripts-shell-archive/create-bootstrap.sh +0 -299
  38. package/dist/templates/aim/scripts-shell-archive/get-context.sh +0 -7
  39. package/dist/templates/aim/scripts-shell-archive/get-developer.sh +0 -15
  40. package/dist/templates/aim/scripts-shell-archive/init-developer.sh +0 -34
  41. package/dist/templates/aim/scripts-shell-archive/multi-agent/cleanup.sh +0 -396
  42. package/dist/templates/aim/scripts-shell-archive/multi-agent/create-pr.sh +0 -241
  43. package/dist/templates/aim/scripts-shell-archive/multi-agent/plan.sh +0 -207
  44. package/dist/templates/aim/scripts-shell-archive/multi-agent/start.sh +0 -317
  45. package/dist/templates/aim/scripts-shell-archive/multi-agent/status.sh +0 -828
  46. package/dist/templates/aim/scripts-shell-archive/task.sh +0 -1204
  47. package/dist/templates/claude/agents/check.md +0 -122
  48. package/dist/templates/claude/agents/debug.md +0 -106
  49. package/dist/templates/claude/agents/dispatch.md +0 -230
  50. package/dist/templates/claude/agents/implement.md +0 -96
  51. package/dist/templates/claude/agents/plan.md +0 -396
  52. package/dist/templates/claude/agents/research.md +0 -120
  53. package/dist/templates/claude/commands/aim/before-backend-dev.md +0 -13
  54. package/dist/templates/claude/commands/aim/before-frontend-dev.md +0 -13
  55. package/dist/templates/claude/commands/aim/break-loop.md +0 -153
  56. package/dist/templates/claude/commands/aim/check-backend.md +0 -13
  57. package/dist/templates/claude/commands/aim/check-cross-layer.md +0 -153
  58. package/dist/templates/claude/commands/aim/check-frontend.md +0 -13
  59. package/dist/templates/claude/commands/aim/create-command.md +0 -154
  60. package/dist/templates/claude/commands/aim/integrate-skill.md +0 -219
  61. package/dist/templates/claude/commands/aim/parallel.md +0 -217
  62. package/dist/templates/claude/commands/aim/update-spec.md +0 -285
  63. package/dist/templates/claude/hooks/ralph-loop.py +0 -388
  64. package/dist/templates/markdown/spec/backend/database-guidelines.md.txt +0 -51
  65. package/dist/templates/markdown/spec/backend/directory-structure.md.txt +0 -54
  66. package/dist/templates/markdown/spec/backend/error-handling.md.txt +0 -51
  67. package/dist/templates/markdown/spec/backend/index.md +0 -40
  68. package/dist/templates/markdown/spec/backend/index.md.txt +0 -38
  69. package/dist/templates/markdown/spec/backend/logging-guidelines.md.txt +0 -51
  70. package/dist/templates/markdown/spec/backend/quality-guidelines.md.txt +0 -51
  71. package/dist/templates/markdown/spec/backend/script-conventions.md +0 -467
  72. package/dist/templates/markdown/spec/cli/directory-structure.md.txt +0 -71
  73. package/dist/templates/markdown/spec/cli/error-handling.md.txt +0 -91
  74. package/dist/templates/markdown/spec/cli/index.md.txt +0 -37
  75. package/dist/templates/markdown/spec/cli/options-flags.md.txt +0 -71
  76. package/dist/templates/markdown/spec/cli/output-formatting.md.txt +0 -93
  77. package/dist/templates/markdown/spec/frontend/component-guidelines.md.txt +0 -59
  78. package/dist/templates/markdown/spec/frontend/directory-structure.md.txt +0 -54
  79. package/dist/templates/markdown/spec/frontend/hook-guidelines.md.txt +0 -51
  80. package/dist/templates/markdown/spec/frontend/index.md.txt +0 -39
  81. package/dist/templates/markdown/spec/frontend/quality-guidelines.md.txt +0 -51
  82. package/dist/templates/markdown/spec/frontend/state-management.md.txt +0 -51
  83. package/dist/templates/markdown/spec/frontend/type-safety.md.txt +0 -51
  84. package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md +0 -118
  85. package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +0 -92
  86. package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +0 -94
  87. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md +0 -394
  88. package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +0 -319
  89. package/dist/templates/markdown/spec/guides/index.md.txt +0 -89
@@ -5,16 +5,8 @@ import { copyAimDir } from "../templates/extract.js";
5
5
  import { workflowMdTemplate, worktreeYamlTemplate, gitignoreTemplate, } from "../templates/aim/index.js";
6
6
  // Import markdown templates
7
7
  import { agentProgressIndexContent,
8
- // Backend structure (multi-doc)
9
- backendIndexContent, backendDirectoryStructureContent, backendDatabaseGuidelinesContent, backendLoggingGuidelinesContent, backendQualityGuidelinesContent, backendErrorHandlingContent,
10
- // Frontend structure (multi-doc)
11
- frontendIndexContent, frontendDirectoryStructureContent, frontendTypeSafetyContent, frontendHookGuidelinesContent, frontendComponentGuidelinesContent, frontendQualityGuidelinesContent, frontendStateManagementContent,
12
- // Guides structure
13
- guidesIndexContent, guidesCrossLayerThinkingGuideContent, guidesCodeReuseThinkingGuideContent,
14
- // Story structure
15
- storyIndexContent, storyCharacterContent, storyWorldContent, storyScriptContent,
16
- // CLI tool structure
17
- cliIndexContent, cliDirectoryStructureContent, cliOptionsFlagsContent, cliOutputFormattingContent, cliErrorHandlingContent, } from "../templates/markdown/index.js";
8
+ // Story structure (for comic/novel creation)
9
+ storyIndexContent, storyCharacterContent, storyWorldContent, storyScriptContent, styleGuideContent, } from "../templates/markdown/index.js";
18
10
  import { writeFile, ensureDir } from "../utils/file-writer.js";
19
11
  /**
20
12
  * Create workflow structure based on project type
@@ -63,100 +55,7 @@ export async function createWorkflowStructure(cwd, options) {
63
55
  async function createSpecTemplates(cwd, projectType) {
64
56
  // Ensure spec directory exists
65
57
  ensureDir(path.join(cwd, PATHS.SPEC));
66
- // Guides - always created
67
- ensureDir(path.join(cwd, `${PATHS.SPEC}/guides`));
68
- const guidesDocs = [
69
- { name: "index.md", content: guidesIndexContent },
70
- {
71
- name: "cross-layer-thinking-guide.md",
72
- content: guidesCrossLayerThinkingGuideContent,
73
- },
74
- {
75
- name: "code-reuse-thinking-guide.md",
76
- content: guidesCodeReuseThinkingGuideContent,
77
- },
78
- ];
79
- for (const doc of guidesDocs) {
80
- await writeFile(path.join(cwd, `${PATHS.SPEC}/guides`, doc.name), doc.content);
81
- }
82
- // Create backend spec for backend/fullstack/cli projects
83
- if (projectType !== "frontend" && projectType !== "story") {
84
- ensureDir(path.join(cwd, `${PATHS.SPEC}/backend`));
85
- const backendDocs = [
86
- { name: "index.md", content: backendIndexContent },
87
- {
88
- name: "directory-structure.md",
89
- content: backendDirectoryStructureContent,
90
- },
91
- {
92
- name: "database-guidelines.md",
93
- content: backendDatabaseGuidelinesContent,
94
- },
95
- {
96
- name: "logging-guidelines.md",
97
- content: backendLoggingGuidelinesContent,
98
- },
99
- {
100
- name: "quality-guidelines.md",
101
- content: backendQualityGuidelinesContent,
102
- },
103
- { name: "error-handling.md", content: backendErrorHandlingContent },
104
- ];
105
- for (const doc of backendDocs) {
106
- await writeFile(path.join(cwd, `${PATHS.SPEC}/backend`, doc.name), doc.content);
107
- }
108
- }
109
- // Create frontend spec for frontend/fullstack projects
110
- if (projectType !== "backend" &&
111
- projectType !== "cli" &&
112
- projectType !== "story") {
113
- ensureDir(path.join(cwd, `${PATHS.SPEC}/frontend`));
114
- const frontendDocs = [
115
- { name: "index.md", content: frontendIndexContent },
116
- {
117
- name: "directory-structure.md",
118
- content: frontendDirectoryStructureContent,
119
- },
120
- { name: "type-safety.md", content: frontendTypeSafetyContent },
121
- { name: "hook-guidelines.md", content: frontendHookGuidelinesContent },
122
- {
123
- name: "component-guidelines.md",
124
- content: frontendComponentGuidelinesContent,
125
- },
126
- {
127
- name: "quality-guidelines.md",
128
- content: frontendQualityGuidelinesContent,
129
- },
130
- {
131
- name: "state-management.md",
132
- content: frontendStateManagementContent,
133
- },
134
- ];
135
- for (const doc of frontendDocs) {
136
- await writeFile(path.join(cwd, `${PATHS.SPEC}/frontend`, doc.name), doc.content);
137
- }
138
- }
139
- // Create CLI spec for CLI projects
140
- if (projectType === "cli") {
141
- ensureDir(path.join(cwd, `${PATHS.SPEC}/cli`));
142
- const cliDocs = [
143
- { name: "index.md", content: cliIndexContent },
144
- {
145
- name: "directory-structure.md",
146
- content: cliDirectoryStructureContent,
147
- },
148
- { name: "options-flags.md", content: cliOptionsFlagsContent },
149
- {
150
- name: "output-formatting.md",
151
- content: cliOutputFormattingContent,
152
- },
153
- { name: "error-handling.md", content: cliErrorHandlingContent },
154
- ];
155
- for (const doc of cliDocs) {
156
- await writeFile(path.join(cwd, `${PATHS.SPEC}/cli`, doc.name), doc.content);
157
- }
158
- }
159
- // Create story spec for story projects
58
+ // Only create story spec (for comic/novel creation)
160
59
  if (projectType === "story") {
161
60
  ensureDir(path.join(cwd, `${PATHS.SPEC}/story`));
162
61
  const storyDocs = [
@@ -164,6 +63,7 @@ async function createSpecTemplates(cwd, projectType) {
164
63
  { name: "character.md", content: storyCharacterContent },
165
64
  { name: "world.md", content: storyWorldContent },
166
65
  { name: "script.md", content: storyScriptContent },
66
+ { name: "style-guide.md", content: styleGuideContent },
167
67
  ];
168
68
  for (const doc of storyDocs) {
169
69
  await writeFile(path.join(cwd, `${PATHS.SPEC}/story`, doc.name), doc.content);
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/configurators/workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/configurators/workflow.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ from datetime import datetime
24
24
 
25
25
  # Add parent directory to path for imports
26
26
  sys.path.insert(0, str(Path(__file__).parent))
27
- from common.paths import get_project_root, get_tasks_dir
27
+ from common.paths import get_repo_root, get_tasks_dir
28
28
 
29
29
 
30
30
  # =============================================================================
@@ -601,7 +601,7 @@ def main():
601
601
  args = parser.parse_args()
602
602
 
603
603
  # Get project paths
604
- project_root = get_project_root()
604
+ project_root = get_repo_root()
605
605
  tasks_dir = get_tasks_dir(project_root)
606
606
  spec_dir = project_root / ".aim-studio" / "spec"
607
607
 
@@ -0,0 +1,268 @@
1
+ ---
2
+ name: legitimize
3
+ description: 检查并合法化剧本(AI智能修改违规内容)
4
+ ---
5
+
6
+ # 剧本合法化
7
+
8
+ 使用 AI 智能检查并修改剧本中的违规内容,使其符合 AI 视频生成平台的规定。
9
+
10
+ ---
11
+
12
+ ## 适用场景
13
+
14
+ - 检查剧本中是否存在违规内容(真人素材、版权角色、敏感内容等)
15
+ - 自动将违规内容修改为合规内容
16
+ - 修改角色名称使其"一听就像主角"
17
+ - 强化肖像描述让 AI 更容易理解
18
+
19
+ ---
20
+
21
+ ## 使用方法
22
+
23
+ ### 检查剧本(只读,不修改)
24
+
25
+ ```bash
26
+ /aim:legitimize --check
27
+ ```
28
+
29
+ 这会:
30
+ 1. 读取 `spec/story/character.md` 角色设定
31
+ 2. 读取 `spec/story/world.md` 世界观设定
32
+ 3. 读取当前剧集的所有场景文件
33
+ 4. 使用 AI 分析是否存在违规内容
34
+ 5. 输出详细的检查报告
35
+
36
+ ### 修复剧本(自动修改)
37
+
38
+ ```bash
39
+ /aim:legitimize --fix
40
+ ```
41
+
42
+ 这会:
43
+ 1. 先检查所有违规内容
44
+ 2. 使用 AI 自动修改违规内容
45
+ 3. 保存修改后的文件
46
+ 4. 输出修改报告
47
+
48
+ ---
49
+
50
+ ## 违规类型及修改原则
51
+
52
+ ### 1. 真人素材(高风险)
53
+
54
+ **格式**:`角色名【细节描述】`
55
+
56
+ | 原始 | 修改后 |
57
+ |------|--------|
58
+ | 刘德华 | 刘天霸【剑眉星目,身形挺拔,气宇轩昂】 |
59
+ | 周杰伦 | 周云飞【面容清秀,深情演唱】 |
60
+ | 网红脸 | 清秀面容【瓜子脸,大眼睛】 |
61
+
62
+ ### 2. 版权角色(中风险)
63
+
64
+ **格式**:`角色名【细节描述】`
65
+
66
+ | 原始 | 修改后 |
67
+ |------|--------|
68
+ | 张无忌 | 张凌风【年纪轻轻内力深厚,剑眉星目,气度不凡】 |
69
+ | 钢铁侠 | 铁甲侠【身穿银色高科技战甲,胸口的能量环闪闪发光】 |
70
+ | 哈利波特 | 哈云【戴着圆框眼镜,手持魔杖,身披黑色巫师袍】 |
71
+
72
+ ### 3. 敏感内容(中风险)
73
+
74
+ | 原始 | 修改后 | 说明 |
75
+ |------|--------|------|
76
+ | 血腥的屠杀 | 激烈的战斗 | 暴力 → 温和 |
77
+ | 自杀 | 离去 | 敏感 → 规避 |
78
+ | 赌博 | 比试 | 赌博 → 比赛 |
79
+
80
+ ---
81
+
82
+ ## 修改规则
83
+
84
+ ### 角色名称修改
85
+
86
+ 1. **同音/谐音替换**:保留原名的读音特点
87
+ 2. **气质保持**:修改后的名字要符合人物设定
88
+ 3. **主角感**:主角名字要"一听就像主角"
89
+ 4. **原创优先**:避免任何知名人物的名字
90
+
91
+ ### 肖像描述强化
92
+
93
+ **核心格式**:`角色名【细节描述】`
94
+
95
+ 这种格式可以大大降低侵权概率,因为:
96
+ 1. 方括号内的描述是详细的视觉特征
97
+ 2. 不依赖任何真实人物的名字
98
+ 3. AI 可以根据描述生成原创角色
99
+
100
+ **示例**:
101
+ | 原始 | 修改后 |
102
+ |------|--------|
103
+ | 刘德华 | 刘天霸【剑眉星目,身形挺拔,气宇轩昂,身穿黑色西装】 |
104
+ | 周杰伦 | 周云飞【面容清秀,留着利落短发,唱歌时深情款款】 |
105
+ | 网红脸 | 清秀面容【瓜子脸,大眼睛,鼻梁秀气嘴唇红润】 |
106
+
107
+ **强化规则**:
108
+ - "帅气" → "剑眉星目,鼻若悬胆,面容刚毅"
109
+ - "漂亮" → "柳眉杏眼,肤若凝脂,唇若点朱"
110
+ - "可爱" → "肉嘟嘟的小脸,大眼睛忽闪忽闪,嘴角笑起两个小酒窝"
111
+ - "强壮" → "身材魁梧,肌肉线条分明,浓眉大眼"
112
+
113
+ ---
114
+
115
+ ## 执行步骤
116
+
117
+ ### 步骤 1:读取剧本文件
118
+
119
+ 首先读取需要检查的文件:
120
+
121
+ ```bash
122
+ # 读取角色设定
123
+ cat .aim-studio/spec/story/character.md
124
+
125
+ # 读取世界观设定
126
+ cat .aim-studio/spec/story/world.md
127
+
128
+ # 读取当前剧集
129
+ ls -la .aim-studio/tasks/
130
+ cat .aim-studio/tasks/EP01/*.md
131
+ ```
132
+
133
+ ### 步骤 2:AI 检查
134
+
135
+ 使用 AI 分析内容,查找以下违规:
136
+
137
+ 1. **真人素材**:明星、演员、网红、真实照片等
138
+ 2. **版权内容**:金庸小说角色、漫威、哈利波特等受版权保护的内容
139
+ 3. **敏感内容**:暴力、血腥、政治、宗教等
140
+
141
+ ### 步骤 3:输出报告
142
+
143
+ 输出格式:
144
+
145
+ ```
146
+ 📋 剧本合规性检查报告
147
+
148
+ 【角色设定】spec/story/character.md
149
+ ✅ 无违规
150
+
151
+ 【世界观设定】spec/story/world.md
152
+ ⚠️ 发现违规:
153
+ - 版权:金庸 → 修改为原创角色"金玄"
154
+ - 敏感:"血腥战斗" → 改为"激烈对决"
155
+
156
+ 【场景文件】
157
+ EP01/场景1.md
158
+ ✅ 无违规
159
+ EP01/场景2.md
160
+ ⚠️ 发现违规:
161
+ - 版权:"张无忌" → 修改为"张凌风"
162
+ - 真实人物:"网红脸" → 改为"清秀面容"
163
+ ```
164
+
165
+ ### 步骤 4:自动修复(如果使用 --fix)
166
+
167
+ 对每个违规内容进行修改:
168
+
169
+ 1. 角色名称替换
170
+ 2. 肖像描述强化
171
+ 3. 敏感内容温和化
172
+
173
+ 修改后保存文件,并输出修改摘要。
174
+
175
+ ---
176
+
177
+ ## 完整示例
178
+
179
+ ### 示例 1:检查剧本
180
+
181
+ ```
182
+ > /aim:legitimize --check
183
+
184
+ 正在读取剧本文件...
185
+ 正在使用 AI 分析...
186
+
187
+ 📋 剧本合规性检查报告
188
+
189
+ 【角色设定】
190
+ ⚠️ 发现违规:
191
+ 1. 真实人物:"刘德华" → 建议修改为"刘天霸【剑眉星目,身形挺拔,气宇轩昂】"
192
+ 2. 真实人物:"网红脸" → 建议修改为"清秀面容【瓜子脸,大眼睛,鼻梁秀气】"
193
+
194
+ 【世界观设定】
195
+ ✅ 无违规
196
+
197
+ 【场景文件】EP01
198
+ 场景1.md
199
+ ✅ 无违规
200
+ 场景2.md
201
+ ⚠️ 发现违规:
202
+ 1. 版权角色:"张无忌" → 建议修改为"张凌风"
203
+ 2. 敏感内容:"血腥屠杀" → 建议修改为"激烈战斗"
204
+
205
+ 共发现 4 处违规,建议使用 /aim:legitimize --fix 进行修复
206
+ ```
207
+
208
+ ### 示例 2:修复剧本
209
+
210
+ ```
211
+ > /aim:legitimize --fix
212
+
213
+ 正在读取剧本文件...
214
+ 正在使用 AI 分析并修复...
215
+
216
+ 🔧 开始修复...
217
+
218
+ 【角色设定】
219
+ ✅ 已修复:
220
+ - "刘德华" → "刘天霸【剑眉星目,身形挺拔,气宇轩昂,身穿黑色西装】"
221
+ - "网红脸" → "清秀面容【瓜子脸,大眼睛,鼻梁秀气嘴唇红润】"
222
+
223
+ 【场景文件】
224
+ EP01/场景2.md
225
+ ✅ 已修复:
226
+ - "张无忌" → "张凌风"
227
+ - "血腥屠杀" → "激烈战斗"
228
+
229
+ ✅ 修复完成!共修复 4 处违规
230
+ ```
231
+
232
+ ---
233
+
234
+ ## 注意事项
235
+
236
+ 1. **API Key**:使用此命令需要配置 OpenAI API Key
237
+ ```bash
238
+ # 设置环境变量
239
+ export OPENAI_API_KEY=your-api-key
240
+ ```
241
+
242
+ 2. **备份建议**:修复前建议备份原始文件
243
+
244
+ 3. **审查修改**:AI 修改后建议人工审查确认
245
+
246
+ 4. **多次执行**:可以多次执行直到无违规
247
+
248
+ ---
249
+
250
+ ## 相关命令
251
+
252
+ | 命令 | 用途 |
253
+ |------|------|
254
+ | `/aim:check-story` | 检查剧情一致性 |
255
+ | `/aim:export` | 导出视频提示词 |
256
+ | `/aim:story` | 开始创作 |
257
+
258
+ ---
259
+
260
+ ## 工作流程
261
+
262
+ ```
263
+ 1. /aim:story → 创作剧本
264
+ 2. /aim:legitimize --check → 检查是否有违规
265
+ 3. /aim:legitimize --fix → 自动修复违规内容
266
+ 4. /aim:check-story → 再次检查剧情一致性
267
+ 5. /aim:export → 导出视频提示词
268
+ ```