yuanflow-cli 0.1.45 → 0.1.47
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 +6 -19
- package/package.json +1 -1
- package/skills/yuanflow-skill/HTML/346/212/245/345/221/212/347/224/237/346/210/220/SKILL.md +4 -0
- package/skills/yuanflow-skill/IP/350/277/220/350/220/245/SKILL.md +4 -0
- package/skills/yuanflow-skill/README.md +8 -3
- package/skills/yuanflow-skill//344/270/252/344/272/272/345/210/233/344/275/234/345/272/223/SKILL.md +2 -2
- package/skills/yuanflow-skill//345/205/254/344/274/227/345/217/267/347/224/237/346/210/220/344/270/216/345/217/221/345/270/203/SKILL.md +2 -2
- package/skills/yuanflow-skill//345/210/233/344/275/234/346/200/273/347/233/221/SKILL.md +4 -0
- package/skills/yuanflow-skill//345/243/260/351/237/263/345/205/213/351/232/206/SKILL.md +3 -3
- package/skills/yuanflow-skill//345/243/260/351/237/263/345/244/215/345/210/273/SKILL.md +4 -4
- package/skills/yuanflow-skill//345/260/217/347/272/242/344/271/246/350/277/220/350/220/245/SKILL.md +1 -1
- package/skills/yuanflow-skill//345/260/217/347/272/242/344/271/246/350/277/220/350/220/245/references/commands.md +1 -2
- package/skills/yuanflow-skill//345/270/220/345/217/267/345/256/232/344/275/215/SKILL.md +4 -0
- package/skills/yuanflow-skill//345/270/220/345/217/267/347/233/221/346/216/247/SKILL.md +1 -1
- package/skills/yuanflow-skill//346/226/207/346/241/210/345/210/233/344/275/234/SKILL.md +4 -0
- package/skills/yuanflow-skill//346/234/254/345/234/260/351/237/263/350/247/206/351/242/221/350/275/254/346/226/207/345/255/227/SKILL.md +15 -13
- package/skills/yuanflow-skill//347/224/237/345/233/276/346/212/200/350/203/275/SKILL.md +2 -2
- package/skills/yuanflow-skill//347/233/264/346/222/255/346/212/225/346/265/201/347/255/226/347/225/245/SKILL.md +4 -0
- package/skills/yuanflow-skill//347/233/264/346/222/255/350/257/235/346/234/257/347/224/237/346/210/220/SKILL.md +4 -0
- package/skills/yuanflow-skill//350/207/252/345/252/222/344/275/223/346/265/217/350/247/210/345/231/250/350/207/252/345/212/250/345/214/226/SKILL.md +4 -4
- package/skills/yuanflow-skill//350/247/206/350/247/211/347/220/206/350/247/243/SKILL.md +4 -4
- package/skills/yuanflow-skill//350/247/206/351/242/221/346/212/225/346/265/201/347/255/226/347/225/245/SKILL.md +1 -1
- package/skills/yuanflow-skill//350/247/206/351/242/221/346/213/206/350/247/243/SKILL.md +6 -6
- package/skills/yuanflow-skill//350/247/206/351/242/221/346/231/272/350/203/275/345/211/252/350/276/221/SKILL.md +22 -22
- package/skills/yuanflow-skill//351/200/211/351/242/230/347/255/226/345/210/222/SKILL.md +4 -0
- package/skills/yuanflow-skill//351/237/263/350/247/206/351/242/221/345/234/250/347/272/277/350/275/254/346/226/207/345/255/227/SKILL.md +2 -2
- package/src/agent-protocol.js +0 -3
- package/src/cli.js +1 -23
- package/src/video-tools.js +0 -969
|
@@ -93,9 +93,9 @@ YuanFlow-main 内置环境优先用 `yuanflow_cli_call` 调用知识库,不要
|
|
|
93
93
|
|
|
94
94
|
```bash
|
|
95
95
|
yuanflow-cli video strategy \
|
|
96
|
-
--project "
|
|
96
|
+
--project "<剪辑项目目录>" \
|
|
97
97
|
--template-type talking_head \
|
|
98
|
-
--rules-file "
|
|
98
|
+
--rules-file "<剪辑逻辑规则文件>,<口播模板规则文件>,<CLI校验规则文件>" \
|
|
99
99
|
--format agent-json
|
|
100
100
|
```
|
|
101
101
|
|
|
@@ -136,11 +136,11 @@ CLI 会生成 `strategy_snapshot.json`,后续 Agent 必须基于这个快照
|
|
|
136
136
|
"video",
|
|
137
137
|
"init",
|
|
138
138
|
"--input",
|
|
139
|
-
"
|
|
139
|
+
"<素材目录>",
|
|
140
140
|
"--primary-audio",
|
|
141
|
-
"
|
|
141
|
+
"<主音频文件>",
|
|
142
142
|
"--broll",
|
|
143
|
-
"
|
|
143
|
+
"<B-roll文件1>,<B-roll文件2>",
|
|
144
144
|
"--target-duration",
|
|
145
145
|
"60",
|
|
146
146
|
"--aspect",
|
|
@@ -157,9 +157,9 @@ CLI 会生成 `strategy_snapshot.json`,后续 Agent 必须基于这个快照
|
|
|
157
157
|
|
|
158
158
|
```bash
|
|
159
159
|
yuanflow-cli video init \
|
|
160
|
-
--input "
|
|
161
|
-
--primary-audio "
|
|
162
|
-
--broll "
|
|
160
|
+
--input "<素材目录>" \
|
|
161
|
+
--primary-audio "<主音频文件>" \
|
|
162
|
+
--broll "<B-roll文件1>,<B-roll文件2>" \
|
|
163
163
|
--target-duration 60 \
|
|
164
164
|
--aspect 9:16 \
|
|
165
165
|
--format agent-json
|
|
@@ -168,7 +168,7 @@ yuanflow-cli video init \
|
|
|
168
168
|
### 2. 扫描素材
|
|
169
169
|
|
|
170
170
|
```bash
|
|
171
|
-
yuanflow-cli video inspect --project "
|
|
171
|
+
yuanflow-cli video inspect --project "<剪辑项目目录>" --format agent-json
|
|
172
172
|
```
|
|
173
173
|
|
|
174
174
|
如果只是验证命令结构,可以加 `--dry-run`。
|
|
@@ -179,8 +179,8 @@ yuanflow-cli video inspect --project "D:\素材\yuanflow-video-edit" --format ag
|
|
|
179
179
|
|
|
180
180
|
```bash
|
|
181
181
|
yuanflow-cli video align \
|
|
182
|
-
--project "
|
|
183
|
-
--asr-file "
|
|
182
|
+
--project "<剪辑项目目录>" \
|
|
183
|
+
--asr-file "<ASR结果文件>" \
|
|
184
184
|
--format agent-json
|
|
185
185
|
```
|
|
186
186
|
|
|
@@ -199,7 +199,7 @@ yuanflow-cli video align \
|
|
|
199
199
|
|
|
200
200
|
```bash
|
|
201
201
|
yuanflow-cli video timeline \
|
|
202
|
-
--project "
|
|
202
|
+
--project "<剪辑项目目录>" \
|
|
203
203
|
--fps 1 \
|
|
204
204
|
--format agent-json
|
|
205
205
|
```
|
|
@@ -237,8 +237,8 @@ Agent 或人工查看抽帧图片后,先写出 `visual_review.agent.json`,
|
|
|
237
237
|
|
|
238
238
|
```bash
|
|
239
239
|
yuanflow-cli video visual-review \
|
|
240
|
-
--project "
|
|
241
|
-
--review-file "
|
|
240
|
+
--project "<剪辑项目目录>" \
|
|
241
|
+
--review-file "<视觉理解回写文件>" \
|
|
242
242
|
--format agent-json
|
|
243
243
|
```
|
|
244
244
|
|
|
@@ -330,8 +330,8 @@ Agent 读取:
|
|
|
330
330
|
|
|
331
331
|
```bash
|
|
332
332
|
yuanflow-cli video plan \
|
|
333
|
-
--project "
|
|
334
|
-
--timeline-plan "
|
|
333
|
+
--project "<剪辑项目目录>" \
|
|
334
|
+
--timeline-plan "<时间线计划文件>" \
|
|
335
335
|
--format agent-json
|
|
336
336
|
```
|
|
337
337
|
|
|
@@ -339,9 +339,9 @@ yuanflow-cli video plan \
|
|
|
339
339
|
|
|
340
340
|
```bash
|
|
341
341
|
yuanflow-cli video plan \
|
|
342
|
-
--project "
|
|
343
|
-
--timeline-plan "
|
|
344
|
-
--edl "
|
|
342
|
+
--project "<剪辑项目目录>" \
|
|
343
|
+
--timeline-plan "<时间线计划文件>" \
|
|
344
|
+
--edl "<EDL文件>" \
|
|
345
345
|
--format agent-json
|
|
346
346
|
```
|
|
347
347
|
|
|
@@ -350,14 +350,14 @@ yuanflow-cli video plan \
|
|
|
350
350
|
### 8. 渲染预览和自检
|
|
351
351
|
|
|
352
352
|
```bash
|
|
353
|
-
yuanflow-cli video render-preview --project "
|
|
354
|
-
yuanflow-cli video evaluate --project "
|
|
353
|
+
yuanflow-cli video render-preview --project "<剪辑项目目录>" --format agent-json
|
|
354
|
+
yuanflow-cli video evaluate --project "<剪辑项目目录>" --file "<预览视频文件>" --format agent-json
|
|
355
355
|
```
|
|
356
356
|
|
|
357
357
|
### 9. 最终导出
|
|
358
358
|
|
|
359
359
|
```bash
|
|
360
|
-
yuanflow-cli video render-final --project "
|
|
360
|
+
yuanflow-cli video render-final --project "<剪辑项目目录>" --format agent-json
|
|
361
361
|
```
|
|
362
362
|
|
|
363
363
|
完成后在 YuanFlow-main 内置环境必须调用 `artifact_files_register` 登记 `final.mp4`、`edl.json` 和 `eval_report.json`,不要只告诉用户内部路径。
|
|
@@ -16,6 +16,10 @@ emoji: 💡
|
|
|
16
16
|
|
|
17
17
|
不要在回复、日志或文件中暴露 token。用户主流程统一称为 YuanFlow API 和 YuanFlow 文件中转,不要求用户配置第三方平台 Key。
|
|
18
18
|
|
|
19
|
+
## YuanFlow-main 内置环境
|
|
20
|
+
|
|
21
|
+
在 YuanFlow-main 内置环境中,只有需要调用知识库、个人创作库、HTML 报告或其它 YuanFlow 能力时,才使用 `yuanflow_cli_call`、`yuanflow_image_request`、`artifact_files_register` 等受控工具。token、受管包路径和输出目录由 YuanFlow-main 管理,不写成外部用户必备步骤。
|
|
22
|
+
|
|
19
23
|
本 Skill 用于产出选题池、系列选题和选题优先级。执行时必须先查历史资产,再查自媒体知识库,最后结合用户本次目标输出可执行选题。
|
|
20
24
|
|
|
21
25
|
## 固定流程
|
|
@@ -45,7 +45,7 @@ emoji: ☁️
|
|
|
45
45
|
视频输入必须先抽音频:
|
|
46
46
|
|
|
47
47
|
```powershell
|
|
48
|
-
ffmpeg -y -i "
|
|
48
|
+
ffmpeg -y -i "<本地视频路径>" -vn -acodec libmp3lame -ar 44100 -ac 2 "transcription-input.mp3"
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
如果 ffmpeg 不可用,必须明确告诉用户缺少 ffmpeg,不能伪造转写结果。
|
|
@@ -60,7 +60,7 @@ YuanFlow-main 内置环境优先调用 `yuanflow_cli_call`,使用兼容子命
|
|
|
60
60
|
"oss",
|
|
61
61
|
"temp-upload",
|
|
62
62
|
"--file",
|
|
63
|
-
"
|
|
63
|
+
"<本地音频路径>",
|
|
64
64
|
"--filename",
|
|
65
65
|
"transcription-input.mp3",
|
|
66
66
|
"--content-type",
|
package/src/agent-protocol.js
CHANGED
|
@@ -5,7 +5,6 @@ import { listKnowledgeCommands } from './knowledge-tools.js';
|
|
|
5
5
|
import { listOssCommands } from './oss-tools.js';
|
|
6
6
|
import { listBrowserCommands } from './browser-tools.js';
|
|
7
7
|
import { listSearchCommands, listWorkCommands } from './work-tools.js';
|
|
8
|
-
import { listVideoCommands } from './video-tools.js';
|
|
9
8
|
import { listTrendingCommands } from './trending-tools.js';
|
|
10
9
|
import { listAiCommands } from './ai-tools.js';
|
|
11
10
|
import { listVoiceCommands } from './voice-tools.js';
|
|
@@ -111,7 +110,6 @@ export function buildCommandRegistry() {
|
|
|
111
110
|
const knowledgeCommands = listKnowledgeCommands();
|
|
112
111
|
const ossCommands = listOssCommands();
|
|
113
112
|
const browserCommands = listBrowserCommands();
|
|
114
|
-
const videoCommands = listVideoCommands();
|
|
115
113
|
const trendingCommands = listTrendingCommands();
|
|
116
114
|
const aiCommands = listAiCommands();
|
|
117
115
|
const voiceCommands = listVoiceCommands();
|
|
@@ -124,7 +122,6 @@ export function buildCommandRegistry() {
|
|
|
124
122
|
...knowledgeCommands,
|
|
125
123
|
...ossCommands,
|
|
126
124
|
...browserCommands,
|
|
127
|
-
...videoCommands,
|
|
128
125
|
...trendingCommands,
|
|
129
126
|
...aiCommands,
|
|
130
127
|
...voiceCommands,
|
package/src/cli.js
CHANGED
|
@@ -20,7 +20,6 @@ import { collectComments } from './comment-collector.js';
|
|
|
20
20
|
import { getKnowledgeDocs, navigateKnowledge } from './knowledge-tools.js';
|
|
21
21
|
import { copyObject, signedUrl, tempUpload } from './oss-tools.js';
|
|
22
22
|
import { runBrowserCommand } from './browser-tools.js';
|
|
23
|
-
import { runVideoCommand } from './video-tools.js';
|
|
24
23
|
import {
|
|
25
24
|
getWorkDetail,
|
|
26
25
|
getWorkDownload,
|
|
@@ -95,11 +94,6 @@ export async function main(argv) {
|
|
|
95
94
|
return;
|
|
96
95
|
}
|
|
97
96
|
|
|
98
|
-
if (command === 'video') {
|
|
99
|
-
await handleVideo(rest);
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
97
|
if (command === 'ai') {
|
|
104
98
|
await handleAi(rest);
|
|
105
99
|
return;
|
|
@@ -433,16 +427,6 @@ async function handleBrowser(args) {
|
|
|
433
427
|
});
|
|
434
428
|
}
|
|
435
429
|
|
|
436
|
-
async function handleVideo(args) {
|
|
437
|
-
const { positionals, options } = parseOptions(args);
|
|
438
|
-
const [action = 'init'] = positionals;
|
|
439
|
-
const result = await runVideoCommand({ action, options });
|
|
440
|
-
await outputResult(result, options, {
|
|
441
|
-
command: `video ${action}`,
|
|
442
|
-
meta: { kind: 'video-editing' },
|
|
443
|
-
});
|
|
444
|
-
}
|
|
445
|
-
|
|
446
430
|
async function handleAi(args) {
|
|
447
431
|
const { positionals, options } = parseOptions(args);
|
|
448
432
|
const [action = 'help', ...rest] = positionals;
|
|
@@ -643,12 +627,6 @@ function printHelp() {
|
|
|
643
627
|
yuanflow-cli oss signed-url --key path/to/file.png --ttl-seconds 1800 --format agent-json
|
|
644
628
|
yuanflow-cli browser profile-path --platform douyin --account main --format agent-json
|
|
645
629
|
yuanflow-cli browser task-plan --platform xiaohongshu --task publish --account main --format agent-json
|
|
646
|
-
yuanflow-cli video init --input "D:\\素材" --primary-audio "D:\\素材\\口播.mp3" --broll "D:\\素材\\画面.mp4" --format agent-json
|
|
647
|
-
yuanflow-cli video strategy --project "D:\\素材\\yuanflow-video-edit" --template-type talking_head --rules-file "D:\\规则\\logic.json,D:\\规则\\template.json,D:\\规则\\cli.json" --format agent-json
|
|
648
|
-
yuanflow-cli video align --project "D:\\素材\\yuanflow-video-edit" --asr-file "D:\\素材\\asr.json" --format agent-json
|
|
649
|
-
yuanflow-cli video timeline --project "D:\\素材\\yuanflow-video-edit" --fps 1 --format agent-json
|
|
650
|
-
yuanflow-cli video visual-review --project "D:\\素材\\yuanflow-video-edit" --review-file "D:\\素材\\yuanflow-video-edit\\visual_review.agent.json" --format agent-json
|
|
651
|
-
yuanflow-cli video plan --project "D:\\素材\\yuanflow-video-edit" --timeline-plan "D:\\素材\\yuanflow-video-edit\\timeline_plan.agent.json" --format agent-json
|
|
652
630
|
yuanflow-cli ai qwen3-vl-plus --prompt "描述这张图" --image-url "https://example.com/image.png" --dry-run
|
|
653
631
|
yuanflow-cli ai qwen3-vl-plus --prompt "总结这个视频画面" --video-url "https://example.com/video.mp4" --dry-run
|
|
654
632
|
yuanflow-cli ai qwen3-vl-plus --prompt "描述本地图片" --image-file "D:\\素材\\cover.png" --dry-run
|
|
@@ -672,7 +650,7 @@ function printHelp() {
|
|
|
672
650
|
qwen3-vl-plus 支持 --image-url、--video-url、--image-file、--video-file 四选一;视频建议最大 2GB、时长 2 秒到 1 小时。
|
|
673
651
|
qwen3-vl-plus 本地图片/视频会先走 YuanFlow 文件中转,内部调用 /atomic/oss/temp-upload 后把 signed_url 提交给模型。
|
|
674
652
|
browser 命令是自媒体平台专用浏览器自动化协议,只返回受控 profile/cookie/任务路径与执行计划,不用于普通网页搜索。
|
|
675
|
-
|
|
653
|
+
视频智能剪辑和视频制作执行链已迁移到独立项目 D:\\AI_project\\视频制作,不再由 yuanflow-cli video 命令提供;视频拆解仍由 yuanflow-skill 的“视频拆解”提供。
|
|
676
654
|
需要鉴权的请求都会使用 Authorization: Bearer <token>。
|
|
677
655
|
token 优先级:--token > YUANCHUANG_API_TOKEN > 本地 config.token。
|
|
678
656
|
YuanFlow-main 内置环境使用时,token 由 YuanFlow-main 内置环境注入,不需要手动配置。
|