yuanflow-cli 0.1.40 → 0.1.42
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 +121 -10
- package/generated/registry.json +985 -984
- package/package.json +1 -1
- package/scripts/generate-registry.js +1 -1
- package/skills/yuanflow-skill/README.md +16 -12
- package/skills/yuanflow-skill/SKILL.md +41 -11
- package/skills/yuanflow-skill/{OSS → YuanFlow}/346/226/207/344/273/266/344/270/255/350/275/254/345/267/245/345/205/267/SKILL.md +13 -13
- package/skills/yuanflow-skill/yuanflow-cli/SKILL.md +8 -8
- 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//344/275/234/345/223/201/344/270/213/350/275/275/347/273/274/345/220/210/345/267/245/345/205/267/SKILL.md +4 -4
- package/skills/yuanflow-skill//344/275/234/345/223/201/350/257/204/350/256/272/351/207/207/351/233/206/SKILL.md +4 -4
- package/skills/yuanflow-skill//344/275/234/345/223/201/350/257/246/346/203/205/350/216/267/345/217/226/345/267/245/345/205/267/SKILL.md +3 -3
- 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 +3 -3
- 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/tests/test_wechat_draft.py +176 -0
- 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/270/220/345/217/267/347/233/221/346/216/247/SKILL.md +3 -3
- package/skills/yuanflow-skill//347/224/237/345/233/276/346/212/200/350/203/275/SKILL.md +1 -1
- package/skills/yuanflow-skill//347/273/274/345/220/210/346/220/234/347/264/242/345/267/245/345/205/267/SKILL.md +3 -3
- package/skills/yuanflow-skill//347/273/274/345/220/210/347/224/250/346/210/267/346/220/234/347/264/242/345/267/245/345/205/267/SKILL.md +3 -3
- 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 +1 -1
- package/skills/yuanflow-skill//350/207/252/345/252/222/344/275/223/347/237/245/350/257/206/345/272/223/SKILL.md +4 -4
- package/skills/yuanflow-skill//350/247/206/350/247/211/347/220/206/350/247/243/SKILL.md +174 -0
- 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 +245 -0
- package/skills/yuanflow-skill//350/247/206/351/242/221/346/231/272/350/203/275/345/211/252/350/276/221/SKILL.md +4 -4
- 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 +11 -11
- package/skills/yuanflow-skill//351/243/236/344/271/246/345/256/230/346/226/271/346/212/200/350/203/275/SKILL.md +1 -1
- package/src/agent-protocol.js +8 -5
- package/src/ai-tools.js +835 -0
- package/src/cli.js +36 -2
- package/src/comment-collector.js +1 -1
- package/src/oss-tools.js +11 -11
- package/src/shortcuts.js +3 -3
- package/src/trending-tools.js +1 -1
- package/src/work-tools.js +4 -4
|
@@ -6,7 +6,7 @@ emoji: 📊
|
|
|
6
6
|
|
|
7
7
|
# 帐号监控
|
|
8
8
|
|
|
9
|
-
本技能用于把“监控帐号、分析博主、采集主页、对比历史变化”的需求稳定映射到 `yuanflow-cli`。在 YuanFlow
|
|
9
|
+
本技能用于把“监控帐号、分析博主、采集主页、对比历史变化”的需求稳定映射到 `yuanflow-cli`。在 YuanFlow-main 内置环境,优先调用受控工具 `yuanflow_cli_call`;它会自动注入用户 token。不要要求用户粘贴 KEY,不要在回复、日志或文件里暴露 token。
|
|
10
10
|
|
|
11
11
|
## 固定目标
|
|
12
12
|
|
|
@@ -24,7 +24,7 @@ emoji: 📊
|
|
|
24
24
|
|
|
25
25
|
## 缓存路径
|
|
26
26
|
|
|
27
|
-
YuanFlow
|
|
27
|
+
YuanFlow-main 内置环境默认保存到程序数据目录:
|
|
28
28
|
|
|
29
29
|
```text
|
|
30
30
|
<YuanFlow data dir>/runtime_tools/account-monitor/snapshots
|
|
@@ -50,7 +50,7 @@ Windows 外部 Agent 默认保存到:
|
|
|
50
50
|
|
|
51
51
|
### 1. 获取 sec_user_id
|
|
52
52
|
|
|
53
|
-
YuanFlow
|
|
53
|
+
YuanFlow-main 内置环境调用:
|
|
54
54
|
|
|
55
55
|
```json
|
|
56
56
|
{
|
|
@@ -27,7 +27,7 @@ emoji: 🎨
|
|
|
27
27
|
- 如果图片只是正文插图、配图、氛围图,优先要求“无文字、无字母、无 Logo、无水印”,避免模型自行生成英文占位字。
|
|
28
28
|
- 如果必须包含文字,文字内容应短、少、准确,并在提示词里逐条写出要出现的中文文字。
|
|
29
29
|
|
|
30
|
-
## YuanFlow 内置环境
|
|
30
|
+
## YuanFlow-main 内置环境
|
|
31
31
|
|
|
32
32
|
如果当前 Agent 可用 `yuanflow_image_request`,优先使用该受控工具。它会自动注入当前用户 token,并把接口返回的 URL 或 base64 图片缓存为可预览资源。
|
|
33
33
|
|
|
@@ -12,7 +12,7 @@ emoji: 🔎
|
|
|
12
12
|
|
|
13
13
|
# 综合搜索工具
|
|
14
14
|
|
|
15
|
-
本技能把用户的“按关键词搜索内容、视频、笔记、文章、帖子”需求稳定映射到 `yuanflow-cli search content`。在 YuanFlow
|
|
15
|
+
本技能把用户的“按关键词搜索内容、视频、笔记、文章、帖子”需求稳定映射到 `yuanflow-cli search content`。在 YuanFlow-main 内置环境,优先调用受控工具 `yuanflow_cli_call`;它会由 YuanFlow-main 内置环境注入 `YUANCHUANG_API_TOKEN`,不要让用户粘贴 KEY,不要在回复、日志或文件里暴露 token。
|
|
16
16
|
|
|
17
17
|
## 什么时候使用
|
|
18
18
|
|
|
@@ -26,11 +26,11 @@ emoji: 🔎
|
|
|
26
26
|
|
|
27
27
|
## 调用优先级
|
|
28
28
|
|
|
29
|
-
1. YuanFlow
|
|
29
|
+
1. YuanFlow-main 内置环境:调用 `yuanflow_cli_call`,参数数组从 `search content` 开始。
|
|
30
30
|
2. 外部 Agent 且本机有 CLI:执行 `yuanflow-cli search content ...`。
|
|
31
31
|
3. 外部 Agent 且没有 CLI:再提示用户安装 `npm install -g yuanflow-cli`。
|
|
32
32
|
|
|
33
|
-
YuanFlow
|
|
33
|
+
YuanFlow-main 内置环境调用示例:
|
|
34
34
|
|
|
35
35
|
```json
|
|
36
36
|
{
|
|
@@ -12,7 +12,7 @@ emoji: 👤
|
|
|
12
12
|
|
|
13
13
|
# 综合用户搜索工具
|
|
14
14
|
|
|
15
|
-
本技能把用户的“搜索账号、作者、用户、频道、达人”需求稳定映射到 `yuanflow-cli search users`。在 YuanFlow
|
|
15
|
+
本技能把用户的“搜索账号、作者、用户、频道、达人”需求稳定映射到 `yuanflow-cli search users`。在 YuanFlow-main 内置环境,优先调用受控工具 `yuanflow_cli_call`;它会由 YuanFlow-main 内置环境注入 `YUANCHUANG_API_TOKEN`,不要让用户粘贴 KEY,不要在回复、日志或文件里暴露 token。
|
|
16
16
|
|
|
17
17
|
## 什么时候使用
|
|
18
18
|
|
|
@@ -26,11 +26,11 @@ emoji: 👤
|
|
|
26
26
|
|
|
27
27
|
## 调用优先级
|
|
28
28
|
|
|
29
|
-
1. YuanFlow
|
|
29
|
+
1. YuanFlow-main 内置环境:调用 `yuanflow_cli_call`,参数数组从 `search users` 开始。
|
|
30
30
|
2. 外部 Agent 且本机有 CLI:执行 `yuanflow-cli search users ...`。
|
|
31
31
|
3. 外部 Agent 且没有 CLI:再提示用户安装 `npm install -g yuanflow-cli`。
|
|
32
32
|
|
|
33
|
-
YuanFlow
|
|
33
|
+
YuanFlow-main 内置环境调用示例:
|
|
34
34
|
|
|
35
35
|
```json
|
|
36
36
|
{
|
|
@@ -12,11 +12,11 @@ emoji: 🧠
|
|
|
12
12
|
|
|
13
13
|
## 环境判断
|
|
14
14
|
|
|
15
|
-
1. 在 YuanFlow
|
|
15
|
+
1. 在 YuanFlow-main 内置环境,优先调用内置工具 `yuanflow_cli_call`。
|
|
16
16
|
2. 在外部 Agent 中,如果本地有 `yuanflow-cli`,直接执行 CLI。
|
|
17
17
|
3. 如果外部环境没有 CLI,再提示用户安装 `npm install -g yuanflow-cli`。
|
|
18
18
|
|
|
19
|
-
不要让用户手动提供 token。YuanFlow
|
|
19
|
+
不要让用户手动提供 token。YuanFlow-main 内置环境会注入认证 token;外部 CLI 使用 `YUANCHUANG_API_TOKEN`。
|
|
20
20
|
|
|
21
21
|
## 能做什么
|
|
22
22
|
|
|
@@ -77,9 +77,9 @@ yuanflow-cli knowledge rules \
|
|
|
77
77
|
|
|
78
78
|
4. 最后基于接口返回的公开规则摘要,完成创作、评估或优化。
|
|
79
79
|
|
|
80
|
-
## YuanFlow 内置工具调用示例
|
|
80
|
+
## YuanFlow-main 内置工具调用示例
|
|
81
81
|
|
|
82
|
-
在 YuanFlow
|
|
82
|
+
在 YuanFlow-main 内置环境,调用 `yuanflow_cli_call`,参数数组不要包含 token:
|
|
83
83
|
|
|
84
84
|
```json
|
|
85
85
|
{
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 视觉理解
|
|
3
|
+
description: 当用户提交图片、视频、本地媒体文件或媒体 URL,并要求识别画面、描述内容、对比画面差异、提取画面信息、检查视觉细节、总结视频画面时使用。本 Skill 是通用型画面理解能力,必须通过 yuanflow-cli 的 qwen3-vl-plus 调用,不用于自媒体对标拆解;对标视频和内容创作拆解请改用“视频拆解”。
|
|
4
|
+
emoji: 👁️
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 视觉理解
|
|
8
|
+
|
|
9
|
+
本 Skill 是通用型图片/视频画面理解技能。核心能力只使用 `yuanflow-cli ai qwen3-vl-plus`,通过 YuanFlow API 对外模型名 `qwen3-vl-plus` 完成图片、视频 URL 或本地图片、视频文件的理解。
|
|
10
|
+
|
|
11
|
+
不要把它写成自媒体拆解、爆款分析或创作策略技能;这些需求交给 `视频拆解`。
|
|
12
|
+
|
|
13
|
+
## 环境判断
|
|
14
|
+
|
|
15
|
+
1. 在 YuanFlow-main 内置环境,优先调用受控工具 `yuanflow_cli_call`。
|
|
16
|
+
2. 外部 Agent 且本机有 CLI 时,直接执行 `yuanflow-cli`。
|
|
17
|
+
3. 外部 Agent 没有 CLI 时,再提示用户安装 `npm install -g yuanflow-cli`。
|
|
18
|
+
|
|
19
|
+
不要让用户手动提供 YuanFlow token。YuanFlow-main 内置环境会注入认证 token;外部 CLI 使用 `YUANCHUANG_API_TOKEN`。
|
|
20
|
+
|
|
21
|
+
本地图片/视频上传依赖 CLI 的 YuanFlow 文件中转能力。外部 Agent 只需要配置 YuanFlow API token;不要要求用户提供第三方平台 Key,也不要在回复里展示完整 token。
|
|
22
|
+
|
|
23
|
+
## 能处理什么
|
|
24
|
+
|
|
25
|
+
- 图片 URL:`--image-url`
|
|
26
|
+
- 视频 URL:`--video-url`
|
|
27
|
+
- 本地图片:`--image-file`
|
|
28
|
+
- 本地视频:`--video-file`
|
|
29
|
+
|
|
30
|
+
快捷参数一次只传一个媒体。如果用户给多个图片或视频,逐个调用 qwen3-vl-plus,再把每次结果汇总、对比和整理。
|
|
31
|
+
|
|
32
|
+
## 调用限制和注意事项
|
|
33
|
+
|
|
34
|
+
- 视频 URL 需要能被 YuanFlow API 访问,响应头建议包含 `Content-Length` 和 `Content-Type`。
|
|
35
|
+
- 视觉模型侧建议单个视频最大 2GB,时长 2 秒到 1 小时。
|
|
36
|
+
- 本地文件会先通过 YuanFlow 文件中转 `POST /atomic/oss/temp-upload` 上传,CLI 取返回的 `signed_url` 后再调用 `/v1/chat/completions`。
|
|
37
|
+
- 本地文件过大时,让用户压缩、裁剪、换文件,或改用可公网访问的视频 URL。
|
|
38
|
+
- 不要上传密钥、cookie、身份证、合同、私密聊天记录等敏感文件,除非用户明确确认且任务确实需要。
|
|
39
|
+
|
|
40
|
+
## 固定流程
|
|
41
|
+
|
|
42
|
+
1. 明确用户要做什么:描述、提取文字、找细节、对比差异、判断场景、总结视频、检查异常等。
|
|
43
|
+
2. 判断输入类型:图片 URL、视频 URL、本地图片、本地视频。
|
|
44
|
+
3. 如果输入是多个媒体,按顺序逐个调用 CLI,给每个媒体编号。
|
|
45
|
+
4. 把用户要求写进 `--prompt`,不要只写“描述一下”。
|
|
46
|
+
5. 调用 qwen3-vl-plus。
|
|
47
|
+
6. 整理输出:先给结论,再给画面证据,再给不确定项。
|
|
48
|
+
|
|
49
|
+
## YuanFlow-main 内置工具调用示例
|
|
50
|
+
|
|
51
|
+
图片 URL:
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"args": [
|
|
56
|
+
"ai",
|
|
57
|
+
"qwen3-vl-plus",
|
|
58
|
+
"--prompt",
|
|
59
|
+
"请描述图片里的主体、文字、环境和可能的用途。",
|
|
60
|
+
"--image-url",
|
|
61
|
+
"https://example.com/image.png",
|
|
62
|
+
"--format",
|
|
63
|
+
"agent-json"
|
|
64
|
+
],
|
|
65
|
+
"timeout": 180
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
视频 URL:
|
|
70
|
+
|
|
71
|
+
```json
|
|
72
|
+
{
|
|
73
|
+
"args": [
|
|
74
|
+
"ai",
|
|
75
|
+
"qwen3-vl-plus",
|
|
76
|
+
"--prompt",
|
|
77
|
+
"请总结视频的主要画面、人物动作、场景变化和可见文字。",
|
|
78
|
+
"--video-url",
|
|
79
|
+
"https://example.com/video.mp4",
|
|
80
|
+
"--format",
|
|
81
|
+
"agent-json"
|
|
82
|
+
],
|
|
83
|
+
"timeout": 300
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
本地图片:
|
|
88
|
+
|
|
89
|
+
```json
|
|
90
|
+
{
|
|
91
|
+
"args": [
|
|
92
|
+
"ai",
|
|
93
|
+
"qwen3-vl-plus",
|
|
94
|
+
"--prompt",
|
|
95
|
+
"请识别这张图片中的关键信息,并按主体、文字、细节、可能风险输出。",
|
|
96
|
+
"--image-file",
|
|
97
|
+
"D:\\素材\\cover.png",
|
|
98
|
+
"--format",
|
|
99
|
+
"agent-json"
|
|
100
|
+
],
|
|
101
|
+
"timeout": 300
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
本地视频:
|
|
106
|
+
|
|
107
|
+
```json
|
|
108
|
+
{
|
|
109
|
+
"args": [
|
|
110
|
+
"ai",
|
|
111
|
+
"qwen3-vl-plus",
|
|
112
|
+
"--prompt",
|
|
113
|
+
"请按时间顺序总结视频画面变化、人物动作、关键物品和屏幕文字。",
|
|
114
|
+
"--video-file",
|
|
115
|
+
"D:\\素材\\demo.mp4",
|
|
116
|
+
"--format",
|
|
117
|
+
"agent-json"
|
|
118
|
+
],
|
|
119
|
+
"timeout": 600
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## 外部 CLI 示例
|
|
124
|
+
|
|
125
|
+
```powershell
|
|
126
|
+
yuanflow-cli ai qwen3-vl-plus --prompt "描述这张图的主体、文字和环境" --image-file "D:\素材\cover.png" --format agent-json
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
```powershell
|
|
130
|
+
yuanflow-cli ai qwen3-vl-plus --prompt "总结视频画面变化和关键细节" --video-file "D:\素材\demo.mp4" --format agent-json
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## 输出格式
|
|
134
|
+
|
|
135
|
+
默认按这个结构输出:
|
|
136
|
+
|
|
137
|
+
```text
|
|
138
|
+
结论:
|
|
139
|
+
- ...
|
|
140
|
+
|
|
141
|
+
画面内容:
|
|
142
|
+
- 主体:
|
|
143
|
+
- 场景:
|
|
144
|
+
- 动作/变化:
|
|
145
|
+
- 可见文字:
|
|
146
|
+
|
|
147
|
+
用户要求对应结果:
|
|
148
|
+
- ...
|
|
149
|
+
|
|
150
|
+
不确定项:
|
|
151
|
+
- ...
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
如果是多个媒体对比,输出:
|
|
155
|
+
|
|
156
|
+
```text
|
|
157
|
+
整体结论:
|
|
158
|
+
|
|
159
|
+
逐项理解:
|
|
160
|
+
1. 媒体 A:
|
|
161
|
+
2. 媒体 B:
|
|
162
|
+
|
|
163
|
+
差异对比:
|
|
164
|
+
- 相同点:
|
|
165
|
+
- 不同点:
|
|
166
|
+
- 需要人工确认:
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## 失败处理
|
|
170
|
+
|
|
171
|
+
- YuanFlow token 缺失:说明需要在受管环境或 CLI 配置 YuanFlow API token,不要让用户在聊天里粘贴敏感 Key。
|
|
172
|
+
- 视频超限:提示视频最大 2GB、时长 2 秒到 1 小时,让用户裁剪或压缩。
|
|
173
|
+
- URL 不可访问:提示用户换成公网可访问 URL,或改用本地文件上传。
|
|
174
|
+
- 模型返回不确定:明确标注“不确定”,不要把猜测写成事实。
|
|
@@ -21,7 +21,7 @@ emoji: 📈
|
|
|
21
21
|
- 如果主页作品列表已包含播放、点赞、评论、转发、收藏等统计,可以直接使用;如果字段缺失,按 `帐号监控` 的说明调用作品详情补全。
|
|
22
22
|
- 采集完成后,把本次账号上下文缓存到本地,方便后续复用。
|
|
23
23
|
3. 缓存本次账号投流上下文。
|
|
24
|
-
- YuanFlow
|
|
24
|
+
- YuanFlow-main 内置环境默认保存到程序数据目录:
|
|
25
25
|
|
|
26
26
|
```text
|
|
27
27
|
<YuanFlow data dir>/runtime_tools/video-ad-strategy/account-context
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 视频拆解
|
|
3
|
+
description: 当用户提交对标视频、本地视频、视频 URL,要求做自媒体创作方向的视频拆解、爆款结构分析、内容复盘、脚本拆解、镜头节奏拆解、账号/竞品内容学习时使用。开始前必须先使用“自媒体知识库”查询与对标拆解相关的规则,再通过 yuanflow-cli 的 qwen3-vl-plus 上传/理解视频,并把知识库规则放入提示词中指导拆解。
|
|
4
|
+
emoji: 🎬
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 视频拆解
|
|
8
|
+
|
|
9
|
+
本 Skill 是自媒体创作场景下的对标视频拆解技能。它不是通用画面描述工具;通用图片/视频理解请使用 `视觉理解`。
|
|
10
|
+
|
|
11
|
+
核心链路:
|
|
12
|
+
|
|
13
|
+
1. 先查 `自媒体知识库`,获取与“对标拆解、视频拆解、内容创作、脚本结构、镜头节奏、爆款复盘”相关的规则摘要。
|
|
14
|
+
2. 如果用户给的是视频 URL,先用相关工具解析并保存到本地。
|
|
15
|
+
3. 使用 `yuanflow-cli ai qwen3-vl-plus --video-file` 提交本地视频。
|
|
16
|
+
4. 把知识库拆解规则写进 prompt,让模型按规则拆解视频。
|
|
17
|
+
5. 整理成适合自媒体创作复用的详细拆解报告。
|
|
18
|
+
|
|
19
|
+
## 环境判断
|
|
20
|
+
|
|
21
|
+
1. 在 YuanFlow-main 内置环境,优先调用受控工具 `yuanflow_cli_call`。
|
|
22
|
+
2. 外部 Agent 且本机有 CLI 时,直接执行 `yuanflow-cli`。
|
|
23
|
+
3. 外部 Agent 没有 CLI 时,再提示用户安装 `npm install -g yuanflow-cli`。
|
|
24
|
+
|
|
25
|
+
不要让用户手动提供 YuanFlow token。YuanFlow-main 内置环境会注入认证 token;外部 CLI 使用 `YUANCHUANG_API_TOKEN`。
|
|
26
|
+
|
|
27
|
+
本地视频上传依赖 qwen3-vl-plus 的 YuanFlow 文件中转能力。外部 Agent 只需要配置 YuanFlow API token;不要要求用户提供第三方平台 Key。
|
|
28
|
+
|
|
29
|
+
## 适用场景
|
|
30
|
+
|
|
31
|
+
- 对标视频拆解。
|
|
32
|
+
- 爆款视频拆解。
|
|
33
|
+
- 内容结构、开头钩子、脚本节奏、镜头节奏分析。
|
|
34
|
+
- 短视频带货、口播、剧情、测评、知识分享类内容复盘。
|
|
35
|
+
- 用户希望从竞品视频里提炼可复用创作方法。
|
|
36
|
+
|
|
37
|
+
不适合:
|
|
38
|
+
|
|
39
|
+
- 只想描述视频画面:改用 `视觉理解`。
|
|
40
|
+
- 只想转文字:改用 `音视频在线转文字` 或 `本地音视频转文字`。
|
|
41
|
+
- 只想下载视频:改用 `作品下载综合工具`。
|
|
42
|
+
|
|
43
|
+
## 固定流程
|
|
44
|
+
|
|
45
|
+
### 1. 明确拆解目标
|
|
46
|
+
|
|
47
|
+
先问清或从用户话里提取:
|
|
48
|
+
|
|
49
|
+
- 平台或内容类型:抖音、小红书、B站、视频号、YouTube 等。
|
|
50
|
+
- 拆解目的:选题学习、脚本复用、镜头节奏、带货结构、账号定位、投放素材、爆款复盘。
|
|
51
|
+
- 用户是否给了本地视频,还是视频 URL。
|
|
52
|
+
|
|
53
|
+
### 2. 先查自媒体知识库
|
|
54
|
+
|
|
55
|
+
必须先调用知识库,不要直接上传视频拆解。
|
|
56
|
+
|
|
57
|
+
YuanFlow-main 内置工具示例:
|
|
58
|
+
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"args": [
|
|
62
|
+
"knowledge",
|
|
63
|
+
"entry",
|
|
64
|
+
"--output-format",
|
|
65
|
+
"video_breakdown",
|
|
66
|
+
"--domain",
|
|
67
|
+
"自媒体运营",
|
|
68
|
+
"--content-goal",
|
|
69
|
+
"对标视频拆解,提炼内容结构、脚本节奏、镜头设计和可复用创作方法",
|
|
70
|
+
"--target-audience",
|
|
71
|
+
"自媒体创作者",
|
|
72
|
+
"--format",
|
|
73
|
+
"agent-json"
|
|
74
|
+
],
|
|
75
|
+
"timeout": 180
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
如果返回 `next_actions`,继续按推荐调用 `packs`、`rules` 或 `rule-detail`。优先查询与以下方向相关的规则:
|
|
80
|
+
|
|
81
|
+
- 对标拆解
|
|
82
|
+
- 视频拆解
|
|
83
|
+
- 内容复盘
|
|
84
|
+
- 脚本结构
|
|
85
|
+
- 开头钩子
|
|
86
|
+
- 镜头节奏
|
|
87
|
+
- 账号定位
|
|
88
|
+
- 带货/转化结构
|
|
89
|
+
|
|
90
|
+
外部 CLI 示例:
|
|
91
|
+
|
|
92
|
+
```powershell
|
|
93
|
+
yuanflow-cli knowledge entry --output-format video_breakdown --domain 自媒体运营 --content-goal "对标视频拆解,提炼内容结构、脚本节奏、镜头设计和可复用创作方法" --target-audience 自媒体创作者 --format agent-json
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 3. 视频 URL 先解析并保存本地
|
|
97
|
+
|
|
98
|
+
如果用户提交的是平台视频 URL,先用 `作品下载综合工具` 或 `yuanflow-cli works download` 解析可播放/下载地址候选。
|
|
99
|
+
|
|
100
|
+
先按链接判断平台:
|
|
101
|
+
|
|
102
|
+
- `douyin.com`、`v.douyin.com`:`--platform douyin`,国内环境通常加 `--region CN`。
|
|
103
|
+
- `bilibili.com`、`b23.tv`、`BV`:`--platform bilibili`。
|
|
104
|
+
- `youtube.com`、`youtu.be`:`--platform youtube`。
|
|
105
|
+
- `ixigua.com`:`--platform xigua`。
|
|
106
|
+
|
|
107
|
+
YuanFlow-main 内置工具示例:
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"args": [
|
|
112
|
+
"works",
|
|
113
|
+
"download",
|
|
114
|
+
"--platform",
|
|
115
|
+
"douyin",
|
|
116
|
+
"--target",
|
|
117
|
+
"https://v.douyin.com/xxx/",
|
|
118
|
+
"--region",
|
|
119
|
+
"CN",
|
|
120
|
+
"--format",
|
|
121
|
+
"agent-json"
|
|
122
|
+
],
|
|
123
|
+
"timeout": 180
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
外部 CLI 示例:
|
|
128
|
+
|
|
129
|
+
```powershell
|
|
130
|
+
yuanflow-cli works download --platform douyin --target "https://v.douyin.com/xxx/" --region CN --format agent-json
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
解析到可访问视频 URL 后,经用户授权保存到本地临时文件,再提交 qwen3-vl-plus。保存文件时使用清晰路径,例如:
|
|
134
|
+
|
|
135
|
+
```text
|
|
136
|
+
D:\素材\yuanflow-video-breakdown\input.mp4
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
保存方式:
|
|
140
|
+
|
|
141
|
+
- 如果返回的是普通 mp4/http 下载地址,用系统下载能力保存到本地。
|
|
142
|
+
- 如果返回的是 m3u8 或分片流,优先用 ffmpeg 保存成 mp4。
|
|
143
|
+
- 如果返回多个清晰度,默认选清晰度高且文件体积可控的一项;不要为了拆解盲目选超大文件。
|
|
144
|
+
- 保存前确认这是用户授权分析的视频,不要下载私密、付费、未授权或明显受版权限制的内容。
|
|
145
|
+
|
|
146
|
+
外部 Agent 可用的保存示例:
|
|
147
|
+
|
|
148
|
+
```powershell
|
|
149
|
+
New-Item -ItemType Directory -Force "D:\素材\yuanflow-video-breakdown"
|
|
150
|
+
Invoke-WebRequest -Uri "<解析得到的视频直链>" -OutFile "D:\素材\yuanflow-video-breakdown\input.mp4"
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
如果是 m3u8:
|
|
154
|
+
|
|
155
|
+
```powershell
|
|
156
|
+
ffmpeg -y -i "<解析得到的 m3u8 地址>" -c copy "D:\素材\yuanflow-video-breakdown\input.mp4"
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
如果平台解析只返回播放候选而没有稳定下载 URL,说明当前链接需要用户提供可下载文件,或先让用户使用其它授权方式保存视频。
|
|
160
|
+
|
|
161
|
+
### 4. 调用 qwen3-vl-plus 做规则化拆解
|
|
162
|
+
|
|
163
|
+
把知识库查询到的规则摘要压缩进 prompt。不要只让模型“分析视频”,必须告诉它按规则拆解。
|
|
164
|
+
|
|
165
|
+
YuanFlow-main 内置工具示例:
|
|
166
|
+
|
|
167
|
+
```json
|
|
168
|
+
{
|
|
169
|
+
"args": [
|
|
170
|
+
"ai",
|
|
171
|
+
"qwen3-vl-plus",
|
|
172
|
+
"--prompt",
|
|
173
|
+
"你是自媒体视频拆解助手。请严格按以下知识库规则拆解这个对标视频:\\n【知识库规则摘要】...\\n【用户目标】学习该视频的选题、开头、脚本结构、镜头节奏和可复用创作方法。\\n请输出:1. 一句话总结;2. 视频定位;3. 开头钩子;4. 内容结构;5. 镜头/画面节奏;6. 情绪和转化设计;7. 可复用模板;8. 不建议照搬的风险。",
|
|
174
|
+
"--video-file",
|
|
175
|
+
"D:\\素材\\yuanflow-video-breakdown\\input.mp4",
|
|
176
|
+
"--format",
|
|
177
|
+
"agent-json"
|
|
178
|
+
],
|
|
179
|
+
"timeout": 600
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
外部 CLI 示例:
|
|
184
|
+
|
|
185
|
+
```powershell
|
|
186
|
+
yuanflow-cli ai qwen3-vl-plus --prompt "你是自媒体视频拆解助手。请按知识库规则拆解这个视频:..." --video-file "D:\素材\yuanflow-video-breakdown\input.mp4" --format agent-json
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## 调用限制和注意事项
|
|
190
|
+
|
|
191
|
+
- qwen3-vl-plus 视频建议单个视频最大 2GB,时长 2 秒到 1 小时。
|
|
192
|
+
- 本地视频上传时,CLI 会先调用 YuanFlow 文件中转 `POST /atomic/oss/temp-upload`,再把返回的 `signed_url` 提交给 YuanFlow API。
|
|
193
|
+
- 本地文件过大时,让用户压缩、裁剪、提供短版本,或改用可公网访问的视频 URL。
|
|
194
|
+
- 对标视频拆解只能用于学习结构、表达和创作方法,不要鼓励搬运、洗稿、规避版权或冒充原创。
|
|
195
|
+
|
|
196
|
+
## 输出格式
|
|
197
|
+
|
|
198
|
+
默认输出详细拆解报告:
|
|
199
|
+
|
|
200
|
+
```text
|
|
201
|
+
# 视频拆解报告
|
|
202
|
+
|
|
203
|
+
## 1. 一句话结论
|
|
204
|
+
|
|
205
|
+
## 2. 视频基础判断
|
|
206
|
+
- 内容类型:
|
|
207
|
+
- 目标受众:
|
|
208
|
+
- 核心卖点/观点:
|
|
209
|
+
- 适用平台:
|
|
210
|
+
|
|
211
|
+
## 3. 开头钩子拆解
|
|
212
|
+
- 前 3 秒:
|
|
213
|
+
- 冲突/利益点:
|
|
214
|
+
- 留人方式:
|
|
215
|
+
|
|
216
|
+
## 4. 内容结构拆解
|
|
217
|
+
- 段落 1:
|
|
218
|
+
- 段落 2:
|
|
219
|
+
- 段落 3:
|
|
220
|
+
- 结尾:
|
|
221
|
+
|
|
222
|
+
## 5. 画面与镜头节奏
|
|
223
|
+
- 场景变化:
|
|
224
|
+
- 人物/产品/字幕:
|
|
225
|
+
- 节奏特点:
|
|
226
|
+
|
|
227
|
+
## 6. 情绪、信任和转化设计
|
|
228
|
+
|
|
229
|
+
## 7. 可复用创作模板
|
|
230
|
+
|
|
231
|
+
## 8. 可借鉴点与风险
|
|
232
|
+
- 可借鉴:
|
|
233
|
+
- 不建议照搬:
|
|
234
|
+
- 需要二次原创:
|
|
235
|
+
|
|
236
|
+
## 9. 给用户的下一步建议
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
## 失败处理
|
|
240
|
+
|
|
241
|
+
- 知识库查询失败:说明无法取得拆解规则,不要跳过规则直接当普通视觉理解;可询问用户是否改为通用视觉理解。
|
|
242
|
+
- 视频 URL 解析失败:说明需要用户提供本地视频或可直接访问的下载链接。
|
|
243
|
+
- YuanFlow token 缺失:说明需要在受管环境或 CLI 配置 YuanFlow API token,不要让用户在聊天里粘贴敏感 Key。
|
|
244
|
+
- 视频超限:提示最大 2GB、2 秒到 1 小时,让用户裁剪或压缩。
|
|
245
|
+
- 模型无法识别细节:按“可确认/不确定/建议人工复查”分开写,不要编造。
|
|
@@ -33,7 +33,7 @@ tags:
|
|
|
33
33
|
6. 必查 `video_cli_validation_render_pack`,获得 EDL 校验、预览、自检和基础渲染规则。
|
|
34
34
|
7. 读取每个规则包下的 `rules` 或 `rule-detail` 后,再生成 timeline plan / EDL。
|
|
35
35
|
|
|
36
|
-
YuanFlow
|
|
36
|
+
YuanFlow-main 内置环境优先用 `yuanflow_cli_call` 调用知识库,不要让用户手动提供 token:
|
|
37
37
|
|
|
38
38
|
```json
|
|
39
39
|
{
|
|
@@ -114,9 +114,9 @@ CLI 会生成 `strategy_snapshot.json`,后续 Agent 必须基于这个快照
|
|
|
114
114
|
- 所有中间产物进入独立剪辑项目目录。
|
|
115
115
|
- 每个 EDL 片段必须有 `reason`,说明为什么选这段画面。
|
|
116
116
|
- 如果素材无法支撑文案,要明确报告缺少素材,不要硬凑。
|
|
117
|
-
- 在 YuanFlow
|
|
117
|
+
- 在 YuanFlow-main 内置环境优先调用 `yuanflow_cli_call`,外部 Agent 才直接运行本地 `yuanflow-cli`。
|
|
118
118
|
|
|
119
|
-
## YuanFlow
|
|
119
|
+
## YuanFlow-main 内置环境调用
|
|
120
120
|
|
|
121
121
|
使用 `yuanflow_cli_call` 时,参数数组不要包含 token:
|
|
122
122
|
|
|
@@ -350,7 +350,7 @@ yuanflow-cli video evaluate --project "D:\素材\yuanflow-video-edit" --file "D:
|
|
|
350
350
|
yuanflow-cli video render-final --project "D:\素材\yuanflow-video-edit" --format agent-json
|
|
351
351
|
```
|
|
352
352
|
|
|
353
|
-
完成后在 YuanFlow
|
|
353
|
+
完成后在 YuanFlow-main 内置环境必须调用 `artifact_files_register` 登记 `final.mp4`、`edl.json` 和 `eval_report.json`,不要只告诉用户内部路径。
|
|
354
354
|
|
|
355
355
|
## EDL 判断要求
|
|
356
356
|
|
|
@@ -21,11 +21,11 @@ emoji: ☁️
|
|
|
21
21
|
- 视频:先用 ffmpeg 分离音频,再进入上传流程。
|
|
22
22
|
2. 上传前把待上传音频整理为英文文件名。
|
|
23
23
|
- 官方参数只要求 `metadata.audio_url` 是可公网访问的音频 URL,没有说明必须英文文件名。
|
|
24
|
-
-
|
|
25
|
-
3. 使用 `
|
|
26
|
-
4.
|
|
27
|
-
- 不要优先使用裸域名 `data.url
|
|
28
|
-
- 如果只有 `data.url`,必须补齐 `https://`
|
|
24
|
+
- 但为避免文件中转 URL 编码、服务下载和中文文件名兼容问题,上传前必须使用 ASCII 英文文件名,例如 `transcription-input.mp3`。
|
|
25
|
+
3. 使用 `YuanFlow 文件中转工具` 上传音频。
|
|
26
|
+
4. 从文件中转返回中优先取 `data.signed_url` 作为 ASR 的 `metadata.audio_url`。
|
|
27
|
+
- 不要优先使用裸域名 `data.url`;实测裸域名可能导致 `Invalid audio URI` 或音频下载失败。
|
|
28
|
+
- 如果只有 `data.url`,必须补齐 `https://` 后再尝试;失败时说明该文件中转 URL 不可被 ASR 服务下载。
|
|
29
29
|
5. 调用在线 ASR 接口。
|
|
30
30
|
6. 默认只把干净文本返回给用户,不展示原始 JSON。
|
|
31
31
|
7. 只有用户明确要求时间戳、分句、原始结构或调试信息时,才返回 JSON 摘要或原始字段。
|
|
@@ -40,9 +40,9 @@ ffmpeg -y -i "C:\path\to\input.mp4" -vn -acodec libmp3lame -ar 44100 -ac 2 "tran
|
|
|
40
40
|
|
|
41
41
|
如果 ffmpeg 不可用,必须明确告诉用户缺少 ffmpeg,不能伪造转写结果。
|
|
42
42
|
|
|
43
|
-
##
|
|
43
|
+
## YuanFlow 文件中转
|
|
44
44
|
|
|
45
|
-
YuanFlow
|
|
45
|
+
YuanFlow-main 内置环境优先调用 `yuanflow_cli_call`,使用兼容子命令 `oss` 上传英文命名后的音频:
|
|
46
46
|
|
|
47
47
|
```json
|
|
48
48
|
{
|
|
@@ -95,12 +95,12 @@ Content-Type: application/json
|
|
|
95
95
|
"model": "doubao-asr",
|
|
96
96
|
"response_format": "json",
|
|
97
97
|
"metadata": {
|
|
98
|
-
"audio_url": "<
|
|
98
|
+
"audio_url": "<YuanFlow 文件中转 signed_url>"
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
```
|
|
102
102
|
|
|
103
|
-
在 YuanFlow
|
|
103
|
+
在 YuanFlow-main 内置环境优先使用 `yuanflow_gateway_request`:
|
|
104
104
|
|
|
105
105
|
```json
|
|
106
106
|
{
|
|
@@ -110,7 +110,7 @@ Content-Type: application/json
|
|
|
110
110
|
"model": "doubao-asr",
|
|
111
111
|
"response_format": "json",
|
|
112
112
|
"metadata": {
|
|
113
|
-
"audio_url": "<
|
|
113
|
+
"audio_url": "<YuanFlow 文件中转 signed_url>"
|
|
114
114
|
}
|
|
115
115
|
},
|
|
116
116
|
"timeout": 180
|
|
@@ -138,6 +138,6 @@ Content-Type: application/json
|
|
|
138
138
|
## 失败处理
|
|
139
139
|
|
|
140
140
|
- `Invalid audio URI` / `audio download failed`:优先检查是否误用了 `data.url` 裸域名;改用 `data.signed_url` 重试。
|
|
141
|
-
-
|
|
141
|
+
- YuanFlow 文件中转上传成功但 ASR 失败:说明文件对象已生成,但 ASR 服务无法下载或识别该 URL。
|
|
142
142
|
- 视频抽音频失败:报告 ffmpeg 错误,不继续调用 ASR。
|
|
143
143
|
- 不要暴露 token、Authorization header、签名 URL 的完整敏感查询参数,除非用户明确需要调试链接。
|
|
@@ -18,7 +18,7 @@ emoji: 🪽
|
|
|
18
18
|
|
|
19
19
|
如果当前 Agent 可用 `lark_cli_call`,优先使用该受控工具,不要用 `execute_shell_command` 直接运行 `npx`、`npm install -g` 或全局 `lark-cli`。
|
|
20
20
|
|
|
21
|
-
YuanFlow
|
|
21
|
+
YuanFlow-main 内置环境会把官方 CLI 安装到本机用户数据目录的受管位置,并固定版本执行。Agent 只需要传官方 CLI 参数数组,例如:
|
|
22
22
|
|
|
23
23
|
```json
|
|
24
24
|
{
|