yuanflow-cli 0.1.48 → 0.1.49

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yuanflow-cli",
3
- "version": "0.1.48",
3
+ "version": "0.1.49",
4
4
  "description": "YuanFlow 自媒体 API CLI 与 Skill 安装器。",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -8,7 +8,7 @@ YuanFlow Skill 是 `yuanflow-cli` 的 Agent Skill 仓库,用于把社媒平台
8
8
  - `yuanflow-cli/`:API CLI 子 Skill,说明 `yuanflow-cli` 的安装、配置、命令发现、schema 查询、dry-run 和 agent-json 调用方式。
9
9
  - `自媒体知识库/`:自媒体知识库渐进查询 Skill,走 `yuanflow-cli knowledge`。
10
10
  - `视觉理解/`:通用型图片、视频画面理解 Skill,走 `yuanflow-cli ai qwen3-vl-plus`,支持图片/视频 URL 和本地图片/视频上传。
11
- - `视频拆解/`:自媒体创作场景的对标视频拆解 Skill,先查自媒体知识库对标拆解规则,再用 `qwen3-vl-plus` 上传视频并按规则拆解。
11
+ - `视频拆解/`:自媒体创作场景的对标视频拆解 Skill,先查自媒体知识库对标拆解规则;平台 URL 先获取作品详情和互动数据,需要画面分析时再下载/上传视频并按规则拆解。
12
12
  - `YuanFlow文件中转工具/`:YuanFlow 文件中转、签名链接、对象复制 Skill,内部兼容命令走 `yuanflow-cli oss`。
13
13
  - `生图技能/`:图片生成与编辑 Skill;外部环境使用 `yuanflow-cli`,YuanFlow-main 内置环境优先走 `yuanflow_image_request`。
14
14
  - `视觉卡片生成/`:小红书图文卡片、公众号封面、文章插图、海报、信息图和商业视觉方案卡生成 Skill,使用 HTML 模板、风格参考和质量检查脚本完成交付。
@@ -18,8 +18,9 @@ YuanFlow Skill 是 `yuanflow-cli` 的 Agent Skill 仓库,用于把社媒平台
18
18
  - `HTML报告生成/`:单页 HTML 报告生成 Skill,内置 9 种米色留白报告模板。
19
19
  - `本地音视频转文字/`:本地 SenseVoice 音视频转文字 Skill,首次明确使用时按需下载模型。
20
20
  - `音视频在线转文字/`:通过 YuanFlow 在线 ASR 接口把音频或视频转成干净文本,视频会先抽取音频并通过 YuanFlow 文件中转。
21
- - `声音克隆/`:通过 `yuanflow-cli voice clone/list/activate` 创建、查询和激活声音克隆音色,返回可复用的 `voice_xxx`。
22
- - `声音复刻/`:通过 `yuanflow-cli voice replicate` 使用已有 `voice_xxx` 或默认音色把文本合成为复刻音频文件。
21
+ - `语音合成/`:通过 `yuanflow-cli ai doubao-tts` 查询预置音色、下载试听音频,并使用选定 `voice_type` 把文本合成为语音文件。
22
+ - `声音克隆/`:通过 `yuanflow-cli voice clone/list/activate` 创建、查询和激活声音克隆音色;本地参考音频优先先用 YuanFlow 文件中转取得临时 URL,再用 `--audio-url` 创建音色。
23
+ - `声音复刻/`:通过 `yuanflow-cli voice replicate` 使用已有 `voice_xxx` 或默认音色把文本合成为复刻音频文件;如果链路里出现本地参考音频,先转到声音克隆流程处理。
23
24
  - `自媒体浏览器自动化/`:自媒体平台专用浏览器自动化 Skill,用于登录态隔离、Cookie/profile 本地保存、页面采集和作品发布流程。
24
25
  - `帐号监控/`:帐号搜索、主页资料、主页作品、历史快照、变化对比和 HTML 可视化分流 Skill。
25
26
  - `个人创作库/`:长期保存、整理、复盘和复用用户认可的自媒体合格产出物。
@@ -39,7 +40,7 @@ YuanFlow Skill 是 `yuanflow-cli` 的 Agent Skill 仓库,用于把社媒平台
39
40
  - 让本地 Agent 稳定调用 `yuanflow-cli` 并解析 JSON 输出。
40
41
  - 查询自媒体知识库公开方向、方法包和规则摘要。
41
42
  - 对图片、视频、本地媒体文件或媒体 URL 做通用画面理解、内容描述、可见文字识别、画面对比和细节检查。
42
- - 对自媒体对标视频、爆款视频、竞品视频做内容结构、开头钩子、脚本节奏、镜头节奏和可复用创作方法拆解;开始前先查自媒体知识库规则,视频 URL 先解析并保存本地。
43
+ - 对自媒体对标视频、爆款视频、竞品视频做内容结构、开头钩子、标题文案、封面、互动数据、脚本节奏、镜头节奏、视频风格和可复用创作方法拆解;开始前先查自媒体知识库规则,平台视频 URL 先获取作品详情,需要画面分析时再解析并保存本地。
43
44
  - 上传文件到 YuanFlow 文件中转、生成签名链接或复制文件对象。
44
45
  - 生成图片、编辑图片,并缓存返回 URL 或 base64 图片。生成图片必填 `prompt`,可选 `size / quality / style / n / response_format`;编辑图片必须通过 multipart 上传本地图片。
45
46
  - 生成小红书图文卡片、公众号封面、文章插图、社交媒体配图、海报、信息图和商业视觉方案卡;视觉卡片生成不新增独立 CLI 命令,按 Skill 模板、参考文档和检查脚本完成。
@@ -49,7 +50,8 @@ YuanFlow Skill 是 `yuanflow-cli` 的 Agent Skill 仓库,用于把社媒平台
49
50
  - 在用户要求智能剪辑、自动剪辑、主音频匹配 B-roll、重排视频画面或生成剪辑预览时,使用视频智能剪辑 Skill;第一版先查规则库,导入策略快照,用“音视频在线转文字”或 forced alignment 建立音频对齐,抽帧频率固定 1 秒 1 帧,再回写视觉理解结果,最后生成 `timeline_plan` 和 EDL。
50
51
  - 在用户明确要求本地转写时,把本地音频或视频转成文字;视频会先抽取音频,模型和缓存由当前运行环境管理,不要求固定安装目录。
51
52
  - 在用户要求在线转写、云端转写或 doubao-asr 时,把本地音频或视频经 YuanFlow 文件中转后提交在线 ASR,默认只返回干净文本。
52
- - 在用户要求创建声音克隆、查询已有克隆音色 ID、激活默认克隆音色或生成声音复刻音频时,使用声音克隆或声音复刻 Skill;声音复刻前必须先拿到 `voice_xxx` 或使用已激活默认音色。
53
+ - 在用户要求文本转语音、生成口播/旁白/TTS 音频,或不确定使用哪个预置音色时,使用语音合成 Skill;先查询音色列表,必要时下载试听音频,再用选定的 `voice_type` 合成。
54
+ - 在用户要求创建声音克隆、查询已有克隆音色 ID、激活默认克隆音色或生成声音复刻音频时,使用声音克隆或声音复刻 Skill;本地参考音频优先先走 YuanFlow 文件中转获取临时 URL,声音复刻前必须先拿到 `voice_xxx` 或使用已激活默认音色。
53
55
  - 在用户要求自媒体平台浏览器自动化、账号登录态隔离、Cookie/profile 保存、平台页面采集或作品发布时,使用专用自媒体浏览器自动化 Skill;普通网页浏览和搜索仍使用通用浏览器能力。
54
56
  - 监控抖音、小红书、微博、知乎、Bilibili、TikTok、YouTube、Twitter/X 帐号主页,保存快照并对比历史变化;抖音链路优先使用 `get-sec-user-id -> user-profile -> user-posts -> works detail`。
55
57
  - 在用户要求保存、归档、复盘或复用已完成创作成果时,把选题、标题、文案、脚本、封面、剪辑思路、发布计划和数据复盘沉淀进个人创作库。
@@ -149,6 +151,8 @@ yuanflow-skill list-skills
149
151
  │ └─ scripts/
150
152
  ├─ 音视频在线转文字
151
153
  │ └─ SKILL.md
154
+ ├─ 语音合成
155
+ │ └─ SKILL.md
152
156
  ├─ 自媒体浏览器自动化
153
157
  │ └─ SKILL.md
154
158
  ├─ 个人创作库
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: YuanFlow技能总入口
3
- description: 当用户需要处理自媒体平台接口工作流、平台数据查询、命令发现、生图、视觉卡片生成、YuanFlow 文件中转、知识库查询、HTML 报告生成,或需要在 YuanFlow 子技能之间选择合适能力时使用。
3
+ description: 当用户需要处理自媒体平台接口工作流、平台数据查询、命令发现、生图、语音合成、视觉卡片生成、YuanFlow 文件中转、知识库查询、HTML 报告生成,或需要在 YuanFlow 子技能之间选择合适能力时使用。
4
4
  ---
5
5
 
6
6
  # YuanFlow Skill
@@ -32,6 +32,7 @@ description: 当用户需要处理自媒体平台接口工作流、平台数据
32
32
  - `HTML报告生成/`
33
33
  - `本地音视频转文字/`
34
34
  - `音视频在线转文字/`
35
+ - `语音合成/`
35
36
  - `自媒体浏览器自动化/`
36
37
  - `帐号监控/`
37
38
  - `个人创作库/`
@@ -319,7 +320,21 @@ description: 当用户需要处理自媒体平台接口工作流、平台数据
319
320
 
320
321
  - `音视频在线转文字`
321
322
 
322
- ### 20. 走 `视觉理解`
323
+ ### 20. 走 `语音合成`
324
+
325
+ 遇到下面这些需求,优先进入这个子 Skill:
326
+
327
+ - 用户要求把文本合成为语音、口播音频、旁白音频或 TTS 音频文件。
328
+ - 用户要求查询、筛选或试听预置音色列表里的音色。
329
+ - 用户提供或需要选择 `voice_type`,并要求用该音色合成音频。
330
+
331
+ 这个 Skill 只使用预置音色 ID,不支持自行设计音色或克隆声音。如果用户要克隆本人或指定人物声音,改用 `声音克隆` / `声音复刻`。
332
+
333
+ 子 Skill 名称:
334
+
335
+ - `语音合成`
336
+
337
+ ### 21. 走 `视觉理解`
323
338
 
324
339
  遇到下面这些需求,优先进入这个子 Skill:
325
340
 
@@ -333,15 +348,16 @@ description: 当用户需要处理自媒体平台接口工作流、平台数据
333
348
 
334
349
  - `视觉理解`
335
350
 
336
- ### 21. 走 `视频拆解`
351
+ ### 22. 走 `视频拆解`
337
352
 
338
353
  遇到下面这些需求,优先进入这个子 Skill:
339
354
 
340
355
  - 用户提交对标视频、本地视频或视频 URL,要求做自媒体创作方向的视频拆解。
341
356
  - 用户要求分析爆款结构、开头钩子、脚本节奏、镜头节奏、转化设计、可复用创作模板。
357
+ - 用户要求补齐视频标题、文案、封面、点赞评论转发收藏等作品详情,或要求视频风格解析拆解。
342
358
  - 用户希望从竞品视频、对标账号视频里提炼内容创作方法。
343
359
 
344
- 这个 Skill 开始前必须先使用 `自媒体知识库` 查询与对标拆解相关的规则。如果用户提交的是视频 URL,先用作品解析/下载相关工具保存到本地,再通过 `yuanflow-cli ai qwen3-vl-plus --video-file` 上传拆解。
360
+ 这个 Skill 开始前必须先使用 `自媒体知识库` 查询与对标拆解相关的规则。如果用户提交的是平台视频 URL,先用 `作品详情获取工具` 补齐平台元数据;需要画面分析时,再用作品解析/下载相关工具保存到本地,并通过 `yuanflow-cli ai qwen3-vl-plus --video-file` 上传拆解。
345
361
 
346
362
  子 Skill 名称:
347
363
 
@@ -60,6 +60,30 @@ emoji: 🎙️
60
60
  cd "<当前 Skill 安装目录>\scripts"
61
61
  ```
62
62
 
63
+ ## 使用前配置要求
64
+
65
+ 本 Skill 是本地模型转写,不是云端接口。首次使用会下载 SenseVoiceSmall 和 VAD 模型到本机,后续可离线复用。
66
+
67
+ 最低可用:
68
+
69
+ - Python 3.10 优先,3.11/3.12 可尝试;不建议 3.13/3.14。
70
+ - 能安装 `torch`、`torchaudio`、`funasr`、`modelscope`。
71
+ - CPU 可运行,但长音频会比较慢。
72
+ - 本地磁盘需预留模型、依赖和缓存空间,建议至少预留数 GB。
73
+ - 如果输入是视频,系统必须可用 `ffmpeg`。
74
+
75
+ 推荐配置:
76
+
77
+ - NVIDIA GPU + CUDA 环境,显存 8GB 以上更合适。
78
+ - 16GB 以上内存、SSD、稳定网络。
79
+ - 长音频或低配设备建议把 `--batch-size-s` 调小到 `20` 或 `10`。
80
+
81
+ 不适合的情况:
82
+
83
+ - 设备内存很小、磁盘空间不足、不能安装 Python 依赖。
84
+ - 不能下载模型,又本地没有提前缓存模型。
85
+ - 视频转写但系统没有 `ffmpeg`。
86
+
63
87
  ## 首次使用模型下载规则
64
88
 
65
89
  开始转写前先检查模型目录是否已经存在:
@@ -0,0 +1,181 @@
1
+ ---
2
+ name: 语音合成
3
+ description: 当用户需要使用 YuanFlow API 的 doubao-tts 预置音色把文本合成为音频,查询可用音色、确认单个音色详情,或下载音色试听文件后选择 voice_type 时使用。本 Skill 只使用预置音色 ID,不用于声音克隆或自行设计音色。
4
+ emoji: 🔈
5
+ ---
6
+
7
+ # 语音合成
8
+
9
+ 本 Skill 用于把文本合成为语音文件。它依赖 YuanFlow API 已准备好的预置音色列表,合成时必须使用列表里的 `voice_type` 作为音色 ID。
10
+
11
+ 重要边界:
12
+
13
+ - 这是“预置音色 + 文本合成语音”,不是声音克隆。
14
+ - 不能自行设计音色,也不能通过提示词创造一个新音色。
15
+ - 如果用户要克隆本人或指定人物声音,转到 `声音克隆` 和 `声音复刻` Skill。
16
+ - 如果用户不确定选哪个音色,先查询音色列表,再下载试听音频给用户确认。
17
+
18
+ ## 外部 CLI 主流程
19
+
20
+ 外部 Agent 或用户直接使用时,优先使用 `yuanflow-cli ai doubao-tts ...` 命令。
21
+
22
+ 1. 先确认本机可执行 `yuanflow-cli --help`。
23
+ 2. 外部 CLI 使用 `YUANCHUANG_API_TOKEN` 或 `yuanflow-cli config set-token <你的令牌>` 完成鉴权。
24
+ 3. 先查可用音色列表,读取 `voice_type`。
25
+ 4. 用户不确定音色时,下载试听音频到本地,让用户听完再选。
26
+ 5. 使用确定的 `voice_type` 执行文本转语音。
27
+
28
+ 不要在回复、日志或文件中暴露 token。用户主流程统一称为 YuanFlow API,不要求用户配置第三方平台 Key。
29
+
30
+ ## 查询全部音色
31
+
32
+ ```powershell
33
+ yuanflow-cli ai doubao-tts voices --format agent-json
34
+ ```
35
+
36
+ 返回里重点读取:
37
+
38
+ ```text
39
+ data.response.data.data[].display_name
40
+ data.response.data.data[].voice_type
41
+ data.response.data.data[].category
42
+ data.response.data.data[].language
43
+ data.response.data.data[].capabilities
44
+ ```
45
+
46
+ 给用户展示时用 `display_name`、分类、语言和能力描述;真正合成时只使用 `voice_type`。
47
+
48
+ ## 查询单个音色
49
+
50
+ 当用户指定了某个 `voice_type`,或需要确认某个音色是否存在:
51
+
52
+ ```powershell
53
+ yuanflow-cli ai doubao-tts voice --voice "<voice_type>" --format agent-json
54
+ ```
55
+
56
+ 如果查询不到,不要猜测相近 ID,重新查询音色列表。
57
+
58
+ ## 下载音色试听
59
+
60
+ 用户不确定使用哪个音色时,先下载试听文件到本地:
61
+
62
+ ```powershell
63
+ yuanflow-cli ai doubao-tts voice-download --voice "<voice_type>" --output "<试听音频输出路径>" --format agent-json
64
+ ```
65
+
66
+ 注意:
67
+
68
+ - 试听下载接口返回的是临时下载 URL,可能过期。
69
+ - 不要把临时 URL 写进长期文档或公开回复。
70
+ - 如果只需要拿到临时 URL,可以不传 `--output`;但用户要试听时优先传 `--output` 保存成本地音频文件。
71
+ - 试听资源查询和下载不做正式合成扣费,但仍需要有效 token 和可用余额。
72
+
73
+ ## 合成语音
74
+
75
+ 确认 `voice_type` 后,把文本合成为音频:
76
+
77
+ ```powershell
78
+ yuanflow-cli ai doubao-tts --text "你好,这是语音合成测试。" --voice "<voice_type>" --output "<输出音频路径>" --format agent-json
79
+ ```
80
+
81
+ 默认输出 `mp3`。用户要求其它格式时,增加 `--response-format`:
82
+
83
+ ```powershell
84
+ yuanflow-cli ai doubao-tts --text "这是一段 WAV 格式的合成测试。" --voice "<voice_type>" --response-format wav --output "<输出音频路径>" --format agent-json
85
+ ```
86
+
87
+ 常用参数:
88
+
89
+ - `--text`:要合成的文本。
90
+ - `--voice`:音色列表返回的 `voice_type`。
91
+ - `--output`:合成音频保存路径。
92
+ - `--response-format`:`mp3`、`wav`、`opus`、`pcm` 等,默认 `mp3`。
93
+ - `--speed`:语速;不传时使用 YuanFlow API 默认语速。
94
+ - `--metadata`:高级透传参数。普通用户不要主动使用,除非明确知道要覆盖什么参数。
95
+
96
+ ## 输出要求
97
+
98
+ 最终回复给用户时说明:
99
+
100
+ ```text
101
+ 语音已生成:
102
+ 文件路径:`<输出音频路径>`
103
+ 使用音色:<display_name> / <voice_type>
104
+ 输出格式:
105
+ ```
106
+
107
+ 如果命令返回 agent-json,优先读取:
108
+
109
+ ```text
110
+ data.response.output
111
+ data.response.bytes
112
+ data.response.content_type
113
+ ```
114
+
115
+ ## YuanFlow-main 内置环境
116
+
117
+ 只有在 YuanFlow-main 内置环境中,才使用受控工具 `yuanflow_cli_call`。token、受管包路径和输出目录由 YuanFlow-main 管理,不写成外部用户必备步骤。
118
+
119
+ 查询音色列表:
120
+
121
+ ```json
122
+ {
123
+ "args": [
124
+ "ai",
125
+ "doubao-tts",
126
+ "voices",
127
+ "--format",
128
+ "agent-json"
129
+ ],
130
+ "timeout": 120
131
+ }
132
+ ```
133
+
134
+ 下载试听音频:
135
+
136
+ ```json
137
+ {
138
+ "args": [
139
+ "ai",
140
+ "doubao-tts",
141
+ "voice-download",
142
+ "--voice",
143
+ "<voice_type>",
144
+ "--output",
145
+ "preview.mp3",
146
+ "--format",
147
+ "agent-json"
148
+ ],
149
+ "timeout": 180
150
+ }
151
+ ```
152
+
153
+ 合成正式音频:
154
+
155
+ ```json
156
+ {
157
+ "args": [
158
+ "ai",
159
+ "doubao-tts",
160
+ "--text",
161
+ "你好,这是语音合成测试。",
162
+ "--voice",
163
+ "<voice_type>",
164
+ "--output",
165
+ "tts.mp3",
166
+ "--format",
167
+ "agent-json"
168
+ ],
169
+ "timeout": 300
170
+ }
171
+ ```
172
+
173
+ 在 YuanFlow-main 内置环境里,`--output` 会被限制到受控输出目录。不要要求用户手动传程序数据目录,也不要绕过 `yuanflow_cli_call` 直接写本地文件。
174
+
175
+ ## 失败处理
176
+
177
+ - 没有 `voice_type`:先查询 `ai doubao-tts voices`,不要随便编造音色 ID。
178
+ - 用户想“设计一个声音”或“克隆我的声音”:说明本 Skill 不能做到,转到 `声音克隆` / `声音复刻`。
179
+ - 试听 URL 过期:重新执行 `voice-download` 获取新的临时下载地址。
180
+ - 输出路径被拒绝:在 YuanFlow-main 内置环境中改用相对文件名,让受控工具自动放入输出目录。
181
+ - 合成失败:报告 YuanFlow API 返回的简短错误,不暴露 token、Authorization header 或完整敏感链接。