@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,92 @@
1
+ # 小红书店铺 视频发布
2
+
3
+ > [!IMPORTANT]
4
+ > **前提条件 (Prerequisite)**:
5
+ > 在使用本平台的特定参数之前,你 **必须** 已经阅读并理解了 [视频发布首页 (Index)](./index.md) 中定义的 Payload 根结构。本页仅描述 `contentPublishForm` 内部的平台差异化字段。
6
+
7
+
8
+ ## 触发场景 (Trigger)
9
+ - **意图辨析**:用户指定在“Xiaohongshushop”平台分发视频内容时触发。
10
+ - **典型提示词**:
11
+ - “把这个视频发布到Xiaohongshushop”
12
+ - “同步视频到Xiaohongshushop”
13
+
14
+ ## 执行逻辑 (Logic Flow)
15
+ 1. **意图确认**:确认目标平台为Xiaohongshushop。
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
+ | location | object | 否 | 视频位置,使用 `PlatformDataItem` 结构,查询见 [`../../get-locations.md`](../../get-locations.md) | - |
28
+ | scheduledTime | number | 否 | 定时发布时间戳(13 位 Unix 时间戳,单位:毫秒) | - |
29
+ | shoppingCart | object[] | 否 | 关联商品列表,使用 `ShoppingCartItem` 结构数组 | - |
30
+
31
+ ## 2. 复杂对象结构
32
+
33
+ ### PlatformDataItem
34
+ | 字段名 | 类型 | 必填 | 说明 |
35
+ | :--- | :--- | :--- | :--- |
36
+ | id | string | 是 | ID |
37
+ | text | string | 是 | 文本内容 |
38
+ | raw | object | 是 | 平台原始数据 |
39
+
40
+ ### ShoppingCartItem
41
+ | 字段名 | 类型 | 必填 | 说明 |
42
+ | :--- | :--- | :--- | :--- |
43
+ | yixiaoerId | string | 是 | 商品 ID |
44
+ | yixiaoerName | string | 是 | 商品名称 |
45
+ | yixiaoerDesc | string | 否 | 商品规格说明 |
46
+ | yixiaoerImageUrl | string | 否 | 商品图片 URL |
47
+ | price | number | 否 | 商品价格(单位:分) |
48
+ | earnPrice | number | 否 | 预估佣金(单位:分) |
49
+
50
+
51
+
52
+ ## 3. JSON 示例
53
+
54
+ ```json
55
+ {
56
+ "publishType": "video",
57
+ "platforms": ["Xiaohongshushop"],
58
+ "publishArgs": {
59
+ "accountForms": [
60
+ {
61
+ "platformAccountId": "XHS_SHOP_ACC_ID",
62
+ "video": {
63
+ "key": "v_key",
64
+ "size": 1024000,
65
+ "width": 1080,
66
+ "height": 1440,
67
+ "duration": 30
68
+ },
69
+ "contentPublishForm": {
70
+ "formType": "task",
71
+ "title": "小红书店铺新品推荐",
72
+ "description": "这是关于店铺新品发布的推广视频。",
73
+ "shoppingCart": [
74
+ {
75
+ "goods_id": "112233",
76
+ "price": 99.9
77
+ }
78
+ ]
79
+ }
80
+ }
81
+ ]
82
+ }
83
+ }
84
+ ```
85
+
86
+ ## 相关接口
87
+
88
+ | 目标字段 | 对应 Action | 文档参考 |
89
+ | :--- | :--- | :--- |
90
+ | `location` | `locations` | [获取位置信息](../get-locations.md) |
91
+ | `shoppingCart` | `goods` | [获取商品列表](../../get-goods.md) |
92
+ | `video.key` | `upload` | [资源上传](../../upload-resource.md) |
@@ -0,0 +1,79 @@
1
+ # 新浪微博 视频发布
2
+
3
+ > [!IMPORTANT]
4
+ > **前提条件 (Prerequisite)**:
5
+ > 在使用本平台的特定参数之前,你 **必须** 已经阅读并理解了 [视频发布首页 (Index)](./index.md) 中定义的 Payload 根结构。本页仅描述 `contentPublishForm` 内部的平台差异化字段。
6
+
7
+
8
+ ## 触发场景 (Trigger)
9
+ - **意图辨析**:用户指定在“新浪微博”平台分发视频内容时触发。
10
+ - **典型提示词**:
11
+ - “把这个视频发布到新浪微博”
12
+ - “同步视频到新浪微博”
13
+
14
+ ## 执行逻辑 (Logic Flow)
15
+ 1. **意图确认**:确认目标平台为新浪微博。
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-原创, 2-转载内容, 3-二次创作内容 | 1 |
28
+ | location | object | 否 | 视频位置,使用 `PlatformDataItem` 结构 | - |
29
+ | scheduledTime | number | 否 | 定时发布时间戳(13 位 Unix 时间戳,单位:毫秒) | - |
30
+ | collection | object | 否 | 合集信息 | - |
31
+
32
+ ## 2. 复杂对象结构
33
+
34
+ ### PlatformDataItem
35
+ | 字段名 | 类型 | 必填 | 说明 |
36
+ | :--- | :--- | :--- | :--- |
37
+ | id | string | 是 | ID |
38
+ | text | string | 是 | 文本内容 |
39
+ | raw | object | 是 | 平台原始数据 |
40
+
41
+ ## 3. JSON 示例
42
+
43
+ ```json
44
+ {
45
+ "publishType": "video",
46
+ "platforms": ["新浪微博"],
47
+ "publishArgs": {
48
+ "accountForms": [
49
+ {
50
+ "platformAccountId": "WEIBO_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
+ "type": 1,
63
+ "location": {
64
+ "id": "loc_123",
65
+ "text": "上海市",
66
+ "raw": {}
67
+ }
68
+ }
69
+ }
70
+ ]
71
+ }
72
+ }
73
+ ```
74
+
75
+ ## 相关接口
76
+
77
+ | 目标数据 | 对应 Action | 相关文档 |
78
+ | :--- | :--- | :--- |
79
+ | `video.key` | `upload` | [资源上传](../../upload-resource.md) |
@@ -0,0 +1,61 @@
1
+ # 易车号 视频发布
2
+
3
+ > [!IMPORTANT]
4
+ > **前提条件 (Prerequisite)**:
5
+ > 在使用本平台的特定参数之前,你 **必须** 已经阅读并理解了 [视频发布首页 (Index)](./index.md) 中定义的 Payload 根结构。本页仅描述 `contentPublishForm` 内部的平台差异化字段。
6
+
7
+
8
+ ## 触发场景 (Trigger)
9
+ - **意图辨析**:用户指定在“Yichehao”平台分发视频内容时触发。
10
+ - **典型提示词**:
11
+ - “把这个视频发布到Yichehao”
12
+ - “同步视频到Yichehao”
13
+
14
+ ## 执行逻辑 (Logic Flow)
15
+ 1. **意图确认**:确认目标平台为Yichehao。
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
+ | scheduledTime | number | 否 | 定时发布时间戳(13 位 Unix 时间戳,单位:毫秒) | - |
28
+
29
+ ## 2. JSON 示例
30
+
31
+ ```json
32
+ {
33
+ "publishType": "video",
34
+ "platforms": ["Yichehao"],
35
+ "publishArgs": {
36
+ "accountForms": [
37
+ {
38
+ "platformAccountId": "YICHE_ACC_ID",
39
+ "video": {
40
+ "key": "v_key",
41
+ "size": 1024000,
42
+ "width": 1920,
43
+ "height": 1080,
44
+ "duration": 60
45
+ },
46
+ "contentPublishForm": {
47
+ "formType": "task",
48
+ "title": "易车网汽车评测视频",
49
+ "description": "这是一段关于新款汽车性能评测的详细视频内容。"
50
+ }
51
+ }
52
+ ]
53
+ }
54
+ }
55
+ ```
56
+
57
+ ## 相关接口
58
+
59
+ | 目标数据 | 对应 Action | 相关文档 |
60
+ | :--- | :--- | :--- |
61
+ | `video.key` | `upload` | [资源上传](../../upload-resource.md) |
@@ -0,0 +1,85 @@
1
+ # 一点号 视频发布
2
+
3
+ > [!IMPORTANT]
4
+ > **前提条件 (Prerequisite)**:
5
+ > 在使用本平台的特定参数之前,你 **必须** 已经阅读并理解了 [视频发布首页 (Index)](./index.md) 中定义的 Payload 根结构。本页仅描述 `contentPublishForm` 内部的平台差异化字段。
6
+
7
+
8
+ ## 触发场景 (Trigger)
9
+ - **意图辨析**:用户指定在“Yidianhao”平台分发视频内容时触发。
10
+ - **典型提示词**:
11
+ - “把这个视频发布到Yidianhao”
12
+ - “同步视频到Yidianhao”
13
+
14
+ ## 执行逻辑 (Logic Flow)
15
+ 1. **意图确认**:确认目标平台为Yidianhao。
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
+ | declaration | number | 否 | 声明:3-内容取材网络, 4-内容由AI生成, 5-虚构情节内容 | - |
30
+ | type | number | 是 | 视频原创类型:0-非原创, 1-原创 | 0 |
31
+ | scheduledTime | number | 否 | 定时发布时间戳(13 位 Unix 时间戳,单位:毫秒) | - |
32
+
33
+ ## 2. 复杂对象结构
34
+
35
+ ### CascadingPlatformDataItem
36
+ | 字段名 | 类型 | 必填 | 说明 |
37
+ | :--- | :--- | :--- | :--- |
38
+ | id | string | 是 | 选项ID |
39
+ | text | string | 是 | 选项文本 |
40
+ | children | object[] | 否 | 子级选项列表 (CascadingPlatformDataItem[]) |
41
+ | raw | object | 是 | 平台原始数据 |
42
+
43
+ ## 3. JSON 示例
44
+
45
+ ```json
46
+ {
47
+ "publishType": "video",
48
+ "platforms": ["Yidianhao"],
49
+ "publishArgs": {
50
+ "accountForms": [
51
+ {
52
+ "platformAccountId": "YIDIAN_ACC_ID",
53
+ "video": {
54
+ "key": "v_key",
55
+ "size": 1024000,
56
+ "width": 1920,
57
+ "height": 1080,
58
+ "duration": 60
59
+ },
60
+ "contentPublishForm": {
61
+ "formType": "task",
62
+ "title": "一点号视频标题示例",
63
+ "description": "这是发布在一点号平台的视频详情描述文字。",
64
+ "tags": ["资讯", "社会"],
65
+ "category": [
66
+ {
67
+ "id": "1",
68
+ "text": "社会",
69
+ "raw": {}
70
+ }
71
+ ],
72
+ "type": 1,
73
+ "declaration": 4
74
+ }
75
+ }
76
+ ]
77
+ }
78
+ }
79
+ ```
80
+
81
+ ## 相关接口
82
+
83
+ | 目标数据 | 对应 Action | 相关文档 |
84
+ | :--- | :--- | :--- |
85
+ | `video.key` | `upload` | [资源上传](../../upload-resource.md) |
@@ -0,0 +1,85 @@
1
+ # 知乎视频发布参数 (ZhiHu Video)
2
+
3
+ > [!IMPORTANT]
4
+ > **前提条件 (Prerequisite)**:
5
+ > 在使用本平台的特定参数之前,你 **必须** 已经阅读并理解了 [视频发布首页 (Index)](./index.md) 中定义的 Payload 根结构。本页仅描述 `contentPublishForm` 内部的平台差异化字段。
6
+
7
+
8
+ ## 触发场景 (Trigger)
9
+ - **意图辨析**:用户指定在“知乎”平台分发视频内容时触发。
10
+ - **典型提示词**:
11
+ - “把这个视频发布到知乎”
12
+ - “同步视频到知乎”
13
+
14
+ ## 执行逻辑 (Logic Flow)
15
+ 1. **意图确认**:确认目标平台为知乎。
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` | 否 | 视频标题 (1-50 字符) | - |
28
+ | `description` | `string` | **是** | 视频描述 (1-500 字符) | - |
29
+ | `category` | `Array` | **是** | 视频分类,使用 `CascadingPlatformDataItem[]` 结构 | - |
30
+ | `declaration` | `number` | 否 | 视频创作申明: 0-不声明, 2-图片/视频由AI生成 | 0 |
31
+ | `createType` | `number` | **是** | 内容类型: 1-原创, 2-转载 | 1 |
32
+ | `pubType` | `number` | **是** | 发布类型: 0-草稿, 1-直接发布 | 1 |
33
+ | `scheduledTime` | `number` | 否 | 定时发布时间戳 (13 位 Unix 时间戳,单位: 毫秒) | - |
34
+
35
+ ## 2. Payload 完整示例
36
+
37
+ ```json
38
+ {
39
+ "action": "publish",
40
+ "publishType": "video",
41
+ "platforms": ["知乎"],
42
+ "publishArgs": {
43
+ "accountForms": [
44
+ {
45
+ "platformAccountId": "ZHIHU_ACC_ID",
46
+ "video": {
47
+ "key": "video_oss_key",
48
+ "size": 1024000,
49
+ "width": 1920,
50
+ "height": 1080,
51
+ "duration": 60
52
+ },
53
+ "contentPublishForm": {
54
+ "formType": "task",
55
+ "title": "知乎精选视频标题",
56
+ "description": "这是关于知乎深度内容的视频分享描述内容。",
57
+ "category": [
58
+ { "yixiaoerId": "cat_001", "yixiaoerName": "科技", "raw": {} }
59
+ ],
60
+ "createType": 1,
61
+ "declaration": 0,
62
+ "pubType": 1
63
+ }
64
+ }
65
+ ]
66
+ }
67
+ }
68
+ ```
69
+
70
+ ## 3. 复杂对象结构说明
71
+
72
+ ### 3.1 CascadingPlatformDataItem (分类对象)
73
+ | 字段名 | 类型 | 必填 | 说明 |
74
+ | :--- | :--- | :--- | :--- |
75
+ | `yixiaoerId` | `string` | **是** | 级联 ID |
76
+ | `yixiaoerName` | `string` | **是** | 级联名称 |
77
+ | `children` | `Array` | 否 | 子级对象列表 |
78
+ | `raw` | `object` | **是** | 平台原始数据 (必须完整透传) |
79
+
80
+ ## 相关接口
81
+
82
+ | 目标数据 | 对应 Action | 相关文档 |
83
+ | :--- | :--- | :--- |
84
+ | `video.key` | `upload` | [资源上传](../../upload-resource.md) |
85
+ | `category` | `categories` | [获取发布分类](../../get-publish-categories.md) |
@@ -0,0 +1,68 @@
1
+ # 代理管理 (Proxy Management)
2
+
3
+ 获取租户下的代理列表,并为特定账号配置代理。云发布时,代理配置是确保发布成功率的核心要素。
4
+
5
+ ## 触发场景 (Trigger)
6
+ - **意图辨析**:
7
+ - **查询代理**:用户反馈发布由于 IP 问题失败,或需要查看可用网络资源时。
8
+ - **配置代理**:新绑定账号后,或需要切换账号出口 IP(保护账号权重/避免封封)时。
9
+ - **典型提示词**:
10
+ - “我的抖音号发布报错了,是不是 IP 不对?”
11
+ - “帮我查查有哪些上海的代理”
12
+ - “把这个账号绑定到团队代理 A 上”
13
+
14
+ ## 1. 查询代理列表 (List Proxies)
15
+
16
+ 获取当前团队下所有已配置的代理。
17
+
18
+ ### 参数定义 (Parameters)
19
+ | 字段名 | 类型 | 是否必填 | 描述 |
20
+ | :--- | :--- | :--- | :--- |
21
+ | `action` | `string` | **是** | 固定值:`proxies` |
22
+ | `size` | `number` | 否 | 每页数量,默认 `9999`。 |
23
+
24
+ ### 执行逻辑 (Logic Flow)
25
+ 1. **指令构造**:组装 `action: "proxies"`。
26
+ 2. **指令执行**:当前能力正在迁移到 `yxer` CLI,本文档不再推荐脚本直调。
27
+ 3. **数据呈现**:展示代理名称、IP 及启用状态。
28
+
29
+ ---
30
+
31
+ ## 2. 查询内置代理地区列表 (List Default Proxy Areas)
32
+
33
+ ### 参数定义 (Parameters)
34
+ | 字段名 | 类型 | 是否必填 | 描述 |
35
+ | :--- | :--- | :--- | :--- |
36
+ | `action` | `string` | **是** | 固定值:`proxy-areas` |
37
+
38
+ ### 执行逻辑 (Logic Flow)
39
+ 1. **意图获取**:当用户希望使用“内置地区代理”而非独立服务器时触发。
40
+ 2. **列表拉取**:执行 `action: "proxy-areas"`。
41
+ 3. **编码匹配**:获取接口返回的 `code`。
42
+ - **直辖市**(如北京、上海):直接使用第一层级的 `code`(例如:北京 `11`,上海 `31`)。
43
+ - **其他城市**(如长沙):必须进入 `cities` 数组中获取对应的 `code`(例如:长沙 `430100`)。
44
+
45
+ ---
46
+
47
+ ## 3. 更新账号代理 (Update Account Proxy)
48
+
49
+ 为指定账号设置代理信息。
50
+
51
+ ### 参数定义 (Parameters)
52
+ | 字段名 | 类型 | 是否必填 | 描述 |
53
+ | :--- | :--- | :--- | :--- |
54
+ | `action` | `string` | **是** | 固定值:`update-account` |
55
+ | `account_id` | `string` | **是** | 平台的账号 ID |
56
+ | `proxyId` | `string` | 否 | 团队代理 ID |
57
+ | `kuaidailiArea` | `string` | 否 | 内置代理地区编码。直辖市取一级 `code`,普通城市取 `cities` 下的 `code`。 |
58
+ | `remark` | `string` | 否 | 账号备注 |
59
+ | `groups` | `string[]` | 否 | 分组 ID 列表 |
60
+
61
+ ### 执行逻辑 (Logic Flow)
62
+ 1. **前置查询**:必须先获得目标 `account_id` 及代理 `id`/`code`。
63
+ 2. **更新执行**:调用 `action: "update-account"`,携带对应 ID 进行绑定。
64
+ 3. **验证反馈**:确认账号代理详情已变更。
65
+
66
+ ## 注意事项
67
+ - 云发布环境下,未设置代理的账号可能会导致任务执行失败。
68
+ - **二选一**:`proxyId` 与 `kuaidailiArea` 通常建议只配置其中一个。
@@ -0,0 +1,85 @@
1
+ # 查询账号列表 (Query Account List)
2
+
3
+ 获取当前租户下绑定的自媒体平台账号列表及其 UID 信息。
4
+
5
+ ## 触发场景 (Trigger)
6
+ - **意图辨析**:用户需要获取、筛选或确认其在蚁小二平台上绑定的自媒体账号信息(如 UID、昵称、登录状态、分组等)时触发。
7
+ - **典型提示词**:
8
+ - “列出我所有的抖音号”
9
+ - “看看我有哪些账号登录失效了”
10
+ - “查询分组 A 下的账号”
11
+ - “确认一下视频号的作者 ID”
12
+
13
+ ## 参数定义 (Parameters)
14
+
15
+ ### 参数列表 (Payload Properties)
16
+
17
+ | 字段名 | 类型 | 是否必填 | 描述 |
18
+ | :--- | :--- | :--- | :--- |
19
+ | `action` | `string` | **是** | 固定值:`accounts` |
20
+ | `platform` | `string` | 否 | 指定展示某个平台,必须传平台中文名,如 `抖音`。见 [平台定义](./platform.md)。 |
21
+ | `name` | `string` | 否 | 按账号昵称模糊查询。 |
22
+ | `group` | `string` | 否 | 按分组名称查询。 |
23
+ | `page` | `number` | 否 | 当前页码,默认 `1`。 |
24
+ | `size` | `number` | 否 | 每页数量,默认 `20`,最大 `1000`。 |
25
+ | `platforms` | `string[]` | 否 | 平台批量查询,支持多个。见 [平台定义](./platform.md)。 |
26
+ | `platformType` | `number[]` | 否 | 平台类型批量查询。见 [平台定义-平台类型](./platform.md#平台类型枚举-platformtype)。 |
27
+ | `loginStatus` | `number` | 否 | 账号登录状态查询。见下方【登录状态枚举】。 |
28
+ | `isolation` | `string` | 否 | 是否显示隔离数据,`true`|`false`,默认 `false`。 |
29
+ | `parentId` | `string` | 否 | 父级ID,用于查询子账号列表。 |
30
+ | `time` | `number` | 否 | 查询此时间戳之后是否有新消息(unix ms)。 |
31
+
32
+ ### 枚举定义 (Enumerations)
33
+
34
+ #### 登录状态 (LoginStatus)
35
+ | 值 | 定义 | 说明 |
36
+ | :--- | :--- | :--- |
37
+ | `0` | `Never` | 未曾登录/待登录 |
38
+ | `1` | `Succesed` | 登录成功 |
39
+ | `2` | `Expired` | 登录过期/失效。**提示:在查询时传 2 会同时匹配 2(过期), 3(失败), 4(取消授权)** |
40
+ | `3` | `Failed` | 登录失败 |
41
+ | `4` | `CancelAuth` | 取消授权 |
42
+
43
+
44
+ ## 执行逻辑 (Logic Flow)
45
+ 1. **意图解析**:识别查询意图,提取关键词(如平台名称、分组名、昵称片段)。
46
+ 2. **状态前置**:若涉及“失效账号查询”,自动注入 `loginStatus: 2` 参数。
47
+ 3. **参数装配**:构造 `action: "accounts"` 及其余过滤参数(如 `page`, `size`)。
48
+ 4. **指令执行**:调用 `yxer accounts [platform] [--name 关键词] [--status 1] [--json]`。
49
+ 5. **分页处理**:CLI 默认查询第 `1` 页、每页 `20` 条;可通过 `--page`、`--size` 控制单页查询,通过 `--all` 按接口返回的分页信号继续汇总后续页。
50
+ 6. **结果解析**:处理返回的 `PlatformAccountDTO` 列表,重点提取 `id` 和 `status` 供后续操作。
51
+
52
+ ## 返回结果说明 (Response Details)
53
+
54
+ 脚本返回标准的 JSON 数组或对象。每一个账号对象 (`PlatformAccountDTO`) 包含:
55
+
56
+ | 字段 | 类型 | 描述 |
57
+ | :--- | :--- | :--- |
58
+ | `id` | `string` | 平台内部账号 ID |
59
+ | `platformAccountName` | `string` | 账号昵称 |
60
+ | `platformName` | `string` | 平台名称(如:抖音、百家号) |
61
+ | `platformAvatar` | `string` | 账号头像地址 |
62
+ | `platformAuthorId` | `string` | 平台方的 UID / 作者 ID |
63
+ | `status` | `number` | 登录状态(见上方枚举) |
64
+ | `platformType` | `number` | 平台类型(见上方枚举) |
65
+ | `parentId` | `string` | 父账号 ID(针对微信视频号等子账号结构) |
66
+ | `groups` | `string[]` | 账号所属的分组 ID 列表 |
67
+ | `proxyId` | `string` | 绑定的团队代理 ID (如果有) |
68
+ | `kuaidailiArea` | `string` | 绑定的内置代理地区编码 (如果有) |
69
+ | `favorites` | `Object[]` | 账号收藏夹列表。包含 `id`, `name`, `websiteUrl` |
70
+ | `isOperate` | `boolean` | 当前用户是否拥有该账号的运营权限 |
71
+ | `isFreeze` | `boolean` | 账号是否被冻结 |
72
+ | `createdAt` | `number` | 账号创建时间戳 |
73
+
74
+ ## 调用指令 (Command)
75
+
76
+ ```bash
77
+ yxer accounts 抖音 --name 昵称 --json
78
+ yxer accounts list 抖音 --page 2 --size 20 --json
79
+ yxer accounts list 小红书 --all --status 1 --json
80
+ ```
81
+
82
+ ## 注意事项
83
+ - 请确保环境变量 `YIXIAOER_API_KEY` 已设置。
84
+ - **账号有效性提示**:发布前应校验账号 `status` 是否为 `1`。
85
+ - **分页约定**:不要根据“当前页条数已满”猜测还有下一页;只有显式传 `--all` 时,CLI 才会按接口返回的分页字段继续翻页。
@@ -0,0 +1,75 @@
1
+ # 草稿管理 (Draft Management)
2
+
3
+ 在蚁小二生态中,存在两种“草稿”能力,需按目标选择:
4
+ - 保存到**蚁小二草稿箱**(`action: save-draft`)
5
+ - 保存到**目标平台草稿箱**(`action: publish` + `pubType: 0`)
6
+
7
+ ## 触发场景 (Trigger)
8
+ - **意图辨析**:
9
+ - **蚁小二草稿**:当用户希望先录入内容,待以后手动检查或由他人审核,不希望立即启动任何平台推送流程时。
10
+ - **平台草稿**:当内容已比较完善,但由于平台规则(如视频号必须在手机端二次确认)或用户希望在平台后台进行最后的 SEO、话题优化时。
11
+ - **典型提示词**:
12
+ - **蚁小二草稿**:“帮我把这个视频存为蚁小二的草稿”、“暂时不发布,先存草稿”、“存为 YXE 草稿”。
13
+ - **平台草稿**:“把内容推送到抖音的草稿箱里”、“存为小红书草稿”、“推送到平台草稿箱”。
14
+ - **强制约束**:
15
+ - 若用户说“存草稿”但未说明位置,Agent **必须询问用户** 明确意图(是存为“蚁小二草稿”还是“平台草稿”),严禁自行猜测或默认选择。
16
+ - **蚁小二草稿**不消耗发布配额。
17
+ - **平台草稿**消耗一次云发布/本机发布配额。
18
+
19
+ ## 执行逻辑 (Logic Flow)
20
+ 1. **意图深度研判**:根据提示词关键字选取模式。
21
+ 2. **蚁小二草稿模式 (`action: save-draft`)**:
22
+ - 构造 `action: "save-draft"`。
23
+ - `contentPublishForm.pubType` 可设为 1 (发布) 或 0 (草稿),后端仅做云端存储。
24
+ 3. **平台草稿模式 (`action: publish` + `pubType: 0`)**:
25
+ - 根级别注入 `action: "publish"`。
26
+ - `accountForms` 内每个账号的 `contentPublishForm.pubType` 必须设为 `0`。
27
+ 4. **指令执行**:调用 `yxer draft save <payload.json>` 保存蚁小二草稿;平台草稿仍走 `yxer publish`。
28
+ 5. **状态反馈**:告知用户草稿保存位置及对应的 `taskSetId`。
29
+
30
+ ## 快速区分 (Draft Types)
31
+
32
+ | 类型 | 蚁小二草稿 (YiXiaoEr Draft) | 平台草稿 (Platform Draft) |
33
+ | :--- | :--- | :--- |
34
+ | **定义** | 仅保存在蚁小二系统数据库中 | 发送到目标平台(如抖音、B站)的草稿箱 |
35
+ | **是否触发任务** | 否 (仅存储) | 是 (执行推送流程) |
36
+ | **调用 Action** | `save-draft` | `publish` |
37
+ | **核心参数** | `action: "save-draft"` | `contentPublishForm.pubType: 0` |
38
+ | **主要用途** | 跨端同步编辑、团队预审 | 将内容预推送到平台后台,方便手动二次微调 |
39
+
40
+ ---
41
+
42
+ ## 存为蚁小二草稿 (`isDraft: true`)
43
+
44
+ 当需要将任务暂存到蚁小二系统的草稿列表,而不启动发布流程时使用。
45
+
46
+ ### 参数列表 (Key Parameters)
47
+ | 字段名 | 类型 | 必填 | 说明 |
48
+ | :--- | :--- | :--- | :--- |
49
+ | `action` | `string` | **是** | 固定值:`save-draft` |
50
+ | `publishType` | `string` | **是** | `video` (视频) 或 `article` (文章) |
51
+
52
+ ### 调用指令 (Command)
53
+
54
+ ```bash
55
+ yxer draft save draft-payload.json
56
+ ```
57
+
58
+ `draft-payload.json` 中应包含原始发布结构,例如 `publishType`、`platforms`、`publishArgs`、`accountForms` 等字段;CLI 会自动按草稿模式提交。
59
+
60
+ 若使用“标准请求体”格式,仍建议把共享资源放在 `publishArgs` 根级,例如 `cover`、`coverKey`、`content` / `video`,CLI 会在校验阶段自动补齐到对应 `accountForms[]`。
61
+
62
+ ---
63
+
64
+ ## 存为平台草稿 (`pubType: 0`)
65
+
66
+ 当需要启动发布流程,但最终结果是在第三方平台后台看到草稿时使用。
67
+
68
+ ### 调用指令 (Command)
69
+
70
+ ```bash
71
+ # 平台草稿仍应收口到 yxer publish 流程
72
+ # 例如:yxer publish video 抖音 publish-payload.json
73
+ ```
74
+
75
+ 平台草稿同样支持标准请求体输入格式;但命令层仍是单平台执行,且平台草稿仍需在 `contentPublishForm.pubType` 中表达,而不是依赖顶层 `isDraft=true`。