yuanflow-cli 0.1.44 → 0.1.46

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 (30) hide show
  1. package/README.md +38 -23
  2. package/package.json +1 -1
  3. package/skills/yuanflow-skill/HTML/346/212/245/345/221/212/347/224/237/346/210/220/SKILL.md +4 -0
  4. package/skills/yuanflow-skill/IP/350/277/220/350/220/245/SKILL.md +4 -0
  5. package/skills/yuanflow-skill/README.md +3 -0
  6. package/skills/yuanflow-skill//344/270/252/344/272/272/345/210/233/344/275/234/345/272/223/SKILL.md +2 -2
  7. 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
  8. package/skills/yuanflow-skill//345/210/233/344/275/234/346/200/273/347/233/221/SKILL.md +4 -0
  9. package/skills/yuanflow-skill//345/243/260/351/237/263/345/205/213/351/232/206/SKILL.md +146 -0
  10. package/skills/yuanflow-skill//345/243/260/351/237/263/345/244/215/345/210/273/SKILL.md +103 -0
  11. package/skills/yuanflow-skill//345/260/217/347/272/242/344/271/246/350/277/220/350/220/245/SKILL.md +1 -1
  12. package/skills/yuanflow-skill//345/260/217/347/272/242/344/271/246/350/277/220/350/220/245/references/commands.md +1 -2
  13. package/skills/yuanflow-skill//345/270/220/345/217/267/345/256/232/344/275/215/SKILL.md +4 -0
  14. package/skills/yuanflow-skill//345/270/220/345/217/267/347/233/221/346/216/247/SKILL.md +1 -1
  15. package/skills/yuanflow-skill//346/226/207/346/241/210/345/210/233/344/275/234/SKILL.md +4 -0
  16. 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
  17. package/skills/yuanflow-skill//347/224/237/345/233/276/346/212/200/350/203/275/SKILL.md +2 -2
  18. 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
  19. 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
  20. 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
  21. package/skills/yuanflow-skill//350/247/206/350/247/211/347/220/206/350/247/243/SKILL.md +4 -4
  22. 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
  23. package/skills/yuanflow-skill//350/247/206/351/242/221/346/213/206/350/247/243/SKILL.md +6 -6
  24. 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
  25. package/skills/yuanflow-skill//351/200/211/351/242/230/347/255/226/345/210/222/SKILL.md +4 -0
  26. 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
  27. package/src/agent-protocol.js +3 -3
  28. package/src/cli.js +24 -22
  29. package/src/voice-tools.js +471 -0
  30. package/src/video-tools.js +0 -969
package/README.md CHANGED
@@ -6,6 +6,7 @@ YuanFlow 的 npm 包,包含两个命令入口:
6
6
  - `yuanflow-skill`:把 `YuanFlow-skill` 注入到本机支持的 AI Agent skills 目录。
7
7
  - `飞书官方技能`:YuanFlow-main 内置环境通过受控工具托管安装并调用飞书官方 `@larksuite/cli`,npm 包只提供 Skill 说明,不复制官方 CLI 源码。
8
8
  - `视觉卡片生成`:作为 Skill、HTML 模板、参考文档和检查脚本随包分发,不新增独立 `yuanflow-cli visual-card` 命令。
9
+ - `声音克隆 / 声音复刻`:通过 `yuanflow-cli voice` 命令创建、查询、激活 `voice_xxx`,并把文本复刻生成音频文件。
9
10
 
10
11
  ## 安装
11
12
 
@@ -47,12 +48,13 @@ yuanflow-cli knowledge entry --output-format short_video_script --domain 自媒
47
48
  yuanflow-cli oss signed-url --key path/to/file.png --ttl-seconds 1800 --format agent-json
48
49
  yuanflow-cli browser profile-path --platform douyin --account main --format agent-json
49
50
  yuanflow-cli browser task-plan --platform xiaohongshu --task publish --account main --format agent-json
50
- yuanflow-cli video init --input "D:\素材" --primary-audio "D:\素材\口播.mp3" --broll "D:\素材\画面.mp4" --format agent-json
51
- 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
52
- yuanflow-cli video plan --project "D:\素材\yuanflow-video-edit" --timeline-plan "D:\素材\yuanflow-video-edit\timeline_plan.agent.json" --format agent-json
53
51
  yuanflow-cli ai qwen3-vl-plus --prompt "描述这张图" --image-url "https://example.com/image.png" --format agent-json
54
52
  yuanflow-cli ai qwen3-vl-plus --prompt "总结这个视频画面" --video-url "https://example.com/video.mp4" --format agent-json
55
53
  yuanflow-cli ai qwen3-vl-plus --prompt "描述本地视频" --video-file "D:\素材\demo.mp4" --format agent-json
54
+ yuanflow-cli voice clone --file-transfer "D:\voice\sample.wav" --name "我的声音" --activate --format agent-json
55
+ yuanflow-cli voice list --format agent-json
56
+ yuanflow-cli voice activate --voice voice_xxx --format agent-json
57
+ yuanflow-cli voice replicate --text "你好,这是声音复刻测试。" --voice voice_xxx --output "D:\voice\replicate.mp3" --format agent-json
56
58
  yuanflow-cli ai doubao-tts voices --format agent-json
57
59
  yuanflow-cli ai doubao-tts voice --voice zh_female_xiaohe_uranus_bigtts --format agent-json
58
60
  yuanflow-cli ai doubao-tts voice-download --voice zh_female_xiaohe_uranus_bigtts --output "D:\voice\preview.mp3" --format agent-json
@@ -69,6 +71,33 @@ YUANCHUANG_API_TOKEN=<你的令牌>
69
71
 
70
72
  token 优先级:`--token` > `YUANCHUANG_API_TOKEN` > 本地 `config.token`。独立 CLI 用户可以使用环境变量或 `config set-token`;在 YuanFlow-main 内置环境使用时,token 由 YuanFlow-main 内置环境注入,不需要手动配置。本地图片/视频上传统一使用 YuanFlow 文件中转,不需要用户配置第三方平台 Key。
71
73
 
74
+ ### 声音克隆与声音复刻
75
+
76
+ `voice` 命令组用于创建声音克隆、查询已有克隆音色 ID、激活默认音色,并使用 `voice_xxx` 把文本复刻为音频文件。声音复刻前必须先有 `voice_xxx`,或已激活默认音色。
77
+
78
+ ```bash
79
+ # 创建声音克隆:本地音频先走 YuanFlow 文件中转
80
+ yuanflow-cli voice clone --file-transfer "D:\voice\sample.wav" --name "我的声音" --activate --format agent-json
81
+
82
+ # 查询已有声音克隆 ID
83
+ yuanflow-cli voice list --format agent-json
84
+
85
+ # 激活某个克隆音色为默认音色
86
+ yuanflow-cli voice activate --voice voice_xxx --format agent-json
87
+
88
+ # 使用克隆音色生成复刻音频
89
+ yuanflow-cli voice replicate --text "你好,这是声音复刻测试。" --voice voice_xxx --output "D:\voice\replicate.mp3" --format agent-json
90
+ ```
91
+
92
+ 命令清单:
93
+
94
+ - `voice clone`:`POST /v1/audio/voices`,创建声音克隆,常用参数 `--file`、`--file-transfer`、`--audio-url`、`--name`、`--activate`。
95
+ - `voice list`:`GET /v1/audio/voices`,查询当前用户已有声音克隆音色 ID。
96
+ - `voice activate`:`POST /v1/audio/voices/{voice_xxx}/activate`,把已有声音克隆设为默认音色。
97
+ - `voice replicate`:`POST /v1/audio/speech`,使用 `voice_xxx` 或 `default` 生成复刻音频,真实调用时必须传 `--output`。
98
+
99
+ `--file-transfer` 会先通过 YuanFlow 文件中转上传本地音频,再把临时访问链接提交给 YuanFlow API。`--file` 保留为直接提交本地音频的兼容方式。`--file`、`--file-transfer` 和 `--audio-url` 只能选择一个。
100
+
72
101
  ### AI 模型命令
73
102
 
74
103
  `ai` 命令用于调用 YuanFlow API 的 OpenAI 兼容端点。CLI 对外只使用 YuanFlow API 模型参数,不暴露底层供应商内部模型名。
@@ -79,8 +108,6 @@ yuanflow-cli ai qwen3-vl-plus --prompt "描述这张图" --image-url "https://ex
79
108
  yuanflow-cli ai qwen3-vl-plus --prompt "总结这个视频画面" --video-url "https://example.com/video.mp4" --format agent-json
80
109
  yuanflow-cli ai qwen3-vl-plus --prompt "描述本地图片" --image-file "D:\素材\cover.png" --format agent-json
81
110
  yuanflow-cli ai qwen3-vl-plus --prompt "描述本地视频" --video-file "D:\素材\demo.mp4" --format agent-json
82
- yuanflow-cli ai qwen-voice-enrollment --file "D:\voice\sample.wav" --name demo --activate --format agent-json
83
- yuanflow-cli ai qwen3-tts-vc-realtime-2026-01-15 --text "你好" --voice voice_xxx --output "D:\voice\qwen.mp3" --format agent-json
84
111
  yuanflow-cli ai fun-asr --audio-url "https://example.com/audio.wav" --response-format verbose_json --format agent-json
85
112
  yuanflow-cli ai doubao-tts voices --format agent-json
86
113
  yuanflow-cli ai doubao-tts voice --voice zh_female_xiaohe_uranus_bigtts --format agent-json
@@ -122,8 +149,6 @@ yuanflow-cli ai qwen3-vl-plus --prompt "描述本地视频" --video-file "D:\素
122
149
  命令清单:
123
150
 
124
151
  - `ai qwen3-vl-plus`:`POST /v1/chat/completions`,文本/图片/视频理解,常用参数 `--prompt`、`--image-url`、`--video-url`、`--image-file`、`--video-file`。
125
- - `ai qwen-voice-enrollment`:`POST /v1/audio/voices`,音色复刻,常用参数 `--file` 或 `--audio-url`、`--name`、`--activate`。
126
- - `ai qwen3-tts-vc-realtime-2026-01-15`:`POST /v1/audio/speech`,复刻音色合成,`--voice` 使用 `voice_xxx` 或 `default`。
127
152
  - `ai fun-asr`:`POST /v1/audio/transcriptions`,语音识别,`--audio-url` 适合远程音频,`--file` 适合本地音频直传。
128
153
  - `ai doubao-tts`:`POST /v1/audio/speech`,豆包语音合成,`--voice` 直接传豆包官方音色 ID。
129
154
  - `ai doubao-tts voices`:`GET /api/voice-assets/doubao/voices`,查询 doubao-tts 可用音色列表。
@@ -271,25 +296,15 @@ Agent 应先查看 `knowledge docs`,再把用户需求整理成 `task_frame`
271
296
 
272
297
  `knowledge entry`、`knowledge packs`、`knowledge evaluate` 会按规则库实际校验要求本地检查 `task_frame.domain` 和 `task_frame.content_goal`,CLI 调用时必须传 `--domain` 和 `--content-goal`,或通过 `--task-frame-file` 提供同名字段。`rules` 和 `rule-detail` 用于按已选包/规则继续下钻,仍必须分别传 `--pack-code` 或 `--rule-code`。
273
298
 
274
- ### 视频智能剪辑
299
+ ### 视频制作能力迁移
275
300
 
276
- 视频剪辑链路先查自媒体知识库中的 `video_editing_strategy`,再进入 `video` 命令执行。第一版人工测试流程是:查询规则包、保存策略快照、扫描素材、通过“音视频在线转文字”取得 ASR/时间戳结果、导入音频对齐、1 秒 1 帧抽帧、导入视觉理解结果、Agent 生成 `timeline_plan.agent.json`、CLI 校验并渲染。
301
+ 视频智能剪辑、主音频+B-roll、EDL 校验和基础渲染链路已迁移到独立项目维护,不再作为 `yuanflow-cli video` 命令提供。独立开发目录:
277
302
 
278
- ```bash
279
- yuanflow-cli knowledge rules --pack-code video_edit_logic_layer_pack --domain 视频剪辑 --content-goal "口播视频剪辑,需要主音频匹配 B-roll 并生成 EDL" --output-format video_edit_plan --format agent-json --output "D:\规则\logic.json"
280
- yuanflow-cli video init --input "D:\素材" --primary-audio "D:\素材\口播.mp3" --broll "D:\素材\画面.mp4" --format agent-json
281
- yuanflow-cli video strategy --project "D:\素材\yuanflow-video-edit" --template-type talking_head --rules-file "D:\规则\logic.json,D:\规则\talking_head.json,D:\规则\cli.json" --format agent-json
282
- yuanflow-cli video inspect --project "D:\素材\yuanflow-video-edit" --format agent-json
283
- yuanflow-cli video align --project "D:\素材\yuanflow-video-edit" --asr-file "D:\素材\asr.json" --format agent-json
284
- yuanflow-cli video timeline --project "D:\素材\yuanflow-video-edit" --fps 1 --format agent-json
285
- yuanflow-cli video visual-review --project "D:\素材\yuanflow-video-edit" --review-file "D:\素材\yuanflow-video-edit\visual_review.agent.json" --format agent-json
286
- yuanflow-cli video plan --project "D:\素材\yuanflow-video-edit" --timeline-plan "D:\素材\yuanflow-video-edit\timeline_plan.agent.json" --format agent-json
287
- yuanflow-cli video render-preview --project "D:\素材\yuanflow-video-edit" --format agent-json
288
- yuanflow-cli video evaluate --project "D:\素材\yuanflow-video-edit" --file "D:\素材\yuanflow-video-edit\preview.mp4" --format agent-json
289
- yuanflow-cli video render-final --project "D:\素材\yuanflow-video-edit" --format agent-json
303
+ ```text
304
+ D:\AI_project\视频制作
290
305
  ```
291
306
 
292
- `video align` 只导入已有 ASR 或 forced alignment 结果,不直接调用在线 ASR;在线 ASR 由“音视频在线转文字”Skill 执行。`video visual-review` 只导入 Agent/人工对抽帧图片的视觉理解,不替 Agent 做语义判断。`--template-type` 当前支持 `talking_head` 和 `short_video_sales`。知识库查询由 `knowledge` 命令负责,`video` 命令只导入规则结果并保存 `strategy_snapshot.json`,不直接远程查规则库。
307
+ `YuanFlow-cli` 仍保留通用视频理解、视频拆解、音视频在线转文字、作品下载和知识库查询等通用能力;视频制作项目后续按需调用这些通用能力。
293
308
 
294
309
  ### 业务创作类 Skill
295
310
 
@@ -355,7 +370,7 @@ yuanflow-cli browser dry-run --platform xiaohongshu --task publish --account mai
355
370
  3. 使用 `yuanflow-cli oss temp-upload` 上传音频到 YuanFlow 文件中转。
356
371
  4. ASR 请求必须优先使用文件中转返回的 `data.signed_url` 作为 `metadata.audio_url`,不要优先使用裸域名 `data.url`。
357
372
  5. 调用 `POST https://open.yuanchuangai.com/v1/audio/transcriptions`,模型 `doubao-asr`,`response_format=json`。
358
- 6. 默认只返回响应里的 `text` 干净文本;视频剪辑任务需要音频对齐时,要优先保留 ASR 响应中的 `segments` / `words` 时间戳结构,后续交给 `yuanflow-cli video align --asr-file` 导入。接口没有返回时间戳时,不编造时间戳,改用 forced alignment 或人工按文案切分时间。
373
+ 6. 默认只返回响应里的 `text` 干净文本;视频制作项目需要音频对齐时,要优先保留 ASR 响应中的 `segments` / `words` 时间戳结构,后续交给独立视频制作项目导入。接口没有返回时间戳时,不编造时间戳,改用 forced alignment 或人工按文案切分时间。
359
374
 
360
375
  请求体示例:
361
376
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yuanflow-cli",
3
- "version": "0.1.44",
3
+ "version": "0.1.46",
4
4
  "description": "YuanFlow 自媒体 API CLI 与 Skill 安装器。",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -16,6 +16,10 @@ emoji: 🧾
16
16
 
17
17
  不要在回复、日志或文件中暴露 token。用户主流程统一称为 YuanFlow API 和 YuanFlow 文件中转,不要求用户配置第三方平台 Key。
18
18
 
19
+ ## YuanFlow-main 内置环境
20
+
21
+ 在 YuanFlow-main 内置环境中,只有需要调用 CLI、文件中转、图片能力或写入受控产物时,才使用 `yuanflow_cli_call`、`yuanflow_image_request`、`artifact_files_register` 等受控工具。token、受管包路径和输出目录由 YuanFlow-main 管理,不写成外部用户必备步骤。
22
+
19
23
  本 Skill 用于生成一个可直接打开阅读的单页 HTML 报告。它不是后台 Dashboard,也不是多页面站点,而是面向最终用户查阅的视觉化长文报告页。
20
24
 
21
25
  ## 核心原则
@@ -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 用于围绕个人 IP 或品牌 IP 制定持续运营方案。执行时必须先查历史资产,再查自媒体知识库,最后结合用户本次目标输出可执行方案。
20
24
 
21
25
  ## 固定流程
@@ -18,6 +18,8 @@ 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
23
  - `自媒体浏览器自动化/`:自媒体平台专用浏览器自动化 Skill,用于登录态隔离、Cookie/profile 本地保存、页面采集和作品发布流程。
22
24
  - `帐号监控/`:帐号搜索、主页资料、主页作品、历史快照、变化对比和 HTML 可视化分流 Skill。
23
25
  - `个人创作库/`:长期保存、整理、复盘和复用用户认可的自媒体合格产出物。
@@ -47,6 +49,7 @@ YuanFlow Skill 是 `yuanflow-cli` 的 Agent Skill 仓库,用于把社媒平台
47
49
  - 在用户要求智能剪辑、自动剪辑、主音频匹配 B-roll、重排视频画面或生成剪辑预览时,使用视频智能剪辑 Skill;第一版先查规则库,导入策略快照,用“音视频在线转文字”或 forced alignment 建立音频对齐,抽帧频率固定 1 秒 1 帧,再回写视觉理解结果,最后生成 `timeline_plan` 和 EDL。
48
50
  - 在用户明确要求本地转写时,把本地音频或视频转成文字;视频会先抽取音频,模型和缓存都保存在 Skill 自己目录下。
49
51
  - 在用户要求在线转写、云端转写或 doubao-asr 时,把本地音频或视频经 YuanFlow 文件中转后提交在线 ASR,默认只返回干净文本。
52
+ - 在用户要求创建声音克隆、查询已有克隆音色 ID、激活默认克隆音色或生成声音复刻音频时,使用声音克隆或声音复刻 Skill;声音复刻前必须先拿到 `voice_xxx` 或使用已激活默认音色。
50
53
  - 在用户要求自媒体平台浏览器自动化、账号登录态隔离、Cookie/profile 保存、平台页面采集或作品发布时,使用专用自媒体浏览器自动化 Skill;普通网页浏览和搜索仍使用通用浏览器能力。
51
54
  - 监控抖音、小红书、微博、知乎、Bilibili、TikTok、YouTube、Twitter/X 帐号主页,保存快照并对比历史变化;抖音链路优先使用 `get-sec-user-id -> user-profile -> user-posts -> works detail`。
52
55
  - 在用户要求保存、归档、复盘或复用已完成创作成果时,把选题、标题、文案、脚本、封面、剪辑思路、发布计划和数据复盘沉淀进个人创作库。
@@ -156,10 +156,10 @@ meta/
156
156
 
157
157
  在 YuanFlow-main 内置环境,本 Skill 是托管 CLI Skill 的一个整体目录。不要把 `library/` 下的分类当成独立 Skill 安装,也不要在子目录里创建 `SKILL.md`。
158
158
 
159
- 如果需要写入文件,优先使用当前 Skill 的真实目录:
159
+ 如果需要写入文件,优先使用 YuanFlow-main 受控运行时返回的当前 Skill 真实目录;外部用户安装时,则以当前 Skill 安装目录为准。
160
160
 
161
161
  ```text
162
- config.managed_skill_dir
162
+ <当前 Skill 安装目录>
163
163
  ```
164
164
 
165
165
  在没有明确用户授权前,不要删除、覆盖或批量移动用户已有创作资料。
@@ -89,7 +89,7 @@ Agent 在排版前应做结构化增强,但不能改变事实:
89
89
 
90
90
  ```bash
91
91
  python scripts/wechat_draft.py \
92
- --credentials-file "D:\path\to\wechat-credentials.txt" \
92
+ --credentials-file "<公众号凭证文件路径>" \
93
93
  --input article.md \
94
94
  --theme newspaper \
95
95
  --cover-image cover.png \
@@ -102,7 +102,7 @@ python scripts/wechat_draft.py \
102
102
 
103
103
  ```bash
104
104
  python scripts/wechat_draft.py \
105
- --credentials-file "D:\path\to\wechat-credentials.txt" \
105
+ --credentials-file "<公众号凭证文件路径>" \
106
106
  --input article.md \
107
107
  --theme newspaper \
108
108
  --draft-media-id MEDIA_ID \
@@ -16,6 +16,10 @@ emoji: 🎯
16
16
 
17
17
  不要在回复、日志或文件中暴露 token。用户主流程统一称为 YuanFlow API 和 YuanFlow 文件中转,不要求用户配置第三方平台 Key。
18
18
 
19
+ ## YuanFlow-main 内置环境
20
+
21
+ 在 YuanFlow-main 内置环境中,只有需要调度其它 Skill、调用 CLI、登记产物或写入受控工作台时,才使用 `yuanflow_cli_call`、`yuanflow_image_request`、`content_workbench_update`、`artifact_files_register` 等受控工具。token、受管包路径和输出目录由 YuanFlow-main 管理,不写成外部用户必备步骤。
22
+
19
23
  本 Skill 是 YuanFlow 自媒体创作链路的把控与验收角色。它不替代具体执行技能,而是负责判断创作目标是否清楚、选题是否成立、内容是否有创新、结构是否完整、表达是否适合平台,以及最终产物是否达到可发布或可交付标准。
20
24
 
21
25
  ## 分类
@@ -0,0 +1,146 @@
1
+ ---
2
+ name: 声音克隆
3
+ description: 当用户需要创建声音克隆、查询已有声音克隆音色 ID、激活默认克隆音色,或为后续声音复刻准备 voice_xxx 时使用。本 Skill 通过 YuanFlow API 和 yuanflow-cli voice 命令完成。
4
+ emoji: 🎙️
5
+ ---
6
+
7
+ # 声音克隆
8
+
9
+ 本 Skill 用于把参考音频注册成可复用的声音克隆音色,并返回 `voice_xxx` 音色 ID。后续要生成复刻音频时,交给 `声音复刻` Skill。
10
+
11
+ ## 外部 CLI 主流程
12
+
13
+ 外部 Agent 或用户直接使用时,优先使用 `yuanflow-cli voice ...` 命令。
14
+
15
+ 1. 先确认本机可执行 `yuanflow-cli --help`。
16
+ 2. 外部 CLI 使用 `YUANCHUANG_API_TOKEN` 或 `yuanflow-cli config set-token <你的令牌>` 完成鉴权。
17
+ 3. 选择音频输入方式:
18
+ - 本地音频直接提交:`--file`
19
+ - 本地音频先走 YuanFlow 文件中转:`--file-transfer`
20
+ - 已有公网音频链接:`--audio-url`
21
+ 4. 创建成功后,保存返回的 `voice_xxx`。这是后续声音复刻必须使用的音色 ID。
22
+
23
+ 不要在回复、日志或文件中暴露 token。用户主流程统一称为 YuanFlow API 和 YuanFlow 文件中转,不要求用户配置第三方平台 Key。
24
+
25
+ ## 创建声音克隆
26
+
27
+ 推荐本地文件使用 YuanFlow 文件中转:
28
+
29
+ ```powershell
30
+ yuanflow-cli voice clone --file-transfer "<本地声音样本路径>" --name "我的声音" --activate --format agent-json
31
+ ```
32
+
33
+ 如果用户明确希望直接提交本地音频:
34
+
35
+ ```powershell
36
+ yuanflow-cli voice clone --file "<本地声音样本路径>" --name "我的声音" --activate --format agent-json
37
+ ```
38
+
39
+ 如果已经有可访问音频 URL:
40
+
41
+ ```powershell
42
+ yuanflow-cli voice clone --audio-url "https://example.com/sample.wav" --name "我的声音" --activate --format agent-json
43
+ ```
44
+
45
+ 返回里重点读取:
46
+
47
+ ```text
48
+ data.response.id
49
+ ```
50
+
51
+ 如果响应结构被 Agent JSON 包裹,优先找 `voice_xxx` 格式的 `id` 字段。不要把内部原始音色参数展示给用户。
52
+
53
+ ## 查询已有声音克隆 ID
54
+
55
+ 当用户已经做过声音克隆但忘记 ID,先查询:
56
+
57
+ ```powershell
58
+ yuanflow-cli voice list --format agent-json
59
+ ```
60
+
61
+ 输出时只需要整理这些字段:
62
+
63
+ ```text
64
+ 声音名称:
65
+ 音色 ID:voice_xxx
66
+ 状态:
67
+ 是否默认:
68
+ 创建时间:
69
+ ```
70
+
71
+ 如果没有可用音色,提示用户先提供参考音频创建声音克隆。
72
+
73
+ ## 激活默认音色
74
+
75
+ 如果用户希望后续用 `default` 复刻,或指定某个克隆音色为默认:
76
+
77
+ ```powershell
78
+ yuanflow-cli voice activate --voice voice_xxx --format agent-json
79
+ ```
80
+
81
+ ## 音频要求
82
+
83
+ - 优先使用清晰、无背景音乐、无明显混响的人声音频。
84
+ - 建议使用 wav、mp3、m4a、flac 等常见格式。
85
+ - 文件过大、噪音明显或多人混说时,先让用户换音频或裁剪。
86
+ - 不要上传身份证、合同、私密通话、未授权人物声音等敏感内容,除非用户明确确认且任务确实需要。
87
+
88
+ ## YuanFlow-main 内置环境
89
+
90
+ 只有在 YuanFlow-main 内置环境中,才使用受控工具 `yuanflow_cli_call`。token、受管包路径和输出目录由 YuanFlow-main 管理,不写成外部用户必备步骤。
91
+
92
+ 创建声音克隆:
93
+
94
+ ```json
95
+ {
96
+ "args": [
97
+ "voice",
98
+ "clone",
99
+ "--file-transfer",
100
+ "<本地声音样本路径>",
101
+ "--name",
102
+ "我的声音",
103
+ "--activate",
104
+ "--format",
105
+ "agent-json"
106
+ ],
107
+ "timeout": 300
108
+ }
109
+ ```
110
+
111
+ 查询已有声音克隆:
112
+
113
+ ```json
114
+ {
115
+ "args": [
116
+ "voice",
117
+ "list",
118
+ "--format",
119
+ "agent-json"
120
+ ],
121
+ "timeout": 120
122
+ }
123
+ ```
124
+
125
+ 激活默认音色:
126
+
127
+ ```json
128
+ {
129
+ "args": [
130
+ "voice",
131
+ "activate",
132
+ "--voice",
133
+ "voice_xxx",
134
+ "--format",
135
+ "agent-json"
136
+ ],
137
+ "timeout": 120
138
+ }
139
+ ```
140
+
141
+ ## 失败处理
142
+
143
+ - token 缺失:说明需要配置 YuanFlow API token,或在 YuanFlow-main 受控环境中运行。
144
+ - 没有返回 `voice_xxx`:说明声音克隆未完成,不要继续声音复刻。
145
+ - 已存在克隆限制:先用 `voice list` 查询已有音色,必要时让用户选择已有 `voice_xxx` 继续。
146
+ - 音频不可访问:如果使用 URL,让用户换成可访问链接;如果是本地文件,改用 `--file-transfer`。
@@ -0,0 +1,103 @@
1
+ ---
2
+ name: 声音复刻
3
+ description: 当用户需要使用已有声音克隆 ID 生成复刻语音、把文字合成为用户克隆声音,或要求根据 voice_xxx 输出音频文件时使用。使用前必须先完成声音克隆或查询到已有 voice_xxx。
4
+ emoji: 🔊
5
+ ---
6
+
7
+ # 声音复刻
8
+
9
+ 本 Skill 用于把文本合成为已有克隆音色的音频。使用前必须满足其中一个条件:
10
+
11
+ - 已通过 `声音克隆` Skill 创建过声音克隆,并拿到 `voice_xxx`。
12
+ - 已通过 `yuanflow-cli voice list` 查询到可用 `voice_xxx`。
13
+ - 用户明确指定使用已激活默认音色 `default`。
14
+
15
+ 如果没有声音克隆 ID,先调用 `声音克隆`,不要直接复刻。
16
+
17
+ ## 外部 CLI 主流程
18
+
19
+ 外部 Agent 或用户直接使用时,优先使用 `yuanflow-cli voice replicate`。
20
+
21
+ 1. 先确认本机可执行 `yuanflow-cli --help`。
22
+ 2. 外部 CLI 使用 `YUANCHUANG_API_TOKEN` 或 `yuanflow-cli config set-token <你的令牌>` 完成鉴权。
23
+ 3. 确认 `--voice` 是 `voice_xxx` 或 `default`。
24
+ 4. 用 `--output` 指定音频保存路径。
25
+
26
+ 不要在回复、日志或文件中暴露 token。用户主流程统一称为 YuanFlow API,不要求用户配置第三方平台 Key。
27
+
28
+ ## 查询或确认音色 ID
29
+
30
+ 如果用户没有提供 `voice_xxx`,先查询:
31
+
32
+ ```powershell
33
+ yuanflow-cli voice list --format agent-json
34
+ ```
35
+
36
+ 如果列表中没有可用音色,转到 `声音克隆` Skill,先创建声音克隆。
37
+
38
+ ## 生成复刻音频
39
+
40
+ ```powershell
41
+ yuanflow-cli voice replicate --text "你好,这是声音复刻测试。" --voice voice_xxx --output "<输出音频路径>" --format agent-json
42
+ ```
43
+
44
+ 如果用户要求使用默认音色:
45
+
46
+ ```powershell
47
+ yuanflow-cli voice replicate --text "你好,这是声音复刻测试。" --voice default --output "<输出音频路径>" --format agent-json
48
+ ```
49
+
50
+ 默认输出 `mp3`。用户要求 wav 或 pcm 时,增加 `--response-format`:
51
+
52
+ ```powershell
53
+ yuanflow-cli voice replicate --text "测试内容" --voice voice_xxx --response-format wav --output "<输出音频路径>" --format agent-json
54
+ ```
55
+
56
+ ## 输出要求
57
+
58
+ 最终回复给用户时说明:
59
+
60
+ ```text
61
+ 复刻音频已生成:
62
+ 文件路径:`<输出音频路径>`
63
+ 使用音色:voice_xxx
64
+ ```
65
+
66
+ 如果命令返回 agent-json,优先读取:
67
+
68
+ ```text
69
+ data.response.output
70
+ data.response.bytes
71
+ data.response.content_type
72
+ ```
73
+
74
+ ## YuanFlow-main 内置环境
75
+
76
+ 只有在 YuanFlow-main 内置环境中,才使用受控工具 `yuanflow_cli_call`。token、受管包路径和输出目录由 YuanFlow-main 管理,不写成外部用户必备步骤。
77
+
78
+ ```json
79
+ {
80
+ "args": [
81
+ "voice",
82
+ "replicate",
83
+ "--text",
84
+ "你好,这是声音复刻测试。",
85
+ "--voice",
86
+ "voice_xxx",
87
+ "--output",
88
+ "replicate.mp3",
89
+ "--format",
90
+ "agent-json"
91
+ ],
92
+ "timeout": 300
93
+ }
94
+ ```
95
+
96
+ 在 YuanFlow-main 内置环境里,`--output` 会被限制到受控输出目录。不要要求用户手动传程序数据目录,也不要绕过 `yuanflow_cli_call` 直接写本地文件。
97
+
98
+ ## 失败处理
99
+
100
+ - 缺少 `voice_xxx`:先调用 `声音克隆` 的查询流程或创建流程。
101
+ - 音色不存在或无权限:提示用户重新查询 `voice list`,不要猜测 ID。
102
+ - 输出路径被拒绝:在 YuanFlow-main 内置环境中改用相对文件名,让受控工具自动放入输出目录。
103
+ - 生成失败:报告 YuanFlow API 返回的简短错误,不暴露 token、Authorization header 或完整敏感链接。
@@ -85,7 +85,7 @@ yuanflow-cli comments collect --platform xiaohongshu --target "笔记链接或
85
85
  yuanflow-cli browser session-init --platform xiaohongshu --account main --format agent-json
86
86
  yuanflow-cli browser profile-path --platform xiaohongshu --account main --format agent-json
87
87
  yuanflow-cli browser task-plan --platform xiaohongshu --task login --format agent-json
88
- yuanflow-cli browser dry-run --platform xiaohongshu --task publish --title "标题" --caption "正文" --file "D:\path\image.png" --format agent-json
88
+ yuanflow-cli browser dry-run --platform xiaohongshu --task publish --title "标题" --caption "正文" --file "<本地图片路径>" --format agent-json
89
89
  ```
90
90
 
91
91
  ## 调研与采集流程
@@ -27,7 +27,7 @@ yuanflow-cli xiaohongshu web-v3 fetch-user-notes --user_id "用户ID" --format a
27
27
  yuanflow-cli browser session-init --platform xiaohongshu --account main --format agent-json
28
28
  yuanflow-cli browser profile-path --platform xiaohongshu --account main --format agent-json
29
29
  yuanflow-cli browser task-plan --platform xiaohongshu --task login --format agent-json
30
- yuanflow-cli browser dry-run --platform xiaohongshu --task publish --title "标题" --caption "正文" --file "D:\path\asset.png" --format agent-json
30
+ yuanflow-cli browser dry-run --platform xiaohongshu --task publish --title "标题" --caption "正文" --file "<本地素材路径>" --format agent-json
31
31
  ```
32
32
 
33
33
  ## 写操作边界
@@ -36,4 +36,3 @@ yuanflow-cli browser dry-run --platform xiaohongshu --task publish --title "标
36
36
  - 点赞和收藏:用户明确要求后可执行。
37
37
  - 评论和回复:默认确认文本和目标。
38
38
  - 所有失败必须报告失败阶段,不能伪造成功。
39
-
@@ -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
  ## 固定流程
@@ -43,7 +43,7 @@ YuanFlow-main 内置环境默认保存到程序数据目录:
43
43
  Windows 外部 Agent 默认保存到:
44
44
 
45
45
  ```text
46
- %APPDATA%\YuanFlow\runtime_tools\account-monitor\snapshots
46
+ 由运行环境管理的 YuanFlow 帐号监控快照目录
47
47
  ```
48
48
 
49
49
  快照文件名建议:
@@ -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
  ## 固定流程
@@ -32,14 +32,14 @@ emoji: 🎙️
32
32
  - 用户只是提到音频、视频、文案、脚本,但没有要求本地转写。
33
33
  - 用户要求在线识别、云端转写或其它指定服务。
34
34
 
35
- ## 固定目录
35
+ ## 运行目录
36
36
 
37
37
  本 Skill 的脚本目录为当前 Skill 目录下的 `scripts/`。
38
38
 
39
- 默认运行目录:
39
+ 默认运行目录由当前运行环境管理,不要求外部用户使用固定安装路径。
40
40
 
41
- - Windows:`%APPDATA%/YuanFlow/runtime_tools/local-transcribe`
42
- - 其它系统:`~/.yuanflow/runtime_tools/local-transcribe`
41
+ - Windows:当前用户数据目录下的 YuanFlow 本地转写运行目录。
42
+ - 其它系统:当前用户主目录下的 YuanFlow 本地转写运行目录。
43
43
 
44
44
  默认子目录:
45
45
 
@@ -50,14 +50,16 @@ emoji: 🎙️
50
50
 
51
51
  虚拟环境仍创建在当前 Skill 的 `scripts/.venv`,不要全局安装依赖。
52
52
 
53
- YuanFlow 程序内置环境中,`skill_read` 返回的 `config.managed_skill_dir` 是当前 Skill 的真实目录。执行脚本时优先以这个目录为基准:
53
+ 不要把模型下载到用户桌面、项目根目录或系统临时目录。不要把模型文件打包进 Skill npm 包。Windows FunASR/SentencePiece 对中文路径不稳定,所以不要强制把模型放到中文 Skill 安装目录下。
54
+
55
+ ## YuanFlow-main 内置环境
56
+
57
+ 在 YuanFlow-main 内置环境中,当前 Skill 的真实目录由受控运行时返回。执行脚本时优先以这个目录为基准,不要求用户手动填写 Skill 安装路径:
54
58
 
55
59
  ```powershell
56
- cd "<config.managed_skill_dir>\scripts"
60
+ cd "<当前 Skill 安装目录>\scripts"
57
61
  ```
58
62
 
59
- 不要把模型下载到用户桌面、项目根目录或系统临时目录。不要把模型文件打包进 Skill 或 npm 包。Windows 下 FunASR/SentencePiece 对中文路径不稳定,所以不要强制把模型放到中文 Skill 安装目录下。
60
-
61
63
  ## 首次使用模型下载规则
62
64
 
63
65
  开始转写前先检查模型目录是否已经存在:
@@ -78,7 +80,7 @@ cd "<config.managed_skill_dir>\scripts"
78
80
 
79
81
  1. 确认用户明确要求本地转写。
80
82
  2. 读取本 Skill 完整说明。
81
- 3. 定位 `config.managed_skill_dir` 或当前 Skill 目录。
83
+ 3. 定位当前 Skill 安装目录。
82
84
  4. 检查 Python 虚拟环境和依赖;不要全局安装依赖。
83
85
  5. 如果用户提供的是视频,先转为音频,再把音频转成文字。
84
86
  6. 如果用户提供的是音频,直接转成文字。
@@ -109,20 +111,20 @@ py -3.10 -m venv .venv
109
111
 
110
112
  ```powershell
111
113
  cd "<Skill目录>\scripts"
112
- .\.venv\Scripts\python.exe .\transcribe_media.py "C:\path\to\input.mp3"
114
+ .\.venv\Scripts\python.exe .\transcribe_media.py "<本地音频路径>"
113
115
  ```
114
116
 
115
117
  视频示例:
116
118
 
117
119
  ```powershell
118
120
  cd "<Skill目录>\scripts"
119
- .\.venv\Scripts\python.exe .\transcribe_media.py "C:\path\to\input.mp4"
121
+ .\.venv\Scripts\python.exe .\transcribe_media.py "<本地视频路径>"
120
122
  ```
121
123
 
122
124
  YuanFlow Agent 工具调用时推荐生成 UTF-16LE base64 后执行:
123
125
 
124
126
  ```powershell
125
- $script = "Set-Location -LiteralPath '<Skill目录>\scripts'; .\.venv\Scripts\python.exe .\transcribe_media.py 'C:\path\to\input.mp3'"
127
+ $script = "Set-Location -LiteralPath '<Skill目录>\scripts'; .\.venv\Scripts\python.exe .\transcribe_media.py '<本地音频路径>'"
126
128
  $encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($script))
127
129
  powershell -NoProfile -ExecutionPolicy Bypass -EncodedCommand $encoded
128
130
  ```
@@ -130,7 +132,7 @@ powershell -NoProfile -ExecutionPolicy Bypass -EncodedCommand $encoded
130
132
  如果尚未创建虚拟环境,把 `$script` 改成:
131
133
 
132
134
  ```powershell
133
- Set-Location -LiteralPath '<Skill目录>\scripts'; if (-not (Test-Path -LiteralPath '.\.venv\Scripts\python.exe')) { py -3.10 -m venv .venv }; .\.venv\Scripts\python.exe -m pip install -r requirements-transcribe.txt; .\.venv\Scripts\python.exe .\transcribe_media.py 'C:\path\to\input.mp3'
135
+ Set-Location -LiteralPath '<Skill目录>\scripts'; if (-not (Test-Path -LiteralPath '.\.venv\Scripts\python.exe')) { py -3.10 -m venv .venv }; .\.venv\Scripts\python.exe -m pip install -r requirements-transcribe.txt; .\.venv\Scripts\python.exe .\transcribe_media.py '<本地音频路径>'
134
136
  ```
135
137
 
136
138
  常用参数:
@@ -63,7 +63,7 @@ emoji: 🎨
63
63
  "mode": "edit",
64
64
  "model": "gpt-image-2-c",
65
65
  "prompt": "把杯子改成红色,保持背景不变",
66
- "image_path": "D:\\path\\to\\source.png"
66
+ "image_path": "<本地参考图片路径>"
67
67
  }
68
68
  ```
69
69
 
@@ -135,7 +135,7 @@ curl https://open.yuanchuangai.com/v1/images/edits \
135
135
  -H "Authorization: Bearer $YUAN_API_KEY" \
136
136
  -F "model=gpt-image-2-c" \
137
137
  -F "prompt=把杯子改成红色,保持背景不变" \
138
- -F "image=@D:/path/to/source.png"
138
+ -F "image=@<本地参考图片路径>"
139
139
  ```
140
140
 
141
141
  ## 输出要求
@@ -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
  ## 固定流程