yuanflow-cli 0.1.24 → 0.1.27
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 +4 -0
- package/package.json +4 -2
- package/skills/yuanflow-skill/SKILL.md +2 -2
- package/skills/yuanflow-skill/yuanflow-cli/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 +1 -1
- package/skills/yuanflow-skill//344/275/234/345/223/201/350/257/204/350/256/272/351/207/207/351/233/206/SKILL.md +1 -1
- 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 +1 -1
- package/skills/yuanflow-skill//345/270/220/345/217/267/347/233/221/346/216/247/SKILL.md +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +26 -8
- package/src/browser-tools.js +18 -0
package/README.md
CHANGED
|
@@ -159,6 +159,10 @@ yuanflow-cli oss copy --source-key temp/cover.png --target-key final/cover.png -
|
|
|
159
159
|
|
|
160
160
|
`browser` 命令是自媒体平台专用浏览器自动化协议,用于账号登录态隔离、Cookie/profile 本地保存、账号页面采集、作品发布前检查和发布流程规划。它不用于普通网页搜索、通用浏览、截图或 CDP 连接。
|
|
161
161
|
|
|
162
|
+
如果要做发布类任务,先优先用用户电脑里已有的 Chrome,第二优先用 Edge。两个都没有时,再提示用户安装给浏览器自动化用的 Chromium。不要把这件事说得太技术化,直接告诉用户“需要一个能给自动化程序用的浏览器”就够了。
|
|
163
|
+
|
|
164
|
+
如果 Chromium 连续下载 3 次还是失败,就停止继续重试,明确告诉用户可能是网络、权限、下载源不可用或安全软件拦截,并引导用户手动下载和安装后再继续。
|
|
165
|
+
|
|
162
166
|
当前命令只返回受控路径、任务计划和 dry-run 预检结果,不直接暴露裸 Playwright 或 Chrome 调试能力:
|
|
163
167
|
|
|
164
168
|
```bash
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "yuanflow-cli",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "YuanFlow API CLI
|
|
3
|
+
"version": "0.1.27",
|
|
4
|
+
"description": "YuanFlow 自媒体 API CLI 与 Skill 安装器。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"private": false,
|
|
@@ -71,3 +71,5 @@
|
|
|
71
71
|
"douyin"
|
|
72
72
|
]
|
|
73
73
|
}
|
|
74
|
+
|
|
75
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description:
|
|
2
|
+
name: YuanFlow技能总入口
|
|
3
|
+
description: 当用户需要处理自媒体平台接口工作流、平台数据查询、命令发现、生图、OSS 文件中转、知识库查询、HTML 报告生成,或需要在 YuanFlow 子技能之间选择合适能力时使用。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# YuanFlow Skill
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description:
|
|
2
|
+
name: YuanFlow原子接口工具
|
|
3
|
+
description: 当用户需要通过 YuanFlow CLI 调用自媒体平台原子接口时使用,包括抖音、小红书、Bilibili、微信视频号、微信公众号、TikTok、YouTube、微博、知乎、Instagram、Twitter/X、Reddit 等平台的数据查询、命令发现、参数结构查看、dry-run 预检和稳定 agent-json 输出。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# YuanFlow CLI
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 作品下载综合工具
|
|
3
|
-
description:
|
|
3
|
+
description: 当用户需要通过 YuanFlow CLI 获取抖音、Bilibili、YouTube 或西瓜视频作品的可播放媒体流、下载地址候选或可保存媒体元数据时使用。
|
|
4
4
|
builtin_skill_version: 1.0.0
|
|
5
5
|
tags:
|
|
6
6
|
- 自媒体
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 作品评论采集
|
|
3
|
-
description:
|
|
3
|
+
description: 当用户需要采集、导出、查看或继续抓取抖音、小红书、Bilibili、微信公众号、微信视频号、TikTok、Instagram、快手、Reddit、Twitter/X、微博、YouTube 或知乎作品的评论与回复数据时使用。
|
|
4
4
|
builtin_skill_version: 1.0.0
|
|
5
5
|
tags:
|
|
6
6
|
- 自媒体
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 作品详情获取工具
|
|
3
|
-
description:
|
|
3
|
+
description: 当用户需要通过 YuanFlow CLI 获取单条作品、笔记、视频、文章、推文、微博、YouTube 作品、知乎文章或其它自媒体内容的详情、元数据、作者信息、正文、互动统计或媒体信息时使用。
|
|
4
4
|
builtin_skill_version: 1.0.0
|
|
5
5
|
tags:
|
|
6
6
|
- 自媒体
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 帐号监控
|
|
3
|
-
description:
|
|
3
|
+
description: 当用户需要监控或研究抖音、小红书、微博、知乎、Bilibili、TikTok、YouTube、Twitter/X 等平台的账号、创作者、频道、博主、竞品主页或账号首页时使用,覆盖账号搜索、主页详情、主页作品、历史快照、指标对比和可选 HTML 可视化。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# 帐号监控
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 生图技能
|
|
3
|
-
description:
|
|
3
|
+
description: 当用户要求生成图片、画图、出图、制作海报或视觉素材、编辑图片、修改本地图片,或调用 YuanFlow 图片生成/图片编辑接口时使用。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# 生图技能
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 综合搜索工具
|
|
3
|
-
description:
|
|
3
|
+
description: 当用户需要搜索抖音、小红书、Bilibili、微信视频号、TikTok、Instagram、快手、Reddit、Twitter/X、微博、YouTube、知乎或西瓜视频等平台的公开内容、帖子、笔记、视频、文章或自媒体搜索结果时使用。
|
|
4
4
|
builtin_skill_version: 1.0.0
|
|
5
5
|
tags:
|
|
6
6
|
- 自媒体
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 综合用户搜索工具
|
|
3
|
-
description:
|
|
3
|
+
description: 当用户需要搜索抖音、小红书、微信视频号、TikTok、Instagram、快手、微博、YouTube 或知乎等平台的创作者、账号、用户、频道、作者或主页时使用。
|
|
4
4
|
builtin_skill_version: 1.0.0
|
|
5
5
|
tags:
|
|
6
6
|
- 自媒体
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 自媒体浏览器自动化
|
|
3
|
-
description:
|
|
3
|
+
description: 当用户需要自动化处理抖音、小红书、微博、Bilibili、TikTok、YouTube 或 Twitter/X 等自媒体平台的浏览器任务时使用,包括账号登录态管理、Cookie/profile 本地保存、主页或页面采集、创作者账号数据浏览、草稿创建或作品发布。普通网页浏览、通用搜索或截图不要使用本技能。
|
|
4
4
|
tags:
|
|
5
5
|
- browser-automation
|
|
6
6
|
- self-media
|
|
@@ -13,6 +13,13 @@ emoji: 🧭
|
|
|
13
13
|
|
|
14
14
|
本 Skill 只用于自媒体平台的专用浏览器自动化:账号登录态隔离、Cookie/profile 本地保存、账号资料浏览采集、作品页面收集、草稿创建、作品发布前检查和发布执行。
|
|
15
15
|
|
|
16
|
+
浏览器选择先后顺序要说清楚:
|
|
17
|
+
|
|
18
|
+
- 先优先使用用户电脑里已经装好的 Chrome。
|
|
19
|
+
- 没有 Chrome,再优先使用 Edge。
|
|
20
|
+
- 如果这两个浏览器都没有,再提示用户安装“给浏览器自动化用的 Chromium”。
|
|
21
|
+
- 这里说的 Chromium,不是让用户去学技术,而是让用户装一个能给自动化程序用的浏览器内核。
|
|
22
|
+
|
|
16
23
|
不要把它和 YuanFlow 已有的通用浏览器能力混在一起:
|
|
17
24
|
|
|
18
25
|
- `浏览器启动模式`:通用网页浏览、打开页面、可见窗口、普通搜索。
|
|
@@ -62,11 +69,20 @@ yuanflow-cli browser task-plan --platform douyin --task publish --account main -
|
|
|
62
69
|
## 固定边界
|
|
63
70
|
|
|
64
71
|
- Cookie、localStorage、sessionStorage、浏览器 profile 只保存在本地受控目录,不上传、不输出、不写入报告。
|
|
72
|
+
- Cookie/profile 的保存和浏览器品牌无关,始终按“平台 + 帐号别名”分开保存,不和用户日常浏览器混在一起。
|
|
65
73
|
- 扫码、验证码、人机验证、二次验证、风控提醒,必须暂停并让用户手动处理。
|
|
66
74
|
- 发布、删除、修改账号资料、提交草稿、定时发布等会改变线上状态的动作,必须先向用户复述并等待确认。
|
|
67
75
|
- 不做绕过验证码、绕过风控、刷量、批量骚扰、未授权采集或平台禁止的自动化。
|
|
68
76
|
- 不直接调用 shell 执行裸 Playwright、Chrome 调试命令或读取浏览器敏感目录;优先走受控工具。
|
|
69
77
|
|
|
78
|
+
## 浏览器缺失与下载失败
|
|
79
|
+
|
|
80
|
+
- 如果本机没有 Chrome 和 Edge,先直接告诉用户:这台电脑没有现成可用的浏览器,需要安装给自动化用的 Chromium。
|
|
81
|
+
- 如果 Chromium 下载连续失败 3 次,就不要一直重试了,直接停下来,把问题说清楚。
|
|
82
|
+
- 这时候要明确告诉用户,常见原因可能是网络、权限、下载源不可用或者安全软件拦截。
|
|
83
|
+
- 同时给用户手动处理的简单步骤:先检查网络,再重新下载 Chromium;如果还是不行,就让用户手动安装后再继续。
|
|
84
|
+
- 不要把这个问题说成账号问题,也不要只说“网络错误”就结束。
|
|
85
|
+
|
|
70
86
|
## 支持平台
|
|
71
87
|
|
|
72
88
|
当前受控协议支持:
|
|
@@ -209,9 +225,10 @@ downloads 浏览器下载文件
|
|
|
209
225
|
### 登录或保存登录态
|
|
210
226
|
|
|
211
227
|
1. 先执行 `profile-path` 或 `session-init` 获取账号目录。
|
|
212
|
-
2.
|
|
213
|
-
3.
|
|
214
|
-
4.
|
|
228
|
+
2. 先检查本机是否已有 Chrome,次选 Edge;只有都没有时,才提示用户安装 Chromium。
|
|
229
|
+
3. 使用该账号专属 profile 打开平台登录页。
|
|
230
|
+
4. 遇到扫码、验证码或风控,暂停并让用户手动处理。
|
|
231
|
+
5. 登录完成后只报告“已保存本地登录态”和 profile 路径,不输出 Cookie 内容。
|
|
215
232
|
|
|
216
233
|
### 账号资料或页面采集
|
|
217
234
|
|
|
@@ -224,10 +241,11 @@ downloads 浏览器下载文件
|
|
|
224
241
|
|
|
225
242
|
1. 发布前必须确认平台、帐号、素材、标题、正文、封面、话题、发布时间。
|
|
226
243
|
2. 先执行 `dry-run --task publish` 检查缺失项。
|
|
227
|
-
3.
|
|
228
|
-
4.
|
|
229
|
-
5.
|
|
230
|
-
6.
|
|
244
|
+
3. 先优先用 Chrome 或 Edge;没有这两个浏览器时,提示用户先安装 Chromium。
|
|
245
|
+
4. 打开发布入口并填写内容。
|
|
246
|
+
5. 到最终发布按钮前暂停,复述即将发布的内容。
|
|
247
|
+
6. 用户确认后再点击最终发布或保存草稿。
|
|
248
|
+
7. 记录发布结果、作品链接或失败原因到 `tasks` 目录。
|
|
231
249
|
|
|
232
250
|
## 输出要求
|
|
233
251
|
|
package/src/browser-tools.js
CHANGED
|
@@ -67,6 +67,12 @@ const TASK_ALIASES = {
|
|
|
67
67
|
账号快照: 'account_snapshot',
|
|
68
68
|
};
|
|
69
69
|
|
|
70
|
+
const BROWSER_PREFS = {
|
|
71
|
+
preferred: ['Chrome', 'Edge'],
|
|
72
|
+
fallback: 'Chromium',
|
|
73
|
+
retry_limit: 3,
|
|
74
|
+
};
|
|
75
|
+
|
|
70
76
|
export function listBrowserCommands() {
|
|
71
77
|
const commonOptions = [
|
|
72
78
|
option('--platform', 'platform', true, '平台:douyin、xiaohongshu、weibo、bilibili、tiktok、youtube、twitter。'),
|
|
@@ -325,6 +331,7 @@ function buildTaskPlanPayload(options) {
|
|
|
325
331
|
'发布前最终确认按钮',
|
|
326
332
|
'任何可能修改线上帐号状态的动作',
|
|
327
333
|
],
|
|
334
|
+
browser_preferences: browserPreferences(),
|
|
328
335
|
boundaries: browserBoundaries(),
|
|
329
336
|
};
|
|
330
337
|
}
|
|
@@ -411,3 +418,14 @@ function browserBoundaries() {
|
|
|
411
418
|
fallback_tool: 'yuanflow_cli_call browser ...',
|
|
412
419
|
};
|
|
413
420
|
}
|
|
421
|
+
|
|
422
|
+
function browserPreferences() {
|
|
423
|
+
return {
|
|
424
|
+
browser_order: ['Chrome', 'Edge', 'Chromium'],
|
|
425
|
+
fallback_browser: BROWSER_PREFS.fallback,
|
|
426
|
+
download_retry_limit: BROWSER_PREFS.retry_limit,
|
|
427
|
+
download_retry_message: '如果 Chromium 连续下载 3 次还是失败,就不要继续死试了,直接告诉用户可能是网络、权限、下载源不可用或安全软件拦截,并指导用户手动下载安装后再继续。',
|
|
428
|
+
user_facing_hint:
|
|
429
|
+
'先看看这台电脑有没有 Chrome;没有就用 Edge;如果这两个都没有,再提示用户安装给浏览器自动化用的 Chromium。',
|
|
430
|
+
};
|
|
431
|
+
}
|