aiconductor-cli 1.2.3 → 1.3.1

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.
@@ -0,0 +1,119 @@
1
+ ---
2
+ name: webpage-publish
3
+ description: 将 Markdown 文本/文件或 HTML 代码发布为在线网页。当用户要求将 Markdown 或 HTML 内容发布到网上、部署网页、把内容变成在线链接时应使用此 Skill。触发词包括:发布/部署/上线网页/页面、把 MD/HTML 转成在线链接、生成在线文档、Markdown 转 HTML 发布。
4
+ ---
5
+
6
+ ## 概述
7
+
8
+ 此 Skill 通过全局安装的 `aiconductor-cli` 命令行工具,将 Markdown 或 HTML 内容发布为在线网页。CLI 自动识别输入类型(Markdown 或 HTML),调用对应 API 获取可公开访问的 URL。
9
+
10
+ - **Markdown 输入**:自动转换为美观 HTML 页面,调用 `md_to_html` API
11
+ - **HTML 输入**:直接发布原始 HTML,调用 `html_publish` API
12
+
13
+ ## 准备工作
14
+
15
+ ### API Key 配置
16
+
17
+ 引导用户前往 https://dev.aiconductor.fun/register 注册并获取 API Key。
18
+
19
+ 获取后配置环境变量:
20
+
21
+ **macOS / Linux:**
22
+ ```bash
23
+ echo 'export AICONDUCTOR_API_KEY="your-api-key"' >> ~/.zshrc && source ~/.zshrc
24
+ ```
25
+
26
+ **Windows PowerShell:**
27
+ ```powershell
28
+ [Environment]::SetEnvironmentVariable("AICONDUCTOR_API_KEY", "your-api-key", "User")
29
+ ```
30
+
31
+ > 也可使用 `.env` 文件(项目目录下写入 `AICONDUCTOR_API_KEY=your-api-key`)。
32
+
33
+ 优先级:`-k` 参数 > `AICONDUCTOR_API_KEY` 环境变量 > `.env` 文件。
34
+
35
+ ## 发布流程
36
+
37
+ ### 输入形式与自动识别
38
+
39
+ CLI 自动识别输入类型:
40
+ - **文件路径**:根据扩展名判断 — `.md`/`.markdown` → Markdown,`.html`/`.htm` → HTML
41
+ - **文本字符串**:根据内容特征判断 — 含 `<html>`/`<!DOCTYPE>` 等标签 → HTML,否则 → Markdown
42
+
43
+ 如果自动识别不准确,可用 `--type md` 或 `--type html` 强制指定。
44
+
45
+ ### 执行发布
46
+
47
+ 使用 JSON 格式(默认,AI 友好)。
48
+
49
+ **必须携带 `-t` 参数指定英文文件名**(中文标题会导致 URL 编码问题,部分浏览器无法打开):
50
+
51
+ ```bash
52
+ # 发布 Markdown 文件
53
+ aiconductor-cli webpage publish ./README.md -t my-docs
54
+
55
+ # 发布 HTML 文件
56
+ aiconductor-cli webpage publish ./page.html -t my-page
57
+
58
+ # 发布 Markdown 字符串
59
+ aiconductor-cli webpage publish "# Hello" -t hello
60
+
61
+ # 发布 HTML 字符串
62
+ aiconductor-cli webpage publish "<h1>Hello</h1>" -t hello
63
+
64
+ # 强制指定类型(当自动识别不准时)
65
+ aiconductor-cli webpage publish <输入> -t <文件名> --type html
66
+ ```
67
+
68
+ > `-t` 参数仅影响文件名(不含 .html 后缀),不影响页面标题。
69
+ > 命名规则:小写英文 + 连字符,如 `api-docs`、`project-readme`、`meeting-notes`。
70
+
71
+ 若用户需要人类可读输出:
72
+
73
+ ```bash
74
+ aiconductor-cli webpage publish <输入> -t <文件名> -f text
75
+ ```
76
+
77
+ 若 Markdown 内容需要代码复制按钮:
78
+
79
+ ```bash
80
+ aiconductor-cli webpage publish <输入> -t <文件名> --copy-button
81
+ ```
82
+
83
+ ### 解析输出
84
+
85
+ JSON 格式输出示例:
86
+ ```json
87
+ {
88
+ "success": true,
89
+ "data": {
90
+ "success": true,
91
+ "message": "HTML网页发布成功",
92
+ "online_url": "https://oss.aiconductor.fun/online/xxx.html"
93
+ }
94
+ }
95
+ ```
96
+
97
+ 从中提取 `data.online_url` 作为最终可访问链接返回给用户。
98
+
99
+ ### 错误处理
100
+
101
+ - 缺少 API Key → 提示用户前往 https://dev.aiconductor.fun/register 注册获取
102
+ - CLI 未安装 / command not found → 执行 `npm install -g aiconductor-cli@latest`,安装后重试原命令
103
+ - API 返回错误 → 展示错误信息给用户
104
+
105
+ ### 可选项
106
+
107
+ - `-t, --title <title>`:指定文件名(不含 .html 后缀)
108
+ - `--type <type>`:强制指定类型:`md` 或 `html`(默认自动识别)
109
+ - `--copy-button`:添加代码复制按钮(仅 Markdown 类型生效,默认不添加)
110
+ - `-f, --format <format>`:输出格式(`json` 或 `text`),默认 `json`
111
+
112
+ ## 注意事项
113
+
114
+ 1. **文件名必须用英文**:`-t` 参数只能传入英文(小写+连字符),禁止中文、空格、特殊字符
115
+ 2. 发布前确保内容完整有效
116
+ 3. Markdown 类型默认不添加代码块复制按钮,使用 `--copy-button` 可开启;HTML 类型无此选项
117
+ 4. API 按次计费(0.01 元/次),计费信息不会暴露给终端用户
118
+ 5. 默认使用 JSON 输出格式,便于 AI Agent 解析
119
+ 6. 与 `html publish` 命令的区别:`html publish` 是专门发布 HTML 的子命令,`webpage publish` 是统一入口,自动识别 Markdown/HTML
@@ -0,0 +1,50 @@
1
+ # 技能安装与配置
2
+
3
+ 仅当用户明确要求首次安装、初始化或配置此技能时读取本文档。正常搜索流程默认环境已经可用,不要每次使用前执行初始化。
4
+
5
+ ## 安装或升级 CLI
6
+
7
+ 使用 npm 全局安装最新版:
8
+
9
+ ```bash
10
+ npm install -g aiconductor-cli@latest
11
+ ```
12
+
13
+ 安装后确认命令可用:
14
+
15
+ ```bash
16
+ aiconductor-cli --help
17
+ ```
18
+
19
+ ## 配置 API Key
20
+
21
+ 引导用户前往 https://dev.aiconductor.fun/register 注册并获取 API Key。
22
+
23
+ macOS / Linux:
24
+
25
+ ```bash
26
+ echo 'export AICONDUCTOR_API_KEY="your-api-key"' >> ~/.zshrc && source ~/.zshrc
27
+ ```
28
+
29
+ Windows PowerShell:
30
+
31
+ ```powershell
32
+ [Environment]::SetEnvironmentVariable("AICONDUCTOR_API_KEY", "your-api-key", "User")
33
+ ```
34
+
35
+ 也可在当前项目目录创建 `.env` 文件:
36
+
37
+ ```env
38
+ AICONDUCTOR_API_KEY=your-api-key
39
+ ```
40
+
41
+ 优先级:`-k` 参数 > `AICONDUCTOR_API_KEY` 环境变量 > `.env` 文件。
42
+
43
+ ## 故障恢复
44
+
45
+ - `command not found` / `aiconductor-cli` 无法识别:执行安装或升级命令后重试原命令
46
+ - 缺少 API Key:按上方方式配置密钥后开启新的终端会话,或在当前命令中临时使用 `-k <api-key>`
47
+ - API Key 无效或认证失败:请用户确认密钥是否正确、是否仍可用,再重试原命令
48
+ - 版本不兼容或参数不被识别:升级到最新版后重试原命令
49
+
50
+ 修复后只重试原命令一次;如果仍失败,向用户展示原始错误信息和已尝试的修复步骤。
@@ -0,0 +1,172 @@
1
+ ---
2
+ name: xhs-note-publish
3
+ description: 小红书扫码发布 — 生成小红书图文/视频笔记的扫码发布页与二维码。当用户想要发布小红书笔记、生成小红书发布页、创建小红书扫码发布链接、把图片/视频做成可发布的笔记页面时应使用此 Skill。触发词包括:小红书发布、小红书笔记、小红书扫码、xhs发布、xhs note、red note publish、发小红书、生成小红书发布页、小红书图文发布、小红书视频发布。
4
+ ---
5
+
6
+ ## 概述
7
+
8
+ 此 Skill 通过全局安装的 `aiconductor-cli` 命令行工具,调用小红书笔记发布 API,生成 H5 扫码发布页与二维码。用户扫码后可在手机浏览器中点击"发布到小红书"按钮,自动唤起小红书 App 进行发布。
9
+
10
+ 适用环境默认已配置好 CLI 和 API Key。当遇到安装或配置问题时,读取 [references/aiconductor-skills-setup.md](references/aiconductor-skills-setup.md)。仅当用户明确要求初始化或配置 Skill 时才主动读取该文件。
11
+
12
+ ## 准备工作
13
+
14
+ 发布前需确认用户已准备好:
15
+
16
+ - **图文笔记**:标题(可选)、正文(可选)、至少 1 张图片(最多 18 张)
17
+ - **视频笔记**:标题(可选)、正文(可选)、1 个视频,可选封面图
18
+
19
+ 图片、视频和封面均支持公网 HTTP(S) URL、本地文件路径、Base64/data URL。保存 Base64 内容的文本文件使用 `@文件路径` 传入。
20
+
21
+ 本地文件由 CLI 自动转成 data URL,与 Base64 素材一起通过 JSON 接口免费上传到临时 R2,再将公开 URL 传给小红书发布接口。默认链接有效期为 7 天,可用 `--upload-valid-days 1` 改为 1 天。
22
+
23
+ ## 发布流程
24
+
25
+ ### 1. 确认笔记类型
26
+
27
+ 根据用户意图确认笔记类型:
28
+ - `normal` — 图文笔记(需要图片列表)
29
+ - `video` — 视频笔记(需要视频素材,可选封面图)
30
+
31
+ ### 2. 收集素材信息
32
+
33
+ 从用户输入中提取以下信息,缺失的必填项要主动询问:
34
+
35
+ | 信息 | 说明 | 是否必填 |
36
+ |------|------|----------|
37
+ | 笔记类型 | `normal` 或 `video` | 是 |
38
+ | 图片素材 | URL、本地文件、Base64,可混用 | normal 必填,合计最多 18 张 |
39
+ | 视频素材 | URL、本地文件、Base64 三选一 | video 必填 |
40
+ | 标题 | 笔记标题,中文计 1 字/英文数字计 0.5 字,最多 20 字 | 否 |
41
+ | 正文 | 笔记正文,最多 1000 字符 | 否 |
42
+ | 封面图 | URL、本地文件、Base64 三选一(仅 video 类型) | 否 |
43
+ | 临时链接有效期 | 本地/Base64 素材上传后的有效期,1 或 7 天 | 否,默认 7 天 |
44
+
45
+ ### 3. 执行发布
46
+
47
+ 使用 JSON 格式(默认,AI 友好)。
48
+
49
+ **图文笔记:**
50
+
51
+ ```bash
52
+ aiconductor-cli xhs note-publish normal \
53
+ --title "笔记标题" \
54
+ --content "笔记正文内容" \
55
+ --images "https://example.com/photo1.jpg,https://example.com/photo2.jpg"
56
+ ```
57
+
58
+ **图文笔记(URL 与本地文件混用):**
59
+
60
+ ```bash
61
+ aiconductor-cli xhs note-publish normal \
62
+ --title "笔记标题" \
63
+ --images "https://example.com/photo1.jpg" \
64
+ --image-file "./photo2.jpg" \
65
+ --image-file "./photo3.png"
66
+ ```
67
+
68
+ `--image-file` 和 `--image-base64` 均可重复使用。混用时顺序固定为 URL、本地文件、Base64,各组内部保持传入顺序。
69
+
70
+ **图文笔记(Base64):**
71
+
72
+ ```bash
73
+ # 短 Base64 或 data URL 可直接传入
74
+ aiconductor-cli xhs note-publish normal \
75
+ --image-base64 "data:image/png;base64,iVBORw0KGgo..."
76
+
77
+ # 较大 Base64 建议写入文本文件,使用 @路径避免命令行长度限制
78
+ aiconductor-cli xhs note-publish normal \
79
+ --image-base64 "@./photo-base64.txt"
80
+ ```
81
+
82
+ **视频笔记(本地文件):**
83
+
84
+ ```bash
85
+ aiconductor-cli xhs note-publish video \
86
+ --title "视频标题" \
87
+ --content "视频正文内容" \
88
+ --video-file "./video.mp4" \
89
+ --cover-file "./cover.jpg"
90
+ ```
91
+
92
+ 若用户需要人类可读输出:
93
+
94
+ ```bash
95
+ aiconductor-cli xhs note-publish <normal|video> ... -f text
96
+ ```
97
+
98
+ ### 4. 解析输出
99
+
100
+ JSON 格式输出示例:
101
+
102
+ ```json
103
+ {
104
+ "success": true,
105
+ "data": {
106
+ "success": true,
107
+ "message": "发布页生成成功",
108
+ "data": {
109
+ "id": "3502cf75-...-b8620053c7bf",
110
+ "url": "https://oss.aiconductor.fun/temporary_7/xhs_note_publish/.../index.html",
111
+ "qrcode": "data:image/png;base64,iVBORw0KGgo...",
112
+ "media": {
113
+ "images": ["https://example.com/photo1.jpg"],
114
+ "video": null,
115
+ "cover": null
116
+ }
117
+ }
118
+ }
119
+ }
120
+ ```
121
+
122
+ 从中提取以下信息返回给用户:
123
+
124
+ - **`data.data.url`** — H5 发布页在线地址,点击可直接打开(桌面端展示手机模拟框 + 右侧扫码面板,移动端直接打开发布引导页)
125
+ - **`data.data.qrcode`** — 二维码 base64 图片(`data:image/png;base64,...`),手机扫码即可打开发布页
126
+ - **`data.data.id`** — 笔记唯一标识 UUID
127
+ - **`data.data.media`** — 最终使用的素材列表(images / video / cover)
128
+
129
+ **返回给用户时,优先展示 H5 链接和二维码。** 二维码 base64 可以直接嵌入 HTML img 标签在聊天中预览。
130
+
131
+ ### 错误处理
132
+
133
+ - 缺少 API Key / CLI 未安装 / command not found → 读取 [references/aiconductor-skills-setup.md](references/aiconductor-skills-setup.md) 并按其步骤处理
134
+ - CLI 参数或 API 返回错误 → 展示错误信息给用户,常见原因包括:
135
+ - 本地文件不存在、不是普通文件或超过限制
136
+ - 视频/封面同时提供了多个来源
137
+ - Base64 文本文件为空或不可读
138
+ - 图片/视频 URL 不可公网访问或内网 localhost 地址
139
+ - 图片超过 32MB;URL 视频超过 200MB;本地/Base64 视频超过 100MB
140
+ - 图片数量超过 18 张
141
+ - 标题超过 20 字或正文超过 1000 字符
142
+ - 参数校验失败或素材下载失败不扣费,仅页面生成成功时才扣费
143
+
144
+ ## 全部选项
145
+
146
+ | 选项 | 说明 | 默认值 |
147
+ |------|------|--------|
148
+ | `-t, --title <标题>` | 笔记标题,最多 20 字符 | 空 |
149
+ | `--content <正文>` | 笔记正文,最多 1000 字符 | 空 |
150
+ | `--images <urls>` | 图片 URL 列表,逗号分隔(normal 类型),最多 18 张 | 无 |
151
+ | `--image-file <path>` | 本地图片路径,可重复使用(normal 类型) | 无 |
152
+ | `--image-base64 <data>` | 图片 Base64、data URL 或 `@文本文件`,可重复使用 | 无 |
153
+ | `--video <url>` | 视频 URL(video 类型) | 无 |
154
+ | `--video-file <path>` | 本地视频路径,与其他视频来源三选一 | 无 |
155
+ | `--video-base64 <data>` | 视频 Base64、data URL 或 `@文本文件` | 无 |
156
+ | `--cover <url>` | 视频封面图 URL(video 类型) | 无 |
157
+ | `--cover-file <path>` | 本地视频封面路径 | 无 |
158
+ | `--cover-base64 <data>` | 视频封面 Base64、data URL 或 `@文本文件` | 无 |
159
+ | `--upload-valid-days <days>` | 本地/Base64 素材临时链接有效期:1 或 7 天 | `7` |
160
+ | `-k, --api-key <key>` | AIConductor API Key | 环境变量或 .env |
161
+ | `-f, --format <format>` | 输出格式:`json` 或 `text` | `json` |
162
+
163
+ ## 注意事项
164
+
165
+ 1. 采用后扣费模式:仅页面生成成功时才扣费,参数校验失败或素材下载失败不扣费
166
+ 2. 发布页生成 0.05 元/次,本地/Base64 素材预上传免费
167
+ 4. 临时上传链接有效期为 1 或 7 天,过期自动清理;应在有效期内完成发布
168
+ 5. 素材 URL 必须为公网可访问的 HTTP(S) 地址,内网 IP 和 localhost 将被拒绝
169
+ 6. URL 视频上限 200MB;本地/Base64 视频受上传接口限制为 100MB;图片上限 32MB
170
+ 7. 生成的 H5 页面支持移动端扫码后在浏览器中点击"发布到小红书"按钮自动唤起 App
171
+ 8. 默认使用 JSON 输出格式,便于 AI Agent 解析
172
+ 9. 图片顺序按 URL、本地文件、Base64 分组,各组内部保持输入顺序;第一张图片作为笔记封面
@@ -0,0 +1,50 @@
1
+ # 技能安装与配置
2
+
3
+ 仅当用户明确要求首次安装、初始化或配置此技能时读取本文档。正常操作流程默认环境已经可用,不要每次使用前执行初始化。
4
+
5
+ ## 安装或升级 CLI
6
+
7
+ 使用 npm 全局安装最新版:
8
+
9
+ ```bash
10
+ npm install -g aiconductor-cli@latest
11
+ ```
12
+
13
+ 安装后确认命令可用:
14
+
15
+ ```bash
16
+ aiconductor-cli --help
17
+ ```
18
+
19
+ ## 配置 API Key
20
+
21
+ 引导用户前往 https://dev.aiconductor.fun/register 注册并获取 API Key。
22
+
23
+ macOS / Linux:
24
+
25
+ ```bash
26
+ echo 'export AICONDUCTOR_API_KEY="your-api-key"' >> ~/.zshrc && source ~/.zshrc
27
+ ```
28
+
29
+ Windows PowerShell:
30
+
31
+ ```powershell
32
+ [Environment]::SetEnvironmentVariable("AICONDUCTOR_API_KEY", "your-api-key", "User")
33
+ ```
34
+
35
+ 也可在当前项目目录创建 `.env` 文件:
36
+
37
+ ```env
38
+ AICONDUCTOR_API_KEY=your-api-key
39
+ ```
40
+
41
+ 优先级:`-k` 参数 > `AICONDUCTOR_API_KEY` 环境变量 > `.env` 文件。
42
+
43
+ ## 故障恢复
44
+
45
+ - `command not found` / `aiconductor-cli` 无法识别:执行安装或升级命令后重试原命令
46
+ - 缺少 API Key:按上方方式配置密钥后开启新的终端会话,或在当前命令中临时使用 `-k <api-key>`
47
+ - API Key 无效或认证失败:请用户确认密钥是否正确、是否仍可用,再重试原命令
48
+ - 版本不兼容或参数不被识别:升级到最新版后重试原命令
49
+
50
+ 修复后只重试原命令一次;如果仍失败,向用户展示原始错误信息和已尝试的修复步骤。
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # AIConductor CLI
2
2
 
3
- AIConductor 平台命令行工具箱,提供网页发布、搜索和抖音数据功能。
3
+ AIConductor 平台命令行工具箱,提供网页发布、搜索、抖音数据和小红书扫码发布功能。
4
4
 
5
5
  ## 安装
6
6
 
@@ -8,7 +8,7 @@ AIConductor 平台命令行工具箱,提供网页发布、搜索和抖音数
8
8
  npm install -g aiconductor-cli
9
9
  ```
10
10
 
11
- **Node.js >= 16.0.0** 环境。
11
+ **Node.js >= 18.0.0** 环境。
12
12
 
13
13
  ## 配置 API Key
14
14
 
@@ -229,6 +229,44 @@ aiconductor-cli douyin link-to-text <视频URL> [选项]
229
229
  aiconductor-cli douyin link-to-text "https://www.douyin.com/video/xxxxx"
230
230
  ```
231
231
 
232
+ ### 小红书扫码发布
233
+
234
+ 生成图文或视频笔记的 H5 发布页与二维码。素材支持公网 URL、本地文件、Base64/data URL,以及包含 Base64 内容的文本文件。
235
+
236
+ ```bash
237
+ # 图文:URL 与本地图片混用
238
+ aiconductor-cli xhs note-publish normal \
239
+ --title "笔记标题" \
240
+ --images "https://example.com/photo1.jpg" \
241
+ --image-file "./photo2.jpg" \
242
+ --image-file "./photo3.png"
243
+
244
+ # 图文:较大 Base64 写入文本文件后使用 @路径
245
+ aiconductor-cli xhs note-publish normal \
246
+ --image-base64 "@./photo-base64.txt"
247
+
248
+ # 视频:本地视频与本地封面
249
+ aiconductor-cli xhs note-publish video \
250
+ --title "视频标题" \
251
+ --video-file "./video.mp4" \
252
+ --cover-file "./cover.jpg"
253
+ ```
254
+
255
+ | 选项 | 说明 | 默认值 |
256
+ |------|------|--------|
257
+ | `--images <urls>` | 图片 URL 列表,逗号分隔 | 无 |
258
+ | `--image-file <path>` | 本地图片路径,可重复使用 | 无 |
259
+ | `--image-base64 <data>` | 图片 Base64、data URL 或 `@文本文件`,可重复使用 | 无 |
260
+ | `--video <url>` | 视频 URL | 无 |
261
+ | `--video-file <path>` | 本地视频路径 | 无 |
262
+ | `--video-base64 <data>` | 视频 Base64、data URL 或 `@文本文件` | 无 |
263
+ | `--cover <url>` | 视频封面 URL | 无 |
264
+ | `--cover-file <path>` | 本地视频封面路径 | 无 |
265
+ | `--cover-base64 <data>` | 封面 Base64、data URL 或 `@文本文件` | 无 |
266
+ | `--upload-valid-days <days>` | 本地/Base64 素材临时链接有效期:1 或 7 天 | 7 |
267
+
268
+ 本地文件会在 CLI 内转换成 data URL,与 Base64 素材统一通过 JSON 接口免费上传为临时公开 URL,不使用 multipart。图片合计最多 18 张、单张最多 32MB;本地/Base64 视频受上传接口限制为 100MB,URL 视频上限为 200MB。
269
+
232
270
  ### 通用选项
233
271
 
234
272
  所有命令支持:
@@ -249,6 +287,7 @@ aiconductor-cli douyin link-to-text "https://www.douyin.com/video/xxxxx"
249
287
  | 抖音用户搜索 | 0.15 元/页 |
250
288
  | 抖音视频搜索 | 0.15 元/页 |
251
289
  | 抖音链接转文字 | 0.01 元/次 + 0.0003 元/秒 |
290
+ | 小红书扫码发布 | 0.05 元/次 |
252
291
 
253
292
  > 搜索/调用失败不扣费,仅成功时计费。
254
293
 
@@ -13,9 +13,13 @@ const {
13
13
  videoSearchCommand,
14
14
  linkToTextCommand,
15
15
  } = require("../src/commands/douyin");
16
- const { notePublishCommand } = require("../src/commands/xhs");
17
-
18
- const program = new Command();
16
+ const { notePublishCommand } = require("../src/commands/xhs");
17
+
18
+ const program = new Command();
19
+
20
+ function collect(value, previous) {
21
+ return previous ? previous.concat([value]) : [value];
22
+ }
19
23
 
20
24
  program
21
25
  .name("aiconductor-cli")
@@ -172,16 +176,22 @@ const xhsCmd = program
172
176
 
173
177
  xhsCmd
174
178
  .command("note-publish")
175
- .description("生成小红书扫码发布页与二维码(图文0.05元/次,含OSS转存0.1元/次)")
179
+ .description("生成小红书扫码发布页与二维码(0.05元/次)")
176
180
  .argument("<type>", "笔记类型:normal(图文)或 video(视频)")
177
181
  .option("-k, --api-key <key>", "AIConductor API Key")
178
- .option("-t, --title <title>", "笔记标题(最多20字符)")
179
- .option("--content <text>", "笔记正文(最多1000字符)")
180
- .option("--images <urls>", "图片公网URL列表,逗号分隔(normal类型必填,最多18张)")
181
- .option("--video <url>", "视频公网URL(video类型必填)")
182
- .option("--cover <url>", "视频封面图公网URL(仅video类型有效)")
183
- .option("--transfer-to-oss", "是否将素材转存到云端(更稳定,7天有效)")
184
- .option("-f, --format <format>", "输出格式:json 或 text", "json")
182
+ .option("-t, --title <title>", "笔记标题(最多20字符)")
183
+ .option("--content <text>", "笔记正文(最多1000字符)")
184
+ .option("--images <urls>", "图片公网URL列表,逗号分隔(normal类型,最多18张)")
185
+ .option("--image-file <path>", "本地图片路径,可重复使用(normal类型,最多18张)", collect)
186
+ .option("--image-base64 <data>", "图片Base64/data URL/@文本文件,可重复使用", collect)
187
+ .option("--video <url>", "视频公网URL(与--video-file、--video-base64三选一)")
188
+ .option("--video-file <path>", "本地视频路径(与--video、--video-base64三选一)")
189
+ .option("--video-base64 <data>", "视频Base64/data URL/@文本文件(与其他视频来源三选一)")
190
+ .option("--cover <url>", "视频封面图公网URL(与其他封面来源三选一)")
191
+ .option("--cover-file <path>", "本地视频封面路径(仅video类型有效)")
192
+ .option("--cover-base64 <data>", "视频封面Base64/data URL/@文本文件(仅video类型)")
193
+ .option("--upload-valid-days <days>", "本地/Base64素材临时链接有效期:1或7天", "7")
194
+ .option("-f, --format <format>", "输出格式:json 或 text", "json")
185
195
  .action((type, options) => { notePublishCommand(type, options); });
186
196
 
187
197
  // 未知命令处理
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiconductor-cli",
3
- "version": "1.2.3",
3
+ "version": "1.3.1",
4
4
  "description": "AIConductor CLI 工具箱",
5
5
  "keywords": [
6
6
  "aiconductor",
@@ -9,6 +9,8 @@
9
9
  "deploy",
10
10
  "cli",
11
11
  "douyin",
12
+ "xiaohongshu",
13
+ "xhs",
12
14
  "search"
13
15
  ],
14
16
  "author": "",
@@ -17,7 +19,7 @@
17
19
  "aiconductor-cli": "bin/aiconductor-cli.js"
18
20
  },
19
21
  "engines": {
20
- "node": ">=16.0.0"
22
+ "node": ">=18.0.0"
21
23
  },
22
24
  "scripts": {},
23
25
  "dependencies": {