@fifine/aim-studio 0.0.2 → 0.0.4
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.
- package/README.md +65 -99
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +123 -101
- package/dist/commands/init.js.map +1 -1
- package/dist/configurators/workflow.d.ts.map +1 -1
- package/dist/configurators/workflow.js +91 -65
- package/dist/configurators/workflow.js.map +1 -1
- package/dist/constants/paths.d.ts +5 -5
- package/dist/constants/paths.d.ts.map +1 -1
- package/dist/constants/paths.js +5 -5
- package/dist/constants/paths.js.map +1 -1
- package/dist/templates/aim/index.d.ts +1 -0
- package/dist/templates/aim/index.d.ts.map +1 -1
- package/dist/templates/aim/index.js +2 -0
- package/dist/templates/aim/index.js.map +1 -1
- package/dist/templates/aim/scripts/common/developer.py +2 -1
- package/dist/templates/aim/scripts/common/paths.py +3 -2
- package/dist/templates/aim/scripts/export.py +718 -0
- package/dist/templates/aim/workflow.md +12 -13
- package/dist/templates/claude/commands/aim/export.md +258 -108
- package/dist/templates/claude/commands/aim/finish-work.md +23 -0
- package/dist/templates/claude/commands/aim/onboard.md +10 -8
- package/dist/templates/claude/commands/aim/start.md +104 -37
- package/dist/templates/claude/commands/aim/story.md +275 -67
- package/dist/templates/claude/hooks/inject-subagent-context.py +6 -10
- package/dist/templates/claude/hooks/session-start.py +134 -24
- package/dist/templates/markdown/index.d.ts +5 -0
- package/dist/templates/markdown/index.d.ts.map +1 -1
- package/dist/templates/markdown/index.js +6 -0
- package/dist/templates/markdown/index.js.map +1 -1
- package/dist/templates/markdown/spec/cli/directory-structure.md.txt +71 -0
- package/dist/templates/markdown/spec/cli/error-handling.md.txt +91 -0
- package/dist/templates/markdown/spec/cli/index.md.txt +37 -0
- package/dist/templates/markdown/spec/cli/options-flags.md.txt +71 -0
- package/dist/templates/markdown/spec/cli/output-formatting.md.txt +93 -0
- package/dist/utils/project-detector.d.ts +1 -1
- package/dist/utils/project-detector.d.ts.map +1 -1
- package/dist/utils/project-detector.js +20 -0
- package/dist/utils/project-detector.js.map +1 -1
- package/package.json +1 -1
- package/dist/templates/claude/commands/trellis/before-backend-dev.md +0 -13
- package/dist/templates/claude/commands/trellis/before-frontend-dev.md +0 -13
- package/dist/templates/claude/commands/trellis/break-loop.md +0 -125
- package/dist/templates/claude/commands/trellis/check-backend.md +0 -13
- package/dist/templates/claude/commands/trellis/check-cross-layer.md +0 -153
- package/dist/templates/claude/commands/trellis/check-frontend.md +0 -13
- package/dist/templates/claude/commands/trellis/create-command.md +0 -154
- package/dist/templates/claude/commands/trellis/finish-work.md +0 -129
- package/dist/templates/claude/commands/trellis/integrate-skill.md +0 -219
- package/dist/templates/claude/commands/trellis/onboard.md +0 -358
- package/dist/templates/claude/commands/trellis/parallel.md +0 -193
- package/dist/templates/claude/commands/trellis/record-session.md +0 -62
- package/dist/templates/claude/commands/trellis/start.md +0 -280
- package/dist/templates/claude/commands/trellis/update-spec.md +0 -285
- package/dist/templates/trellis/gitignore.txt +0 -29
- package/dist/templates/trellis/index.d.ts +0 -49
- package/dist/templates/trellis/index.d.ts.map +0 -1
- package/dist/templates/trellis/index.js +0 -92
- package/dist/templates/trellis/index.js.map +0 -1
- package/dist/templates/trellis/scripts/__init__.py +0 -5
- package/dist/templates/trellis/scripts/add_session.py +0 -392
- package/dist/templates/trellis/scripts/common/__init__.py +0 -80
- package/dist/templates/trellis/scripts/common/cli_adapter.py +0 -435
- package/dist/templates/trellis/scripts/common/developer.py +0 -190
- package/dist/templates/trellis/scripts/common/git_context.py +0 -383
- package/dist/templates/trellis/scripts/common/paths.py +0 -347
- package/dist/templates/trellis/scripts/common/phase.py +0 -253
- package/dist/templates/trellis/scripts/common/registry.py +0 -366
- package/dist/templates/trellis/scripts/common/task_queue.py +0 -255
- package/dist/templates/trellis/scripts/common/task_utils.py +0 -178
- package/dist/templates/trellis/scripts/common/worktree.py +0 -219
- package/dist/templates/trellis/scripts/create_bootstrap.py +0 -290
- package/dist/templates/trellis/scripts/get_context.py +0 -16
- package/dist/templates/trellis/scripts/get_developer.py +0 -26
- package/dist/templates/trellis/scripts/init_developer.py +0 -51
- package/dist/templates/trellis/scripts/multi_agent/__init__.py +0 -5
- package/dist/templates/trellis/scripts/multi_agent/cleanup.py +0 -403
- package/dist/templates/trellis/scripts/multi_agent/create_pr.py +0 -329
- package/dist/templates/trellis/scripts/multi_agent/plan.py +0 -233
- package/dist/templates/trellis/scripts/multi_agent/start.py +0 -461
- package/dist/templates/trellis/scripts/multi_agent/status.py +0 -817
- package/dist/templates/trellis/scripts/task.py +0 -1056
- package/dist/templates/trellis/scripts-shell-archive/add-session.sh +0 -384
- package/dist/templates/trellis/scripts-shell-archive/common/developer.sh +0 -129
- package/dist/templates/trellis/scripts-shell-archive/common/git-context.sh +0 -263
- package/dist/templates/trellis/scripts-shell-archive/common/paths.sh +0 -208
- package/dist/templates/trellis/scripts-shell-archive/common/phase.sh +0 -150
- package/dist/templates/trellis/scripts-shell-archive/common/registry.sh +0 -247
- package/dist/templates/trellis/scripts-shell-archive/common/task-queue.sh +0 -142
- package/dist/templates/trellis/scripts-shell-archive/common/task-utils.sh +0 -151
- package/dist/templates/trellis/scripts-shell-archive/common/worktree.sh +0 -128
- package/dist/templates/trellis/scripts-shell-archive/create-bootstrap.sh +0 -299
- package/dist/templates/trellis/scripts-shell-archive/get-context.sh +0 -7
- package/dist/templates/trellis/scripts-shell-archive/get-developer.sh +0 -15
- package/dist/templates/trellis/scripts-shell-archive/init-developer.sh +0 -34
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/cleanup.sh +0 -396
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/create-pr.sh +0 -241
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/plan.sh +0 -207
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/start.sh +0 -317
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/status.sh +0 -828
- package/dist/templates/trellis/scripts-shell-archive/task.sh +0 -1204
- package/dist/templates/trellis/tasks/.gitkeep +0 -0
- package/dist/templates/trellis/workflow.md +0 -416
- package/dist/templates/trellis/worktree.yaml +0 -47
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: start
|
|
3
|
-
description: 开始 AIM Studio
|
|
3
|
+
description: 开始 AIM Studio 开发会话
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# 开始会话
|
|
7
7
|
|
|
8
|
-
初始化 AIM Studio
|
|
8
|
+
初始化 AIM Studio 开发会话,开始你的开发工作。
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
## 适用场景
|
|
13
13
|
|
|
14
|
-
-
|
|
15
|
-
-
|
|
14
|
+
- 首次开始项目开发
|
|
15
|
+
- 开始新的开发会话
|
|
16
16
|
- 想要了解当前项目状态
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
20
|
## 使用步骤
|
|
21
21
|
|
|
22
|
-
### 步骤 1
|
|
22
|
+
### 步骤 1:理解工作流
|
|
23
23
|
|
|
24
24
|
首先阅读工作流指南:
|
|
25
25
|
|
|
@@ -30,28 +30,74 @@ cat .aim-studio/workflow.md
|
|
|
30
30
|
**遵循 workflow.md 中的指导**,包含:
|
|
31
31
|
- 核心原则(先读后写、遵循规范等)
|
|
32
32
|
- 文件系统结构
|
|
33
|
-
-
|
|
33
|
+
- 开发流程
|
|
34
34
|
- 最佳实践
|
|
35
35
|
|
|
36
36
|
### 步骤 2:获取当前上下文
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
|
-
aim
|
|
39
|
+
python3 .aim-studio/scripts/get_context.py
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
或者查看项目状态:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
python3 .aim-studio/scripts/task.py status
|
|
40
46
|
```
|
|
41
47
|
|
|
42
48
|
显示:项目状态、当前任务(如有)、活跃任务列表。
|
|
43
49
|
|
|
44
|
-
### 步骤 3
|
|
50
|
+
### 步骤 3:阅读开发规范
|
|
51
|
+
|
|
52
|
+
根据项目类型,阅读相应的规范:
|
|
45
53
|
|
|
54
|
+
**如果是 CLI 项目**:
|
|
46
55
|
```bash
|
|
47
|
-
cat .aim-studio/spec/
|
|
48
|
-
cat .aim-studio/spec/
|
|
49
|
-
cat .aim-studio/spec/story/world.md # 世界观设定规范
|
|
56
|
+
cat .aim-studio/spec/cli/index.md # CLI 开发规范
|
|
57
|
+
cat .aim-studio/spec/cli/directory-structure.md
|
|
50
58
|
```
|
|
51
59
|
|
|
52
|
-
|
|
60
|
+
**如果是前端项目**:
|
|
61
|
+
```bash
|
|
62
|
+
cat .aim-studio/spec/frontend/index.md # 前端开发规范
|
|
63
|
+
cat .aim-studio/spec/frontend/component-guidelines.md
|
|
64
|
+
```
|
|
53
65
|
|
|
54
|
-
|
|
66
|
+
**如果是后端项目**:
|
|
67
|
+
```bash
|
|
68
|
+
cat .aim-studio/spec/backend/index.md # 后端开发规范
|
|
69
|
+
cat .aim-studio/spec/backend/directory-structure.md
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**如果是全栈项目**:
|
|
73
|
+
```bash
|
|
74
|
+
cat .aim-studio/spec/frontend/index.md
|
|
75
|
+
cat .aim-studio/spec/backend/index.md
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**如果是漫剧创作项目**:
|
|
79
|
+
```bash
|
|
80
|
+
cat .aim-studio/spec/story/script.md # 剧本与分镜规范
|
|
81
|
+
cat .aim-studio/spec/story/character.md # 角色设定规范
|
|
82
|
+
cat .aim-studio/spec/story/world.md # 世界观设定规范
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 步骤 4:检查当前任务
|
|
86
|
+
|
|
87
|
+
查看是否有待完成的任务:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
python3 .aim-studio/scripts/task.py list
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
如果有任务,查看任务详情:
|
|
94
|
+
```bash
|
|
95
|
+
python3 .aim-studio/scripts/task.py show <任务名>
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### 步骤 5:开始工作
|
|
99
|
+
|
|
100
|
+
报告你了解到的内容,询问用户:"您好!请问今天需要做什么?"
|
|
55
101
|
|
|
56
102
|
---
|
|
57
103
|
|
|
@@ -61,31 +107,46 @@ cat .aim-studio/spec/story/world.md # 世界观设定规范
|
|
|
61
107
|
|
|
62
108
|
| 类型 | 标准 | 处理方式 |
|
|
63
109
|
|------|------|----------|
|
|
64
|
-
| 问题 |
|
|
65
|
-
| 简单修改 |
|
|
66
|
-
|
|
|
110
|
+
| 问题 | 用户询问关于项目的问题 | 直接回答 |
|
|
111
|
+
| 简单修改 | 小改动 | 直接处理 |
|
|
112
|
+
| 开发任务 | 需要多步骤完成的任务 | 创建任务并执行 |
|
|
113
|
+
| 漫剧创作 | 创作新故事、角色等(仅限 story 项目) | 使用 `/aim:story` |
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## 项目类型检测
|
|
118
|
+
|
|
119
|
+
根据项目结构自动识别项目类型:
|
|
120
|
+
|
|
121
|
+
| 项目类型 | 特征 | 规范目录 |
|
|
122
|
+
|----------|------|----------|
|
|
123
|
+
| CLI 工具 | 有 `bin/` 目录 | `spec/cli/` |
|
|
124
|
+
| 前端 | 有 `package.json`、前端框架 | `spec/frontend/` |
|
|
125
|
+
| 后端 | 有 `requirements.txt`、`go.mod` 等 | `spec/backend/` |
|
|
126
|
+
| 全栈 | 既有前端又有后端 | `spec/frontend/` + `spec/backend/` |
|
|
127
|
+
| 漫剧创作 | 有 `spec/story/` | `spec/story/` |
|
|
67
128
|
|
|
68
129
|
---
|
|
69
130
|
|
|
70
131
|
## 组合使用方案
|
|
71
132
|
|
|
72
|
-
###
|
|
133
|
+
### 方案一:日常开发
|
|
73
134
|
|
|
74
135
|
```
|
|
75
136
|
1. /aim:start → 阅读工作流和项目状态
|
|
76
|
-
2.
|
|
77
|
-
3. /aim:
|
|
78
|
-
4. /aim:visualize → 生成图片提示词
|
|
79
|
-
5. /aim:finish-work → 完成工作
|
|
137
|
+
2. 讨论需求...
|
|
138
|
+
3. /aim:finish-work → 完成工作并记录
|
|
80
139
|
```
|
|
81
140
|
|
|
82
|
-
###
|
|
141
|
+
### 方案二:漫剧创作(仅限 story 项目)
|
|
83
142
|
|
|
84
143
|
```
|
|
85
|
-
1. /aim:start →
|
|
86
|
-
2. /aim:
|
|
87
|
-
3.
|
|
88
|
-
4. /aim:
|
|
144
|
+
1. /aim:start → 了解项目状态
|
|
145
|
+
2. /aim:story → 开始创作
|
|
146
|
+
3. /aim:portrait <角色名> → 创建角色肖像
|
|
147
|
+
4. /aim:visualize → 生成图片提示词
|
|
148
|
+
5. /aim:check-story → 检查剧情一致性
|
|
149
|
+
6. /aim:finish-work → 完成工作并记录
|
|
89
150
|
```
|
|
90
151
|
|
|
91
152
|
---
|
|
@@ -94,19 +155,25 @@ cat .aim-studio/spec/story/world.md # 世界观设定规范
|
|
|
94
155
|
|
|
95
156
|
> **规范是注入的,不是记忆的。**
|
|
96
157
|
>
|
|
97
|
-
>
|
|
158
|
+
> 开发工作流确保 AI 接收相关规范。这比希望 AI "记住"规范更可靠。
|
|
98
159
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## 相关命令(根据项目类型使用)
|
|
163
|
+
|
|
164
|
+
| 命令 | 用途 | 适用项目 |
|
|
165
|
+
|------|------|----------|
|
|
166
|
+
| `/aim:start` | 开始会话 | 所有 |
|
|
167
|
+
| `/aim:story` | 漫剧创作模式 | story |
|
|
168
|
+
| `/aim:portrait` | 生成角色肖像 | story |
|
|
169
|
+
| `/aim:visualize` | 生成图片提示词 | story |
|
|
170
|
+
| `/aim:check-story` | 检查剧情一致性 | story |
|
|
171
|
+
| `/aim:finish-work` | 完成工作并生成日志 | 所有 |
|
|
103
172
|
|
|
104
173
|
---
|
|
105
174
|
|
|
106
|
-
##
|
|
175
|
+
## 注意事项
|
|
107
176
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
| `/aim:check-story` | 剧情逻辑检查 |
|
|
112
|
-
| `/aim:finish-work` | 完成工作并生成日志 |
|
|
177
|
+
1. **漫剧命令仅限 story 项目**:如果项目不是漫剧创作类型,`/aim:story` 等命令不可用
|
|
178
|
+
2. **遵循项目规范**:开发前务必阅读 `spec/` 目录下的规范文件
|
|
179
|
+
3. **记录工作进度**:完成工作后使用 `/aim:finish-work` 记录
|
|
@@ -17,115 +17,321 @@ description: 启动漫剧创作模式
|
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
##
|
|
20
|
+
## 完整工作流程
|
|
21
21
|
|
|
22
|
-
###
|
|
22
|
+
### 流程概览
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
┌─────────────────────────────────────────────────────────────────────────┐
|
|
26
|
+
│ 漫剧创作完整流程 │
|
|
27
|
+
├─────────────────────────────────────────────────────────────────────────┤
|
|
28
|
+
│ │
|
|
29
|
+
│ 1. 初始化 ──────────────────────────────────────────────────────→ │
|
|
30
|
+
│ aim init -u <你的名字> │
|
|
31
|
+
│ │
|
|
32
|
+
│ 2. 开始工作 ────────────────────────────────────────────────────→ │
|
|
33
|
+
│ /aim:start │
|
|
34
|
+
│ │
|
|
35
|
+
│ 3. 创作阶段 ────────────────────────────────────────────────────→ │
|
|
36
|
+
│ │ │
|
|
37
|
+
│ ├─→ /aim:story 启动漫剧创作 │
|
|
38
|
+
│ │ │
|
|
39
|
+
│ ├─→ /aim:portrait <角色> 创建角色肖像(可选,可多次) │
|
|
40
|
+
│ │ │
|
|
41
|
+
│ ├─→ /aim:visualize 生成场景图片(可选,可多次) │
|
|
42
|
+
│ │ │
|
|
43
|
+
│ └─→ /aim:check-story 检查剧情一致性(可选,可多次) │
|
|
44
|
+
│ │
|
|
45
|
+
│ 4. 导出阶段 ────────────────────────────────────────────────────→ │
|
|
46
|
+
│ │ │
|
|
47
|
+
│ └─→ /aim:export 导出 Seedance 视频提示词 │
|
|
48
|
+
│ │
|
|
49
|
+
│ 5. 完成工作 ────────────────────────────────────────────────────→ │
|
|
50
|
+
│ /aim:finish-work │
|
|
51
|
+
│ │
|
|
52
|
+
└─────────────────────────────────────────────────────────────────────────┘
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 详细步骤
|
|
58
|
+
|
|
59
|
+
### 步骤 1:初始化项目
|
|
23
60
|
|
|
24
61
|
```bash
|
|
25
|
-
#
|
|
26
|
-
|
|
62
|
+
# 在你的项目目录中
|
|
63
|
+
aim init -u 你的名字
|
|
27
64
|
```
|
|
28
65
|
|
|
29
|
-
|
|
66
|
+
这会创建以下结构:
|
|
30
67
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
|
|
68
|
+
```
|
|
69
|
+
项目目录/
|
|
70
|
+
├── .aim-studio/ # 系统配置
|
|
71
|
+
│ ├── spec/story/ # 创作规范
|
|
72
|
+
│ │ ├── script.md # 剧本规范
|
|
73
|
+
│ │ ├── character.md # 角色设定
|
|
74
|
+
│ │ └── world.md # 世界观设定
|
|
75
|
+
│ └── tasks/ # 任务存储
|
|
76
|
+
├── aim-workspace/ # 工作日志(你的创作记录)
|
|
77
|
+
└── ...
|
|
78
|
+
```
|
|
35
79
|
|
|
36
|
-
|
|
80
|
+
### 步骤 2:开始工作
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
/aim:start
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
AI 会:
|
|
87
|
+
1. 读取项目状态
|
|
88
|
+
2. 查看最近的工作日志
|
|
89
|
+
3. 询问你今天要做什么
|
|
90
|
+
|
|
91
|
+
### 步骤 3:开始创作
|
|
92
|
+
|
|
93
|
+
#### 3.1 启动创作模式
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
/aim:story
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
AI 会询问你想要创作什么。
|
|
100
|
+
|
|
101
|
+
#### 3.2 创建角色(可选但推荐)
|
|
102
|
+
|
|
103
|
+
当你创作了新角色后,使用:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
/aim:portrait 角色名
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**示例**:
|
|
110
|
+
```
|
|
111
|
+
/aim:portrait 慕容天
|
|
112
|
+
/aim:portrait 沈安在
|
|
113
|
+
/aim:portrait 女主角
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
这会生成角色的 AI 绘画提示词,你可以保存下来用于后续生成角色图片。
|
|
117
|
+
|
|
118
|
+
#### 3.3 生成场景图片(可选)
|
|
119
|
+
|
|
120
|
+
当你写完一个场景后,想要生成对应的图片:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
/aim:visualize
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
这会将当前剧本段落转换为 Qwen-Image 优化的绘画提示词。
|
|
127
|
+
|
|
128
|
+
#### 3.4 检查剧情一致性(推荐)
|
|
129
|
+
|
|
130
|
+
完成一段创作后,检查是否有前后不一致:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
/aim:check-story
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
这会检查:
|
|
137
|
+
- 角色行为是否符合人设
|
|
138
|
+
- 剧情逻辑是否连贯
|
|
139
|
+
- 场景描述是否一致
|
|
140
|
+
|
|
141
|
+
### 步骤 4:导出视频提示词
|
|
142
|
+
|
|
143
|
+
当你完成一集或几集的创作后,准备生成视频:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
/aim:export
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
实际上是在终端执行:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
python3 .aim-studio/scripts/export.py --ep 1
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
#### 4.1 选择导出集数
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# 导出第1集
|
|
159
|
+
python3 .aim-studio/scripts/export.py --ep 1
|
|
160
|
+
|
|
161
|
+
# 导出1-3集
|
|
162
|
+
python3 .aim-studio/scripts/export.py --ep 1-3
|
|
163
|
+
|
|
164
|
+
# 导出全部
|
|
165
|
+
python3 .aim-studio/scripts/export.py --all
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
#### 4.2 选择视频时长
|
|
169
|
+
|
|
170
|
+
根据场景复杂度选择:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
# 5秒(简单对话)
|
|
174
|
+
python3 .aim-studio/scripts/export.py --ep 1 --duration 5
|
|
175
|
+
|
|
176
|
+
# 10秒(默认,通用)
|
|
177
|
+
python3 .aim-studio/scripts/export.py --ep 1 --duration 10
|
|
178
|
+
|
|
179
|
+
# 15秒(中等复杂度)
|
|
180
|
+
python3 .aim-studio/scripts/export.py --ep 1 --duration 15
|
|
181
|
+
|
|
182
|
+
# 30秒(复杂场景)
|
|
183
|
+
python3 .aim-studio/scripts/export.py --ep 1 --duration 30
|
|
184
|
+
|
|
185
|
+
# 45秒或60秒(长场景)
|
|
186
|
+
python3 .aim-studio/scripts/export.py --ep 1 --duration 45
|
|
187
|
+
python3 .aim-studio/scripts/export.py --ep 1 --duration 60
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
#### 4.3 违规检测
|
|
37
191
|
|
|
38
|
-
|
|
192
|
+
导出时会自动检查违规内容:
|
|
39
193
|
|
|
40
|
-
|
|
194
|
+
| 违规类型 | 检测内容 | 风险等级 |
|
|
195
|
+
|----------|----------|----------|
|
|
196
|
+
| 真人素材 | 明星、网红、真实照片 | ⚠️ 高风险 |
|
|
197
|
+
| 版权内容 | 金庸小说、漫威、哈利波特 | ⚠️ 中风险 |
|
|
198
|
+
| 敏感内容 | 暴力、血腥、政治 | ⚠️ 中风险 |
|
|
41
199
|
|
|
42
|
-
|
|
43
|
-
- 创作什么类型的内容?(新剧集、修改现有内容等)
|
|
44
|
-
- 有什么特定要求或约束?
|
|
45
|
-
- 需要参考哪些原文?
|
|
200
|
+
如果检测到违规,系统会提示你选择处理方式:
|
|
46
201
|
|
|
47
|
-
|
|
202
|
+
```
|
|
203
|
+
请选择处理方式(输入数字):
|
|
204
|
+
1. 修改角色设定 - 使用虚构角色替代真人
|
|
205
|
+
2. 替换版权内容 - 使用原创元素
|
|
206
|
+
3. 简化敏感描述 - 移除敏感描述
|
|
207
|
+
4. 强制导出 - 仍要导出(风险自负)
|
|
208
|
+
5. 退出 - 不导出
|
|
209
|
+
```
|
|
48
210
|
|
|
49
|
-
|
|
211
|
+
#### 4.4 完整导出示例
|
|
50
212
|
|
|
51
213
|
```bash
|
|
52
|
-
|
|
214
|
+
# 最常用:导出第1集,10秒,自动打开文件夹
|
|
215
|
+
python3 .aim-studio/scripts/export.py --ep 1 --open
|
|
216
|
+
|
|
217
|
+
# 完整参数:导出第1集,30秒,seedance格式
|
|
218
|
+
python3 .aim-studio/scripts/export.py --ep 1 --duration 30 --format seedance
|
|
219
|
+
|
|
220
|
+
# 批量导出:1-3集,15秒
|
|
221
|
+
python3 .aim-studio/scripts/export.py --ep 1-3 --duration 15
|
|
53
222
|
```
|
|
54
223
|
|
|
55
|
-
|
|
56
|
-
- 角色特征
|
|
57
|
-
- 场景描述
|
|
58
|
-
- 剧情要点
|
|
224
|
+
#### 4.5 仅检查违规
|
|
59
225
|
|
|
60
|
-
|
|
226
|
+
如果你只想检查内容是否合规,不导出:
|
|
61
227
|
|
|
62
|
-
|
|
228
|
+
```bash
|
|
229
|
+
python3 .aim-studio/scripts/export.py --check
|
|
230
|
+
```
|
|
63
231
|
|
|
64
|
-
|
|
65
|
-
2. **设定世界观** - 编辑 `.aim-studio/spec/story/world.md`
|
|
232
|
+
### 步骤 5:完成工作
|
|
66
233
|
|
|
67
|
-
|
|
234
|
+
```bash
|
|
235
|
+
/aim:finish-work
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
这会:
|
|
239
|
+
1. 检查内容完整性
|
|
240
|
+
2. 检查格式是否符合规范
|
|
241
|
+
3. 可选:运行剧情一致性检查
|
|
242
|
+
4. 记录工作内容
|
|
68
243
|
|
|
69
|
-
|
|
244
|
+
#### 5.1 记录会话(可选单独使用)
|
|
70
245
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
246
|
+
```bash
|
|
247
|
+
# 记录本次工作
|
|
248
|
+
python3 ./.aim-studio/scripts/add_session.py \
|
|
249
|
+
--title "第1集创作" \
|
|
250
|
+
--summary "完成第1集前5场的创作"
|
|
251
|
+
```
|
|
76
252
|
|
|
77
253
|
---
|
|
78
254
|
|
|
79
|
-
##
|
|
255
|
+
## 常见场景
|
|
80
256
|
|
|
81
|
-
###
|
|
257
|
+
### 场景 1:全新项目,从零开始
|
|
82
258
|
|
|
83
259
|
```
|
|
84
|
-
1.
|
|
85
|
-
2. /aim:
|
|
86
|
-
3. /aim:
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
260
|
+
1. aim init -u 我的名字
|
|
261
|
+
2. /aim:start
|
|
262
|
+
3. /aim:story
|
|
263
|
+
→ 告诉 AI 要创作什么类型的故事
|
|
264
|
+
4. 创作角色和剧情...
|
|
265
|
+
5. /aim:portrait 角色1
|
|
266
|
+
6. /aim:portrait 角色2
|
|
267
|
+
7. 继续创作...
|
|
268
|
+
8. /aim:check-story
|
|
269
|
+
9. /aim:export --ep 1 --open
|
|
270
|
+
10. /aim:finish-work
|
|
93
271
|
```
|
|
94
272
|
|
|
95
|
-
###
|
|
273
|
+
### 场景 2:继续之前的创作
|
|
96
274
|
|
|
97
275
|
```
|
|
98
|
-
1. /aim:
|
|
99
|
-
|
|
100
|
-
|
|
276
|
+
1. /aim:start
|
|
277
|
+
→ AI 会读取之前的进度
|
|
278
|
+
2. 继续创作...
|
|
279
|
+
3. /aim:check-story
|
|
280
|
+
4. /aim:export --ep 2 --duration 15
|
|
281
|
+
5. /aim:finish-work
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
### 场景 3:修改角色设定
|
|
285
|
+
|
|
286
|
+
```
|
|
287
|
+
1. /aim:portrait 角色名
|
|
288
|
+
→ 生成新的肖像提示词
|
|
289
|
+
2. 手动更新 character.md
|
|
290
|
+
3. /aim:check-story
|
|
291
|
+
→ 检查修改后是否一致
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### 场景 4:生成宣传图片
|
|
295
|
+
|
|
296
|
+
```
|
|
297
|
+
1. /aim:visualize
|
|
298
|
+
→ 将剧本场景转换为图片提示词
|
|
299
|
+
2. 复制提示词到 AI 绘画工具
|
|
300
|
+
3. 生成图片
|
|
101
301
|
```
|
|
102
302
|
|
|
103
303
|
---
|
|
104
304
|
|
|
105
|
-
##
|
|
305
|
+
## 参数速查表
|
|
306
|
+
|
|
307
|
+
### export.py 完整参数
|
|
106
308
|
|
|
107
|
-
|
|
309
|
+
| 参数 | 必填 | 可选值 | 默认值 | 说明 |
|
|
310
|
+
|------|------|--------|--------|------|
|
|
311
|
+
| `--ep` | 是 | `1`, `1-3`, `all` | 无 | 导出集数 |
|
|
312
|
+
| `--format` | 否 | `seedance`, `simple` | `seedance` | 格式 |
|
|
313
|
+
| `--duration` | 否 | `5/10/15/30/45/60` | `10` | 时长(秒) |
|
|
314
|
+
| `--output` | 否 | 目录名 | `export` | 输出目录 |
|
|
315
|
+
| `--open` | 否 | 开关 | 关闭 | 导出后打开 |
|
|
316
|
+
| `--check` | 否 | 开关 | 关闭 | 仅检查违规 |
|
|
317
|
+
| `--force` | 否 | 开关 | 关闭 | 强制导出 |
|
|
108
318
|
|
|
109
|
-
|
|
319
|
+
### add_session.py 参数
|
|
320
|
+
|
|
321
|
+
| 参数 | 必填 | 说明 |
|
|
110
322
|
|------|------|------|
|
|
111
|
-
|
|
|
112
|
-
|
|
|
113
|
-
|
|
|
114
|
-
| 镜头语言 | 运镜、景别、特效 | 近景切入,缓慢推进 |
|
|
115
|
-
| 音频设计 | 人声、环境音、音乐 | 古琴声由远及近,配笛音 |
|
|
116
|
-
| 风格影调 | 视觉风格、色调 | 水墨风,暖色调,参考《大鱼海棠》 |
|
|
323
|
+
| `--title` | 是 | 会话标题 |
|
|
324
|
+
| `--summary` | 是 | 工作摘要 |
|
|
325
|
+
| `--commit` | 否 | Git 提交哈希 |
|
|
117
326
|
|
|
118
327
|
---
|
|
119
328
|
|
|
120
|
-
##
|
|
121
|
-
|
|
122
|
-
> **规范是注入的,不是记忆的。**
|
|
123
|
-
>
|
|
124
|
-
> 创作工作流确保 AI 接收相关规范。这比希望 AI "记住"规范更可靠。
|
|
329
|
+
## 注意事项
|
|
125
330
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
331
|
+
1. **先检查后导出**:建议先运行 `--check` 确认无违规
|
|
332
|
+
2. **选择合适时长**:复杂场景用 15-30 秒,简单对话用 5-10 秒
|
|
333
|
+
3. **保持角色一致**:每次创作前回顾 character.md
|
|
334
|
+
4. **记录工作进度**:完成后使用 finish-work 记录,便于后续继续
|
|
129
335
|
|
|
130
336
|
---
|
|
131
337
|
|
|
@@ -134,7 +340,9 @@ cat .aim-studio/materials/原著.txt
|
|
|
134
340
|
| 命令 | 用途 |
|
|
135
341
|
|------|------|
|
|
136
342
|
| `/aim:start` | 开始会话 |
|
|
343
|
+
| `/aim:story` | 开始创作 |
|
|
137
344
|
| `/aim:portrait` | 生成角色肖像 |
|
|
138
|
-
| `/aim:visualize` |
|
|
345
|
+
| `/aim:visualize` | 生成场景图片 |
|
|
139
346
|
| `/aim:check-story` | 检查剧情一致性 |
|
|
347
|
+
| `/aim:export` | 导出视频提示词 |
|
|
140
348
|
| `/aim:finish-work` | 完成工作 |
|
|
@@ -45,7 +45,7 @@ if sys.platform == "win32":
|
|
|
45
45
|
# =============================================================================
|
|
46
46
|
|
|
47
47
|
DIR_WORKFLOW = ".aim-studio"
|
|
48
|
-
DIR_WORKSPACE = "workspace"
|
|
48
|
+
DIR_WORKSPACE = "aim-workspace"
|
|
49
49
|
DIR_TASKS = "tasks"
|
|
50
50
|
DIR_SPEC = "spec"
|
|
51
51
|
FILE_CURRENT_TASK = ".current-task"
|
|
@@ -337,10 +337,8 @@ def get_check_context(repo_root: str, task_dir: str) -> str:
|
|
|
337
337
|
else:
|
|
338
338
|
# Fallback: use hardcoded check files + spec.jsonl
|
|
339
339
|
check_files = [
|
|
340
|
-
(".claude/commands/
|
|
341
|
-
(".claude/commands/
|
|
342
|
-
(".claude/commands/trellis/check-backend.md", "Backend check spec"),
|
|
343
|
-
(".claude/commands/trellis/check-frontend.md", "Frontend check spec"),
|
|
340
|
+
(".claude/commands/aim/finish-work.md", "Finish work checklist"),
|
|
341
|
+
(".claude/commands/aim/check-story.md", "Story check spec"),
|
|
344
342
|
]
|
|
345
343
|
for file_path, description in check_files:
|
|
346
344
|
content = read_file_content(repo_root, file_path)
|
|
@@ -382,11 +380,11 @@ def get_finish_context(repo_root: str, task_dir: str) -> str:
|
|
|
382
380
|
else:
|
|
383
381
|
# Fallback: only finish-work.md (lightweight)
|
|
384
382
|
finish_work = read_file_content(
|
|
385
|
-
repo_root, ".claude/commands/
|
|
383
|
+
repo_root, ".claude/commands/aim/finish-work.md"
|
|
386
384
|
)
|
|
387
385
|
if finish_work:
|
|
388
386
|
context_parts.append(
|
|
389
|
-
f"=== .claude/commands/
|
|
387
|
+
f"=== .claude/commands/aim/finish-work.md (Finish checklist) ===\n{finish_work}"
|
|
390
388
|
)
|
|
391
389
|
|
|
392
390
|
# 2. Requirements document (for verifying requirements are met)
|
|
@@ -422,9 +420,7 @@ def get_debug_context(repo_root: str, task_dir: str) -> str:
|
|
|
422
420
|
context_parts.append(f"=== {file_path} (Dev spec) ===\n{content}")
|
|
423
421
|
|
|
424
422
|
check_files = [
|
|
425
|
-
(".claude/commands/
|
|
426
|
-
(".claude/commands/trellis/check-frontend.md", "Frontend check spec"),
|
|
427
|
-
(".claude/commands/trellis/check-cross-layer.md", "Cross-layer check spec"),
|
|
423
|
+
(".claude/commands/aim/check-story.md", "Story check spec"),
|
|
428
424
|
]
|
|
429
425
|
for file_path, description in check_files:
|
|
430
426
|
content = read_file_content(repo_root, file_path)
|