@yixiaoermail/cli 3.1.0

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 (127) hide show
  1. package/README.md +25 -0
  2. package/bin/yxer.js +74 -0
  3. package/dist/yxer-darwin-amd64 +0 -0
  4. package/dist/yxer-darwin-arm64 +0 -0
  5. package/dist/yxer-linux-amd64 +0 -0
  6. package/dist/yxer-linux-arm64 +0 -0
  7. package/dist/yxer-windows-amd64.exe +0 -0
  8. package/dist/yxer-windows-arm64.exe +0 -0
  9. package/package.json +23 -0
  10. package/skills/yixiaoer/QUICKSTART.md +265 -0
  11. package/skills/yixiaoer/SKILL.md +70 -0
  12. package/skills/yixiaoer/assets/yixiaoer.png +0 -0
  13. package/skills/yixiaoer/plugin.json +21 -0
  14. package/skills/yixiaoer/references/cli/command-reference.md +212 -0
  15. package/skills/yixiaoer/references/cli/skill-install.md +65 -0
  16. package/skills/yixiaoer/references/cli-install-uninstall.md +196 -0
  17. package/skills/yixiaoer/references/domains/accounts-and-env.md +37 -0
  18. package/skills/yixiaoer/references/domains/draft-and-material.md +29 -0
  19. package/skills/yixiaoer/references/domains/install-and-sync.md +37 -0
  20. package/skills/yixiaoer/references/domains/publish.md +75 -0
  21. package/skills/yixiaoer/references/domains/troubleshooting.md +30 -0
  22. package/skills/yixiaoer/references/execution-standard.md +144 -0
  23. package/skills/yixiaoer/references/get-account-overviews.md +56 -0
  24. package/skills/yixiaoer/references/get-challenges.md +14 -0
  25. package/skills/yixiaoer/references/get-collections.md +34 -0
  26. package/skills/yixiaoer/references/get-content-overviews.md +59 -0
  27. package/skills/yixiaoer/references/get-friends.md +9 -0
  28. package/skills/yixiaoer/references/get-games.md +39 -0
  29. package/skills/yixiaoer/references/get-goods.md +42 -0
  30. package/skills/yixiaoer/references/get-groups.md +35 -0
  31. package/skills/yixiaoer/references/get-hot-events.md +14 -0
  32. package/skills/yixiaoer/references/get-locations.md +48 -0
  33. package/skills/yixiaoer/references/get-miniapps.md +38 -0
  34. package/skills/yixiaoer/references/get-music-categories.md +41 -0
  35. package/skills/yixiaoer/references/get-music.md +67 -0
  36. package/skills/yixiaoer/references/get-publish-activities.md +40 -0
  37. package/skills/yixiaoer/references/get-publish-categories.md +62 -0
  38. package/skills/yixiaoer/references/get-sync-apps.md +14 -0
  39. package/skills/yixiaoer/references/get-topics.md +13 -0
  40. package/skills/yixiaoer/references/go-live-process.md +168 -0
  41. package/skills/yixiaoer/references/keyword-reference.md +113 -0
  42. package/skills/yixiaoer/references/material-resource.md +89 -0
  43. package/skills/yixiaoer/references/platform-doc-maintenance.md +33 -0
  44. package/skills/yixiaoer/references/platform.md +61 -0
  45. package/skills/yixiaoer/references/platforms/article/acfun.md +90 -0
  46. package/skills/yixiaoer/references/platforms/article/aiqiyi.md +56 -0
  47. package/skills/yixiaoer/references/platforms/article/baijiahao.md +94 -0
  48. package/skills/yixiaoer/references/platforms/article/bilibili.md +88 -0
  49. package/skills/yixiaoer/references/platforms/article/chejiahao.md +81 -0
  50. package/skills/yixiaoer/references/platforms/article/csdn.md +86 -0
  51. package/skills/yixiaoer/references/platforms/article/dayuhao.md +78 -0
  52. package/skills/yixiaoer/references/platforms/article/douban.md +62 -0
  53. package/skills/yixiaoer/references/platforms/article/douyin.md +106 -0
  54. package/skills/yixiaoer/references/platforms/article/index.md +157 -0
  55. package/skills/yixiaoer/references/platforms/article/jianshu.md +58 -0
  56. package/skills/yixiaoer/references/platforms/article/kuaichuanhao.md +78 -0
  57. package/skills/yixiaoer/references/platforms/article/qiehao.md +78 -0
  58. package/skills/yixiaoer/references/platforms/article/souhuhao.md +75 -0
  59. package/skills/yixiaoer/references/platforms/article/toutiaohao.md +78 -0
  60. package/skills/yixiaoer/references/platforms/article/wangyihao.md +79 -0
  61. package/skills/yixiaoer/references/platforms/article/weixingongzhonghao.md +135 -0
  62. package/skills/yixiaoer/references/platforms/article/xinlangweibo.md +75 -0
  63. package/skills/yixiaoer/references/platforms/article/xueqiuhao.md +73 -0
  64. package/skills/yixiaoer/references/platforms/article/yichehao.md +92 -0
  65. package/skills/yixiaoer/references/platforms/article/yidianhao.md +76 -0
  66. package/skills/yixiaoer/references/platforms/article/zhihu.md +75 -0
  67. package/skills/yixiaoer/references/platforms/get-locations.md +5 -0
  68. package/skills/yixiaoer/references/platforms/imageText/baijiahao.md +91 -0
  69. package/skills/yixiaoer/references/platforms/imageText/douyin.md +111 -0
  70. package/skills/yixiaoer/references/platforms/imageText/index.md +116 -0
  71. package/skills/yixiaoer/references/platforms/imageText/kuaishou.md +106 -0
  72. package/skills/yixiaoer/references/platforms/imageText/shipinhao.md +125 -0
  73. package/skills/yixiaoer/references/platforms/imageText/toutiaohao.md +76 -0
  74. package/skills/yixiaoer/references/platforms/imageText/weixinshipinhao.md +7 -0
  75. package/skills/yixiaoer/references/platforms/imageText/xiaohongshu.md +88 -0
  76. package/skills/yixiaoer/references/platforms/imageText/xinlangweibo.md +77 -0
  77. package/skills/yixiaoer/references/platforms/imageText/zhihu.md +92 -0
  78. package/skills/yixiaoer/references/platforms/index.md +20 -0
  79. package/skills/yixiaoer/references/platforms/video/acfun.md +82 -0
  80. package/skills/yixiaoer/references/platforms/video/aiqiyi.md +89 -0
  81. package/skills/yixiaoer/references/platforms/video/baijiahao.md +89 -0
  82. package/skills/yixiaoer/references/platforms/video/bilibili-open.md +87 -0
  83. package/skills/yixiaoer/references/platforms/video/bilibili.md +80 -0
  84. package/skills/yixiaoer/references/platforms/video/chejiahao.md +63 -0
  85. package/skills/yixiaoer/references/platforms/video/dayuhao.md +89 -0
  86. package/skills/yixiaoer/references/platforms/video/dewu.md +80 -0
  87. package/skills/yixiaoer/references/platforms/video/douyin.md +143 -0
  88. package/skills/yixiaoer/references/platforms/video/duoduoshipin.md +64 -0
  89. package/skills/yixiaoer/references/platforms/video/fengwang.md +81 -0
  90. package/skills/yixiaoer/references/platforms/video/index.md +165 -0
  91. package/skills/yixiaoer/references/platforms/video/kuaishou-open.md +63 -0
  92. package/skills/yixiaoer/references/platforms/video/kuaishou.md +77 -0
  93. package/skills/yixiaoer/references/platforms/video/meipai.md +79 -0
  94. package/skills/yixiaoer/references/platforms/video/meiyou.md +59 -0
  95. package/skills/yixiaoer/references/platforms/video/pipixia.md +58 -0
  96. package/skills/yixiaoer/references/platforms/video/qiehao.md +91 -0
  97. package/skills/yixiaoer/references/platforms/video/shipinhao.md +95 -0
  98. package/skills/yixiaoer/references/platforms/video/souhuhao.md +91 -0
  99. package/skills/yixiaoer/references/platforms/video/souhushipin.md +64 -0
  100. package/skills/yixiaoer/references/platforms/video/tengxunshipin.md +63 -0
  101. package/skills/yixiaoer/references/platforms/video/toutiaohao.md +66 -0
  102. package/skills/yixiaoer/references/platforms/video/wangyihao.md +93 -0
  103. package/skills/yixiaoer/references/platforms/video/weishi.md +61 -0
  104. package/skills/yixiaoer/references/platforms/video/xiaohongshu.md +133 -0
  105. package/skills/yixiaoer/references/platforms/video/xiaohongshushop.md +92 -0
  106. package/skills/yixiaoer/references/platforms/video/xinlangweibo.md +79 -0
  107. package/skills/yixiaoer/references/platforms/video/yichehao.md +61 -0
  108. package/skills/yixiaoer/references/platforms/video/yidianhao.md +85 -0
  109. package/skills/yixiaoer/references/platforms/video/zhihu.md +85 -0
  110. package/skills/yixiaoer/references/proxy-management.md +68 -0
  111. package/skills/yixiaoer/references/query-accounts.md +85 -0
  112. package/skills/yixiaoer/references/save-draft.md +75 -0
  113. package/skills/yixiaoer/references/topic-tags.md +139 -0
  114. package/skills/yixiaoer/references/troubleshooting-guide.md +105 -0
  115. package/skills/yixiaoer/references/upload-resource.md +59 -0
  116. package/skills/yixiaoer/references/usage-workflow.md +209 -0
  117. package/skills/yixiaoer/references/workflows/account-selection.md +38 -0
  118. package/skills/yixiaoer/references/workflows/common-rules.md +259 -0
  119. package/skills/yixiaoer/references/workflows/draft-workflow.md +44 -0
  120. package/skills/yixiaoer/references/workflows/local-vs-cloud.md +50 -0
  121. package/skills/yixiaoer/references/workflows/material-workflow.md +43 -0
  122. package/skills/yixiaoer/references/workflows/payload-sourcing.md +70 -0
  123. package/skills/yixiaoer/references/workflows/publish-article.md +68 -0
  124. package/skills/yixiaoer/references/workflows/publish-imageText.md +64 -0
  125. package/skills/yixiaoer/references/workflows/publish-troubleshooting.md +50 -0
  126. package/skills/yixiaoer/references/workflows/publish-video.md +65 -0
  127. package/skills/yixiaoer/references/yixiaoer-shared.md +95 -0
@@ -0,0 +1,63 @@
1
+ # 车家号 视频发布
2
+
3
+ > [!IMPORTANT]
4
+ > **前提条件 (Prerequisite)**:
5
+ > 在使用本平台的特定参数之前,你 **必须** 已经阅读并理解了 [视频发布首页 (Index)](./index.md) 中定义的 Payload 根结构。本页仅描述 `contentPublishForm` 内部的平台差异化字段。
6
+
7
+
8
+ ## 触发场景 (Trigger)
9
+ - **意图辨析**:用户指定在“Chejiahao”平台分发视频内容时触发。
10
+ - **典型提示词**:
11
+ - “把这个视频发布到Chejiahao”
12
+ - “同步视频到Chejiahao”
13
+
14
+ ## 执行逻辑 (Logic Flow)
15
+ 1. **意图确认**:确认目标平台为Chejiahao。
16
+ 2. **参数装配**:识别并填充标题、描述等平台特定字段至 `contentPublishForm`。
17
+ 3. **指令执行**:先执行 `yxer validate <platform> <type> <payload.json>`,再执行 `yxer publish <type> <platform> <payload.json> [clientId]`。
18
+
19
+
20
+ ## 1. contentPublishForm 数据结构
21
+
22
+ | 字段名 | 类型 | 必填 | 说明 | 默认值 |
23
+ | :--- | :--- | :--- | :--- | :--- |
24
+ | formType | string | 是 | 固定为 `task` | `task` |
25
+ | title | string | 是 | 视频标题 | - |
26
+ | description | string | 是 | 视频描述 | - |
27
+ | type | number | 是 | 创作类型:1-原创, 3-首发, 13-原创首发 | 1 |
28
+ | scheduledTime | number | 否 | 定时发布时间戳(13 位 Unix 时间戳,单位:毫秒) | - |
29
+
30
+ ## 2. JSON 示例
31
+
32
+ ```json
33
+ {
34
+ "publishType": "video",
35
+ "platforms": ["Chejiahao"],
36
+ "publishArgs": {
37
+ "accountForms": [
38
+ {
39
+ "platformAccountId": "CHEJIAHAO_ACC_ID",
40
+ "video": {
41
+ "key": "v_key",
42
+ "size": 1024000,
43
+ "width": 1920,
44
+ "height": 1080,
45
+ "duration": 60
46
+ },
47
+ "contentPublishForm": {
48
+ "formType": "task",
49
+ "title": "车家号视频标题示例",
50
+ "description": "这是关于汽车评测的视频描述内容。",
51
+ "type": 1
52
+ }
53
+ }
54
+ ]
55
+ }
56
+ }
57
+ ```
58
+
59
+ ## 相关接口
60
+
61
+ | 目标数据 | 对应 Action | 相关文档 |
62
+ | :--- | :--- | :--- |
63
+ | `video.key` | `upload` | [资源上传](../../upload-resource.md) |
@@ -0,0 +1,89 @@
1
+ # 大鱼号视频发布参数 (DaYuHao Video)
2
+
3
+ > [!IMPORTANT]
4
+ > **前提条件 (Prerequisite)**:
5
+ > 在使用本平台的特定参数之前,你 **必须** 已经阅读并理解了 [视频发布首页 (Index)](./index.md) 中定义的 Payload 根结构。本页仅描述 `contentPublishForm` 内部的平台差异化字段。
6
+
7
+
8
+ ## 触发场景 (Trigger)
9
+ - **意图辨析**:用户指定在“Dayuhao”平台分发视频内容时触发。
10
+ - **典型提示词**:
11
+ - “把这个视频发布到Dayuhao”
12
+ - “同步视频到Dayuhao”
13
+
14
+ ## 执行逻辑 (Logic Flow)
15
+ 1. **意图确认**:确认目标平台为Dayuhao。
16
+ 2. **参数装配**:识别并填充标题、描述等平台特定字段至 `contentPublishForm`。
17
+ 3. **指令执行**:先执行 `yxer validate <platform> <type> <payload.json>`,再执行 `yxer publish <type> <platform> <payload.json> [clientId]`。
18
+
19
+
20
+ 在本平台视频发布通过 `contentPublishForm` 承载以下参数。
21
+
22
+ ## 1. contentPublishForm 参数定义
23
+
24
+ | 字段名 | 类型 | 必填 | 说明 | 默认值 |
25
+ | :--- | :--- | :--- | :--- | :--- |
26
+ | `formType` | `string` | **是** | 固定值为 `task` | `task` |
27
+ | `title` | `string` | **是** | 视频标题 (最多 50 字符) | - |
28
+ | `description` | `string` | **是** | 视频描述 (最多 1000 字符) | - |
29
+ | `tags` | `string[]` | **是** | 视频标签 (1-6 个) | - |
30
+ | `category` | `Array` | 否 | 视频分类,使用 `CascadingPlatformDataItem[]` | - |
31
+ | `createType` | `number` | 否 | 创作类型: 0-非原创, 1-原创 | 0 |
32
+ | `declaration` | `number` | 否 | 声明字段: 0-无需申明, 3-虚构演绎, 4-AI 生成 | 0 |
33
+ | `pubType` | `number` | **是** | 发布类型: 0-草稿, 1-直接发布 | 1 |
34
+ | `scheduledTime` | `number` | 否 | 定时发布时间戳 (13 位 Unix 时间戳,单位: 毫秒) | - |
35
+
36
+ ## 2. Payload 完整示例
37
+
38
+ ```json
39
+ {
40
+ "action": "publish",
41
+ "publishType": "video",
42
+ "platforms": ["大鱼号"],
43
+ "publishArgs": {
44
+ "accountForms": [
45
+ {
46
+ "platformAccountId": "acc_dy_vid_001",
47
+ "video": {
48
+ "key": "video_oss_key",
49
+ "size": 1024000,
50
+ "width": 1920,
51
+ "height": 1080,
52
+ "duration": 60
53
+ },
54
+ "coverKey": "video_cover_key",
55
+ "cover": { "key": "video_cover_key", "size": 102400, "width": 800, "height": 600 },
56
+ "contentPublishForm": {
57
+ "formType": "task",
58
+ "title": "大鱼号视频发布标题",
59
+ "description": "这是关于此视频的详细描述内容。",
60
+ "tags": ["生活", "摄影"],
61
+ "category": [
62
+ { "yixiaoerId": "cat_001", "yixiaoerName": "生活", "raw": {} }
63
+ ],
64
+ "createType": 1,
65
+ "declaration": 0,
66
+ "pubType": 1
67
+ }
68
+ }
69
+ ]
70
+ }
71
+ }
72
+ ```
73
+
74
+ ## 3. 复杂对象结构说明
75
+
76
+ ### 3.1 CascadingPlatformDataItem (分类对象)
77
+ | 字段名 | 类型 | 必填 | 说明 |
78
+ | :--- | :--- | :--- | :--- |
79
+ | `yixiaoerId` | `string` | **是** | 级联 ID |
80
+ | `yixiaoerName` | `string` | **是** | 级联显示的名称 |
81
+ | `children` | `Array` | 否 | 子级对象列表 |
82
+ | `raw` | `object` | **是** | 平台原始对象 (必须透传) |
83
+
84
+ ## 相关接口
85
+
86
+ | 目标数据 | 对应 Action | 相关文档 |
87
+ | :--- | :--- | :--- |
88
+ | `video.key` | `upload` | [资源上传](../../upload-resource.md) |
89
+ | `category` | `categories` | [获取发布分类](../../get-publish-categories.md) |
@@ -0,0 +1,80 @@
1
+ # 得物 视频发布
2
+
3
+ > [!IMPORTANT]
4
+ > **前提条件 (Prerequisite)**:
5
+ > 在使用本平台的特定参数之前,你 **必须** 已经阅读并理解了 [视频发布首页 (Index)](./index.md) 中定义的 Payload 根结构。本页仅描述 `contentPublishForm` 内部的平台差异化字段。
6
+
7
+
8
+ ## 触发场景 (Trigger)
9
+ - **意图辨析**:用户指定在“Dewu”平台分发视频内容时触发。
10
+ - **典型提示词**:
11
+ - “把这个视频发布到Dewu”
12
+ - “同步视频到Dewu”
13
+
14
+ ## 执行逻辑 (Logic Flow)
15
+ 1. **意图确认**:确认目标平台为Dewu。
16
+ 2. **参数装配**:识别并填充标题、描述等平台特定字段至 `contentPublishForm`。
17
+ 3. **指令执行**:先执行 `yxer validate <platform> <type> <payload.json>`,再执行 `yxer publish <type> <platform> <payload.json> [clientId]`。
18
+
19
+
20
+ ## 1. contentPublishForm 数据结构
21
+
22
+ | 字段名 | 类型 | 必填 | 说明 | 默认值 |
23
+ | :--- | :--- | :--- | :--- | :--- |
24
+ | formType | string | 是 | 固定为 `task` | `task` |
25
+ | title | string | 是 | 视频标题 | - |
26
+ | description | string | 是 | 视频描述 | - |
27
+ | category | object[] | 否 | 视频分类,使用 `CascadingPlatformDataItem[]` 结构 | - |
28
+ | declaration | number | 是 | 创作者申明:0-不添加自主声明, 1-内容由AI生成, 2-内容不含营销推广属性, 3-内容涉及专业运动, 4-剧情演绎仅供娱乐 | 0 |
29
+
30
+ ## 2. 复杂对象结构
31
+
32
+ ### CascadingPlatformDataItem
33
+ | 字段名 | 类型 | 必填 | 说明 |
34
+ | :--- | :--- | :--- | :--- |
35
+ | id | string | 是 | 选项ID |
36
+ | text | string | 是 | 选项文本 |
37
+ | children | object[] | 否 | 子级选项列表 (CascadingPlatformDataItem[]) |
38
+ | raw | object | 是 | 平台原始数据 |
39
+
40
+ ## 3. JSON 示例
41
+
42
+ ```json
43
+ {
44
+ "publishType": "video",
45
+ "platforms": ["Dewu"],
46
+ "publishArgs": {
47
+ "accountForms": [
48
+ {
49
+ "platformAccountId": "DEWU_ACC_ID",
50
+ "video": {
51
+ "key": "v_key",
52
+ "size": 1024000,
53
+ "width": 1920,
54
+ "height": 1080,
55
+ "duration": 60
56
+ },
57
+ "contentPublishForm": {
58
+ "formType": "task",
59
+ "title": "得物穿搭视频示例",
60
+ "description": "这是一段关于得物穿搭分享的视频描述。",
61
+ "category": [
62
+ {
63
+ "id": "1",
64
+ "text": "穿搭",
65
+ "raw": {}
66
+ }
67
+ ],
68
+ "declaration": 2
69
+ }
70
+ }
71
+ ]
72
+ }
73
+ }
74
+ ```
75
+
76
+ ## 相关接口
77
+
78
+ | 目标数据 | 对应 Action | 相关文档 |
79
+ | :--- | :--- | :--- |
80
+ | `video.key` | `upload` | [资源上传](../../upload-resource.md) |
@@ -0,0 +1,143 @@
1
+ # 抖音视频发布参数 (DouYin Video)
2
+
3
+ > [!IMPORTANT]
4
+ > **前提条件 (Prerequisite)**:
5
+ > 在使用本平台的特定参数之前,你 **必须** 已经阅读并理解了 [视频发布首页 (Index)](./index.md) 中定义的 Payload 根结构。本页仅描述 `contentPublishForm` 内部的平台差异化字段。
6
+
7
+ ## 触发场景 (Trigger)
8
+ - **意图辨析**:用户指定在“抖音”平台发布视频,且需要配置如“地点挂载”、“合集关联”、“添加背景音乐”、“关联小程序/游戏”等抖音特有社交与变现功能时触发。
9
+ - **典型提示词**:
10
+ - “把这个视频发布到抖音,并带上 #风景 话题”
11
+ - “在抖音发布时挂载这个小游戏”
12
+ - “查询抖音热门音乐并添加”
13
+ - “声明这个抖音视频是由 AI 生成的”
14
+
15
+ ## 执行逻辑 (Logic Flow)
16
+ 1. **意图细化**:识别抖音特有的增强功能需求(如地点、音乐、合集)。
17
+ 2. **辅助查询**:对于 `location`, `music`, `challenge` 等字段,必须先调用对应的 `get-*` action 获取标准 ID 及 `raw` 数据。
18
+ 3. **参数装配**:将细化参数封装至 `accountForms[i].contentPublishForm`。
19
+ 4. **指令执行**:先执行 `yxer validate <platform> <type> <payload.json>`,再执行 `yxer publish <type> <platform> <payload.json> [clientId]`。
20
+
21
+ > [!TIP]
22
+ > 抖音视频如涉及话题,请先读取 [`../../topic-tags.md`](../../topic-tags.md)。标准做法是直接传平台字段定义的最终结构,不依赖 CLI 从 `tags` 自动改写 `description`。
23
+
24
+ > [!TIP]
25
+ > 示例优先使用“标准请求体”格式:共享资源放在 `publishArgs` 根级,账号差异字段放在 `accountForms[]`。CLI 会在校验阶段自动补齐缺失资源字段。
26
+
27
+ > 说明:仓库当前不再把 `syncComment` 作为公开 schema 字段暴露,因为现有文档、查询命令和工作流里都没有它的稳定来源或获取流程。
28
+
29
+ ## 1. contentPublishForm 参数定义
30
+
31
+ | 字段名 | 类型 | 必填 | 说明 | 默认值 |
32
+ | :--- | :--- | :--- | :--- | :--- |
33
+ | `formType` | `string` | **是** | 固定为 `task` | `task` |
34
+ | `title` | `string` | **是** | 抖音视频标题 (1-30 字) | - |
35
+ | `description` | `string` | **是** | 抖音视频描述 (1-30 字) | - |
36
+ | `horizontalCover` | `object` | 否 | 抖音视频横板封面,使用 `OldCover` 结构 | - |
37
+ | `declaration` | `number` | 否 | 声明: 3-内容从 AI 生成, 4-可能引人不适, 5-虚构演绎, 6-危险行为 | - |
38
+ | `location` | `object` | 否 | 抖音视频位置,使用 `PlatformDataItem` 结构 | - |
39
+ | `scheduledTime` | `number` | 否 | 定时发布时间戳 (13 位 Unix 时间戳,单位: 毫秒) | - |
40
+ | `allow_save` | `number` | 否 | 保存权限: 0-不允许, 1-允许 | 0 |
41
+ | `shopping_cart` | `object[]` | 否 | 购物车列表,使用 `ShoppingCart` 结构;旧字段 `shoppingCart` 会在预检阶段自动归一化 | - |
42
+ | `groupShopping` | `object` | 否 | 团购信息,使用 `ShoppingCart` 结构 | - |
43
+ | `collection` | `object` | 否 | 合集信息,使用 `Category` 结构 | - |
44
+ | `sub_collection` | `object` | 否 | 合集选集,使用 `Category` 结构 | - |
45
+ | `sync_apps` | `object[]` | 否 | 同时发布应用,使用 `Category[]` | - |
46
+ | `hot_event` | `object` | 否 | 热点事件,使用 `Category` 结构 | - |
47
+ | `challenge` | `object` | 否 | 挑战/话题,使用 `Category` 结构 | - |
48
+ | `mini_app` | `object` | 否 | 挂载小程序 (与购物车互斥),使用 `MiniApp` 结构 | - |
49
+ | `music` | `object` | 否 | 背景音乐信息,使用 `MusicItem` 结构 | - |
50
+ | `cooperation_info` | `object` | 否 | 共创信息 | - |
51
+ | `game` | `object` | 否 | 游戏挂载信息,使用 `GameItem` 结构 | - |
52
+
53
+ ## 2. Payload 完整示例
54
+
55
+ ```json
56
+ {
57
+ "action": "publish",
58
+ "publishType": "video",
59
+ "platforms": ["抖音"],
60
+ "coverKey": "cover_key",
61
+ "publishArgs": {
62
+ "video": {
63
+ "key": "v_key",
64
+ "size": 1024000,
65
+ "width": 1080,
66
+ "height": 1920,
67
+ "duration": 15
68
+ },
69
+ "cover": {
70
+ "key": "cover_key",
71
+ "size": 102400,
72
+ "width": 1080,
73
+ "height": 1920
74
+ },
75
+ "coverKey": "cover_key",
76
+ "accountForms": [
77
+ {
78
+ "platformAccountId": "DOUYIN_ACC_ID",
79
+ "mediaId": "media_001",
80
+ "platformName": "抖音",
81
+ "publishContentId": "publish_content_001",
82
+ "contentPublishForm": {
83
+ "formType": "task",
84
+ "title": "记录美好生活",
85
+ "description": "这是我在抖音的第一条视频 #美好生活 #见闻",
86
+ "declaration": 3,
87
+ "location": {
88
+ "yixiaoerId": "123",
89
+ "yixiaoerName": "上海市",
90
+ "raw": {}
91
+ }
92
+ }
93
+ }
94
+ ]
95
+ }
96
+ }
97
+ ```
98
+
99
+ ## 3. 复杂对象结构说明
100
+
101
+ ### 3.1 OldCover
102
+ | 字段名 | 类型 | 必填 | 说明 |
103
+ | :--- | :--- | :--- | :--- |
104
+ | `key` | `string` | **是** | OSS 资源 Key |
105
+ | `size` | `number` | **是** | 文件大小 (Bytes) |
106
+ | `width` | `number` | **是** | 宽度 |
107
+ | `height` | `number` | **是** | 高度 |
108
+
109
+ ### 3.2 PlatformDataItem / Category / MiniApp / GameItem
110
+ 所有统一的基础结构必须包含 `yixiaoerId`, `yixiaoerName`, `raw`。
111
+ - `raw`: 平台原始数据。如果在获取时该字段存在,发布表单中必须携带并完整透传。
112
+
113
+ ### 3.3 ShoppingCart (购物车/团购)
114
+ | 字段名 | 类型 | 必填 | 说明 |
115
+ | :--- | :--- | :--- | :--- |
116
+ | `sale_title` | `string` | **是** | 推广标题 (最多 10 字) |
117
+ | `images` | `string[]` | **是** | 商品图片数组 |
118
+ | `data` | `object` | **是** | 核心商品数据对象 |
119
+
120
+ `data` 内部必须包含以下字段:
121
+
122
+ | 字段名 | 类型 | 必填 | 说明 |
123
+ | :--- | :--- | :--- | :--- |
124
+ | `yixiaoerId` | `string` | **是** | 商品 ID |
125
+ | `yixiaoerName` | `string` | **是** | 商品名称 |
126
+ | `raw` | `object` | **是** | 平台原始数据 (透传) |
127
+
128
+ ### 3.4 MusicItem (音乐)
129
+ | 字段名 | 类型 | 必填 | 说明 |
130
+ | :--- | :--- | :--- | :--- |
131
+ | `yixiaoerId` | `string` | **是** | 内部 ID |
132
+ | `yixiaoerName` | `string` | **是** | 歌曲名称 |
133
+ | `duration` | `number` | **是** | 时长 (秒) |
134
+ | `raw` | `object` | **是** | 原始数据 (透传) |
135
+
136
+ ## 相关接口
137
+
138
+ | 目标字段 | 对应 Action | 文档参考 |
139
+ | :--- | :--- | :--- |
140
+ | `location` | `locations` | [获取位置信息](../../get-locations.md) |
141
+ | `collection` | `collections` | [获取合集列表](../../get-collections.md) |
142
+ | `shopping_cart` | `goods` | [获取商品列表](../../get-goods.md) |
143
+ | ... | ... | ... |
@@ -0,0 +1,64 @@
1
+ # 多多视频 视频发布
2
+
3
+ > [!IMPORTANT]
4
+ > **前提条件 (Prerequisite)**:
5
+ > 在使用本平台的特定参数之前,你 **必须** 已经阅读并理解了 [视频发布首页 (Index)](./index.md) 中定义的 Payload 根结构。本页仅描述 `contentPublishForm` 内部的平台差异化字段。
6
+
7
+
8
+ ## 触发场景 (Trigger)
9
+ - **意图辨析**:用户指定在“Duoduoshipin”平台分发视频内容时触发。
10
+ - **典型提示词**:
11
+ - “把这个视频发布到Duoduoshipin”
12
+ - “同步视频到Duoduoshipin”
13
+
14
+ ## 执行逻辑 (Logic Flow)
15
+ 1. **意图确认**:确认目标平台为Duoduoshipin。
16
+ 2. **参数装配**:识别并填充标题、描述等平台特定字段至 `contentPublishForm`。
17
+ 3. **指令执行**:先执行 `yxer validate <platform> <type> <payload.json>`,再执行 `yxer publish <type> <platform> <payload.json> [clientId]`。
18
+
19
+
20
+ ## 1. contentPublishForm 数据结构
21
+
22
+ | 字段名 | 类型 | 必填 | 说明 | 默认值 |
23
+ | :--- | :--- | :--- | :--- | :--- |
24
+ | formType | string | 是 | 固定为 `task` | `task` |
25
+ | description | string | 否 | 多多视频描述 | - |
26
+ | scheduledTime | number | 否 | 定时发布时间戳(13 位 Unix 时间戳,单位:毫秒) | - |
27
+ | shopping_cart | object | 否 | 关联商品信息(购物车) | - |
28
+
29
+ ## 2. JSON 示例
30
+
31
+ ```json
32
+ {
33
+ "publishType": "video",
34
+ "platforms": ["Duoduoshipin"],
35
+ "publishArgs": {
36
+ "accountForms": [
37
+ {
38
+ "platformAccountId": "PDD_VIDEO_ACC_ID",
39
+ "video": {
40
+ "key": "v_key",
41
+ "size": 1024000,
42
+ "width": 1080,
43
+ "height": 1920,
44
+ "duration": 30
45
+ },
46
+ "contentPublishForm": {
47
+ "formType": "task",
48
+ "description": "这是多多视频的商品分享推荐内容。",
49
+ "shopping_cart": {
50
+ "goods_id": "998877",
51
+ "source": "pdd"
52
+ }
53
+ }
54
+ }
55
+ ]
56
+ }
57
+ }
58
+ ```
59
+
60
+ ## 相关接口
61
+
62
+ | 目标数据 | 对应 Action | 相关文档 |
63
+ | :--- | :--- | :--- |
64
+ | `video.key` | `upload` | [资源上传](../../upload-resource.md) |
@@ -0,0 +1,81 @@
1
+ # 凤凰网 视频发布
2
+
3
+ > [!IMPORTANT]
4
+ > **前提条件 (Prerequisite)**:
5
+ > 在使用本平台的特定参数之前,你 **必须** 已经阅读并理解了 [视频发布首页 (Index)](./index.md) 中定义的 Payload 根结构。本页仅描述 `contentPublishForm` 内部的平台差异化字段。
6
+
7
+
8
+ ## 触发场景 (Trigger)
9
+ - **意图辨析**:用户指定在“Fengwang”平台分发视频内容时触发。
10
+ - **典型提示词**:
11
+ - “把这个视频发布到Fengwang”
12
+ - “同步视频到Fengwang”
13
+
14
+ ## 执行逻辑 (Logic Flow)
15
+ 1. **意图确认**:确认目标平台为Fengwang。
16
+ 2. **参数装配**:识别并填充标题、描述等平台特定字段至 `contentPublishForm`。
17
+ 3. **指令执行**:先执行 `yxer validate <platform> <type> <payload.json>`,再执行 `yxer publish <type> <platform> <payload.json> [clientId]`。
18
+
19
+
20
+ ## 1. contentPublishForm 数据结构
21
+
22
+ | 字段名 | 类型 | 必填 | 说明 | 默认值 |
23
+ | :--- | :--- | :--- | :--- | :--- |
24
+ | formType | string | 是 | 固定为 `task` | `task` |
25
+ | title | string | 是 | 视频标题 | - |
26
+ | description | string | 是 | 视频描述 | - |
27
+ | tags | string[] | 是 | 视频标签 | - |
28
+ | category | object[] | 是 | 视频分类,使用 `CascadingPlatformDataItem[]` 结构 | - |
29
+ | scheduledTime | number | 否 | 定时发布时间戳(13 位 Unix 时间戳,单位:毫秒) | - |
30
+
31
+ ## 2. 复杂对象结构
32
+
33
+ ### CascadingPlatformDataItem
34
+ | 字段名 | 类型 | 必填 | 说明 |
35
+ | :--- | :--- | :--- | :--- |
36
+ | id | string | 是 | 选项ID |
37
+ | text | string | 是 | 选项文本 |
38
+ | children | object[] | 否 | 子级选项列表 (CascadingPlatformDataItem[]) |
39
+ | raw | object | 是 | 平台原始数据 |
40
+
41
+ ## 3. JSON 示例
42
+
43
+ ```json
44
+ {
45
+ "publishType": "video",
46
+ "platforms": ["Fengwang"],
47
+ "publishArgs": {
48
+ "accountForms": [
49
+ {
50
+ "platformAccountId": "FENGWANG_ACC_ID",
51
+ "video": {
52
+ "key": "v_key",
53
+ "size": 1024000,
54
+ "width": 1920,
55
+ "height": 1080,
56
+ "duration": 60
57
+ },
58
+ "contentPublishForm": {
59
+ "formType": "task",
60
+ "title": "凤凰网资讯视频标题",
61
+ "description": "这是凤凰网平台的一则重要资讯视频内容。",
62
+ "tags": ["资讯", "社会"],
63
+ "category": [
64
+ {
65
+ "id": "1",
66
+ "text": "社会",
67
+ "raw": {}
68
+ }
69
+ ]
70
+ }
71
+ }
72
+ ]
73
+ }
74
+ }
75
+ ```
76
+
77
+ ## 相关接口
78
+
79
+ | 目标数据 | 对应 Action | 相关文档 |
80
+ | :--- | :--- | :--- |
81
+ | `video.key` | `upload` | [资源上传](../../upload-resource.md) |