oc-browser-relay 1.0.26 → 1.0.28

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 (24) hide show
  1. package/bundled-relay/index.js +44 -3
  2. package/bundled-relay/public/configs/pages/guanghe-taobao-publish.json +271 -0
  3. package/bundled-relay/public/configs/pages/index.json +4 -1
  4. package/bundled-relay/public/configs/pages/kuaishou-creator-publish.json +279 -0
  5. package/bundled-relay/public/configs/pages/taobao-item-detail.json +32 -0
  6. package/bundled-relay/public/configs/pages/wechat-channels-publish.json +291 -0
  7. package/bundled-relay/public/configs/sites/guanghe-taobao.json +42 -0
  8. package/bundled-relay/public/configs/sites/index.json +4 -1
  9. package/bundled-relay/public/configs/sites/kuaishou-creator.json +49 -0
  10. package/bundled-relay/public/configs/sites/wechat-channels.json +30 -0
  11. package/bundled-relay/public/configs/task-templates/guanghe-taobao-publish-video.json +133 -0
  12. package/bundled-relay/public/configs/task-templates/index.json +7 -1
  13. package/bundled-relay/public/configs/task-templates/kuaishou-creator-publish-video.json +114 -0
  14. package/bundled-relay/public/configs/task-templates/kuaishou-creator-save-draft.json +114 -0
  15. package/bundled-relay/public/configs/task-templates/taobao-item-detail-images.json +78 -0
  16. package/bundled-relay/public/configs/task-templates/wechat-channels-publish-video.json +144 -0
  17. package/bundled-relay/public/configs/task-templates/wechat-channels-save-draft.json +152 -0
  18. package/index.js +52 -37
  19. package/package.json +1 -1
  20. package/skills/oc-browser-relay-article/SKILL.md +31 -15
  21. package/skills/oc-browser-relay-guanghe-taobao/SKILL.md +62 -0
  22. package/skills/oc-browser-relay-kuaishou/SKILL.md +65 -0
  23. package/skills/oc-browser-relay-taobao/SKILL.md +29 -4
  24. package/skills/oc-browser-relay-wechat-channels/SKILL.md +75 -0
@@ -0,0 +1,114 @@
1
+ {
2
+ "siteId": "kuaishou_creator",
3
+ "taskType": "save_video_draft",
4
+ "platform": "kuaishou",
5
+ "name": "保存快手视频草稿",
6
+ "description": "在快手创作者中心保存视频草稿",
7
+ "requiredFields": [
8
+ {
9
+ "name": "video",
10
+ "type": "string",
11
+ "description": "视频文件路径(绝对路径)"
12
+ }
13
+ ],
14
+ "optionalFields": [
15
+ {
16
+ "name": "content",
17
+ "type": "string",
18
+ "description": "作品描述(正文+话题合计最多500字)"
19
+ },
20
+ {
21
+ "name": "topics",
22
+ "type": "array",
23
+ "description": "话题标签数组,最多4个,例如 [\"话题1\", \"话题2\"]"
24
+ }
25
+ ],
26
+ "nodes": [
27
+ {
28
+ "nodeId": "ensure_publish_ready",
29
+ "name": "ensure_publish_ready",
30
+ "tool": "ensure_publish_ready",
31
+ "args": {
32
+ "initialDelayMs": 2000
33
+ }
34
+ },
35
+ {
36
+ "nodeId": "wait_page_ready",
37
+ "name": "wait_page_ready",
38
+ "tool": "wait",
39
+ "args": {
40
+ "delayMs": 3000,
41
+ "message": "等待发布页面完全加载"
42
+ }
43
+ },
44
+ {
45
+ "nodeId": "upload_video",
46
+ "name": "upload_video",
47
+ "tool": "upload_assets",
48
+ "args": {
49
+ "field": "video",
50
+ "assets": [
51
+ "{{data.video}}"
52
+ ],
53
+ "timeoutMs": 300000
54
+ }
55
+ },
56
+ {
57
+ "nodeId": "wait_form_ready",
58
+ "name": "wait_form_ready",
59
+ "tool": "wait_for_condition",
60
+ "args": {
61
+ "condition": {
62
+ "type": "element_visible",
63
+ "selector": "#work-description-edit[contenteditable='true']"
64
+ },
65
+ "timeoutMs": 120000,
66
+ "pollIntervalMs": 2000,
67
+ "message": "等待表单出现(视频上传完成后渲染)"
68
+ }
69
+ },
70
+ {
71
+ "nodeId": "fill_content",
72
+ "name": "fill_content",
73
+ "when": "exists(payload.content)",
74
+ "tool": "fill_field",
75
+ "args": {
76
+ "field": "content",
77
+ "value": "{{data.content}}"
78
+ }
79
+ },
80
+ {
81
+ "nodeId": "save_draft",
82
+ "name": "save_draft",
83
+ "tool": "trigger_action",
84
+ "args": {
85
+ "action": "saveDraft"
86
+ }
87
+ },
88
+ {
89
+ "nodeId": "close_tab",
90
+ "name": "close_tab",
91
+ "tool": "close_tab",
92
+ "args": {
93
+ "delayMs": 1500,
94
+ "message": "草稿保存成功,页面即将关闭",
95
+ "showCountdown": true,
96
+ "activateOptional": true
97
+ }
98
+ }
99
+ ],
100
+ "validation": [
101
+ {
102
+ "rule": "video.length >= 1",
103
+ "message": "需要提供视频文件路径"
104
+ },
105
+ {
106
+ "rule": "!topics || topics.length <= 4",
107
+ "message": "话题数量不能超过4个"
108
+ },
109
+ {
110
+ "rule": "(content ? content.length : 0) + (topics && topics.length > 0 ? 2 + topics.reduce((s,t)=>s+(t.startsWith('#')?t.length:t.length+1),0) + topics.length - 1 : 0) <= 500",
111
+ "message": "作品描述与话题合计不能超过500字"
112
+ }
113
+ ]
114
+ }
@@ -0,0 +1,78 @@
1
+ {
2
+ "siteId": "taobao_web",
3
+ "taskType": "collect_detail_images",
4
+ "platform": "taobao",
5
+ "name": "采集淘宝商品详情图",
6
+ "description": "打开淘宝商品详情页,抓取商品详情图接口并提取所有详情图片 URL。",
7
+ "requiredFields": [
8
+ {
9
+ "name": "url",
10
+ "type": "string",
11
+ "description": "淘宝或天猫商品详情页链接"
12
+ }
13
+ ],
14
+ "optionalFields": [
15
+ {
16
+ "name": "returnHostPatterns",
17
+ "type": "array",
18
+ "description": "任务结束后若存在匹配这些 host 或 URL 片段的标签页,则切回该标签页"
19
+ }
20
+ ],
21
+ "nodes": [
22
+ {
23
+ "nodeId": "s1",
24
+ "name": "open_product_detail",
25
+ "goal": "打开淘宝商品详情页,同时启动详情图接口捕获",
26
+ "tool": "open_tab",
27
+ "args": {
28
+ "url": "{{data.url}}",
29
+ "captureNetwork": {
30
+ "capturePlanId": "detail_images"
31
+ }
32
+ }
33
+ },
34
+ {
35
+ "nodeId": "s2",
36
+ "name": "validate_product_detail_page",
37
+ "goal": "校验当前页面已进入淘宝商品详情页",
38
+ "tool": "validate_page",
39
+ "args": {}
40
+ },
41
+ {
42
+ "nodeId": "s3",
43
+ "name": "collect_product_detail",
44
+ "goal": "提取商品详情结构化数据(含商品标题)",
45
+ "tool": "collect_structured_data",
46
+ "args": {
47
+ "extractor": "product_detail"
48
+ },
49
+ "storeAs": "detailData",
50
+ "outputs": ["detailData"]
51
+ },
52
+ {
53
+ "nodeId": "s4",
54
+ "name": "collect_detail_images",
55
+ "goal": "解析详情图接口,提取所有详情图片 URL",
56
+ "tool": "collect_structured_data",
57
+ "args": {
58
+ "extractor": "detail_images",
59
+ "sourceNodeId": "s1"
60
+ },
61
+ "storeAs": "detailImages",
62
+ "outputs": ["detailImages"]
63
+ },
64
+ {
65
+ "nodeId": "s5",
66
+ "name": "close_product_detail_tab",
67
+ "goal": "采集完成后倒计时关闭商品页标签",
68
+ "tool": "close_tab",
69
+ "args": {
70
+ "delayMs": 3000,
71
+ "message": "详情图采集完成,页面即将关闭",
72
+ "showCountdown": true,
73
+ "activateUrlIncludesAny": "{{data.returnHostPatterns}}",
74
+ "activateOptional": true
75
+ }
76
+ }
77
+ ]
78
+ }
@@ -0,0 +1,144 @@
1
+ {
2
+ "siteId": "wechat_channels",
3
+ "taskType": "publish_video",
4
+ "platform": "wechat",
5
+ "name": "发布微信视频号视频",
6
+ "description": "在微信视频号创作者中心发布视频",
7
+ "requiredFields": [
8
+ {
9
+ "name": "video",
10
+ "type": "string",
11
+ "description": "视频文件路径(绝对路径)"
12
+ }
13
+ ],
14
+ "optionalFields": [
15
+ {
16
+ "name": "title",
17
+ "type": "string",
18
+ "description": "视频标题(最多16字)"
19
+ },
20
+ {
21
+ "name": "content",
22
+ "type": "string",
23
+ "description": "视频描述(正文+话题合计最多1000字)"
24
+ },
25
+ {
26
+ "name": "topics",
27
+ "type": "array",
28
+ "description": "话题标签数组,最多10个,例如 [\"话题1\", \"话题2\"]"
29
+ }
30
+ ],
31
+ "nodes": [
32
+ {
33
+ "nodeId": "ensure_publish_ready",
34
+ "name": "ensure_publish_ready",
35
+ "tool": "ensure_publish_ready",
36
+ "args": {
37
+ "initialDelayMs": 2000
38
+ }
39
+ },
40
+ {
41
+ "nodeId": "wait_page_ready",
42
+ "name": "wait_page_ready",
43
+ "tool": "wait",
44
+ "args": {
45
+ "delayMs": 3000,
46
+ "message": "等待发布页面完全加载"
47
+ }
48
+ },
49
+ {
50
+ "nodeId": "upload_video",
51
+ "name": "upload_video",
52
+ "tool": "upload_assets",
53
+ "args": {
54
+ "field": "video",
55
+ "assets": [
56
+ "{{data.video}}"
57
+ ],
58
+ "timeoutMs": 300000
59
+ }
60
+ },
61
+ {
62
+ "nodeId": "fill_content",
63
+ "name": "fill_content",
64
+ "when": "exists(payload.content)",
65
+ "tool": "fill_field",
66
+ "args": {
67
+ "field": "content",
68
+ "value": "{{data.content}}"
69
+ }
70
+ },
71
+ {
72
+ "nodeId": "fill_title",
73
+ "name": "fill_title",
74
+ "when": "exists(payload.title)",
75
+ "tool": "fill_field",
76
+ "args": {
77
+ "field": "title",
78
+ "value": "{{data.title}}"
79
+ }
80
+ },
81
+ {
82
+ "nodeId": "wait_publish_btn_ready",
83
+ "name": "wait_publish_btn_ready",
84
+ "tool": "wait_for_condition",
85
+ "args": {
86
+ "condition": {
87
+ "type": "logical_and",
88
+ "conditions": [
89
+ {
90
+ "type": "element_exists",
91
+ "selector": ".video-wrap video[src^='blob:']",
92
+ "shadowHost": "wujie-app"
93
+ },
94
+ {
95
+ "type": "element_visible",
96
+ "selector": ".vertical-cover-wrap img[src^='https://']",
97
+ "shadowHost": "wujie-app"
98
+ }
99
+ ]
100
+ },
101
+ "timeoutMs": 300000,
102
+ "pollIntervalMs": 3000,
103
+ "message": "等待视频预览和封面出现(视频上传完成)"
104
+ }
105
+ },
106
+ {
107
+ "nodeId": "submit_publish",
108
+ "name": "submit_publish",
109
+ "tool": "trigger_action",
110
+ "args": {
111
+ "action": "publish"
112
+ }
113
+ },
114
+ {
115
+ "nodeId": "close_tab",
116
+ "name": "close_tab",
117
+ "tool": "close_tab",
118
+ "args": {
119
+ "delayMs": 3000,
120
+ "message": "发布完成,页面即将关闭",
121
+ "showCountdown": true,
122
+ "activateOptional": true
123
+ }
124
+ }
125
+ ],
126
+ "validation": [
127
+ {
128
+ "rule": "video.length >= 1",
129
+ "message": "需要提供视频文件路径"
130
+ },
131
+ {
132
+ "rule": "!title || title.length <= 16",
133
+ "message": "视频标题不能超过16字"
134
+ },
135
+ {
136
+ "rule": "!topics || topics.length <= 10",
137
+ "message": "话题数量不能超过10个"
138
+ },
139
+ {
140
+ "rule": "(content ? content.length : 0) + (topics && topics.length > 0 ? 2 + topics.reduce((s,t)=>s+(t.startsWith('#')?t.length:t.length+1),0) + topics.length - 1 : 0) <= 1000",
141
+ "message": "视频描述与话题合计不能超过1000字"
142
+ }
143
+ ]
144
+ }
@@ -0,0 +1,152 @@
1
+ {
2
+ "siteId": "wechat_channels",
3
+ "taskType": "save_video_draft",
4
+ "platform": "wechat",
5
+ "name": "保存微信视频号草稿",
6
+ "description": "在微信视频号创作者中心保存视频草稿",
7
+ "requiredFields": [
8
+ {
9
+ "name": "video",
10
+ "type": "string",
11
+ "description": "视频文件路径(绝对路径)"
12
+ }
13
+ ],
14
+ "optionalFields": [
15
+ {
16
+ "name": "title",
17
+ "type": "string",
18
+ "description": "视频标题(最多16字)"
19
+ },
20
+ {
21
+ "name": "content",
22
+ "type": "string",
23
+ "description": "视频描述(正文+话题合计最多1000字)"
24
+ },
25
+ {
26
+ "name": "topics",
27
+ "type": "array",
28
+ "description": "话题标签数组,最多10个,例如 [\"话题1\", \"话题2\"]"
29
+ }
30
+ ],
31
+ "nodes": [
32
+ {
33
+ "nodeId": "ensure_publish_ready",
34
+ "name": "ensure_publish_ready",
35
+ "tool": "ensure_publish_ready",
36
+ "args": {
37
+ "initialDelayMs": 2000
38
+ }
39
+ },
40
+ {
41
+ "nodeId": "wait_page_ready",
42
+ "name": "wait_page_ready",
43
+ "tool": "wait",
44
+ "args": {
45
+ "delayMs": 3000,
46
+ "message": "等待发布页面完全加载"
47
+ }
48
+ },
49
+ {
50
+ "nodeId": "upload_video",
51
+ "name": "upload_video",
52
+ "tool": "upload_assets",
53
+ "args": {
54
+ "field": "video",
55
+ "assets": [
56
+ "{{data.video}}"
57
+ ],
58
+ "timeoutMs": 300000
59
+ }
60
+ },
61
+ {
62
+ "nodeId": "fill_content",
63
+ "name": "fill_content",
64
+ "when": "exists(payload.content)",
65
+ "tool": "fill_field",
66
+ "args": {
67
+ "field": "content",
68
+ "value": "{{data.content}}"
69
+ }
70
+ },
71
+ {
72
+ "nodeId": "fill_title",
73
+ "name": "fill_title",
74
+ "when": "exists(payload.title)",
75
+ "tool": "fill_field",
76
+ "args": {
77
+ "field": "title",
78
+ "value": "{{data.title}}"
79
+ }
80
+ },
81
+ {
82
+ "nodeId": "wait_publish_btn_ready",
83
+ "name": "wait_publish_btn_ready",
84
+ "tool": "wait_for_condition",
85
+ "args": {
86
+ "condition": {
87
+ "type": "logical_and",
88
+ "conditions": [
89
+ {
90
+ "type": "element_exists",
91
+ "selector": ".video-wrap video[src^='blob:']",
92
+ "shadowHost": "wujie-app"
93
+ },
94
+ {
95
+ "type": "element_visible",
96
+ "selector": ".vertical-cover-wrap img[src^='https://']",
97
+ "shadowHost": "wujie-app"
98
+ }
99
+ ]
100
+ },
101
+ "timeoutMs": 300000,
102
+ "pollIntervalMs": 3000,
103
+ "message": "等待视频预览和封面出现(视频上传完成)"
104
+ }
105
+ },
106
+ {
107
+ "nodeId": "save_draft",
108
+ "name": "save_draft",
109
+ "tool": "trigger_action",
110
+ "args": {
111
+ "action": "saveDraft"
112
+ }
113
+ },
114
+ {
115
+ "nodeId": "navigate_home",
116
+ "name": "navigate_home",
117
+ "tool": "trigger_action",
118
+ "args": {
119
+ "action": "navigateHome"
120
+ }
121
+ },
122
+ {
123
+ "nodeId": "close_tab",
124
+ "name": "close_tab",
125
+ "tool": "close_tab",
126
+ "args": {
127
+ "delayMs": 1500,
128
+ "message": "草稿保存成功,页面即将关闭",
129
+ "showCountdown": true,
130
+ "activateOptional": true
131
+ }
132
+ }
133
+ ],
134
+ "validation": [
135
+ {
136
+ "rule": "video.length >= 1",
137
+ "message": "需要提供视频文件路径"
138
+ },
139
+ {
140
+ "rule": "!title || title.length <= 16",
141
+ "message": "视频标题不能超过16字"
142
+ },
143
+ {
144
+ "rule": "!topics || topics.length <= 10",
145
+ "message": "话题数量不能超过10个"
146
+ },
147
+ {
148
+ "rule": "(content ? content.length : 0) + (topics && topics.length > 0 ? 2 + topics.reduce((s,t)=>s+(t.startsWith('#')?t.length:t.length+1),0) + topics.length - 1 : 0) <= 1000",
149
+ "message": "视频描述与话题合计不能超过1000字"
150
+ }
151
+ ]
152
+ }