aiconductor-cli 1.6.0 → 1.8.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 (92) hide show
  1. package/README.md +582 -488
  2. package/bin/aiconductor-cli.js +412 -351
  3. package/package.json +1 -1
  4. package/src/api.js +151 -3
  5. package/src/api.test.js +360 -4
  6. package/src/commands/content.js +184 -184
  7. package/src/commands/douyin.js +252 -0
  8. package/src/commands/html_publish.js +54 -54
  9. package/src/commands/md_publish.js +175 -175
  10. package/src/commands/web.js +69 -0
  11. package/src/commands/web_search.js +99 -99
  12. package/src/commands/wx.js +116 -116
  13. package/src/commands/xhs.js +763 -609
  14. package/src/lib/cli-utils.js +172 -172
  15. package/src/lib/daren-score.js +91 -0
  16. package/src/lib/daren-score.test.js +57 -0
  17. package/AGENTS.md +0 -193
  18. package/api_docs/aic_web_search.md +0 -84
  19. package/api_docs/audio_converter.md +0 -51
  20. package/api_docs/balance_query.md +0 -38
  21. package/api_docs/bing_search.md +0 -55
  22. package/api_docs/china_stock_data.md +0 -221
  23. package/api_docs/delete_published_webpage.md +0 -38
  24. package/api_docs/doubao_search.md +0 -80
  25. package/api_docs/douyin_link_to_text_v1.md +0 -50
  26. package/api_docs/douyin_link_to_text_v2.md +0 -50
  27. package/api_docs/douyin_user_detail.md +0 -65
  28. package/api_docs/douyin_user_search.md +0 -58
  29. package/api_docs/douyin_user_videos.md +0 -49
  30. package/api_docs/douyin_user_videos_async.md +0 -45
  31. package/api_docs/douyin_user_videos_async_query.md +0 -41
  32. package/api_docs/douyin_user_videos_max.md +0 -59
  33. package/api_docs/douyin_video_comments.md +0 -68
  34. package/api_docs/douyin_video_info.md +0 -70
  35. package/api_docs/douyin_video_search.md +0 -60
  36. package/api_docs/douyin_video_search_fast.md +0 -48
  37. package/api_docs/fast_ocr.md +0 -51
  38. package/api_docs/flow_article2podcast_creat.md +0 -41
  39. package/api_docs/flow_article2podcast_query.md +0 -41
  40. package/api_docs/flow_wx_history_articles.md +0 -45
  41. package/api_docs/generate_image.md +0 -68
  42. package/api_docs/get_duration.md +0 -37
  43. package/api_docs/hot_list_mixed.md +0 -122
  44. package/api_docs/html_publish.md +0 -50
  45. package/api_docs/html_publish_flexible.md +0 -65
  46. package/api_docs/image_resize.md +0 -58
  47. package/api_docs/image_to_permalink.md +0 -61
  48. package/api_docs/link_expander.md +0 -39
  49. package/api_docs/llm_proxy.md +0 -61
  50. package/api_docs/markitdown.md +0 -47
  51. package/api_docs/md_to_docx.md +0 -51
  52. package/api_docs/md_to_html.md +0 -53
  53. package/api_docs/md_to_mindmap.md +0 -52
  54. package/api_docs/md_to_pdf.md +0 -52
  55. package/api_docs/md_to_png.md +0 -53
  56. package/api_docs/md_to_txt.md +0 -51
  57. package/api_docs/md_to_wxhtml.md +0 -64
  58. package/api_docs/md_to_xhs.md +0 -87
  59. package/api_docs/md_to_xlsx.md +0 -52
  60. package/api_docs/portrait_enhancement.md +0 -69
  61. package/api_docs/published_webpages.md +0 -45
  62. package/api_docs/r2_uploader.md +0 -51
  63. package/api_docs/schedulerx_job_create.md +0 -56
  64. package/api_docs/transaction_query.md +0 -52
  65. package/api_docs/url_to_markdown.md +0 -50
  66. package/api_docs/video_download_url.md +0 -57
  67. package/api_docs/video_download_url_oss.md +0 -55
  68. package/api_docs/video_to_text.md +0 -48
  69. package/api_docs/video_to_text_v2.md +0 -49
  70. package/api_docs/volcengine_face_pretty.md +0 -55
  71. package/api_docs/volcengine_faceswap.md +0 -55
  72. package/api_docs/website_screenshot.md +0 -49
  73. package/api_docs/wx_access_token.md +0 -44
  74. package/api_docs/wx_article_analysis_data_push.md +0 -43
  75. package/api_docs/wx_article_data.md +0 -48
  76. package/api_docs/wx_article_style_rewrite.md +0 -45
  77. package/api_docs/wx_draft_add.md +0 -56
  78. package/api_docs/wx_draft_publish.md +0 -47
  79. package/api_docs/wx_history_articles.md +0 -89
  80. package/api_docs/wx_image_upload.md +0 -46
  81. package/api_docs/wx_md_to_html.md +0 -48
  82. package/api_docs/wx_rss_reader.md +0 -59
  83. package/api_docs/xhs_hot_list.md +0 -48
  84. package/api_docs/xhs_note_comments_fast.md +0 -54
  85. package/api_docs/xhs_note_info_v2.md +0 -45
  86. package/api_docs/xhs_note_info_v3.md +0 -69
  87. package/api_docs/xhs_note_publish.md +0 -54
  88. package/api_docs/xhs_note_search_v2.md +0 -73
  89. package/api_docs/xhs_note_search_v3.md +0 -54
  90. package/api_docs/xhs_user_info_v2.md +0 -61
  91. package/api_docs/xhs_user_notes_v2.md +0 -56
  92. package/api_docs/xhs_user_notes_v3.md +0 -48
@@ -1,56 +0,0 @@
1
- ## 接口信息
2
- - **URL**: `http://plugin.aiconductor.fun/api/wx_draft_add`
3
- - **方法**: `POST` / `GET`
4
- - **Content-Type**: `application/json`
5
- - **鉴权**: 请求头 `Authorization: Bearer <api_key>`(兼容 body/query 中 `api_key` 参数)
6
-
7
- ## 功能说明
8
- 新增微信公众号图文草稿:先上传封面图获取 `thumb_media_id`,再调用微信 `draft/add` 接口创建草稿。仅做 API 密钥校验,**不扣费**。
9
-
10
- ## 请求参数
11
-
12
- | 参数名 | 类型 | 必填 | 默认值 | 说明 |
13
- |--------|------|------|--------|------|
14
- | access_token | string | 是 | - | 微信公众号接口调用凭证(通过 wx_access_token 获取) |
15
- | title | string | 是 | - | 文章标题 |
16
- | content | string | 是 | - | 文章内容(HTML 格式) |
17
- | image_url | string | 是 | - | 封面图片 URL(需可公网访问,用于上传获取 thumb_media_id) |
18
- | author | string | 否 | 空 | 作者(微信限制不超过 16 字符,超出将截断) |
19
- | content_source_url | string | 否 | 空 | 原文链接 |
20
- | digest | string | 否 | 空 | 摘要 |
21
- | need_open_comment | int | 否 | `0` | 是否打开评论,`0` 否 / `1` 是 |
22
- | only_fans_can_comment | int | 否 | `0` | 是否仅粉丝可评论,`0` 否 / `1` 是 |
23
-
24
- > **鉴权参数**:api_key 通过请求头 `Authorization: Bearer <api_key>` 传递,不再列入请求参数表。
25
-
26
- ## 响应参数
27
-
28
- | 参数名 | 类型 | 说明 |
29
- |--------|------|------|
30
- | success | boolean | 是否成功 |
31
- | message | string | 响应消息 |
32
- | media_id | string | 创建成功的草稿 media_id(失败为空字符串,可传入 wx_draft_publish 发布) |
33
- | error_code | int | 错误码,成功为 `0`,失败为微信返回的 `errcode` |
34
-
35
- ## 请求示例
36
-
37
- ```bash
38
- curl -X POST "http://plugin.aiconductor.fun/api/wx_draft_add" \
39
- -H "Authorization: Bearer your_api_key" \
40
- -H "Content-Type: application/json" \
41
- -d '{
42
- "access_token": "your_wechat_access_token",
43
- "title": "我的第一篇文章",
44
- "content": "<p>这里是正文内容,支持 <b>加粗</b> 等 HTML 标签。</p>",
45
- "image_url": "https://example.com/cover.jpg",
46
- "author": "张三",
47
- "digest": "文章摘要"
48
- }'
49
- ```
50
-
51
- ## 注意事项
52
- 1. 本接口**不扣费**,仅验证 API 密钥。
53
- 2. `image_url` 必须可公网访问,接口会先下载并上传至微信素材库获取 `thumb_media_id`;上传失败则返回 `media_id` 为空。
54
- 3. `author` 字段超过 16 字符(或 8 个汉字)会被截断,以符合微信限制。
55
- 4. 返回的 `media_id` 需配合 `wx_draft_publish` 接口完成发布。
56
- 5. 微信端对 `content` 中图片有域名白名单等校验,建议正文图片先经 `wx_image_upload` 转为微信图片 URL。
@@ -1,47 +0,0 @@
1
- ## 接口信息
2
- - **URL**: `http://plugin.aiconductor.fun/api/wx_draft_publish`
3
- - **方法**: `POST` / `GET`
4
- - **Content-Type**: `application/json`
5
- - **鉴权**: 请求头 `Authorization: Bearer <api_key>`(兼容 body/query 中 `api_key` 参数)
6
-
7
- ## 功能说明
8
- 将已创建的图文草稿提交发布(微信 `freepublish/submit` 接口)。仅做 API 密钥校验,**不扣费**。注意:接口调用成功仅表示发布任务提交成功,实际发布结果由微信事件推送通知。
9
-
10
- ## 请求参数
11
-
12
- | 参数名 | 类型 | 必填 | 默认值 | 说明 |
13
- |--------|------|------|--------|------|
14
- | access_token | string | 是 | - | 微信公众号接口调用凭证(通过 wx_access_token 获取) |
15
- | media_id | string | 是 | - | 要发布的草稿 media_id(通过 wx_draft_add 获取) |
16
-
17
- > **鉴权参数**:api_key 通过请求头 `Authorization: Bearer <api_key>` 传递,不再列入请求参数表。
18
-
19
- ## 响应参数
20
-
21
- | 参数名 | 类型 | 说明 |
22
- |--------|------|------|
23
- | success | boolean | 是否成功(任务是否提交成功) |
24
- | message | string | 响应消息 |
25
- | publish_id | string | 发布任务 ID(成功时返回) |
26
- | msg_data_id | string | 消息的数据 ID |
27
- | errcode | int | 微信返回的错误码,`0` 表示成功 |
28
- | errmsg | string | 错误信息 |
29
- | code | int | HTTP 状态码,成功为 `200`(密钥/参数错误为 400/401,超时 504,其他异常 500) |
30
-
31
- ## 请求示例
32
-
33
- ```bash
34
- curl -X POST "http://plugin.aiconductor.fun/api/wx_draft_publish" \
35
- -H "Authorization: Bearer your_api_key" \
36
- -H "Content-Type: application/json" \
37
- -d '{
38
- "access_token": "your_wechat_access_token",
39
- "media_id": "your_draft_media_id"
40
- }'
41
- ```
42
-
43
- ## 注意事项
44
- 1. 本接口**不扣费**,仅验证 API 密钥。
45
- 2. 需先通过 `wx_draft_add` 获取草稿 `media_id`,再调用本接口提交发布。
46
- 3. 微信端为**异步发布**:本接口返回成功仅代表任务已提交,最终发布结果通过微信事件回调通知,需另行监听。
47
- 4. `access_token`、`media_id` 缺失时分别返回 `code=400`;密钥无效返回 `code=401`;调用微信超时返回 `code=504`。
@@ -1,89 +0,0 @@
1
- ## 接口信息
2
- - **URL**: `http://plugin.aiconductor.fun/api/wx_history_articles`
3
- - **方法**: `POST` / `GET`
4
- - **Content-Type**: `application/json`
5
- - **鉴权**: 请求头 `Authorization: Bearer <api_key>`(兼容 body/query 中 `api_key` 参数)
6
-
7
- ## 功能说明
8
- 获取微信公众号历史文章列表,支持自动翻页与按页计费。为**计费插件**:按成功翻页次数计费(每翻一页扣费一次),费用以 `api_services` 表(`service_code=get_wx_history_article`)配置为准。底层已由 `page` 迁移至 `offset + is_end` 翻页(兼容旧版 `total_page/now_page`),可通过 `max_pages` / `max_seconds` 控制自动翻页。
9
-
10
- ## 请求参数
11
-
12
- | 参数名 | 类型 | 必填 | 默认值 | 说明 |
13
- |--------|------|------|--------|------|
14
- | url | string | 否* | - | 微信文章链接(用于定位公众号)。与 `name` 至少提供一个 |
15
- | name | string | 否* | - | 公众号名称或微信 ID(调用参数名 `name`,上游映射为 `nickname`) |
16
- | max_pages | int | 否 | `1` | 最大翻页数量 |
17
- | max_seconds | int | 否 | `50` | 最长运行时长(秒),超时即停止翻页,**最大值 170**(默认50,传值>170自动截断为170,预留10s给平台180s超时) |
18
-
19
- > **说明**:`url` 与 `name` 二者至少提供一个,否则返回失败。
20
- > **鉴权参数**:api_key 通过请求头 `Authorization: Bearer <api_key>` 传递,不再列入请求参数表。
21
-
22
- ## 响应参数
23
-
24
- | 参数名 | 类型 | 说明 |
25
- |--------|------|------|
26
- | success | boolean | 是否成功 |
27
- | message | string | 响应消息 |
28
- | billing | object | 计费信息,含以下子字段 |
29
- | billing.service_fee | float | 单页计费单价 |
30
- | billing.discount_applied | boolean | 是否应用了折扣(本插件恒为 `true`) |
31
- | billing.balance_before | float | 扣费前账户余额 |
32
- | billing.balance_after | float | 扣费后账户余额 |
33
- | billing.currency | string | 货币单位,固定 `CNY` |
34
- | billing.pages_billed | int | 实际成功计费(翻页)页数 |
35
- | billing.total_service_fee | float | 累计扣费总额 |
36
- | billing.transaction_ids | array | 交易流水 ID 列表(每页一条) |
37
- | data | object | 业务数据 |
38
- | data.code | int | 上游返回码,`0` 为成功 |
39
- | data.msg | string | `success` / `error` |
40
- | data.data | array | 文章列表(已自动合并多页),每项结构见下表 |
41
- | data.data[].position | int | 当次群发中的位置(1 开始) |
42
- | data.data[].url | string | 文章链接(`mp.weixin.qq.com/s?...`) |
43
- | data.data[].sn | string | 文章唯一 sn |
44
- | data.data[].post_time | int | 发布时间戳(秒) |
45
- | data.data[].post_time_str | string | 发布时间字符串,如 `2026-08-27 16:32:59` |
46
- | data.data[].cover_url | string | 封面图 URL |
47
- | data.data[].original | int | 是否原创:`0` 否 `1` 是 |
48
- | data.data[].item_show_type | int | 展示类型 |
49
- | data.data[].digest | string | 摘要(可能为空) |
50
- | data.data[].title | string | 文章标题 |
51
- | data.data[].appmsgid | int | appmsg ID |
52
- | data.data[].update_time | int | 更新时间戳(秒) |
53
- | data.data[].types | int | 类型标识 |
54
- | data.data[].pic_cdn_url_235_1 | string | 封面 CDN 2.35:1 |
55
- | data.data[].pic_cdn_url_16_9 | string | 封面 CDN 16:9 |
56
- | data.data[].pic_cdn_url_1_1 | string | 封面 CDN 1:1 |
57
- | data.data[].source_url | string | 原文链接(转载时有值,否则为空) |
58
- | data.data[].read | int | 阅读数 |
59
- | data.data[].zan | int | 点赞数 |
60
- | data.total_num | int | 历史文章总数(旧版上游返回,新版通常为 `0`,以 `data.data.length` 为准) |
61
- | data.total_page | int | 总页数(旧版上游返回,新版通常为 `0`) |
62
- | data.publish_count | int | 发布次数(旧版上游返回,新版为 `0`) |
63
- | data.masssend_count | int | 群发次数(旧版上游返回,新版为 `0`) |
64
- | data.now_page | int | 实际已翻页数(等于 `billing.pages_billed`) |
65
- | data.now_page_articles_num | int | 已获取文章总数(等于 `data.data.length`) |
66
- | data.mp_nickname | string | 公众号昵称(使用 `name` 参数时返回,兼容 `nickname`) |
67
- | data.mp_wxid | string | 公众号 wxid(兼容 `wxid`) |
68
- | data.mp_ghid | string | 公众号 ghid(兼容 `ghid`) |
69
- | data.head_img | string | 公众号头像 |
70
-
71
- ## 请求示例
72
-
73
- ```bash
74
- curl -X POST "http://plugin.aiconductor.fun/api/wx_history_articles" \
75
- -H "Authorization: Bearer your_api_key" \
76
- -H "Content-Type: application/json" \
77
- -d '{
78
- "name": "人民日报",
79
- "max_pages": 3,
80
- "max_seconds": 50
81
- }'
82
- ```
83
-
84
- ## 注意事项
85
- 1. 本接口**按页计费**,每成功翻一页扣费一次;已扣费的页不退还。新版翻页依据上游 `offset` + `is_end`(`0` 表示还有下页),已兼容旧版 `total_page/now_page`。
86
- 2. **停止翻页条件**:余额不足、API 返回错误(`code!=0`)、`is_end=1` 或 `offset` 为空、达到 `max_pages` 或超过 `max_seconds` 任一满足即停止;`billing.pages_billed` / `total_service_fee` 反映实际扣费。
87
- 3. **不扣费场景**:缺少 `url` 与 `name`、API 密钥无效、账户被禁用——此时 `pages_billed=0`、`total_service_fee=0`、余额不变。
88
- 4. `data.data[]` 为跨页合并后的文章列表,单页条数由上游决定;`data.total_num/total_page/publish_count/masssend_count` 在新版上游中可能为 `0`,请以 `data.data.length` / `now_page_articles_num` 为准。
89
- 5. 每页请求最多重试 10 次;`max_seconds` 默认 50s,最大 170s(平台兜底180s),建议按需设置以避免触发平台 504 超时。
@@ -1,46 +0,0 @@
1
- ## 接口信息
2
- - **URL**: `http://plugin.aiconductor.fun/api/wx_image_upload`
3
- - **方法**: `POST` / `GET`
4
- - **Content-Type**: `application/json`
5
- - **鉴权**: 请求头 `Authorization: Bearer <api_key>`(兼容 body/query 中 `api_key` 参数)
6
-
7
- ## 功能说明
8
- 从指定 URL 下载图片并上传到微信公众号素材库,返回微信图片 URL。仅做 API 密钥校验,**不扣费**。
9
-
10
- ## 请求参数
11
-
12
- | 参数名 | 类型 | 必填 | 默认值 | 说明 |
13
- |--------|------|------|--------|------|
14
- | access_token | string | 是 | - | 微信公众号接口调用凭证(通过 wx_access_token 获取) |
15
- | image_url | string | 是 | - | 待上传的图片公网 URL 地址 |
16
-
17
- > **鉴权参数**:api_key 通过请求头 `Authorization: Bearer <api_key>` 传递,不再列入请求参数表。
18
-
19
- ## 响应参数
20
-
21
- | 参数名 | 类型 | 说明 |
22
- |--------|------|------|
23
- | success | boolean | 是否成功 |
24
- | message | string | 响应消息 |
25
- | url | string | 上传成功后微信返回的图片 URL(失败为空字符串) |
26
- | errcode | int | 错误码,`0` 表示成功,非 0 或 `-1` 表示失败 |
27
- | errmsg | string | 错误描述信息 |
28
-
29
- ## 请求示例
30
-
31
- ```bash
32
- curl -X POST "http://plugin.aiconductor.fun/api/wx_image_upload" \
33
- -H "Authorization: Bearer your_api_key" \
34
- -H "Content-Type: application/json" \
35
- -d '{
36
- "access_token": "your_wechat_access_token",
37
- "image_url": "https://example.com/cover.jpg"
38
- }'
39
- ```
40
-
41
- ## 注意事项
42
- 1. 本接口**不扣费**,仅验证 API 密钥。
43
- 2. 仅支持 `jpg` / `jpeg` / `png` 格式,且文件大小需在 **1MB 以内**,超出限制将返回失败。
44
- 3. `image_url` 须为可公网访问的图片地址;接口会校验响应 `Content-Type` 是否为图片类型。
45
- 4. `access_token` 为必填,缺失时返回 `errcode=-1` 的失败响应。
46
- 5. 上传使用的微信接口为 `cgi-bin/media/uploadimg`,返回的是微信图片外链 URL。
@@ -1,48 +0,0 @@
1
- ## 接口信息
2
- - **URL**: `http://plugin.aiconductor.fun/api/wx_md_to_html`
3
- - **方法**: `POST` / `GET`
4
- - **Content-Type**: `application/json`
5
- - **鉴权**: 请求头 `Authorization: Bearer <api_key>`(兼容 body/query 中 `api_key` 参数)
6
-
7
- ## 功能说明
8
- 将 Markdown 文本转换为微信公众号兼容的 HTML(遵循 V2.0 样式规范:基于 Section、Flex 列表、内联样式)。仅做 API 密钥校验,**不扣费**。
9
-
10
- ## 请求参数
11
-
12
- | 参数名 | 类型 | 必填 | 默认值 | 说明 |
13
- |--------|------|------|--------|------|
14
- | md_text | string | 是 | - | 待转换的 Markdown 文本内容 |
15
- | primary_color | string | 否 | `#07c160` | 主题色(标题、列表标记、链接、加粗等用色,微信绿) |
16
- | text_color | string | 否 | `#333333` | 正文文字颜色 |
17
- | secondary_color | string | 否 | `#888888` | 次要文本颜色 |
18
- | font_size | int | 否 | `16` | 正文字号(px) |
19
- | line_height | float | 否 | `1.75` | 行高 |
20
-
21
- > **鉴权参数**:api_key 通过请求头 `Authorization: Bearer <api_key>` 传递,不再列入请求参数表。
22
-
23
- ## 响应参数
24
-
25
- | 参数名 | 类型 | 说明 |
26
- |--------|------|------|
27
- | success | boolean | 是否成功 |
28
- | message | string | 响应消息(成功示例:「转换成功」;空内容示例:「转换成功(空内容)」) |
29
- | html | string | 转换后的微信公众号 HTML 字符串(失败为空字符串) |
30
-
31
- ## 请求示例
32
-
33
- ```bash
34
- curl -X POST "http://plugin.aiconductor.fun/api/wx_md_to_html" \
35
- -H "Authorization: Bearer your_api_key" \
36
- -H "Content-Type: application/json" \
37
- -d '{
38
- "md_text": "# 标题\n\n这是一段正文,支持 **加粗**、[链接](https://example.com) 与列表:\n\n- 项目一\n- 项目二",
39
- "primary_color": "#07c160",
40
- "text_color": "#333333"
41
- }'
42
- ```
43
-
44
- ## 注意事项
45
- 1. 本接口**不扣费**,仅验证 API 密钥。
46
- 2. 当 `md_text` 为空时仍返回 `success=true` 且 `html` 为空字符串(视为空内容转换成功)。
47
- 3. 转换支持标题、段落、有序/无序列表(转为 Flex Section)、引用、代码块、内联代码、图片、表格、加粗、链接等常见 Markdown 元素。
48
- 4. 输出为带内联样式的 HTML 片段,可直接粘贴至公众号编辑器。
@@ -1,59 +0,0 @@
1
- ## 接口信息
2
- - **URL**: `http://plugin.aiconductor.fun/api/wx_rss_reader`
3
- - **方法**: `POST` / `GET`
4
- - **Content-Type**: `application/json`
5
- - **鉴权**: 请求头 `Authorization: Bearer <api_key>`(兼容 body/query 中 `api_key` 参数)
6
-
7
- ## 功能说明
8
- 批量读取微信公众号的 RSS 订阅文章(支持多公众号并发)。为**计费插件**:按公众号数量计费(单价 × 公众号个数),费用以 `api_services` 表(`service_code=wechat_rss_reader`)配置为准。
9
-
10
- ## 请求参数
11
-
12
- | 参数名 | 类型 | 必填 | 默认值 | 说明 |
13
- |--------|------|------|--------|------|
14
- | wx_names | string | 是 | - | 公众号名称,多个用英文逗号隔开,如 `公众号A,公众号B` |
15
- | recent_days | int | 否 | `3` | 获取最近几天内的文章 |
16
- | max_items | int | 否 | `5` | 每个公众号最多返回几篇 |
17
- | use_json_mode | bool | 否 | `false` | 是否启用 JSON 文件模式:为 `true` 时结果打包上传 OSS 并返回 `data_url`,`data` 为 null |
18
-
19
- > **鉴权参数**:api_key 通过请求头 `Authorization: Bearer <api_key>` 传递,不再列入请求参数表。
20
-
21
- ## 响应参数
22
-
23
- | 参数名 | 类型 | 说明 |
24
- |--------|------|------|
25
- | success | boolean | 是否成功(整体任务是否提交完成) |
26
- | message | string | 响应消息,如「批量处理完成: 成功 X 个,失败 Y 个」 |
27
- | billing | object | 计费信息,含以下子字段 |
28
- | billing.service_code | string | 服务代码 `wechat_rss_reader` |
29
- | billing.unit_fee | float | 单个公众号的单价 |
30
- | billing.total_fee | float | 总费用 = 单价 × 公众号数量 |
31
- | billing.count | int | 本次请求的公众号数量 |
32
- | billing.transaction_id | int | 交易流水 ID |
33
- | data_url | string | JSON 模式下的 OSS 结果文件链接(`use_json_mode=false` 时为 null) |
34
- | data | array | 非 JSON 模式下的解析结果列表(`use_json_mode=true` 时为 null),每个元素含以下字段 |
35
- | data[].wx_name | string | 公众号名称 |
36
- | data[].success | boolean | 该公众号是否解析成功 |
37
- | data[].message | string | 该公众号的解析说明 |
38
- | data[].data | object | 该公众号的 RSS 解析结果(结构取决于 RSS 解析服务返回) |
39
-
40
- ## 请求示例
41
-
42
- ```bash
43
- curl -X POST "http://plugin.aiconductor.fun/api/wx_rss_reader" \
44
- -H "Authorization: Bearer your_api_key" \
45
- -H "Content-Type: application/json" \
46
- -d '{
47
- "wx_names": "人民日报,央视新闻",
48
- "recent_days": 3,
49
- "max_items": 5,
50
- "use_json_mode": false
51
- }'
52
- ```
53
-
54
- ## 注意事项
55
- 1. 本接口**计费**,按公众号数量(×单价)一次性扣费;余额不足时不扣费并返回失败。
56
- 2. API 密钥无效或账户被禁用时不扣费。
57
- 3. 公众号需已在后台 `wechat_rss_feeds` 表中配置对应 RSS 链接,未配置或查询不到则返回该公众号 `success=false`。
58
- 4. 多公众号并发上限为 5;单公众号 RSS 解析调用最多重试 3 次,单次请求整体超时 60 秒。
59
- 5. `use_json_mode=true` 时结果以 JSON 文件形式上传至 OSS(`temporary_90` 目录)并返回 `data_url`,便于批量数据落地。
@@ -1,48 +0,0 @@
1
- ## 接口信息
2
- - **URL**: `http://plugin.aiconductor.fun/api/xhs_hot_list`
3
- - **方法**: `POST` / `GET`
4
- - **Content-Type**: `application/json`
5
- - **鉴权**: 请求头 `Authorization: Bearer <api_key>`(兼容 body/query 中 `api_key` 参数)
6
-
7
- ## 功能说明
8
- 获取小红书实时热榜(热门话题/关键词榜单),返回名次、标题、链接、热度值及趋势。按次计费,费用以 api_services 表配置为准(service_code: `xhs_hot_list`)。
9
-
10
- ## 请求参数
11
-
12
- | 参数名 | 类型 | 必填 | 默认值 | 说明 |
13
- |--------|------|------|--------|------|
14
- | 无业务参数 | — | — | — | 仅需有效的 api_key 鉴权,无需其他业务参数 |
15
-
16
- > **鉴权参数**:api_key 通过请求头 `Authorization: Bearer <api_key>` 传递,不再列入请求参数表。
17
-
18
- ## 响应参数
19
-
20
- | 参数名 | 类型 | 说明 |
21
- |--------|------|------|
22
- | success | boolean | 是否成功 |
23
- | message | string | 响应消息 |
24
- | billing | object | 计费信息(service_fee / discount_applied / balance_before / balance_after / currency / transaction_id) |
25
- | data.date | string | 热榜日期 |
26
- | data.items | array[object] | 热榜条目列表(见下) |
27
-
28
- `data.items[]` 字段:`rank`(int)、`title`(string)、`url`(string)、`item_id`(string)、`hot`(string)、`hot_value`(int)、`trend`(string)。
29
-
30
- ## 请求示例
31
-
32
- ```bash
33
- curl -X GET "http://plugin.aiconductor.fun/api/xhs_hot_list" \
34
- -H "Authorization: Bearer your_api_key"
35
- ```
36
-
37
- ```bash
38
- curl -X POST "http://plugin.aiconductor.fun/api/xhs_hot_list" \
39
- -H "Authorization: Bearer your_api_key" \
40
- -H "Content-Type: application/json" \
41
- -d '{}'
42
- ```
43
-
44
- ## 注意事项
45
- 1. 接口无业务参数,仅需有效的 api_key;余额不足、密钥无效或账户禁用均不扣费。
46
- 2. 上游返回业务错误或热榜为空时返回失败且不扣费。
47
- 3. 采用后扣费模式:仅成功取到热榜数据后才扣费,网络/上游异常不扣费。
48
- 4. 上游单页请求超时 55s。
@@ -1,54 +0,0 @@
1
- ## 接口信息
2
- - **URL**: `http://plugin.aiconductor.fun/api/xhs_note_comments_fast`
3
- - **方法**: `POST` / `GET`
4
- - **Content-Type**: `application/json`
5
- - **鉴权**: 请求头 `Authorization: Bearer <api_key>`(兼容 body/query 中 `api_key` 参数)
6
-
7
- ## 功能说明
8
- 根据笔记 ID 或分享链接获取小红书笔记的一级评论数据,支持自动翻页与时间控制,按页计费。费用以 api_services 表配置为准(service_code: `xhs_get_note_comment_fast`)。
9
-
10
- ## 请求参数
11
-
12
- | 参数名 | 类型 | 必填 | 默认值 | 说明 |
13
- |--------|------|------|--------|------|
14
- | note_id | string | 否 | None | 笔记 ID(`share_text` 为空时必填) |
15
- | xsec_token | string | 否 | None | URL 或列表中的 xsec_token 值(`share_text` 为空时必填) |
16
- | share_text | string | 否 | None | web 端 URL 链接(`note_id` 为空时必填) |
17
- | max_pages | int | 否 | 1 | 最大翻页数 |
18
- | max_seconds | int | 否 | 50 | 最长运行时长(秒) |
19
-
20
- > **鉴权参数**:api_key 通过请求头 `Authorization: Bearer <api_key>` 传递,不再列入请求参数表。
21
- > `note_id`+`xsec_token` 与 `share_text` 两组参数至少提供一组。
22
-
23
- ## 响应参数
24
-
25
- | 参数名 | 类型 | 说明 |
26
- |--------|------|------|
27
- | success | boolean | 是否成功 |
28
- | message | string | 响应消息 |
29
- | billing | object | 计费信息(service_fee / discount_applied / balance_before / balance_after / currency / pages_billed / total_service_fee / transaction_ids) |
30
- | data.code | int | 上游返回码 |
31
- | data.user_id | string | 笔记所属用户 ID |
32
- | data.comments | array[object] | 评论列表(已过滤 liked/show_tags/status/at_users 字段,含 sub_comments 子评论) |
33
- | data.cursor | string | 下一页翻页游标 |
34
- | data.has_more | boolean | 是否还有更多数据 |
35
- | data.time | int | 处理完成时间戳(毫秒) |
36
- | data.xsec_token | string | 笔记 xsec_token |
37
- | data.total_pages | int | 实际抓取页数 |
38
- | data.total_comments | int | 评论总数 |
39
-
40
- ## 请求示例
41
-
42
- ```bash
43
- curl -X POST "http://plugin.aiconductor.fun/api/xhs_note_comments_fast" \
44
- -H "Authorization: Bearer your_api_key" \
45
- -H "Content-Type: application/json" \
46
- -d '{"note_id": "65dxxxx", "xsec_token": "xxx_token", "max_pages": 2}'
47
- ```
48
-
49
- ## 注意事项
50
- 1. 按页计费:每成功抓取一页计费一次,余额不足、超时或上游无更多数据自动停止翻页。
51
- 2. 采用后扣费模式:仅成功获取并解析后才扣费,失败不扣费。
52
- 3. `note_id`+`xsec_token` 或 `share_text` 至少一组;上游 `code != 0` 时停止翻页。
53
- 4. 评论数据已剔除内部字段(liked/show_tags/status/at_users),便于前端使用。
54
- 5. 上游单页请求超时 55s。
@@ -1,45 +0,0 @@
1
- ## 接口信息
2
- - **URL**: `http://plugin.aiconductor.fun/api/xhs_note_info_v2`
3
- - **方法**: `POST` / `GET`
4
- - **Content-Type**: `application/json`
5
- - **鉴权**: 请求头 `Authorization: Bearer <api_key>`(兼容 body/query 中 `api_key` 参数)
6
-
7
- ## 功能说明
8
- 小红书笔记信息提取插件 V2,支持从分享文本或直接链接中提取笔记标题、内容、图片和视频信息,集成 API 密钥验证与计费。按次计费,费用以 api_services 表配置为准(service_code: `get_xhs_note_info_v2`)。
9
-
10
- ## 请求参数
11
-
12
- | 参数名 | 类型 | 必填 | 默认值 | 说明 |
13
- |--------|------|------|--------|------|
14
- | url | string | 是 | — | 网页地址或包含链接的分享文本 |
15
-
16
- > **鉴权参数**:api_key 通过请求头 `Authorization: Bearer <api_key>` 传递,不再列入请求参数表。
17
-
18
- ## 响应参数
19
-
20
- | 参数名 | 类型 | 说明 |
21
- |--------|------|------|
22
- | success | boolean | 是否成功 |
23
- | message | string | 响应消息 |
24
- | title | string | 笔记标题(已去除「 - 小红书」后缀) |
25
- | content | string | 笔记内容(meta description) |
26
- | image_urls | array[string] | 图片链接列表(og:image) |
27
- | video_url | string | 视频链接(og:video) |
28
- | video_duration | string | 视频时长(og:videotime) |
29
- | billing | object | 计费信息(service_fee / discount_applied / balance_before / balance_after / currency / transaction_id) |
30
-
31
- ## 请求示例
32
-
33
- ```bash
34
- curl -X POST "http://plugin.aiconductor.fun/api/xhs_note_info_v2" \
35
- -H "Authorization: Bearer your_api_key" \
36
- -H "Content-Type: application/json" \
37
- -d '{"url": "https://www.xiaohongshu.com/explore/65dxxxx?xsec_token=xxx&xsec_source=pc_pgy"}'
38
- ```
39
-
40
- ## 注意事项
41
- 1. 采用后扣费模式:仅在页面成功访问并提取到信息后才扣费;密钥无效、账户禁用、页面不可访问、解析异常等均不扣费。
42
- 2. 输入支持直接链接,也支持粘贴分享文本,插件会自动从文本中提取链接(`remove_params=False` 保留参数)。
43
- 3. 若链接为 `xhslink.com` 短链,会自动解析为原始长链接(超时 10s),解析失败则继续用原链接尝试。
44
- 4. 标题自动去除末尾「 - 小红书」后缀;内容取自页面 `meta[name=description]`。
45
- 5. 上游页面请求超时 55s,超時或网络异常时返回失败且不扣费。
@@ -1,69 +0,0 @@
1
- ## 接口信息
2
- - **URL**: `http://plugin.aiconductor.fun/api/xhs_note_info_v3`
3
- - **方法**: `POST` / `GET`
4
- - **Content-Type**: `application/json`
5
- - **鉴权**: 请求头 `Authorization: Bearer <api_key>`(兼容 body/query 中 `api_key` 参数)
6
-
7
- ## 功能说明
8
- 根据笔记ID获取小红书笔记详情,包括标题、描述、用户信息、图片列表、互动数据、标签等。按次计费。
9
-
10
- ## 请求参数
11
-
12
- | 参数名 | 类型 | 必填 | 默认值 | 说明 |
13
- |--------|------|------|--------|------|
14
- | note_id | string | 是 | | 笔记ID,从小红书链接 `/explore/` 后提取,如 `6915bf1300000000070380e4` |
15
-
16
- > **鉴权参数**:api_key 通过请求头 `Authorization: Bearer <api_key>` 传递,不再列入请求参数表。
17
-
18
- ## 响应参数
19
-
20
- | 参数名 | 类型 | 说明 |
21
- |--------|------|------|
22
- | success | boolean | 是否成功 |
23
- | message | string | 响应消息 |
24
- | note_data | object | 笔记详情数据 |
25
- | note_data.note_id | string | 笔记ID |
26
- | note_data.type | string | 笔记类型(normal/video等) |
27
- | note_data.title | string | 笔记标题 |
28
- | note_data.desc | string | 笔记描述 |
29
- | note_data.time | integer | 发布时间(毫秒时间戳) |
30
- | note_data.video | string | 视频信息(图文笔记为空) |
31
- | note_data.user | object | 用户信息 |
32
- | note_data.user.user_id | string | 用户ID |
33
- | note_data.user.nickname | string | 用户昵称 |
34
- | note_data.user.avatar | string | 用户头像URL |
35
- | note_data.image_list | array | 图片列表 |
36
- | note_data.image_list[].url | string | 图片URL |
37
- | note_data.image_list[].width | integer | 图片宽度 |
38
- | note_data.image_list[].height | integer | 图片高度 |
39
- | note_data.image_list[].live_photo | boolean | 是否为Live Photo |
40
- | note_data.interact_info | object | 互动数据 |
41
- | note_data.interact_info.liked_count | string | 点赞数 |
42
- | note_data.interact_info.collected_count | string | 收藏数 |
43
- | note_data.interact_info.comment_count | string | 评论数 |
44
- | note_data.interact_info.share_count | string | 分享数 |
45
- | note_data.tag_list | array | 标签列表 |
46
- | note_data.tag_list[].id | string | 标签ID |
47
- | note_data.tag_list[].name | string | 标签名称 |
48
- | note_data.tag_list[].type | string | 标签类型 |
49
- | billing | object | 计费信息 |
50
- | billing.service_fee | float | 服务费 |
51
- | billing.discount_applied | boolean | 是否应用折扣 |
52
- | billing.balance_before | float | 扣费前余额 |
53
- | billing.balance_after | float | 扣费后余额 |
54
- | billing.currency | string | 货币类型(CNY) |
55
- | billing.transaction_id | string | 交易ID |
56
-
57
- ## 请求示例
58
-
59
- ```bash
60
- curl -X POST "http://plugin.aiconductor.fun/api/xhs_note_info_v3" \
61
- -H "Authorization: Bearer your_api_key" \
62
- -H "Content-Type: application/json" \
63
- -d '{"note_id": "6915bf1300000000070380e4"}'
64
- ```
65
-
66
- ## 注意事项
67
- 1. note_id 从小红书链接中提取,链接格式为 `https://www.xiaohongshu.com/explore/{note_id}`
68
- 2. 笔记可能因被隐藏、删除或设置访问权限而无法获取,此时返回失败信息且不扣费
69
- 3. 采用后扣费模式,仅笔记详情获取成功时才扣费
@@ -1,54 +0,0 @@
1
- ## 接口信息
2
- - **URL**: `http://plugin.aiconductor.fun/api/xhs_note_publish`
3
- - **方法**: `POST` / `GET`
4
- - **Content-Type**: `application/json`
5
- - **鉴权**: 请求头 `Authorization: Bearer <api_key>`(兼容 body/query 中 `api_key` 参数)
6
-
7
- ## 功能说明
8
- 生成小红书扫码发布 H5 页面与二维码,支持图文/视频两种笔记类型,可选转存素材到 OSS。按次计费,费用以 api_services 表配置为准(service_code: `xhs_note_publish`(普通)/ `xhs_note_publish_pro`(含 OSS 转存))。
9
-
10
- ## 请求参数
11
-
12
- | 参数名 | 类型 | 必填 | 默认值 | 说明 |
13
- |--------|------|------|--------|------|
14
- | type | string | 是 | — | 笔记类型:`normal`(图文)或 `video`(视频) |
15
- | title | string | 否 | "" | 标题,最多 20 字符(中文=1,英文/数字=0.5) |
16
- | content | string | 否 | "" | 正文,最多 1000 字符 |
17
- | images | array[string] | 否 | [] | 图片 URL 列表(`normal` 类型必填,最多 18 张,需公网 http(s)) |
18
- | video | string | 否 | "" | 视频 URL(`video` 类型必填,需公网 http(s)) |
19
- | cover | string | 否 | "" | 封面图 URL(`video` 类型可选,需公网 http(s)) |
20
- | transfer_to_oss | bool | 否 | false | 是否将素材转存到 OSS(视频上限 200MB,图片上限 32MB) |
21
-
22
- > **鉴权参数**:api_key 通过请求头 `Authorization: Bearer <api_key>` 传递,不再列入请求参数表。
23
-
24
- ## 响应参数
25
-
26
- | 参数名 | 类型 | 说明 |
27
- |--------|------|------|
28
- | success | boolean | 是否成功 |
29
- | message | string | 响应消息 |
30
- | data.id | string | 笔记 ID |
31
- | data.url | string | 发布页 URL(上传至 OSS) |
32
- | data.qrcode | string | 发布页二维码(base64 data URL) |
33
- | data.transfer_to_oss | boolean | 是否转存了素材到 OSS |
34
- | data.media | object | 最终使用的素材(见下) |
35
- | data.media.images | array[string] | 图片地址(转存后为 OSS 地址) |
36
- | data.media.video | string | 视频地址(转存后为 OSS 地址) |
37
- | data.media.cover | string | 封面地址(转存后为 OSS 地址) |
38
- | billing | object | 计费信息(service_fee / discount_applied / balance_before / balance_after / currency / transaction_id) |
39
-
40
- ## 请求示例
41
-
42
- ```bash
43
- curl -X POST "http://plugin.aiconductor.fun/api/xhs_note_publish" \
44
- -H "Authorization: Bearer your_api_key" \
45
- -H "Content-Type: application/json" \
46
- -d '{"type": "normal", "title": "周末探店", "content": "分享一家很棒的咖啡馆", "images": ["https://example.com/cover.jpg"]}'
47
- ```
48
-
49
- ## 注意事项
50
- 1. 参数校验失败(`type` 非法、标题/正文超长、图文缺 images、视频缺 video、URL 非公网等)不扣费,返回 `billing` 余额均为 0。
51
- 2. 图片/视频/封面 URL 必须是公网可访问的 http(s) 地址,并有 SSRF 防护(禁止内网、localhost 及非公网 IP)。
52
- 3. 视频上限 200MB、图片上限 32MB,下载时最多 4 次重定向。
53
- 4. 实际发布需在移动端小红书 APP 内完成;PC 端仅用于预览与扫码,调用方拿到 `url`/`qrcode` 后引导用户在手机打开。
54
- 5. 采用后扣费模式:H5 页面生成并上传成功后才扣费,异常不扣费。