socialdatax-skills 0.2.31 → 0.2.32

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/README.md CHANGED
@@ -86,7 +86,7 @@ Common search phrases for this skill package:
86
86
  - Sensitive Words Check MCP server name: `sensitive-check`
87
87
  - Sensitive Words Check future MCP registry name: `com.socialdatax/sensitive-check`
88
88
  - Unified MCP registry name: none; this package installs skills and calls explicit platform services.
89
- - Current public capability version: `0.2.31`
89
+ - Current public capability version: `0.2.32`
90
90
 
91
91
  ## Direct CLI
92
92
 
@@ -172,8 +172,8 @@ npx -y socialdatax-skills@latest wechat comments --object-id "<object_id>" --obj
172
172
  npx -y socialdatax-skills@latest wechat comments --object-id "<object_id>" --object-nonce-id "<object_nonce_id>" --all --include-replies --pretty
173
173
  npx -y socialdatax-skills@latest wechat comments --url "<wechat_video_url_or_share_text>" --pretty
174
174
  npx -y socialdatax-skills@latest wechat replies --object-id "<object_id>" --object-nonce-id "<object_nonce_id>" --comment-id "<comment_id>" --pretty
175
- npx -y socialdatax-skills@latest wechat user-info --user-id "<finder_user_id>" --pretty
176
- npx -y socialdatax-skills@latest wechat user-posts --user-id "<finder_user_id>" --pretty
175
+ npx -y socialdatax-skills@latest wechat user-info --user-id "<v2_finder_user_id>" --pretty
176
+ npx -y socialdatax-skills@latest wechat user-posts --user-id "<v2_finder_user_id>" --pretty
177
177
  npx -y socialdatax-skills@latest wechat user-posts --url "<wechat_video_url_or_share_text>" --pretty
178
178
  npx -y socialdatax-skills@latest wechat transcript --url "<wechat_video_url_or_share_text>" --pretty
179
179
  npx -y socialdatax-skills@latest wechat transcript --encrypted-object-id "<encrypted_object_id>" --pretty
@@ -429,8 +429,8 @@ Current WeChat / 微信 workflows include:
429
429
  - Fetch paginated first-level comments for comment analysis.
430
430
  - Fetch paginated replies under a first-level comment; pass `object_id`, `object_nonce_id`, and `comment_id`.
431
431
  - Continue WeChat Channels list pagination only when `next_page_token` is non-empty; an empty string means there are no more results to request.
432
- - Read creator profile data from a finder user_id.
433
- - Fetch paginated creator video lists from a finder user_id or a video link/share text.
432
+ - Read creator profile data from a `v2_...@finder` user_id.
433
+ - Fetch paginated creator video lists from a `v2_...@finder` user_id or a video link/share text.
434
434
  - Submit and check WeChat Channels / 视频号 video 口播转文字 / speech-to-text transcript jobs; submit tools 提交后最多等待 210 秒,未完成时继续查询同一个 job_id 直到终态.
435
435
 
436
436
  Current Sensitive Words Check workflows include:
@@ -537,8 +537,8 @@ Current Sensitive Words Check workflows include:
537
537
  | `wechat_get_video_comments_by_object_id` | Fetch paginated first-level comments when object_id and object_nonce_id are known. |
538
538
  | `wechat_get_video_comments_by_url` | Fetch paginated first-level comments directly from a WeChat Channels / 视频号 video link or share text. |
539
539
  | `wechat_get_video_comment_replies_by_comment_id` | Fetch paginated replies under a first-level comment by object_id, object_nonce_id, and comment_id. |
540
- | `wechat_get_user_info_by_user_id` | Fetch creator profile data when the finder user_id is already known. |
541
- | `wechat_get_user_posted_videos_by_user_id` | Fetch a paginated list of videos published by a creator when the finder user_id is already known. |
540
+ | `wechat_get_user_info_by_user_id` | Fetch creator profile data when the `v2_...@finder` user_id is already known. |
541
+ | `wechat_get_user_posted_videos_by_user_id` | Fetch a paginated list of videos published by a creator when the `v2_...@finder` user_id is already known. |
542
542
  | `wechat_get_user_posted_videos_by_url` | Fetch a paginated list of videos published by a creator from a video link or share text. |
543
543
  | `wechat_submit_video_speech_text_by_video_url` | Submit a WeChat Channels / 视频号 video speech-to-text transcript job from a video link or share text; submit waits up to 210 seconds. If unfinished, continue checking the same job_id with get-job wait_seconds up to 240 until is_terminal is true. |
544
544
  | `wechat_submit_video_speech_text_by_encrypted_object_id` | Submit a WeChat Channels / 视频号 video speech-to-text transcript job when encrypted_object_id is already known; submit waits up to 210 seconds. If unfinished, continue checking the same job_id with get-job wait_seconds up to 240 until is_terminal is true. |
package/cli.mjs CHANGED
@@ -22,7 +22,7 @@ import { decryptWechatMediaCommand } from "./lib/media/wechat-decrypt.mjs";
22
22
  export { decryptWechatMediaCommand };
23
23
 
24
24
  const PACKAGE_NAME = "socialdatax-skills";
25
- const PACKAGE_VERSION = "0.2.31";
25
+ const PACKAGE_VERSION = "0.2.32";
26
26
  const PACKAGE_SPEC = `${PACKAGE_NAME}@latest`;
27
27
  const LOG_PREFIX = `[${PACKAGE_NAME}]`;
28
28
  const MIN_NODE_VERSION = "20.18.1";
@@ -926,11 +926,11 @@ const PLATFORMS = {
926
926
  },
927
927
  {
928
928
  name: "wechat_get_user_info_by_user_id",
929
- description: "Fetch creator profile data when the finder user_id is already known.",
929
+ description: "Fetch creator profile data when the v2_...@finder user_id is already known.",
930
930
  },
931
931
  {
932
932
  name: "wechat_get_user_posted_videos_by_user_id",
933
- description: "Fetch a paginated list of videos published by a creator when the finder user_id is already known.",
933
+ description: "Fetch a paginated list of videos published by a creator when the v2_...@finder user_id is already known.",
934
934
  },
935
935
  {
936
936
  name: "wechat_get_user_posted_videos_by_url",
@@ -2129,11 +2129,11 @@ function printHelp() {
2129
2129
  );
2130
2130
  console.log(" Call the WeChat Channels / 视频号 comment replies tool directly and print JSON.");
2131
2131
  console.log("");
2132
- console.log(` npx -y ${PACKAGE_SPEC} wechat user-info --user-id "<finder_user_id>" --pretty`);
2133
- console.log(" Call the WeChat Channels / 视频号 creator profile tool directly and print JSON.");
2132
+ console.log(` npx -y ${PACKAGE_SPEC} wechat user-info --user-id "<v2_finder_user_id>" --pretty`);
2133
+ console.log(" Call the WeChat Channels / 视频号 creator profile tool with a v2_...@finder user_id.");
2134
2134
  console.log("");
2135
- console.log(` npx -y ${PACKAGE_SPEC} wechat user-posts --user-id "<finder_user_id>" --pretty`);
2136
- console.log(" Call the WeChat Channels / 视频号 creator videos tool directly and print JSON.");
2135
+ console.log(` npx -y ${PACKAGE_SPEC} wechat user-posts --user-id "<v2_finder_user_id>" --pretty`);
2136
+ console.log(" Call the WeChat Channels / 视频号 creator videos tool with a v2_...@finder user_id.");
2137
2137
  console.log("");
2138
2138
  console.log(` npx -y ${PACKAGE_SPEC} wechat user-posts --url "<wechat_video_url_or_share_text>" --pretty`);
2139
2139
  console.log(" Call the WeChat Channels / 视频号 creator videos tool from a video link or share text.");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "socialdatax-skills",
3
- "version": "0.2.31",
3
+ "version": "0.2.32",
4
4
  "description": "SocialDataX / 社媒数据助手 skill installer and direct CLI helper for hosted platform social media MCP services.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -235,6 +235,8 @@ Do not pass `page` to `wechat_search_videos`; omit `page_token` on the first req
235
235
  Continue WeChat Channels pagination only when `next_page_token` is not empty. Pass the complete returned `next_page_token` back unchanged as `page_token` for the same keyword and filter chain.
236
236
  `--since-days` uses CLI-side filtering only and is not an MCP tool argument; for MCP-only calls, request newest-first/native publish-time filters where available and filter returned `publish_time` values in your analysis.
237
237
 
238
+ XHS search parameter naming reminder: direct CLI uses `--sort-type`, `--publish-time-range`, and `--note-type`; the `xhs_search_notes` MCP tool uses `sort_type`, `publish_time_range`, and `note_type`. Do not pass `sortType`, `publishTimeRange`, or `noteType`.
239
+
238
240
  ## Output Guidance
239
241
 
240
242
  Summarize visible evidence separately from interpretation. Include useful content IDs, URLs, titles or descriptions, authors, counts, and publish time when the user needs traceability.
@@ -33,7 +33,7 @@ Current platform support:
33
33
  - Kuaishou / 快手 creators through the `kuaishou_get_user_info_by_*` tools.
34
34
  - Kuaishou / 快手 creator discovery through `kuaishou_search_users` before profile lookup when only an account keyword or niche is known.
35
35
  - Weibo / 微博 creators through the `weibo_get_user_info_by_*` tools.
36
- - WeChat Channels / 视频号 creators through `wechat_get_user_info_by_user_id`.
36
+ - WeChat Channels / 视频号 creators through `wechat_get_user_info_by_user_id` when a `v2_...@finder` user_id is already known.
37
37
 
38
38
  ## API Key
39
39
 
@@ -86,7 +86,7 @@ npx -y socialdatax-skills@latest weibo user-info \
86
86
  --source-skill media-user-info
87
87
 
88
88
  npx -y socialdatax-skills@latest wechat user-info \
89
- --user-id "<finder_user_id>" --pretty --source-client socialdatax-skills \
89
+ --user-id "<v2_finder_user_id>" --pretty --source-client socialdatax-skills \
90
90
  --source-platform npm --source-skill media-user-info
91
91
  ```
92
92
 
@@ -104,7 +104,7 @@ Optional arguments:
104
104
  - Kuaishou `--profile-url <profile_url_or_share_text>`: use for a profile URL, short link, or profile share text. Live/fw-user profile shares are supported; successful profile results return a reusable non-empty user_id.
105
105
  - Weibo `--user-id <user_id>`: preferred when the creator user_id is already known.
106
106
  - Weibo `--profile-url <profile_url_or_share_text>`: use for a profile URL, short link, or profile share text.
107
- - WeChat Channels / 视频号 `--user-id <finder_user_id>`: use when the creator user_id ending with `@finder` is already known.
107
+ - WeChat Channels / 视频号 `--user-id <v2_finder_user_id>`: use when the creator `v2_...@finder` user_id is already known.
108
108
  - `--source-client socialdatax-skills --source-platform npm --source-skill media-user-info`: usage attribution for this Agent Skill; keep these values unchanged when running examples from this Skill.
109
109
 
110
110
  Use either the ID option or the profile URL option for a single command, not both.
@@ -140,7 +140,7 @@ If MCP tools are already available in the current agent, use one of these tools:
140
140
  - `kuaishou_get_user_info_by_profile_url`: use for profile URLs, short links, or profile share text, including live/fw-user profile shares; successful results return a reusable non-empty `user_id`.
141
141
  - `weibo_get_user_info_by_user_id`: preferred when `user_id` is already known.
142
142
  - `weibo_get_user_info_by_profile_url`: use for profile URLs, short links, or profile share text.
143
- - `wechat_get_user_info_by_user_id`: use when the WeChat Channels / 视频号 creator user_id ending with `@finder` is already known.
143
+ - `wechat_get_user_info_by_user_id`: use when the WeChat Channels / 视频号 creator `v2_...@finder` user_id is already known.
144
144
 
145
145
  ## Output Guidance
146
146
 
@@ -33,7 +33,7 @@ Current platform support:
33
33
  - Douyin / 抖音 creator short-drama series through the `douyin_get_user_series_by_*` tools.
34
34
  - Kuaishou / 快手 creator works through the `kuaishou_get_user_posted_videos_by_*` tools.
35
35
  - Weibo / 微博 creator posts through the `weibo_get_user_posts_by_*` tools.
36
- - WeChat Channels / 视频号 creator videos through the `wechat_get_user_posted_videos_by_*` tools.
36
+ - WeChat Channels / 视频号 creator videos through the `wechat_get_user_posted_videos_by_*` tools; the user_id entrypoint requires a `v2_...@finder` user_id.
37
37
 
38
38
  ## API Key
39
39
 
@@ -111,11 +111,11 @@ npx -y socialdatax-skills@latest weibo user-posts \
111
111
  --source-skill media-user-posts
112
112
 
113
113
  npx -y socialdatax-skills@latest wechat user-posts \
114
- --user-id "<finder_user_id>" --pretty --source-client socialdatax-skills \
114
+ --user-id "<v2_finder_user_id>" --pretty --source-client socialdatax-skills \
115
115
  --source-platform npm --source-skill media-user-posts
116
116
 
117
117
  npx -y socialdatax-skills@latest wechat user-posts \
118
- --user-id "<finder_user_id>" --all --pretty --source-client socialdatax-skills \
118
+ --user-id "<v2_finder_user_id>" --all --pretty --source-client socialdatax-skills \
119
119
  --source-platform npm --source-skill media-user-posts
120
120
 
121
121
  npx -y socialdatax-skills@latest wechat user-posts \
@@ -140,7 +140,7 @@ Optional arguments:
140
140
  - Kuaishou `--profile-url <profile_url_or_share_text>`: use only for a profile URL, short link, or profile share text that resolves directly to a non-empty user_id. For live/fw-user profile shares, call Kuaishou creator profile first and use the returned non-empty user_id.
141
141
  - Weibo `--user-id <user_id>`: preferred when the creator user_id is already known.
142
142
  - Weibo `--profile-url <profile_url_or_share_text>`: use for a profile URL, short link, or profile share text.
143
- - WeChat Channels / 视频号 `--user-id <finder_user_id>`: preferred when the creator user_id ending with `@finder` is already known.
143
+ - WeChat Channels / 视频号 `--user-id <v2_finder_user_id>`: preferred when the creator `v2_...@finder` user_id is already known.
144
144
  - WeChat Channels / 视频号 `--url <wechat_video_url_or_share_text>`: use a video link or share text to resolve the author and list that creator's videos.
145
145
  - `--source-client socialdatax-skills --source-platform npm --source-skill media-user-posts`: usage attribution for this Agent Skill; keep these values unchanged when running examples from this Skill.
146
146
 
@@ -185,7 +185,7 @@ Kuaishou creator work pagination uses opaque `page_token` values; pass the compl
185
185
  - `weibo_get_user_posts_by_user_id`: preferred when `user_id` is already known.
186
186
  - `weibo_get_user_posts_by_profile_url`: use for profile URLs, short links, or profile share text.
187
187
  Weibo creator post pagination uses opaque `page_token` values; pass the complete returned `next_page_token` back unchanged for the same user. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
188
- - `wechat_get_user_posted_videos_by_user_id`: preferred when the WeChat Channels / 视频号 `@finder` user_id is already known.
188
+ - `wechat_get_user_posted_videos_by_user_id`: preferred when the WeChat Channels / 视频号 `v2_...@finder` user_id is already known.
189
189
  - `wechat_get_user_posted_videos_by_url`: use a WeChat Channels / 视频号 video link or share text to resolve the author and list that creator's videos.
190
190
  WeChat Channels / 视频号 creator video pagination uses opaque `page_token` values; pass the complete returned `next_page_token` back unchanged for the same user. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
191
191
  `--since-days` uses CLI-side filtering only and is not an MCP tool argument; for MCP-only calls, continue pages as needed and filter returned `publish_time` values in your analysis.
@@ -54,13 +54,13 @@ Current platform support:
54
54
  - Kuaishou / 快手 creators through the `kuaishou_get_user_info_by_*` tools.
55
55
  - Kuaishou / 快手 creator discovery through `kuaishou_search_users` before profile lookup when only an account keyword or niche is known.
56
56
  - Weibo / 微博 creators through the `weibo_get_user_info_by_*` tools.
57
- - WeChat Channels / 视频号 creators through `wechat_get_user_info_by_user_id`.
57
+ - WeChat Channels / 视频号 creators through `wechat_get_user_info_by_user_id` when a `v2_...@finder` user_id is already known.
58
58
  - Xiaohongshu / XHS / RedNote creator notes through the `xhs_get_user_posted_notes_by_*` tools.
59
59
  - Douyin / 抖音 creator works, including video and image/text posts, through the `douyin_get_user_posted_videos_by_*` tools.
60
60
  - Douyin / 抖音 creator short-drama series through the `douyin_get_user_series_by_*` tools.
61
61
  - Kuaishou / 快手 creator works through the `kuaishou_get_user_posted_videos_by_*` tools.
62
62
  - Weibo / 微博 creator posts through the `weibo_get_user_posts_by_*` tools.
63
- - WeChat Channels / 视频号 creator videos through the `wechat_get_user_posted_videos_by_*` tools.
63
+ - WeChat Channels / 视频号 creator videos through the `wechat_get_user_posted_videos_by_*` tools; the user_id entrypoint requires a `v2_...@finder` user_id.
64
64
 
65
65
  ## API Key
66
66
 
@@ -252,15 +252,15 @@ npx -y socialdatax-skills@latest wechat comments \
252
252
  --source-skill socialdatax-content-research-assistant
253
253
 
254
254
  npx -y socialdatax-skills@latest wechat user-info \
255
- --user-id "<finder_user_id>" --pretty --source-client socialdatax-skills \
255
+ --user-id "<v2_finder_user_id>" --pretty --source-client socialdatax-skills \
256
256
  --source-platform npm --source-skill socialdatax-content-research-assistant
257
257
 
258
258
  npx -y socialdatax-skills@latest wechat user-posts \
259
- --user-id "<finder_user_id>" --pretty --source-client socialdatax-skills \
259
+ --user-id "<v2_finder_user_id>" --pretty --source-client socialdatax-skills \
260
260
  --source-platform npm --source-skill socialdatax-content-research-assistant
261
261
 
262
262
  npx -y socialdatax-skills@latest wechat user-posts \
263
- --user-id "<finder_user_id>" --all --pretty --source-client socialdatax-skills \
263
+ --user-id "<v2_finder_user_id>" --all --pretty --source-client socialdatax-skills \
264
264
  --source-platform npm --source-skill socialdatax-content-research-assistant
265
265
  ```
266
266
 
@@ -473,6 +473,8 @@ MCP tools matching the direct CLI commands above:
473
473
  Use the automatically listed MCP tools above as the source of truth for tool names. Pick the narrowest tool for the user's platform and task.
474
474
  For search pagination, omit `page_token` on the first request and pass only the complete returned `next_page_token` when continuing the same chain. Use `page_token` for all new search continuation calls.
475
475
 
476
+ XHS search parameter naming reminder: direct CLI uses `--sort-type`, `--publish-time-range`, and `--note-type`; the `xhs_search_notes` MCP tool uses `sort_type`, `publish_time_range`, and `note_type`. Do not pass `sortType`, `publishTimeRange`, or `noteType`.
477
+
476
478
  ## Output Guidance
477
479
 
478
480
  For broad research, summarize visible evidence separately from interpretation and organize findings by platform, content angles, audience needs, trend signals, comment themes, creator positioning, and practical next steps.
@@ -484,6 +486,7 @@ For hot-search, report ranking signals separately from keyword search results.
484
486
 
485
487
  ## Troubleshooting
486
488
 
487
- - For non-balance network or API errors, preserve the error message, check `SOCIALDATAX_API_KEY`, parameters, and link or ID format, then retry once when appropriate.
489
+ - For non-balance, non-rate-limit network or API errors, preserve the error message, check `SOCIALDATAX_API_KEY`, parameters, and link or ID format, then retry once when appropriate.
488
490
  - If the response returns `insufficient_balance` or says the balance/credits are insufficient, do not retry repeatedly. Show the recharge URL from the error exactly as returned, then continue the same command after the user recharges.
489
491
  - If the user has recharged but still sees insufficient balance, confirm `SOCIALDATAX_API_KEY` belongs to the same account that was recharged; if needed, copy a fresh API Key from the official dashboard.
492
+ - Batch processing: process items one by one as a queue by default; when the user explicitly needs batch efficiency, use at most 3 concurrent requests. As each item finishes, continue with the next one. Do not launch a large burst of requests. If `rate_limited` or a too-frequent-request error appears, do not abandon the task; stop starting new requests, wait for the returned wait time, or wait 2 seconds if none is provided, then continue the same queue from the unfinished position. Preserve completed results. If `insufficient_balance` or insufficient credits appears, stop remaining requests immediately, output the results already obtained, and ask the user to recharge or switch to an API Key with balance before continuing.