aiconductor-cli 1.3.1 → 1.3.2
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/AGENTS.md +47 -56
- package/README.md +32 -0
- package/bin/aiconductor-cli.js +31 -6
- package/package.json +1 -1
- package/src/api.js +65 -9
- package/src/commands/md_publish.js +90 -2
- package/.codebuddy/skills/aic-web-search/SKILL.md +0 -141
- package/.codebuddy/skills/aic-web-search/references/aiconductor-skills-setup.md +0 -50
- package/.codebuddy/skills/douyin-toolbox/SKILL.md +0 -219
- package/.codebuddy/skills/douyin-toolbox/references/aiconductor-skills-setup.md +0 -50
- package/.codebuddy/skills/npm-cli-publisher/SKILL.md +0 -166
- package/.codebuddy/skills/webpage-publish/SKILL.md +0 -119
- package/.codebuddy/skills/webpage-publish/references/aiconductor-skills-setup.md +0 -50
- package/.codebuddy/skills/xhs-note-publish/SKILL.md +0 -172
- package/.codebuddy/skills/xhs-note-publish/references/aiconductor-skills-setup.md +0 -50
|
@@ -1,172 +0,0 @@
|
|
|
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 分组,各组内部保持输入顺序;第一张图片作为笔记封面
|
|
@@ -1,50 +0,0 @@
|
|
|
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
|
-
修复后只重试原命令一次;如果仍失败,向用户展示原始错误信息和已尝试的修复步骤。
|