aiconductor-cli 1.3.1 → 1.3.3

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.
@@ -1,166 +0,0 @@
1
- ---
2
- name: "npm-cli-publisher"
3
- description: "引导构建 Node.js CLI 工具并发布到 npm,包含项目结构、bin 配置、.npmignore、AI Agent 友好输出等最佳实践。当用户想创建、封装或发布 CLI 工具到 npm 时调用。"
4
- ---
5
-
6
- # npm CLI 工具封装 & 发布指南
7
-
8
- ## 开始前:先向用户收集信息
9
-
10
- 在动手之前,确认以下内容(未提供的需主动询问):
11
-
12
- - npm 包名 & 终端命令名
13
- - 工具功能描述
14
- - 逻辑来源:调用外部 API 接口,还是自己实现业务逻辑,或两者混合
15
- - 是否需要 API Key 鉴权
16
- - 是否已有 npm 账号
17
-
18
- ---
19
-
20
- ## 流程总览
21
-
22
- **初始化** → **项目结构** → **入口配置** → **核心逻辑** → **安全配置** → **发布前检查** → **发布** → **验证**
23
-
24
- ---
25
-
26
- ## 推荐项目结构
27
-
28
- 适用于功能较多的 CLI 工具,按主题分类组织:
29
-
30
- ```
31
- <project>/
32
- ├── bin/
33
- │ └── <cli-name>.js # CLI 入口,聚合所有命令,不含业务逻辑
34
- ├── src/
35
- │ ├── api.js # 外部 API 渠道的底层调用封装(仅调用外部接口时需要)
36
- │ ├── lib/ # 自实现的业务逻辑模块(仅有自写逻辑时需要)
37
- │ │ ├── <module-a>.js
38
- │ │ └── <module-b>.js
39
- │ └── commands/ # 按主题分类的命令模块,每个文件对应一个子命令分组
40
- │ ├── <topic-a>.js
41
- │ ├── <topic-b>.js
42
- │ └── <topic-c>.js
43
- ├── .npmignore
44
- └── package.json
45
- ```
46
-
47
- > 根据实际情况灵活裁剪:纯 API 封装型不需要 `lib/`,纯自实现型不需要 `api.js`,混合型两者都保留。
48
-
49
- ---
50
-
51
- ## 分层设计原则
52
-
53
- ### 逻辑来源的两种模式
54
-
55
- **模式一:外部 API 封装型**
56
- 命令的核心逻辑是调用第三方 HTTP 接口,`commands/` 中的函数负责组装参数、调用 `api.js`、过滤响应字段、格式化输出。
57
-
58
- **模式二:自实现逻辑型**
59
- 命令的核心逻辑是自己编写的,放在 `src/lib/` 中按功能模块拆分,`commands/` 中的函数负责调用 `lib/` 模块、处理异常、格式化输出。
60
-
61
- **混合型**:同一个项目中两种模式可以共存,不同的 topic 文件分别依赖 `api.js` 或 `lib/` 中的模块。
62
-
63
- ### 各层职责
64
-
65
- - **`src/api.js`**:仅负责 HTTP 请求的底层封装,每个外部 API 渠道对应一个调用函数,不含业务判断。新增外部接口渠道只改这里。
66
- - **`src/lib/<module>.js`**:自实现的业务逻辑,按功能拆分模块,不依赖 CLI 框架,可独立测试。
67
- - **`src/commands/<topic>.js`**:命令的编排层,调用 `api.js` 或 `lib/` 完成功能,统一处理输出格式和错误。新增命令分类只需新建文件。
68
- - **`bin/<cli-name>.js`**:纯聚合入口,用 commander 将所有 commands 注册为子命令树,不含任何业务逻辑。
69
-
70
- ### 扩展方式
71
-
72
- - **新增外部 API 渠道**:在 `src/api.js` 添加新的调用函数
73
- - **新增自实现功能模块**:在 `src/lib/` 新建模块文件
74
- - **新增命令分类**:在 `src/commands/` 新建 `<topic>.js`,在 `bin/<cli-name>.js` 中引入并注册为新的子命令
75
- - **新增某分类下的命令**:在对应的 `src/commands/<topic>.js` 中添加新函数,并在 `bin/<cli-name>.js` 对应的子命令中注册
76
-
77
- ---
78
-
79
- ## 各阶段要点
80
-
81
- ### 初始化
82
- `npm init` 创建项目,按需安装依赖(commander 处理命令、axios 发 HTTP 请求等,仅在需要时引入)。
83
-
84
- ### package.json 关键配置
85
- - `bin` 字段:命令名 → 入口文件路径(命令名只能用小写字母、数字、连字符)
86
- - `main` 字段:模块导出入口
87
- - 填写 `description`、`keywords`、`author`、`engines`
88
-
89
- ### src/api.js 编写规范(外部 API 封装型适用)
90
-
91
- - 每个外部 API 渠道对应一个独立的异步函数,统一处理三种错误类型:有响应体的 HTTP 错误、无响应的网络错误、请求构造错误
92
- - 需要 API Key 的接口,提供 `resolveApiKey` 函数实现三级优先级查找:命令行参数 > 系统环境变量 > 当前目录 `.env` 文件中的环境变量,找不到时返回 null;环境变量名应与项目名保持一致(如 `AICONDUCTOR_API_KEY`)
93
-
94
- ### src/lib/\<module\>.js 编写规范(自实现逻辑型适用)
95
-
96
- - 每个模块专注单一功能,导出纯函数或类,不依赖 commander 等 CLI 框架
97
- - 异常向上抛出,由 `commands/` 层统一捕获处理
98
- - 可独立单元测试
99
-
100
- ### src/commands/\<topic\>.js 编写规范
101
-
102
- - 每个命令对应一个异步函数,接收业务参数、apiKey(可选)、format 参数
103
- - 需要 API Key 时,调用 `resolveApiKey` 解析,解析失败则抛出明确的错误提示
104
- - 按需过滤响应中不应暴露给用户的字段(如计费信息、内部 token 等)
105
- - 统一通过 `outputResult` / `outputError` 两个函数处理输出,成功 `exit(0)`,失败 `exit(1)`
106
- - `outputResult` 根据 format 参数决定输出格式:json 模式包裹为 `{ success: true, data }` 结构,text 模式直接输出数据
107
-
108
- ### bin/\<cli-name\>.js 编写规范
109
-
110
- - 顶部必须有 `#!/usr/bin/env node` shebang
111
- - 用 commander 的 `.command().addCommand()` 结构将各 topic 模块聚合为子命令树
112
- - 每个子命令定义参数(argument)和选项(option),需要 API Key 的命令提供 `-k, --api-key` 选项,所有命令提供 `-f, --format` 选项(默认 json)
113
- - action 回调只做参数传递,不含业务逻辑
114
-
115
- ### AI Agent 友好输出
116
- - 默认输出 JSON(`{ success: true, data: {...} }` / `{ success: false, error: "..." }`)
117
- - 成功 `exit(0)`,失败 `exit(1)`
118
- - 提供 `-f text` 选项供人类阅读
119
-
120
- ### 安全配置(.npmignore)
121
- 排除 `.env`、`node_modules`、开发脚本、本地配置等敏感或无关文件。
122
-
123
- ### 发布前检查
124
-
125
- **第一步:基础配置检查**
126
- - `#!/usr/bin/env node` shebang 存在
127
- - bin 路径正确且文件存在
128
- - `.env` 已被 `.npmignore` 排除
129
- - 版本号已更新
130
- - 运行 `npm pkg fix` 修复潜在格式问题
131
-
132
- **第二步:逐一运行本轮开发的每个命令行(必须全部通过才能继续)**
133
-
134
- 在本地通过 `node bin/<cli-name>.js` 或 `npx .` 的方式,对本轮新增或修改的每一个命令逐一执行真实调用,验证标准:
135
- - 命令能正常执行,无 crash、无未捕获异常
136
- - 成功场景:exit code 为 0,输出符合预期的 JSON 或 text 格式
137
- - 失败场景(如缺少参数、API Key 无效):exit code 为 1,输出包含明确错误信息
138
- - `--help` 输出包含所有参数和选项说明
139
-
140
- **验证流程:**
141
- 1. 列出本轮涉及的所有命令(新增 + 修改),逐条记录
142
- 2. 对每条命令至少执行一次成功场景的真实调用
143
- 3. 对有参数校验或鉴权逻辑的命令,额外执行一次失败场景验证
144
- 4. 全部通过后,在终端输出验证摘要(命令名 + 状态),再进入发布步骤
145
- 5. 任何一条命令验证失败,必须修复后重新验证,不得跳过直接发布
146
-
147
- ### 发布
148
- `npm login` → `npm publish`
149
- - 开启 2FA:加 `--otp=<验证码>`
150
- - 作用域包:加 `--access public`
151
- - 更新版本:先 `npm version patch/minor/major`
152
-
153
- ### 验证
154
- 全局安装后测试命令是否可用,确认 npm 包页面正常显示。
155
-
156
- ---
157
-
158
- ## 常见问题
159
-
160
- | 问题 | 解决方向 |
161
- |------|----------|
162
- | bin 名称警告 | 运行 `npm pkg fix` |
163
- | 403 发布失败 | 2FA 开启,加 `--otp` |
164
- | 安装后命令找不到 | 检查 shebang 和 bin 路径 |
165
- | 包名被占用 | 改名或用 `@scope/name` |
166
- | 版本冲突 | 先升级版本号再发布 |
@@ -1,119 +0,0 @@
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
@@ -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
- 修复后只重试原命令一次;如果仍失败,向用户展示原始错误信息和已尝试的修复步骤。
@@ -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
- 修复后只重试原命令一次;如果仍失败,向用户展示原始错误信息和已尝试的修复步骤。