socialdatax-skills 0.2.9 → 0.2.11
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 +56 -30
- package/cli.mjs +100 -40
- package/package.json +7 -3
- package/skills/media-comments/SKILL.md +3 -3
- package/skills/media-comments/agents/openai.yaml +1 -1
- package/skills/media-detail/SKILL.md +3 -3
- package/skills/media-detail/agents/openai.yaml +1 -1
- package/skills/media-search/SKILL.md +9 -8
- package/skills/media-search/agents/openai.yaml +1 -1
- package/skills/media-transcript/SKILL.md +83 -0
- package/skills/media-transcript/agents/openai.yaml +7 -0
- package/skills/media-user-info/SKILL.md +3 -3
- package/skills/media-user-info/agents/openai.yaml +1 -1
- package/skills/media-user-posts/SKILL.md +3 -3
- package/skills/media-user-posts/agents/openai.yaml +1 -1
- package/skills/socialdatax-content-research-assistant/SKILL.md +10 -8
- package/skills/socialdatax-content-research-assistant/agents/openai.yaml +2 -2
package/README.md
CHANGED
|
@@ -21,6 +21,9 @@ Common search phrases for this skill package:
|
|
|
21
21
|
- `Hermes Agent social media skills`
|
|
22
22
|
- `media search skill`
|
|
23
23
|
- `media comments skill`
|
|
24
|
+
- `media transcript skill`
|
|
25
|
+
- `speech-to-text transcript skill`
|
|
26
|
+
- `口播转文字 skill`
|
|
24
27
|
- `creator profile skill`
|
|
25
28
|
- `Xiaohongshu skills`
|
|
26
29
|
- `XHS skills`
|
|
@@ -46,7 +49,7 @@ Common search phrases for this skill package:
|
|
|
46
49
|
- WeChat Channels hosted MCP endpoint: `https://mcp.52choujiang.com/wechat/mcp`
|
|
47
50
|
- Hosted transport: `streamable-http`
|
|
48
51
|
- Authentication: `Authorization: Bearer <SOCIALDATAX_API_KEY>`
|
|
49
|
-
- Website: <https://socialdatax.
|
|
52
|
+
- Website: <https://socialdatax.com>
|
|
50
53
|
- XHS current platform MCP registry name: `com.52choujiang/xhs-insights`
|
|
51
54
|
- XHS future platform MCP registry name: `com.socialdatax/xhs-insights`
|
|
52
55
|
- Douyin current platform MCP registry name: `com.52choujiang/douyin-insights`
|
|
@@ -58,7 +61,7 @@ Common search phrases for this skill package:
|
|
|
58
61
|
- WeChat Channels current platform MCP registry name: `com.52choujiang/wechat-channels-insights`
|
|
59
62
|
- WeChat Channels future platform MCP registry name: `com.socialdatax/wechat-channels-insights`
|
|
60
63
|
- Unified MCP registry name: none; this package installs skills and calls explicit platform services.
|
|
61
|
-
- Current public capability version: `0.2.
|
|
64
|
+
- Current public capability version: `0.2.11`
|
|
62
65
|
|
|
63
66
|
## Direct CLI
|
|
64
67
|
|
|
@@ -67,7 +70,7 @@ For most skill users, no MCP client configuration is required. Install the skill
|
|
|
67
70
|
Examples:
|
|
68
71
|
|
|
69
72
|
```bash
|
|
70
|
-
npx -y socialdatax-skills@latest xhs search --keyword "
|
|
73
|
+
npx -y socialdatax-skills@latest xhs search --keyword "露营" --pretty
|
|
71
74
|
npx -y socialdatax-skills@latest xhs hot-search --pretty
|
|
72
75
|
npx -y socialdatax-skills@latest xhs detail --note-id "<note_id>" --pretty
|
|
73
76
|
npx -y socialdatax-skills@latest xhs comments --note-id "<note_id>" --pretty
|
|
@@ -76,7 +79,7 @@ npx -y socialdatax-skills@latest xhs sub-comments --note-id "<note_id>" --commen
|
|
|
76
79
|
npx -y socialdatax-skills@latest xhs user-info --user-id "<user_id>" --pretty
|
|
77
80
|
npx -y socialdatax-skills@latest xhs user-posts --user-id "<user_id>" --pretty
|
|
78
81
|
npx -y socialdatax-skills@latest douyin hot-search --pretty
|
|
79
|
-
npx -y socialdatax-skills@latest douyin search --keyword "
|
|
82
|
+
npx -y socialdatax-skills@latest douyin search --keyword "露营" --pretty
|
|
80
83
|
npx -y socialdatax-skills@latest douyin detail --aweme-id "<aweme_id>" --pretty
|
|
81
84
|
npx -y socialdatax-skills@latest douyin comments --aweme-id "<aweme_id>" --pretty
|
|
82
85
|
npx -y socialdatax-skills@latest douyin comments --aweme-id "<aweme_id>" --all --include-replies --pretty
|
|
@@ -88,7 +91,7 @@ npx -y socialdatax-skills@latest douyin user-posts --profile-url "<profile_url_o
|
|
|
88
91
|
npx -y socialdatax-skills@latest douyin user-series --sec-user-id "<sec_user_id>" --pretty
|
|
89
92
|
npx -y socialdatax-skills@latest douyin user-series --profile-url "<profile_url_or_share_text>" --pretty
|
|
90
93
|
npx -y socialdatax-skills@latest kuaishou hot-search --pretty
|
|
91
|
-
npx -y socialdatax-skills@latest kuaishou search --keyword "
|
|
94
|
+
npx -y socialdatax-skills@latest kuaishou search --keyword "露营" --pretty
|
|
92
95
|
npx -y socialdatax-skills@latest kuaishou detail --photo-id "<photo_id>" --pretty
|
|
93
96
|
npx -y socialdatax-skills@latest kuaishou detail --url "<kuaishou_content_url_or_share_text>" --pretty
|
|
94
97
|
npx -y socialdatax-skills@latest kuaishou comments --photo-id "<photo_id>" --pretty
|
|
@@ -100,19 +103,21 @@ npx -y socialdatax-skills@latest kuaishou user-info --profile-url "<profile_url_
|
|
|
100
103
|
npx -y socialdatax-skills@latest kuaishou user-posts --user-id "<user_id>" --pretty
|
|
101
104
|
npx -y socialdatax-skills@latest kuaishou user-posts --profile-url "<profile_url_or_share_text>" --pretty
|
|
102
105
|
npx -y socialdatax-skills@latest weibo hot-search --pretty
|
|
103
|
-
npx -y socialdatax-skills@latest weibo search --keyword "
|
|
106
|
+
npx -y socialdatax-skills@latest weibo search --keyword "露营" --pretty
|
|
104
107
|
npx -y socialdatax-skills@latest weibo detail --post-id "<post_id>" --pretty
|
|
105
108
|
npx -y socialdatax-skills@latest weibo detail --post-url "<weibo_post_url_or_share_text>" --pretty
|
|
106
109
|
npx -y socialdatax-skills@latest weibo comments --post-id "<post_id>" --pretty
|
|
107
110
|
npx -y socialdatax-skills@latest weibo comments --post-id "<post_id>" --all --include-replies --pretty
|
|
108
111
|
npx -y socialdatax-skills@latest weibo comments --post-url "<weibo_post_url_or_share_text>" --pretty
|
|
109
112
|
npx -y socialdatax-skills@latest weibo replies --post-id "<post_id>" --comment-id "<comment_id>" --pretty
|
|
113
|
+
npx -y socialdatax-skills@latest weibo likers --post-id "<post_id>" --pretty
|
|
114
|
+
npx -y socialdatax-skills@latest weibo reposts --post-id "<post_id>" --pretty
|
|
110
115
|
npx -y socialdatax-skills@latest weibo user-info --user-id "<user_id>" --pretty
|
|
111
116
|
npx -y socialdatax-skills@latest weibo user-info --profile-url "<profile_url_or_share_text>" --pretty
|
|
112
117
|
npx -y socialdatax-skills@latest weibo user-posts --user-id "<user_id>" --pretty
|
|
113
118
|
npx -y socialdatax-skills@latest weibo user-posts --profile-url "<profile_url_or_share_text>" --pretty
|
|
114
119
|
npx -y socialdatax-skills@latest wechat hot-search --pretty
|
|
115
|
-
npx -y socialdatax-skills@latest wechat search --keyword "
|
|
120
|
+
npx -y socialdatax-skills@latest wechat search --keyword "露营" --pretty
|
|
116
121
|
npx -y socialdatax-skills@latest wechat detail --encrypted-object-id "<encrypted_object_id>" --pretty
|
|
117
122
|
npx -y socialdatax-skills@latest wechat detail --url "<wechat_video_url_or_share_text>" --pretty
|
|
118
123
|
npx -y socialdatax-skills@latest wechat comments --object-id "<object_id>" --object-nonce-id "<object_nonce_id>" --pretty
|
|
@@ -136,9 +141,11 @@ For first-level comments, add `--include-replies` to fetch the second-level repl
|
|
|
136
141
|
|
|
137
142
|
For commands that accept `--page-token`, continue only with the complete returned `next_page_token` from the same pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
|
|
138
143
|
|
|
139
|
-
|
|
144
|
+
Search pagination uses `--page-token` when continuing with a returned `next_page_token`. Omit `--page-token` on the first search request and pass the complete returned `next_page_token` only when continuing the same search chain.
|
|
140
145
|
|
|
141
|
-
|
|
146
|
+
XHS, Douyin, Kuaishou, Weibo, and WeChat Channels search use `--keyword` and optional `--page-token`.
|
|
147
|
+
Kuaishou search uses `--keyword` and optional `--page-token`. Kuaishou search does not accept Douyin semantic filters.
|
|
148
|
+
Weibo and WeChat Channels search use `--keyword` and optional `--page-token`.
|
|
142
149
|
|
|
143
150
|
Douyin search filters use semantic values: `--sort-type` supports `general`,
|
|
144
151
|
`time_descending`, and `like_count_descending`; `--publish-time-range` supports
|
|
@@ -180,22 +187,22 @@ This project is not affiliated with, endorsed by, or sponsored by Xiaohongshu, R
|
|
|
180
187
|
|
|
181
188
|
```bash
|
|
182
189
|
npm install
|
|
183
|
-
SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" node cli.mjs xhs search --keyword "
|
|
184
|
-
SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" node cli.mjs douyin search --keyword "
|
|
185
|
-
SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" node cli.mjs kuaishou search --keyword "
|
|
186
|
-
SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" node cli.mjs weibo search --keyword "
|
|
187
|
-
SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" node cli.mjs wechat search --keyword "
|
|
190
|
+
SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" node cli.mjs xhs search --keyword "露营" --pretty
|
|
191
|
+
SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" node cli.mjs douyin search --keyword "露营" --pretty
|
|
192
|
+
SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" node cli.mjs kuaishou search --keyword "露营" --pretty
|
|
193
|
+
SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" node cli.mjs weibo search --keyword "露营" --pretty
|
|
194
|
+
SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" node cli.mjs wechat search --keyword "露营" --pretty
|
|
188
195
|
```
|
|
189
196
|
|
|
190
197
|
### Docker Run
|
|
191
198
|
|
|
192
199
|
```bash
|
|
193
200
|
docker build -t socialdatax-skills .
|
|
194
|
-
docker run --rm -i -e SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" socialdatax-skills xhs search --keyword "
|
|
195
|
-
docker run --rm -i -e SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" socialdatax-skills douyin search --keyword "
|
|
196
|
-
docker run --rm -i -e SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" socialdatax-skills kuaishou search --keyword "
|
|
197
|
-
docker run --rm -i -e SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" socialdatax-skills weibo search --keyword "
|
|
198
|
-
docker run --rm -i -e SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" socialdatax-skills wechat search --keyword "
|
|
201
|
+
docker run --rm -i -e SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" socialdatax-skills xhs search --keyword "露营" --pretty
|
|
202
|
+
docker run --rm -i -e SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" socialdatax-skills douyin search --keyword "露营" --pretty
|
|
203
|
+
docker run --rm -i -e SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" socialdatax-skills kuaishou search --keyword "露营" --pretty
|
|
204
|
+
docker run --rm -i -e SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" socialdatax-skills weibo search --keyword "露营" --pretty
|
|
205
|
+
docker run --rm -i -e SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>" socialdatax-skills wechat search --keyword "露营" --pretty
|
|
199
206
|
```
|
|
200
207
|
|
|
201
208
|
If Docker Hub is slow from your network, keep the default image unchanged for normal use and override only during local builds:
|
|
@@ -218,6 +225,7 @@ npx -y socialdatax-skills@latest install media-search --target openclaw
|
|
|
218
225
|
npx -y socialdatax-skills@latest install media-search --target openclaw --dry-run
|
|
219
226
|
npx -y socialdatax-skills@latest install media-user-info --target openclaw
|
|
220
227
|
npx -y socialdatax-skills@latest install media-comments media-detail --target openclaw
|
|
228
|
+
npx -y socialdatax-skills@latest install media-transcript --target openclaw
|
|
221
229
|
npx -y socialdatax-skills@latest install media-search --target openclaw --scope workspace
|
|
222
230
|
npx -y socialdatax-skills@latest install media-search --target hermes
|
|
223
231
|
npx -y socialdatax-skills@latest install media-search --target hermes --scope shared
|
|
@@ -226,17 +234,17 @@ npx -y socialdatax-skills@latest install media-search --target codex
|
|
|
226
234
|
npx -y socialdatax-skills@latest install media-search --target codex --scope workspace
|
|
227
235
|
npx -y socialdatax-skills@latest install media-search --target claude-code
|
|
228
236
|
npx -y socialdatax-skills@latest install media-search --target claude-code --scope workspace
|
|
229
|
-
npx -y socialdatax-skills@latest xhs search --keyword "
|
|
237
|
+
npx -y socialdatax-skills@latest xhs search --keyword "露营" --pretty
|
|
230
238
|
npx -y socialdatax-skills@latest xhs hot-search --pretty
|
|
231
239
|
npx -y socialdatax-skills@latest douyin hot-search --pretty
|
|
232
|
-
npx -y socialdatax-skills@latest douyin search --keyword "
|
|
240
|
+
npx -y socialdatax-skills@latest douyin search --keyword "露营" --pretty
|
|
233
241
|
npx -y socialdatax-skills@latest douyin user-series --sec-user-id "<sec_user_id>" --pretty
|
|
234
242
|
npx -y socialdatax-skills@latest kuaishou hot-search --pretty
|
|
235
|
-
npx -y socialdatax-skills@latest kuaishou search --keyword "
|
|
243
|
+
npx -y socialdatax-skills@latest kuaishou search --keyword "露营" --pretty
|
|
236
244
|
npx -y socialdatax-skills@latest weibo hot-search --pretty
|
|
237
|
-
npx -y socialdatax-skills@latest weibo search --keyword "
|
|
245
|
+
npx -y socialdatax-skills@latest weibo search --keyword "露营" --pretty
|
|
238
246
|
npx -y socialdatax-skills@latest wechat hot-search --pretty
|
|
239
|
-
npx -y socialdatax-skills@latest wechat search --keyword "
|
|
247
|
+
npx -y socialdatax-skills@latest wechat search --keyword "露营" --pretty
|
|
240
248
|
```
|
|
241
249
|
|
|
242
250
|
Available skills:
|
|
@@ -245,6 +253,7 @@ Available skills:
|
|
|
245
253
|
- `media-search`: search social media content by keyword; supports XHS notes, Douyin works, Kuaishou works, Weibo posts, and WeChat Channels videos.
|
|
246
254
|
- `media-detail`: read structured content details and metrics; supports XHS notes, Douyin works, Kuaishou works, Weibo posts, and WeChat Channels videos.
|
|
247
255
|
- `media-comments`: fetch and analyze XHS comments/replies, Douyin comments/replies, Kuaishou comments/replies, Weibo comments/replies, and WeChat Channels comments/replies.
|
|
256
|
+
- `media-transcript`: submit and check video 口播转文字 / speech-to-text transcript jobs through hosted MCP tools; supports XHS, Douyin, Kuaishou, Weibo, and WeChat Channels.
|
|
248
257
|
- `media-user-info`: retrieve creator profile information; supports XHS, Douyin, Kuaishou, Weibo, and WeChat Channels creators.
|
|
249
258
|
- `media-user-posts`: retrieve creator content lists; supports XHS notes, Douyin works, Kuaishou works, Weibo posts, WeChat Channels videos, and Douyin creator short-drama series.
|
|
250
259
|
|
|
@@ -313,6 +322,7 @@ Current Weibo workflows include:
|
|
|
313
322
|
- Continue Weibo list pagination only when `next_page_token` is non-empty; an empty string means there are no more results to request.
|
|
314
323
|
- Read creator profile data from a profile link, short link, share text, or user_id.
|
|
315
324
|
- Fetch paginated creator post lists from a user_id, profile link, short link, or share text.
|
|
325
|
+
- Submit and check Weibo video 口播转文字 / speech-to-text transcript jobs; submit tools 提交完成后最多短等 15 秒.
|
|
316
326
|
|
|
317
327
|
Current WeChat Channels / 视频号 workflows include:
|
|
318
328
|
|
|
@@ -324,6 +334,7 @@ Current WeChat Channels / 视频号 workflows include:
|
|
|
324
334
|
- Continue WeChat Channels list pagination only when `next_page_token` is non-empty; an empty string means there are no more results to request.
|
|
325
335
|
- Read creator profile data from a finder user_id.
|
|
326
336
|
- Fetch paginated creator video lists from a finder user_id or a video link/share text.
|
|
337
|
+
- Submit and check WeChat Channels / 视频号 video 口播转文字 / speech-to-text transcript jobs; submit tools 提交完成后最多短等 15 秒.
|
|
327
338
|
|
|
328
339
|
## XHS Tools
|
|
329
340
|
|
|
@@ -340,6 +351,9 @@ Current WeChat Channels / 视频号 workflows include:
|
|
|
340
351
|
| `xhs_get_user_info_by_profile_url` | Resolve a profile link, short link, or share text into creator profile data. |
|
|
341
352
|
| `xhs_get_user_posted_notes_by_user_id` | Fetch a paginated list of notes published by a creator when the caller already has a user ID. |
|
|
342
353
|
| `xhs_get_user_posted_notes_by_profile_url` | Fetch a paginated list of notes published by a creator from a profile link, short link, or share text. |
|
|
354
|
+
| `xhs_submit_video_speech_text_by_note_url` | Submit an XHS video note speech-to-text transcript job from a note link, short link, or share text; submit waits up to 15 seconds. |
|
|
355
|
+
| `xhs_submit_video_speech_text_by_note_id` | Submit an XHS video note speech-to-text transcript job when the caller already has a note ID; submit waits up to 15 seconds. |
|
|
356
|
+
| `xhs_get_video_speech_text_job` | Check an XHS speech-to-text transcript job by job_id without creating a new task. |
|
|
343
357
|
|
|
344
358
|
## Douyin Tools
|
|
345
359
|
|
|
@@ -358,6 +372,9 @@ Current WeChat Channels / 视频号 workflows include:
|
|
|
358
372
|
| `douyin_get_user_posted_videos_by_profile_url` | Fetch a paginated list of works published by a creator from a profile link, short link, or share text. |
|
|
359
373
|
| `douyin_get_user_series_by_sec_user_id` | Fetch a paginated list of short-drama series by a creator when the caller already has a sec_user_id. |
|
|
360
374
|
| `douyin_get_user_series_by_profile_url` | Fetch a paginated list of short-drama series by a creator from a profile link, short link, or share text. |
|
|
375
|
+
| `douyin_submit_video_speech_text_by_video_url` | Submit a Douyin video speech-to-text transcript job from a content page link, short link, or share text; submit waits up to 15 seconds. |
|
|
376
|
+
| `douyin_submit_video_speech_text_by_aweme_id` | Submit a Douyin video speech-to-text transcript job when the caller already has an aweme_id; submit waits up to 15 seconds. |
|
|
377
|
+
| `douyin_get_video_speech_text_job` | Check a Douyin speech-to-text transcript job by job_id without creating a new task. |
|
|
361
378
|
|
|
362
379
|
## Kuaishou Tools
|
|
363
380
|
|
|
@@ -374,6 +391,9 @@ Current WeChat Channels / 视频号 workflows include:
|
|
|
374
391
|
| `kuaishou_get_user_info_by_profile_url` | Resolve a Kuaishou profile link, short link, or share text into creator profile data. |
|
|
375
392
|
| `kuaishou_get_user_posted_videos_by_user_id` | Fetch a paginated list of works published by a creator when the caller already has a user_id. |
|
|
376
393
|
| `kuaishou_get_user_posted_videos_by_profile_url` | Fetch a paginated list of works published by a creator from a profile link, short link, or share text. |
|
|
394
|
+
| `kuaishou_submit_video_speech_text_by_video_url` | Submit a Kuaishou video speech-to-text transcript job from a work page link, short link, or share text; submit waits up to 15 seconds. |
|
|
395
|
+
| `kuaishou_submit_video_speech_text_by_photo_id` | Submit a Kuaishou video speech-to-text transcript job when the caller already has a photo_id; submit waits up to 15 seconds. |
|
|
396
|
+
| `kuaishou_get_video_speech_text_job` | Check a Kuaishou speech-to-text transcript job by job_id without creating a new task. |
|
|
377
397
|
|
|
378
398
|
## Weibo Tools
|
|
379
399
|
|
|
@@ -390,6 +410,9 @@ Current WeChat Channels / 视频号 workflows include:
|
|
|
390
410
|
| `weibo_get_user_info_by_profile_url` | Resolve a Weibo profile link, short link, or share text into creator profile data. |
|
|
391
411
|
| `weibo_get_user_posts_by_user_id` | Fetch a paginated list of posts published by a creator when the caller already has a user_id. |
|
|
392
412
|
| `weibo_get_user_posts_by_profile_url` | Fetch a paginated list of posts published by a creator from a profile link, short link, or share text. |
|
|
413
|
+
| `weibo_submit_video_speech_text_by_post_url` | Submit a Weibo video speech-to-text transcript job from a post URL, short link, or share text; submit waits up to 15 seconds. |
|
|
414
|
+
| `weibo_submit_video_speech_text_by_post_id` | Submit a Weibo video speech-to-text transcript job when the caller already has a post_id; submit waits up to 15 seconds. |
|
|
415
|
+
| `weibo_get_video_speech_text_job` | Check a Weibo speech-to-text transcript job by job_id without creating a new task. |
|
|
393
416
|
|
|
394
417
|
## WeChat Channels Tools
|
|
395
418
|
|
|
@@ -405,6 +428,9 @@ Current WeChat Channels / 视频号 workflows include:
|
|
|
405
428
|
| `wechat_get_user_info_by_user_id` | Fetch creator profile data when the finder user_id is already known. |
|
|
406
429
|
| `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. |
|
|
407
430
|
| `wechat_get_user_posted_videos_by_url` | Fetch a paginated list of videos published by a creator from a video link or share text. |
|
|
431
|
+
| `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 15 seconds. |
|
|
432
|
+
| `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 15 seconds. |
|
|
433
|
+
| `wechat_get_video_speech_text_job` | Check a WeChat Channels / 视频号 speech-to-text transcript job by job_id without creating a new task. |
|
|
408
434
|
|
|
409
435
|
## Quick Start
|
|
410
436
|
|
|
@@ -412,11 +438,11 @@ For agents that can execute shell commands, use the direct CLI. This is the reco
|
|
|
412
438
|
|
|
413
439
|
```bash
|
|
414
440
|
export SOCIALDATAX_API_KEY="<SOCIALDATAX_API_KEY>"
|
|
415
|
-
npx -y socialdatax-skills@latest xhs search --keyword "
|
|
416
|
-
npx -y socialdatax-skills@latest douyin search --keyword "
|
|
417
|
-
npx -y socialdatax-skills@latest kuaishou search --keyword "
|
|
418
|
-
npx -y socialdatax-skills@latest weibo search --keyword "
|
|
419
|
-
npx -y socialdatax-skills@latest wechat search --keyword "
|
|
441
|
+
npx -y socialdatax-skills@latest xhs search --keyword "露营" --pretty
|
|
442
|
+
npx -y socialdatax-skills@latest douyin search --keyword "露营" --pretty
|
|
443
|
+
npx -y socialdatax-skills@latest kuaishou search --keyword "露营" --pretty
|
|
444
|
+
npx -y socialdatax-skills@latest weibo search --keyword "露营" --pretty
|
|
445
|
+
npx -y socialdatax-skills@latest wechat search --keyword "露营" --pretty
|
|
420
446
|
```
|
|
421
447
|
|
|
422
448
|
MCP client configuration belongs to platform MCP listings. For XHS, use the `xhs-insights` docs; for Douyin, use the `douyin-insights` listing; for Kuaishou, use the `kuaishou-insights` listing; for Weibo, use the `weibo-insights` listing; for WeChat Channels / 视频号, use the `wechat-channels-insights` listing.
|
|
@@ -427,7 +453,7 @@ Aily is treated as an OpenClaw / AgentSkills ecosystem channel for this package.
|
|
|
427
453
|
|
|
428
454
|
Request or manage API access from the product website:
|
|
429
455
|
|
|
430
|
-
<https://socialdatax.
|
|
456
|
+
<https://socialdatax.com/?from=npm>
|
|
431
457
|
|
|
432
458
|
Use the key as a Bearer token in the `Authorization` request header. Do not commit real API keys to code, docs, issues, or screenshots.
|
|
433
459
|
|
package/cli.mjs
CHANGED
|
@@ -7,11 +7,11 @@ import { dirname, join, resolve } from "node:path";
|
|
|
7
7
|
import { fileURLToPath } from "node:url";
|
|
8
8
|
|
|
9
9
|
const PACKAGE_NAME = "socialdatax-skills";
|
|
10
|
-
const PACKAGE_VERSION = "0.2.
|
|
10
|
+
const PACKAGE_VERSION = "0.2.11";
|
|
11
11
|
const PACKAGE_SPEC = `${PACKAGE_NAME}@latest`;
|
|
12
12
|
const LOG_PREFIX = `[${PACKAGE_NAME}]`;
|
|
13
13
|
const MIN_NODE_VERSION = "20.18.1";
|
|
14
|
-
const HOMEPAGE_URL = "https://socialdatax.
|
|
14
|
+
const HOMEPAGE_URL = "https://socialdatax.com";
|
|
15
15
|
const PRIMARY_API_KEY_ENV = "SOCIALDATAX_API_KEY";
|
|
16
16
|
const LEGACY_API_KEY_ENV = "SOCIAL_MEDIA_MCP_API_KEY";
|
|
17
17
|
const API_KEY_ENV_NAMES = [PRIMARY_API_KEY_ENV, LEGACY_API_KEY_ENV];
|
|
@@ -40,6 +40,12 @@ const AVAILABLE_SKILLS = [
|
|
|
40
40
|
"Fetch and analyze XHS, Douyin, Kuaishou, Weibo, and WeChat Channels comments/replies.",
|
|
41
41
|
emoji: "💬",
|
|
42
42
|
},
|
|
43
|
+
{
|
|
44
|
+
name: "media-transcript",
|
|
45
|
+
summary:
|
|
46
|
+
"Submit and check video speech-to-text transcript jobs for XHS, Douyin, Kuaishou, Weibo, and WeChat Channels through hosted MCP tools.",
|
|
47
|
+
emoji: "🎙️",
|
|
48
|
+
},
|
|
43
49
|
{
|
|
44
50
|
name: "media-user-info",
|
|
45
51
|
summary:
|
|
@@ -69,7 +75,7 @@ const XHS_DIRECT_ACTION_OPTIONS = {
|
|
|
69
75
|
"hot-search": ["pretty"],
|
|
70
76
|
search: [
|
|
71
77
|
"keyword",
|
|
72
|
-
"
|
|
78
|
+
"pageToken",
|
|
73
79
|
"pages",
|
|
74
80
|
"all",
|
|
75
81
|
"maxItems",
|
|
@@ -105,7 +111,6 @@ const XHS_DIRECT_ACTION_OPTIONS = {
|
|
|
105
111
|
const XHS_DIRECT_ACTION_NAMES = Object.keys(XHS_DIRECT_ACTION_OPTIONS).join(", ");
|
|
106
112
|
const XHS_OPTION_DISPLAY_NAMES = {
|
|
107
113
|
keyword: "--keyword",
|
|
108
|
-
page: "--page",
|
|
109
114
|
sortType: "--sort-type",
|
|
110
115
|
noteType: "--note-type",
|
|
111
116
|
publishTimeRange: "--publish-time-range",
|
|
@@ -263,6 +268,8 @@ const WEIBO_DIRECT_ACTION_OPTIONS = {
|
|
|
263
268
|
"includeReplies",
|
|
264
269
|
"pretty",
|
|
265
270
|
],
|
|
271
|
+
likers: ["postId", "pageToken", "pages", "all", "maxItems", "pretty"],
|
|
272
|
+
reposts: ["postId", "pageToken", "pages", "all", "maxItems", "pretty"],
|
|
266
273
|
"user-info": ["userId", "profileUrl", "pretty"],
|
|
267
274
|
"user-posts": ["userId", "profileUrl", "pageToken", "pages", "all", "maxItems", "pretty"],
|
|
268
275
|
};
|
|
@@ -628,6 +635,14 @@ const PLATFORMS = {
|
|
|
628
635
|
name: "weibo_get_post_comment_replies_by_comment_id",
|
|
629
636
|
description: "Fetch paginated replies under a first-level comment by post_id and comment_id.",
|
|
630
637
|
},
|
|
638
|
+
{
|
|
639
|
+
name: "weibo_get_post_liker_list_by_post_id",
|
|
640
|
+
description: "Fetch a paginated list of users who liked a Weibo post by post_id.",
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
name: "weibo_get_post_repost_list_by_post_id",
|
|
644
|
+
description: "Fetch a paginated repost list for a Weibo post by post_id.",
|
|
645
|
+
},
|
|
631
646
|
{
|
|
632
647
|
name: "weibo_get_user_info_by_user_id",
|
|
633
648
|
description: "Fetch creator profile data when the caller already has a user_id.",
|
|
@@ -644,6 +659,21 @@ const PLATFORMS = {
|
|
|
644
659
|
name: "weibo_get_user_posts_by_profile_url",
|
|
645
660
|
description: "Fetch creator posts from a profile URL, short link, or profile share text.",
|
|
646
661
|
},
|
|
662
|
+
{
|
|
663
|
+
name: "weibo_submit_video_speech_text_by_post_url",
|
|
664
|
+
description:
|
|
665
|
+
"Submit a Weibo video speech-to-text transcript task from a post URL, short link, or share text; 提交完成后最多短等 15 秒.",
|
|
666
|
+
},
|
|
667
|
+
{
|
|
668
|
+
name: "weibo_submit_video_speech_text_by_post_id",
|
|
669
|
+
description:
|
|
670
|
+
"Submit a Weibo video speech-to-text transcript task from a post_id; 提交完成后最多短等 15 秒.",
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
name: "weibo_get_video_speech_text_job",
|
|
674
|
+
description:
|
|
675
|
+
"Check a Weibo video speech-to-text transcript job by job_id without starting a new task.",
|
|
676
|
+
},
|
|
647
677
|
],
|
|
648
678
|
},
|
|
649
679
|
wechat: {
|
|
@@ -701,6 +731,21 @@ const PLATFORMS = {
|
|
|
701
731
|
name: "wechat_get_user_posted_videos_by_url",
|
|
702
732
|
description: "Fetch creator videos from a WeChat Channels / 视频号 video link or share text.",
|
|
703
733
|
},
|
|
734
|
+
{
|
|
735
|
+
name: "wechat_submit_video_speech_text_by_video_url",
|
|
736
|
+
description:
|
|
737
|
+
"Submit a WeChat Channels / 视频号 video speech-to-text transcript task from a video link or share text; 提交完成后最多短等 15 秒.",
|
|
738
|
+
},
|
|
739
|
+
{
|
|
740
|
+
name: "wechat_submit_video_speech_text_by_encrypted_object_id",
|
|
741
|
+
description:
|
|
742
|
+
"Submit a WeChat Channels / 视频号 video speech-to-text transcript task from an encrypted_object_id; 提交完成后最多短等 15 秒.",
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
name: "wechat_get_video_speech_text_job",
|
|
746
|
+
description:
|
|
747
|
+
"Check a WeChat Channels / 视频号 video speech-to-text transcript job by job_id without starting a new task.",
|
|
748
|
+
},
|
|
704
749
|
],
|
|
705
750
|
},
|
|
706
751
|
};
|
|
@@ -1180,7 +1225,7 @@ async function installSkills(args) {
|
|
|
1180
1225
|
console.log(` export ${PRIMARY_API_KEY_ENV}="<${PRIMARY_API_KEY_ENV}>"`);
|
|
1181
1226
|
console.log("");
|
|
1182
1227
|
console.log("Direct CLI examples:");
|
|
1183
|
-
console.log(` npx -y ${PACKAGE_SPEC} xhs search --keyword "
|
|
1228
|
+
console.log(` npx -y ${PACKAGE_SPEC} xhs search --keyword "露营" --pretty`);
|
|
1184
1229
|
console.log(` npx -y ${PACKAGE_SPEC} xhs detail --note-id "<note_id>" --pretty`);
|
|
1185
1230
|
}
|
|
1186
1231
|
|
|
@@ -1397,7 +1442,7 @@ function printHelp() {
|
|
|
1397
1442
|
console.log(`${PACKAGE_NAME}`);
|
|
1398
1443
|
console.log("");
|
|
1399
1444
|
console.log("Commands:");
|
|
1400
|
-
console.log(` npx -y ${PACKAGE_SPEC} xhs search --keyword "
|
|
1445
|
+
console.log(` npx -y ${PACKAGE_SPEC} xhs search --keyword "露营" --pretty`);
|
|
1401
1446
|
console.log(" Call the XHS search tool directly and print JSON.");
|
|
1402
1447
|
console.log("");
|
|
1403
1448
|
console.log(` npx -y ${PACKAGE_SPEC} xhs hot-search --pretty`);
|
|
@@ -1426,7 +1471,7 @@ function printHelp() {
|
|
|
1426
1471
|
console.log(` npx -y ${PACKAGE_SPEC} douyin hot-search --pretty`);
|
|
1427
1472
|
console.log(" Call the Douyin main hot search list tool directly and print JSON.");
|
|
1428
1473
|
console.log("");
|
|
1429
|
-
console.log(` npx -y ${PACKAGE_SPEC} douyin search --keyword "
|
|
1474
|
+
console.log(` npx -y ${PACKAGE_SPEC} douyin search --keyword "露营" --pretty`);
|
|
1430
1475
|
console.log(" Call the Douyin work search tool directly and print JSON.");
|
|
1431
1476
|
console.log("");
|
|
1432
1477
|
console.log(` npx -y ${PACKAGE_SPEC} douyin detail --aweme-id "<aweme_id>" --pretty`);
|
|
@@ -1464,7 +1509,7 @@ function printHelp() {
|
|
|
1464
1509
|
console.log(` npx -y ${PACKAGE_SPEC} kuaishou hot-search --pretty`);
|
|
1465
1510
|
console.log(" Call the Kuaishou short-video hot list tool directly and print JSON.");
|
|
1466
1511
|
console.log("");
|
|
1467
|
-
console.log(` npx -y ${PACKAGE_SPEC} kuaishou search --keyword "
|
|
1512
|
+
console.log(` npx -y ${PACKAGE_SPEC} kuaishou search --keyword "露营" --pretty`);
|
|
1468
1513
|
console.log(" Call the Kuaishou work search tool directly and print JSON.");
|
|
1469
1514
|
console.log("");
|
|
1470
1515
|
console.log(` npx -y ${PACKAGE_SPEC} kuaishou detail --photo-id "<photo_id>" --pretty`);
|
|
@@ -1502,7 +1547,7 @@ function printHelp() {
|
|
|
1502
1547
|
console.log(` npx -y ${PACKAGE_SPEC} weibo hot-search --pretty`);
|
|
1503
1548
|
console.log(" Call the Weibo hot-search list tool directly and print JSON.");
|
|
1504
1549
|
console.log("");
|
|
1505
|
-
console.log(` npx -y ${PACKAGE_SPEC} weibo search --keyword "
|
|
1550
|
+
console.log(` npx -y ${PACKAGE_SPEC} weibo search --keyword "露营" --pretty`);
|
|
1506
1551
|
console.log(" Call the Weibo post search tool directly and print JSON.");
|
|
1507
1552
|
console.log("");
|
|
1508
1553
|
console.log(` npx -y ${PACKAGE_SPEC} weibo detail --post-id "<post_id>" --pretty`);
|
|
@@ -1520,6 +1565,12 @@ function printHelp() {
|
|
|
1520
1565
|
console.log(` npx -y ${PACKAGE_SPEC} weibo replies --post-id "<post_id>" --comment-id "<comment_id>" --pretty`);
|
|
1521
1566
|
console.log(" Call the Weibo comment replies tool directly and print JSON.");
|
|
1522
1567
|
console.log("");
|
|
1568
|
+
console.log(` npx -y ${PACKAGE_SPEC} weibo likers --post-id "<post_id>" --pretty`);
|
|
1569
|
+
console.log(" Call the Weibo post liker list tool directly and print JSON.");
|
|
1570
|
+
console.log("");
|
|
1571
|
+
console.log(` npx -y ${PACKAGE_SPEC} weibo reposts --post-id "<post_id>" --pretty`);
|
|
1572
|
+
console.log(" Call the Weibo post repost list tool directly and print JSON.");
|
|
1573
|
+
console.log("");
|
|
1523
1574
|
console.log(` npx -y ${PACKAGE_SPEC} weibo user-info --user-id "<user_id>" --pretty`);
|
|
1524
1575
|
console.log(" Call the Weibo creator profile tool directly and print JSON.");
|
|
1525
1576
|
console.log("");
|
|
@@ -1535,7 +1586,7 @@ function printHelp() {
|
|
|
1535
1586
|
console.log(` npx -y ${PACKAGE_SPEC} wechat hot-search --pretty`);
|
|
1536
1587
|
console.log(" Call the WeChat Channels / 视频号 hot-search list tool directly and print JSON.");
|
|
1537
1588
|
console.log("");
|
|
1538
|
-
console.log(` npx -y ${PACKAGE_SPEC} wechat search --keyword "
|
|
1589
|
+
console.log(` npx -y ${PACKAGE_SPEC} wechat search --keyword "露营" --pretty`);
|
|
1539
1590
|
console.log(" Call the WeChat Channels / 视频号 video search tool directly and print JSON.");
|
|
1540
1591
|
console.log("");
|
|
1541
1592
|
console.log(` npx -y ${PACKAGE_SPEC} wechat detail --encrypted-object-id "<encrypted_object_id>" --pretty`);
|
|
@@ -1643,8 +1694,6 @@ function printHelp() {
|
|
|
1643
1694
|
console.log(" --profile-url <profile-url-or-share-text>");
|
|
1644
1695
|
console.log(" --user-id <user_id>");
|
|
1645
1696
|
console.log(" --sec-user-id <sec_user_id>");
|
|
1646
|
-
console.log(" --page <number>");
|
|
1647
|
-
console.log(" XHS search only. Douyin, Kuaishou, Weibo, and WeChat Channels search do not accept --page.");
|
|
1648
1697
|
console.log(" --pages <number>");
|
|
1649
1698
|
console.log(" Fetch and merge N pages from the current starting point for search, comments, replies, creator content lists, and creator series.");
|
|
1650
1699
|
console.log(" --all");
|
|
@@ -1667,7 +1716,7 @@ function printHelp() {
|
|
|
1667
1716
|
console.log(" --content-type <all|video|image>");
|
|
1668
1717
|
console.log(" Douyin content type filter; omit for all content types.");
|
|
1669
1718
|
console.log(" --page-token <token>");
|
|
1670
|
-
console.log(" Continue token-paginated commands with the complete returned next_page_token. For
|
|
1719
|
+
console.log(" Continue token-paginated commands with the complete returned next_page_token. For search, omit it on the first request.");
|
|
1671
1720
|
console.log(" --sort-type <all|latest|popular>");
|
|
1672
1721
|
console.log(" WeChat Channels / 视频号 search sort; omit for default sort.");
|
|
1673
1722
|
console.log(" --duration-range <all|under_5_min|between_5_and_20_min|over_20_min>");
|
|
@@ -2182,6 +2231,18 @@ function buildWeiboOperation(action, options) {
|
|
|
2182
2231
|
buildWeiboRepliesCall(options),
|
|
2183
2232
|
PLATFORMS.weibo
|
|
2184
2233
|
);
|
|
2234
|
+
case "likers":
|
|
2235
|
+
return buildDirectOperation(
|
|
2236
|
+
"likers",
|
|
2237
|
+
buildWeiboPostListByPostIdCall(options, "likers", "weibo_get_post_liker_list_by_post_id"),
|
|
2238
|
+
PLATFORMS.weibo
|
|
2239
|
+
);
|
|
2240
|
+
case "reposts":
|
|
2241
|
+
return buildDirectOperation(
|
|
2242
|
+
"reposts",
|
|
2243
|
+
buildWeiboPostListByPostIdCall(options, "reposts", "weibo_get_post_repost_list_by_post_id"),
|
|
2244
|
+
PLATFORMS.weibo
|
|
2245
|
+
);
|
|
2185
2246
|
case "user-info":
|
|
2186
2247
|
return buildDirectOperation(
|
|
2187
2248
|
"user-info",
|
|
@@ -2313,10 +2374,6 @@ function buildXhsSearchCall(options) {
|
|
|
2313
2374
|
if (!options.keyword) {
|
|
2314
2375
|
throw new Error("Missing --keyword for xhs search.");
|
|
2315
2376
|
}
|
|
2316
|
-
const page =
|
|
2317
|
-
options.page === undefined
|
|
2318
|
-
? 1
|
|
2319
|
-
: parsePositiveIntegerOption(options.page, "--page");
|
|
2320
2377
|
const sortType = parseSemanticOption(
|
|
2321
2378
|
options.sortType || "general",
|
|
2322
2379
|
"--sort-type",
|
|
@@ -2340,8 +2397,10 @@ function buildXhsSearchCall(options) {
|
|
|
2340
2397
|
}
|
|
2341
2398
|
const toolArguments = {
|
|
2342
2399
|
keyword: options.keyword,
|
|
2343
|
-
page,
|
|
2344
2400
|
};
|
|
2401
|
+
if (options.pageToken) {
|
|
2402
|
+
toolArguments.page_token = options.pageToken;
|
|
2403
|
+
}
|
|
2345
2404
|
if (options.sortType !== undefined) {
|
|
2346
2405
|
toolArguments.sort_type = sortType;
|
|
2347
2406
|
}
|
|
@@ -2584,6 +2643,22 @@ function buildWeiboRepliesCall(options) {
|
|
|
2584
2643
|
};
|
|
2585
2644
|
}
|
|
2586
2645
|
|
|
2646
|
+
function buildWeiboPostListByPostIdCall(options, action, tool) {
|
|
2647
|
+
if (!options.postId) {
|
|
2648
|
+
throw new Error(`Missing --post-id for weibo ${action}.`);
|
|
2649
|
+
}
|
|
2650
|
+
const toolArguments = {
|
|
2651
|
+
post_id: options.postId,
|
|
2652
|
+
};
|
|
2653
|
+
if (options.pageToken) {
|
|
2654
|
+
toolArguments.page_token = options.pageToken;
|
|
2655
|
+
}
|
|
2656
|
+
return {
|
|
2657
|
+
tool,
|
|
2658
|
+
toolArguments,
|
|
2659
|
+
};
|
|
2660
|
+
}
|
|
2661
|
+
|
|
2587
2662
|
function buildWechatCommentsCall(options) {
|
|
2588
2663
|
const hasObjectInput = Boolean(options.objectId || options.objectNonceId);
|
|
2589
2664
|
const hasUrlInput = Boolean(options.url);
|
|
@@ -2762,7 +2837,7 @@ async function collectPaginatedDirectData(
|
|
|
2762
2837
|
}
|
|
2763
2838
|
if (markerRepeated) {
|
|
2764
2839
|
throw new Error(
|
|
2765
|
-
`Pagination stopped because ${nextMarkerName(
|
|
2840
|
+
`Pagination stopped because ${nextMarkerName()} repeated.`
|
|
2766
2841
|
);
|
|
2767
2842
|
}
|
|
2768
2843
|
seenNextMarkers.add(markerKey);
|
|
@@ -2978,18 +3053,12 @@ function reachedMaxItems(items, maxItems) {
|
|
|
2978
3053
|
}
|
|
2979
3054
|
|
|
2980
3055
|
function readNextPageMarker(operation, pageData) {
|
|
2981
|
-
if (operation.platform.id === "xhs" && operation.operation === "search") {
|
|
2982
|
-
const page = pageData?.next_page;
|
|
2983
|
-
return page === undefined || page === null || page === "" ? undefined : page;
|
|
2984
|
-
}
|
|
2985
3056
|
const token = pageData?.next_page_token;
|
|
2986
3057
|
return typeof token === "string" && token ? token : undefined;
|
|
2987
3058
|
}
|
|
2988
3059
|
|
|
2989
|
-
function nextMarkerName(
|
|
2990
|
-
return
|
|
2991
|
-
? "next_page"
|
|
2992
|
-
: "next_page_token";
|
|
3060
|
+
function nextMarkerName() {
|
|
3061
|
+
return "next_page_token";
|
|
2993
3062
|
}
|
|
2994
3063
|
|
|
2995
3064
|
function initialPaginationMarkers(operation) {
|
|
@@ -2998,19 +3067,13 @@ function initialPaginationMarkers(operation) {
|
|
|
2998
3067
|
}
|
|
2999
3068
|
|
|
3000
3069
|
function currentPageMarker(operation) {
|
|
3001
|
-
if (operation.platform.id === "xhs" && operation.operation === "search") {
|
|
3002
|
-
return operation.arguments.page;
|
|
3003
|
-
}
|
|
3004
3070
|
return operation.arguments.page_token;
|
|
3005
3071
|
}
|
|
3006
3072
|
|
|
3007
3073
|
function operationWithNextPageMarker(operation, nextMarker) {
|
|
3008
3074
|
const nextOperation = cloneDirectOperation(operation);
|
|
3009
|
-
|
|
3010
|
-
|
|
3011
|
-
} else {
|
|
3012
|
-
nextOperation.arguments.page_token = nextMarker;
|
|
3013
|
-
}
|
|
3075
|
+
nextOperation.arguments.page_token = nextMarker;
|
|
3076
|
+
delete nextOperation.arguments.page;
|
|
3014
3077
|
return nextOperation;
|
|
3015
3078
|
}
|
|
3016
3079
|
|
|
@@ -3029,11 +3092,8 @@ function buildPaginatedData({
|
|
|
3029
3092
|
page_count: pageCount,
|
|
3030
3093
|
item_count: items.length,
|
|
3031
3094
|
};
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
} else {
|
|
3035
|
-
data.next_page_token = nextMarker || "";
|
|
3036
|
-
}
|
|
3095
|
+
delete data.next_page;
|
|
3096
|
+
data.next_page_token = nextMarker || "";
|
|
3037
3097
|
return data;
|
|
3038
3098
|
}
|
|
3039
3099
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "socialdatax-skills",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.11",
|
|
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",
|
|
@@ -39,6 +39,10 @@
|
|
|
39
39
|
"social-insights",
|
|
40
40
|
"social-media",
|
|
41
41
|
"media-search",
|
|
42
|
+
"media-transcript",
|
|
43
|
+
"speech-to-text",
|
|
44
|
+
"transcript",
|
|
45
|
+
"video-transcript",
|
|
42
46
|
"content-analysis",
|
|
43
47
|
"creator-analytics",
|
|
44
48
|
"kuaishou",
|
|
@@ -54,9 +58,9 @@
|
|
|
54
58
|
"wechat-channels-data",
|
|
55
59
|
"wechat-channels-search"
|
|
56
60
|
],
|
|
57
|
-
"homepage": "https://socialdatax.
|
|
61
|
+
"homepage": "https://socialdatax.com",
|
|
58
62
|
"bugs": {
|
|
59
|
-
"url": "https://socialdatax.
|
|
63
|
+
"url": "https://socialdatax.com"
|
|
60
64
|
},
|
|
61
65
|
"repository": {
|
|
62
66
|
"type": "git",
|
|
@@ -15,7 +15,7 @@ metadata:
|
|
|
15
15
|
package: "socialdatax-skills"
|
|
16
16
|
bins: []
|
|
17
17
|
emoji: "💬"
|
|
18
|
-
homepage: "https://socialdatax.
|
|
18
|
+
homepage: "https://socialdatax.com/?from=npm"
|
|
19
19
|
---
|
|
20
20
|
<!-- AUTO-GENERATED from socialdatax-skill-source. Do not edit directly; run `node scripts/generate_socialdatax_skills.mjs`. -->
|
|
21
21
|
|
|
@@ -33,8 +33,8 @@ Current platform support:
|
|
|
33
33
|
|
|
34
34
|
## API Key
|
|
35
35
|
|
|
36
|
-
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. The only official website for requesting or managing API access is <https://socialdatax.
|
|
37
|
-
获取或管理 API Key:访问 <https://socialdatax.
|
|
36
|
+
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. The only official website for requesting or managing API access is <https://socialdatax.com/?from=npm>. If a user asks where to get a key, provide only this URL; do not infer alternate domains.
|
|
37
|
+
获取或管理 API Key:访问 <https://socialdatax.com/?from=npm>,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 `SOCIALDATAX_API_KEY`;不要引导用户使用其他域名。
|
|
38
38
|
|
|
39
39
|
## Preferred Direct CLI
|
|
40
40
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "Media Comments"
|
|
3
3
|
short_description: "Fetch social comments"
|
|
4
|
-
default_prompt: "Use $media-comments to fetch and analyze XHS
|
|
4
|
+
default_prompt: "Use $media-comments to fetch and analyze XHS, Douyin, Kuaishou, Weibo, or WeChat Channels comments and replies."
|
|
5
5
|
|
|
6
6
|
policy:
|
|
7
7
|
allow_implicit_invocation: true
|
|
@@ -15,7 +15,7 @@ metadata:
|
|
|
15
15
|
package: "socialdatax-skills"
|
|
16
16
|
bins: []
|
|
17
17
|
emoji: "📄"
|
|
18
|
-
homepage: "https://socialdatax.
|
|
18
|
+
homepage: "https://socialdatax.com/?from=npm"
|
|
19
19
|
---
|
|
20
20
|
<!-- AUTO-GENERATED from socialdatax-skill-source. Do not edit directly; run `node scripts/generate_socialdatax_skills.mjs`. -->
|
|
21
21
|
|
|
@@ -33,8 +33,8 @@ Current platform support:
|
|
|
33
33
|
|
|
34
34
|
## API Key
|
|
35
35
|
|
|
36
|
-
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. The only official website for requesting or managing API access is <https://socialdatax.
|
|
37
|
-
获取或管理 API Key:访问 <https://socialdatax.
|
|
36
|
+
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. The only official website for requesting or managing API access is <https://socialdatax.com/?from=npm>. If a user asks where to get a key, provide only this URL; do not infer alternate domains.
|
|
37
|
+
获取或管理 API Key:访问 <https://socialdatax.com/?from=npm>,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 `SOCIALDATAX_API_KEY`;不要引导用户使用其他域名。
|
|
38
38
|
|
|
39
39
|
## Preferred Direct CLI
|
|
40
40
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "Media Detail"
|
|
3
3
|
short_description: "Read content details"
|
|
4
|
-
default_prompt: "Use $media-detail to read structured details and metrics for supported
|
|
4
|
+
default_prompt: "Use $media-detail to read structured details and metrics for supported XHS, Douyin, Kuaishou, Weibo, or WeChat Channels content."
|
|
5
5
|
|
|
6
6
|
policy:
|
|
7
7
|
allow_implicit_invocation: true
|
|
@@ -15,7 +15,7 @@ metadata:
|
|
|
15
15
|
package: "socialdatax-skills"
|
|
16
16
|
bins: []
|
|
17
17
|
emoji: "🔍"
|
|
18
|
-
homepage: "https://socialdatax.
|
|
18
|
+
homepage: "https://socialdatax.com/?from=npm"
|
|
19
19
|
---
|
|
20
20
|
<!-- AUTO-GENERATED from socialdatax-skill-source. Do not edit directly; run `node scripts/generate_socialdatax_skills.mjs`. -->
|
|
21
21
|
|
|
@@ -33,8 +33,8 @@ Current platform support:
|
|
|
33
33
|
|
|
34
34
|
## API Key
|
|
35
35
|
|
|
36
|
-
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. The only official website for requesting or managing API access is <https://socialdatax.
|
|
37
|
-
获取或管理 API Key:访问 <https://socialdatax.
|
|
36
|
+
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. The only official website for requesting or managing API access is <https://socialdatax.com/?from=npm>. If a user asks where to get a key, provide only this URL; do not infer alternate domains.
|
|
37
|
+
获取或管理 API Key:访问 <https://socialdatax.com/?from=npm>,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 `SOCIALDATAX_API_KEY`;不要引导用户使用其他域名。
|
|
38
38
|
|
|
39
39
|
## Preferred Direct CLI
|
|
40
40
|
|
|
@@ -63,7 +63,7 @@ Required arguments:
|
|
|
63
63
|
|
|
64
64
|
Optional arguments:
|
|
65
65
|
|
|
66
|
-
- XHS `--page <
|
|
66
|
+
- XHS `--page-token <next_page_token>`: opaque pagination token; omit it on the first search request. Continue only with the complete returned `next_page_token` from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
|
|
67
67
|
- XHS `--sort-type <general|time_descending|like_count_descending|comment_count_descending|collect_count_descending>`: optional sort value; omit it for default sorting.
|
|
68
68
|
- XHS `--note-type <all|image|video>`: optional note type filter; default is `all`.
|
|
69
69
|
- XHS `--publish-time-range <all|day|week|half_year>`: optional publish-time filter; default is `all`.
|
|
@@ -72,7 +72,7 @@ Optional arguments:
|
|
|
72
72
|
- Douyin `--publish-time-range <all|day|week|half_year>`: optional publish-time filter; omit it for no publish-time filter.
|
|
73
73
|
- Douyin `--duration-range <all|under_1_minute|one_to_five_minutes|over_5_minutes>`: optional duration filter; omit it for no duration filter.
|
|
74
74
|
- Douyin `--content-type <all|video|image>`: optional content type filter; omit it for all content types.
|
|
75
|
-
- XHS `--pages <n>`: fetch and merge N search pages from the current starting point; continue with returned `
|
|
75
|
+
- XHS `--pages <n>`: fetch and merge N search pages from the current starting point; continue with returned `next_page_token`.
|
|
76
76
|
- Douyin `--pages <n>`: fetch and merge N search pages from the current starting point; continue with returned `next_page_token`.
|
|
77
77
|
- Kuaishou `--pages <n>`: fetch and merge N search pages from the current starting point; continue with returned `next_page_token`.
|
|
78
78
|
- `--max-items <n>`: stop after collecting N search results.
|
|
@@ -159,9 +159,9 @@ MCP tools matching the direct CLI commands above:
|
|
|
159
159
|
- `weibo_search_posts`
|
|
160
160
|
- `wechat_search_videos`
|
|
161
161
|
|
|
162
|
-
|
|
162
|
+
For XHS, call `xhs_search_notes` with:
|
|
163
163
|
- `keyword`: required search phrase or topic; use the user's actual intent and trim whitespace.
|
|
164
|
-
- `
|
|
164
|
+
- `page_token`: optional opaque pagination token. Continue only with the complete returned `next_page_token` from the same search pagination chain. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
|
|
165
165
|
- `sort_type`: optional, one of `general`, `time_descending`, `like_count_descending`, `comment_count_descending`, `collect_count_descending`; omit it for default sorting.
|
|
166
166
|
- `note_type`: optional search filter, one of `all`, `image`, `video`; default is `all`.
|
|
167
167
|
- `publish_time_range`: optional search filter, one of `all`, `day`, `week`, `half_year`; default is `all`.
|
|
@@ -177,7 +177,8 @@ Do not pass `page` to `douyin_search_videos`; omit `page_token` on the first req
|
|
|
177
177
|
- `duration_range`: optional duration filter, one of `all`, `under_1_minute`, `one_to_five_minutes`, `over_5_minutes`; omit it for no duration filter.
|
|
178
178
|
- `content_type`: optional content type filter, one of `all`, `video`, `image`; omit it for all content types.
|
|
179
179
|
|
|
180
|
-
|
|
180
|
+
Do not pass `page` to `xhs_search_notes`; omit `page_token` on the first request.
|
|
181
|
+
Continue XHS pagination only when `next_page_token` is not empty, and pass the complete returned `next_page_token` back unchanged as `page_token` for the same keyword, sort, note type, publish-time range, and caller chain.
|
|
181
182
|
Continue Douyin 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.
|
|
182
183
|
Do not stop only because one page has empty `items`.
|
|
183
184
|
For Kuaishou, call `kuaishou_search_videos` with:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "Media Search"
|
|
3
3
|
short_description: "Search content by keyword"
|
|
4
|
-
default_prompt: "Use $media-search to search supported social media content by keyword
|
|
4
|
+
default_prompt: "Use $media-search to search supported social media content by keyword across XHS, Douyin, Kuaishou, Weibo, and WeChat Channels."
|
|
5
5
|
|
|
6
6
|
policy:
|
|
7
7
|
allow_implicit_invocation: true
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "media-transcript"
|
|
3
|
+
description: "Submit and check video speech-to-text transcript / 口播转文字 jobs for XHS, Douyin, Kuaishou, Weibo, and WeChat Channels through hosted platform MCP tools."
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
requires:
|
|
7
|
+
env:
|
|
8
|
+
- "SOCIALDATAX_API_KEY"
|
|
9
|
+
bins:
|
|
10
|
+
- "node"
|
|
11
|
+
- "npm"
|
|
12
|
+
primaryEnv: "SOCIALDATAX_API_KEY"
|
|
13
|
+
install:
|
|
14
|
+
- kind: "node"
|
|
15
|
+
package: "socialdatax-skills"
|
|
16
|
+
bins: []
|
|
17
|
+
emoji: "🎙️"
|
|
18
|
+
homepage: "https://socialdatax.com/?from=npm"
|
|
19
|
+
---
|
|
20
|
+
<!-- AUTO-GENERATED from socialdatax-skill-source. Do not edit directly; run `node scripts/generate_socialdatax_skills.mjs`. -->
|
|
21
|
+
|
|
22
|
+
# Media Transcript
|
|
23
|
+
|
|
24
|
+
Use this skill when the user wants video speech-to-text, 口播转文字, transcript extraction, spoken-word extraction, or to check an existing transcript job for supported social media content.
|
|
25
|
+
|
|
26
|
+
Current platform support:
|
|
27
|
+
|
|
28
|
+
- Xiaohongshu / XHS / RedNote video note speech-to-text transcript jobs through the `xhs_*video_speech_text*` tools.
|
|
29
|
+
- Douyin / 抖音 video work speech-to-text transcript jobs through the `douyin_*video_speech_text*` tools.
|
|
30
|
+
- Kuaishou / 快手 video work speech-to-text transcript jobs through the `kuaishou_*video_speech_text*` tools.
|
|
31
|
+
- Weibo / 微博 video post speech-to-text transcript jobs through the `weibo_*video_speech_text*` tools.
|
|
32
|
+
- WeChat Channels / 视频号 video speech-to-text transcript jobs through the `wechat_*video_speech_text*` tools.
|
|
33
|
+
|
|
34
|
+
## API Key
|
|
35
|
+
|
|
36
|
+
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. The only official website for requesting or managing API access is <https://socialdatax.com/?from=npm>. If a user asks where to get a key, provide only this URL; do not infer alternate domains.
|
|
37
|
+
获取或管理 API Key:访问 <https://socialdatax.com/?from=npm>,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 `SOCIALDATAX_API_KEY`;不要引导用户使用其他域名。
|
|
38
|
+
|
|
39
|
+
Required arguments:
|
|
40
|
+
|
|
41
|
+
- Use a submit-by-URL tool when the user provides a content link, short link, or share text.
|
|
42
|
+
- Use a submit-by-ID tool only when the platform content ID is already known: XHS `note_id`, Douyin `aweme_id`, Kuaishou `photo_id`, Weibo `post_id`, or WeChat Channels / 视频号 `encrypted_object_id`.
|
|
43
|
+
- Use the matching get-job tool with `job_id` when continuing or checking an existing transcript job.
|
|
44
|
+
|
|
45
|
+
These video speech-to-text transcript / 口播转文字 workflows are MCP-only and not available through the direct CLI.
|
|
46
|
+
Submit tools may wait briefly after creating the job. If the transcript is not ready, return the `job_id` and next action instead of starting a second job.
|
|
47
|
+
|
|
48
|
+
## Safety Boundary
|
|
49
|
+
|
|
50
|
+
This skill can submit bounded analysis jobs through hosted MCP tools. It does not read local browser data, does not save API keys, and does not perform login, posting, liking, commenting, or account changes. Use hosted MCP tools only when the current agent already supports authenticated streamable HTTP MCP.
|
|
51
|
+
|
|
52
|
+
## MCP Tools
|
|
53
|
+
|
|
54
|
+
If MCP tools are already available in the current agent, choose the platform-specific submit tool by entrypoint:
|
|
55
|
+
- XHS: `xhs_submit_video_speech_text_by_note_url`, `xhs_submit_video_speech_text_by_note_id`, `xhs_get_video_speech_text_job`.
|
|
56
|
+
- Douyin: `douyin_submit_video_speech_text_by_video_url`, `douyin_submit_video_speech_text_by_aweme_id`, `douyin_get_video_speech_text_job`.
|
|
57
|
+
- Kuaishou: `kuaishou_submit_video_speech_text_by_video_url`, `kuaishou_submit_video_speech_text_by_photo_id`, `kuaishou_get_video_speech_text_job`.
|
|
58
|
+
- Weibo: `weibo_submit_video_speech_text_by_post_url`, `weibo_submit_video_speech_text_by_post_id`, `weibo_get_video_speech_text_job`.
|
|
59
|
+
- WeChat Channels / 视频号: `wechat_submit_video_speech_text_by_video_url`, `wechat_submit_video_speech_text_by_encrypted_object_id`, `wechat_get_video_speech_text_job`.
|
|
60
|
+
Do not start a duplicate transcript job only to poll status. Use the platform get-job tool with the returned `job_id`.
|
|
61
|
+
|
|
62
|
+
MCP-only tools not available through the direct CLI:
|
|
63
|
+
|
|
64
|
+
- `xhs_submit_video_speech_text_by_note_url`
|
|
65
|
+
- `xhs_submit_video_speech_text_by_note_id`
|
|
66
|
+
- `xhs_get_video_speech_text_job`
|
|
67
|
+
- `douyin_submit_video_speech_text_by_video_url`
|
|
68
|
+
- `douyin_submit_video_speech_text_by_aweme_id`
|
|
69
|
+
- `douyin_get_video_speech_text_job`
|
|
70
|
+
- `kuaishou_submit_video_speech_text_by_video_url`
|
|
71
|
+
- `kuaishou_submit_video_speech_text_by_photo_id`
|
|
72
|
+
- `kuaishou_get_video_speech_text_job`
|
|
73
|
+
- `weibo_submit_video_speech_text_by_post_url`
|
|
74
|
+
- `weibo_submit_video_speech_text_by_post_id`
|
|
75
|
+
- `weibo_get_video_speech_text_job`
|
|
76
|
+
- `wechat_submit_video_speech_text_by_video_url`
|
|
77
|
+
- `wechat_submit_video_speech_text_by_encrypted_object_id`
|
|
78
|
+
- `wechat_get_video_speech_text_job`
|
|
79
|
+
|
|
80
|
+
## Output Guidance
|
|
81
|
+
|
|
82
|
+
Return the transcript text when available. When a job is still running, include the `job_id`, status, and next action so the user or agent can check later.
|
|
83
|
+
If the result says no processable video resource is available or the job failed, report that as the observed job result instead of retrying with another platform.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Media Transcript"
|
|
3
|
+
short_description: "Submit video transcripts"
|
|
4
|
+
default_prompt: "Use $media-transcript to submit and check video speech-to-text transcript jobs for XHS, Douyin, Kuaishou, Weibo, and WeChat Channels content."
|
|
5
|
+
|
|
6
|
+
policy:
|
|
7
|
+
allow_implicit_invocation: true
|
|
@@ -15,7 +15,7 @@ metadata:
|
|
|
15
15
|
package: "socialdatax-skills"
|
|
16
16
|
bins: []
|
|
17
17
|
emoji: "👤"
|
|
18
|
-
homepage: "https://socialdatax.
|
|
18
|
+
homepage: "https://socialdatax.com/?from=npm"
|
|
19
19
|
---
|
|
20
20
|
<!-- AUTO-GENERATED from socialdatax-skill-source. Do not edit directly; run `node scripts/generate_socialdatax_skills.mjs`. -->
|
|
21
21
|
|
|
@@ -33,8 +33,8 @@ Current platform support:
|
|
|
33
33
|
|
|
34
34
|
## API Key
|
|
35
35
|
|
|
36
|
-
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. The only official website for requesting or managing API access is <https://socialdatax.
|
|
37
|
-
获取或管理 API Key:访问 <https://socialdatax.
|
|
36
|
+
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. The only official website for requesting or managing API access is <https://socialdatax.com/?from=npm>. If a user asks where to get a key, provide only this URL; do not infer alternate domains.
|
|
37
|
+
获取或管理 API Key:访问 <https://socialdatax.com/?from=npm>,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 `SOCIALDATAX_API_KEY`;不要引导用户使用其他域名。
|
|
38
38
|
|
|
39
39
|
## Preferred Direct CLI
|
|
40
40
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "Media User Info"
|
|
3
3
|
short_description: "Retrieve creator profiles"
|
|
4
|
-
default_prompt: "Use $media-user-info to retrieve creator profile information from
|
|
4
|
+
default_prompt: "Use $media-user-info to retrieve creator profile information from supported XHS, Douyin, Kuaishou, Weibo, or WeChat Channels user IDs, profile URLs, short links, or share text."
|
|
5
5
|
|
|
6
6
|
policy:
|
|
7
7
|
allow_implicit_invocation: true
|
|
@@ -15,7 +15,7 @@ metadata:
|
|
|
15
15
|
package: "socialdatax-skills"
|
|
16
16
|
bins: []
|
|
17
17
|
emoji: "🗂️"
|
|
18
|
-
homepage: "https://socialdatax.
|
|
18
|
+
homepage: "https://socialdatax.com/?from=npm"
|
|
19
19
|
---
|
|
20
20
|
<!-- AUTO-GENERATED from socialdatax-skill-source. Do not edit directly; run `node scripts/generate_socialdatax_skills.mjs`. -->
|
|
21
21
|
|
|
@@ -34,8 +34,8 @@ Current platform support:
|
|
|
34
34
|
|
|
35
35
|
## API Key
|
|
36
36
|
|
|
37
|
-
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. The only official website for requesting or managing API access is <https://socialdatax.
|
|
38
|
-
获取或管理 API Key:访问 <https://socialdatax.
|
|
37
|
+
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. The only official website for requesting or managing API access is <https://socialdatax.com/?from=npm>. If a user asks where to get a key, provide only this URL; do not infer alternate domains.
|
|
38
|
+
获取或管理 API Key:访问 <https://socialdatax.com/?from=npm>,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 `SOCIALDATAX_API_KEY`;不要引导用户使用其他域名。
|
|
39
39
|
|
|
40
40
|
## Preferred Direct CLI
|
|
41
41
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "Media User Posts"
|
|
3
3
|
short_description: "Retrieve creator content"
|
|
4
|
-
default_prompt: "Use $media-user-posts to retrieve
|
|
4
|
+
default_prompt: "Use $media-user-posts to retrieve supported XHS, Douyin, Kuaishou, Weibo, or WeChat Channels creator content lists from a platform user ID, profile URL, short link, or share text."
|
|
5
5
|
|
|
6
6
|
policy:
|
|
7
7
|
allow_implicit_invocation: true
|
|
@@ -15,7 +15,7 @@ metadata:
|
|
|
15
15
|
package: "socialdatax-skills"
|
|
16
16
|
bins: []
|
|
17
17
|
emoji: "🔎"
|
|
18
|
-
homepage: "https://socialdatax.
|
|
18
|
+
homepage: "https://socialdatax.com/?from=npm"
|
|
19
19
|
---
|
|
20
20
|
<!-- AUTO-GENERATED from socialdatax-skill-source. Do not edit directly; run `node scripts/generate_socialdatax_skills.mjs`. -->
|
|
21
21
|
|
|
@@ -59,8 +59,8 @@ Current platform support:
|
|
|
59
59
|
|
|
60
60
|
## API Key
|
|
61
61
|
|
|
62
|
-
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. The only official website for requesting or managing API access is <https://socialdatax.
|
|
63
|
-
获取或管理 API Key:访问 <https://socialdatax.
|
|
62
|
+
Use `SOCIALDATAX_API_KEY` for SocialDataX requests. The only official website for requesting or managing API access is <https://socialdatax.com/?from=npm>. If a user asks where to get a key, provide only this URL; do not infer alternate domains.
|
|
63
|
+
获取或管理 API Key:访问 <https://socialdatax.com/?from=npm>,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 `SOCIALDATAX_API_KEY`;不要引导用户使用其他域名。
|
|
64
64
|
|
|
65
65
|
## Preferred Direct CLI
|
|
66
66
|
|
|
@@ -137,6 +137,8 @@ npx -y socialdatax-skills@latest kuaishou user-posts --profile-url "<profile_url
|
|
|
137
137
|
npx -y socialdatax-skills@latest kuaishou replies --photo-id "<photo_id>" --comment-id "<comment_id>" --pretty
|
|
138
138
|
npx -y socialdatax-skills@latest weibo detail --post-url "<weibo_post_url_or_share_text>" --pretty
|
|
139
139
|
npx -y socialdatax-skills@latest weibo comments --post-url "<weibo_post_url_or_share_text>" --pretty
|
|
140
|
+
npx -y socialdatax-skills@latest weibo likers --post-id "<post_id>" --pretty
|
|
141
|
+
npx -y socialdatax-skills@latest weibo reposts --post-id "<post_id>" --pretty
|
|
140
142
|
npx -y socialdatax-skills@latest weibo user-info --profile-url "<profile_url_or_share_text>" --pretty
|
|
141
143
|
npx -y socialdatax-skills@latest weibo user-posts --profile-url "<profile_url_or_share_text>" --pretty
|
|
142
144
|
npx -y socialdatax-skills@latest weibo replies --post-id "<post_id>" --comment-id "<comment_id>" --pretty
|
|
@@ -146,7 +148,7 @@ npx -y socialdatax-skills@latest wechat user-posts --url "<wechat_video_url_or_s
|
|
|
146
148
|
npx -y socialdatax-skills@latest wechat replies --object-id "<object_id>" --object-nonce-id "<object_nonce_id>" --comment-id "<comment_id>" --pretty
|
|
147
149
|
```
|
|
148
150
|
|
|
149
|
-
For hot topics, content URLs, profile URLs, comment review, creator facts, creator content lists, or short-drama series, call the matching `socialdatax-skills` platform subcommand instead of forcing every request through keyword research.
|
|
151
|
+
For hot topics, content URLs, profile URLs, comment review, Weibo liker/repost review, creator facts, creator content lists, or short-drama series, call the matching `socialdatax-skills` platform subcommand instead of forcing every request through keyword research.
|
|
150
152
|
|
|
151
153
|
Required arguments:
|
|
152
154
|
|
|
@@ -161,8 +163,8 @@ Required arguments:
|
|
|
161
163
|
|
|
162
164
|
Optional arguments:
|
|
163
165
|
|
|
164
|
-
-
|
|
165
|
-
- `--page-token <next_page_token>`: use for Douyin/Kuaishou/Weibo/WeChat Channels search continuation and for token-paginated comments, replies, creator posts, creator notes, creator videos, and creator series. Keep the original topic, content item, or creator target stable. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
|
|
166
|
+
- Search continuation uses `--page-token <next_page_token>` when a returned `next_page_token` is available. Omit `page_token` on the first token-paginated search request, and continue only with the complete returned `next_page_token` from the same chain.
|
|
167
|
+
- `--page-token <next_page_token>`: use for XHS/Douyin/Kuaishou/Weibo/WeChat Channels search continuation and for token-paginated comments, replies, creator posts, creator notes, creator videos, and creator series. Keep the original topic, content item, or creator target stable. Do not modify, truncate, redact, mask, omit, normalize, rebuild, generate, or replace the middle with ellipses.
|
|
166
168
|
- `--pages <n>`: fetch and merge N pages for search, comments, replies, creator posts, or creator series.
|
|
167
169
|
- `--all`: fetch comments, replies, creator posts, or creator series until `next_page_token` is empty; do not use it for search.
|
|
168
170
|
- `--max-items <n>`: stop after collecting N primary results.
|
|
@@ -195,11 +197,11 @@ MCP tools matching the direct CLI commands above:
|
|
|
195
197
|
- XHS: `xhs_get_search_hot_list`, `xhs_search_notes`, `xhs_get_note_detail_by_note_id`, `xhs_get_note_comments_by_note_id`, `xhs_get_user_info_by_user_id`, `xhs_get_user_posted_notes_by_user_id`, `xhs_get_note_detail_by_note_url`, `xhs_get_note_comments_by_note_url`, `xhs_get_user_info_by_profile_url`, `xhs_get_user_posted_notes_by_profile_url`, `xhs_get_note_sub_comments_by_comment_id`
|
|
196
198
|
- DOUYIN: `douyin_get_hot_search_list`, `douyin_search_videos`, `douyin_get_video_detail_by_aweme_id`, `douyin_get_video_comments_by_aweme_id`, `douyin_get_user_info_by_sec_user_id`, `douyin_get_user_posted_videos_by_sec_user_id`, `douyin_get_video_detail_by_url`, `douyin_get_video_comments_by_url`, `douyin_get_user_info_by_profile_url`, `douyin_get_user_posted_videos_by_profile_url`, `douyin_get_user_series_by_sec_user_id`, `douyin_get_user_series_by_profile_url`, `douyin_get_video_comment_replies_by_comment_id`
|
|
197
199
|
- KUAISHOU: `kuaishou_get_hot_search_list`, `kuaishou_search_videos`, `kuaishou_get_video_detail_by_photo_id`, `kuaishou_get_video_comments_by_photo_id`, `kuaishou_get_user_info_by_user_id`, `kuaishou_get_user_posted_videos_by_user_id`, `kuaishou_get_video_detail_by_url`, `kuaishou_get_video_comments_by_url`, `kuaishou_get_user_info_by_profile_url`, `kuaishou_get_user_posted_videos_by_profile_url`, `kuaishou_get_video_comment_replies_by_comment_id`
|
|
198
|
-
- WEIBO: `weibo_get_hot_search_list`, `weibo_search_posts`, `weibo_get_post_detail_by_post_id`, `weibo_get_post_comments_by_post_id`, `weibo_get_user_info_by_user_id`, `weibo_get_user_posts_by_user_id`, `weibo_get_post_detail_by_post_url`, `weibo_get_post_comments_by_post_url`, `weibo_get_user_info_by_profile_url`, `weibo_get_user_posts_by_profile_url`, `weibo_get_post_comment_replies_by_comment_id`
|
|
200
|
+
- WEIBO: `weibo_get_hot_search_list`, `weibo_search_posts`, `weibo_get_post_detail_by_post_id`, `weibo_get_post_comments_by_post_id`, `weibo_get_user_info_by_user_id`, `weibo_get_user_posts_by_user_id`, `weibo_get_post_detail_by_post_url`, `weibo_get_post_comments_by_post_url`, `weibo_get_post_liker_list_by_post_id`, `weibo_get_post_repost_list_by_post_id`, `weibo_get_user_info_by_profile_url`, `weibo_get_user_posts_by_profile_url`, `weibo_get_post_comment_replies_by_comment_id`
|
|
199
201
|
- WECHAT: `wechat_get_hot_search_list`, `wechat_search_videos`, `wechat_get_video_detail_by_encrypted_object_id`, `wechat_get_video_comments_by_object_id`, `wechat_get_user_info_by_user_id`, `wechat_get_user_posted_videos_by_user_id`, `wechat_get_video_detail_by_url`, `wechat_get_video_comments_by_url`, `wechat_get_user_posted_videos_by_url`, `wechat_get_video_comment_replies_by_comment_id`
|
|
200
202
|
|
|
201
203
|
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.
|
|
202
|
-
|
|
204
|
+
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.
|
|
203
205
|
|
|
204
206
|
## Output Guidance
|
|
205
207
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "SocialDataX Content Research"
|
|
3
|
-
short_description: "Research
|
|
4
|
-
default_prompt: "Use $socialdatax-content-research-assistant to research Xiaohongshu
|
|
3
|
+
short_description: "Research cross-platform social content"
|
|
4
|
+
default_prompt: "Use $socialdatax-content-research-assistant to research Xiaohongshu / XHS / RedNote, Douyin, Kuaishou, Weibo, and WeChat Channels content across search, details, comments, and creators."
|
|
5
5
|
|
|
6
6
|
policy:
|
|
7
7
|
allow_implicit_invocation: true
|