Install
openclaw skills install @devinchen2014/socialdatax-bilibili用于 B站数据助手、视频和专栏搜索、内容详情、评论分析、点赞转发观察、UP主资料及视频、专栏和动态列表,并支持按需下载视频到本地。覆盖 Bilibili / 哔哩哔哩,来自 SocialDataX 社媒数据助手。
openclaw skills install @devinchen2014/socialdatax-bilibiliUse this skill when the user needs a Bilibili / 哔哩哔哩 / B站 data assistant for video or article research, content details, comments, reactions, creator profiles, creator videos, articles, dynamics, or explicitly asks to save a Bilibili video locally.
Use SOCIALDATAX_API_KEY for data calls. The only official website for requesting or managing API access is https://socialdatax.com/ai?from=clawhub. If a user asks where to get a key, provide only this URL; do not infer alternate domains.
获取或管理 API Key:访问 https://socialdatax.com/ai?from=clawhub,按官网的 API Key 申请/管理入口操作。环境变量名固定使用 SOCIALDATAX_API_KEY;不要引导用户使用其他域名。
{"env":{"SOCIALDATAX_API_KEY":"<YOUR_API_KEY>"}} into .codebuddy/settings.local.json in the current trusted workspace, preserving other settings and env entries. This path is WorkBuddy-specific and workspace-scoped. Have the user enter the real Key locally and keep the file out of version control.read -s) and pass it to launchctl setenv; this is login-session-only and needs reloading after login/computer restart. On input failure, empty input or setup failure, report an explicit error and stop with a nonzero exit status; temporary-variable cleanup must preserve the original failure status. Fully quit the relevant client and background processes before reopening; remote services reload according to their runtime, while sandboxes still require platform injection. A separate terminal export, shell startup file alone, or closing a window does not prove inheritance. Keep real keys out of chat, logs, screenshots, command history and Skill files.node -e "console.log(JSON.stringify({apiKeyReadable:Boolean(['SOCIALDATAX_API_KEY','SOCIAL_MEDIA_MCP_API_KEY'].map(name=>process.env[name]?.trim()).find(Boolean))}))" and report only the boolean, never the Key or full environment. Follow CLI lookup order: trimmed primary variable, then legacy compatibility for existing configurations; all new setup still uses SOCIALDATAX_API_KEY. If apiKeyReadable is false, stop business requests and diagnose in the order above. True only proves a readable nonempty value; resume the original request to verify authentication, without claiming validity or available credits. Never inject a temporary value into the probe to force success.Prefer the direct CLI when the agent can run shell commands. It does not require MCP server configuration:
npx -y socialdatax-skills@latest bilibili search-videos \
--keyword "<keyword>" --pretty --source-client socialdatax-skills \
--source-platform clawhub --source-skill socialdatax-bilibili
npx -y socialdatax-skills@latest bilibili search-articles \
--keyword "<keyword>" --pretty --source-client socialdatax-skills \
--source-platform clawhub --source-skill socialdatax-bilibili
npx -y socialdatax-skills@latest bilibili detail \
--content-id "<content_id>" --pretty --source-client socialdatax-skills \
--source-platform clawhub --source-skill socialdatax-bilibili
npx -y socialdatax-skills@latest bilibili detail \
--url "<bilibili_content_url_or_share_text>" --pretty \
--source-client socialdatax-skills --source-platform clawhub \
--source-skill socialdatax-bilibili
npx -y socialdatax-skills@latest bilibili comments \
--content-id "<content_id>" --pretty --source-client socialdatax-skills \
--source-platform clawhub --source-skill socialdatax-bilibili
npx -y socialdatax-skills@latest bilibili comments \
--url "<bilibili_content_url_or_share_text>" --pretty \
--source-client socialdatax-skills --source-platform clawhub \
--source-skill socialdatax-bilibili
npx -y socialdatax-skills@latest bilibili replies \
--comment-object-id "<comment_object_id>" \
--comment-object-type "<comment_object_type_integer>" --comment-id "<comment_id>" \
--pretty --source-client socialdatax-skills --source-platform clawhub \
--source-skill socialdatax-bilibili
npx -y socialdatax-skills@latest bilibili reactions \
--post-id "<post_id>" --pretty --source-client socialdatax-skills \
--source-platform clawhub --source-skill socialdatax-bilibili
npx -y socialdatax-skills@latest bilibili reactions \
--url "<bilibili_opus_or_dynamic_url_or_share_text>" --pretty \
--source-client socialdatax-skills --source-platform clawhub \
--source-skill socialdatax-bilibili
npx -y socialdatax-skills@latest bilibili user-info \
--user-id "<user_id>" --pretty --source-client socialdatax-skills \
--source-platform clawhub --source-skill socialdatax-bilibili
npx -y socialdatax-skills@latest bilibili user-info \
--profile-url "<profile_url_or_share_text>" --pretty \
--source-client socialdatax-skills --source-platform clawhub \
--source-skill socialdatax-bilibili
npx -y socialdatax-skills@latest bilibili user-videos \
--user-id "<user_id>" --pretty --source-client socialdatax-skills \
--source-platform clawhub --source-skill socialdatax-bilibili
npx -y socialdatax-skills@latest bilibili user-videos \
--profile-url "<profile_url_or_share_text>" --pretty \
--source-client socialdatax-skills --source-platform clawhub \
--source-skill socialdatax-bilibili
npx -y socialdatax-skills@latest bilibili user-articles \
--user-id "<user_id>" --pretty --source-client socialdatax-skills \
--source-platform clawhub --source-skill socialdatax-bilibili
npx -y socialdatax-skills@latest bilibili user-articles \
--profile-url "<profile_url_or_share_text>" --pretty \
--source-client socialdatax-skills --source-platform clawhub \
--source-skill socialdatax-bilibili
npx -y socialdatax-skills@latest bilibili user-dynamics \
--user-id "<user_id>" --pretty --source-client socialdatax-skills \
--source-platform clawhub --source-skill socialdatax-bilibili
npx -y socialdatax-skills@latest bilibili user-dynamics \
--profile-url "<profile_url_or_share_text>" --pretty \
--source-client socialdatax-skills --source-platform clawhub \
--source-skill socialdatax-bilibili
npx -y socialdatax-skills@latest bilibili download-media \
--url "<bilibili_video_url_or_share_text>" --output-dir ./downloads --pretty \
--source-client socialdatax-skills --source-platform clawhub \
--source-skill socialdatax-bilibili
Optional arguments:
--source-client socialdatax-skills --source-platform clawhub --source-skill socialdatax-bilibili: usage attribution for this Agent Skill; keep these values unchanged when running examples from this Skill.Use search-videos or search-articles for Bilibili / 哔哩哔哩 / B站 content research, detail for one video, article, or dynamic, comments/replies for discussion analysis, reactions for likes and reposts, user-info for creator profiles, creator list commands for videos, articles, and dynamics, and run download only when the user explicitly asks to save a video locally.
For replies, use the comment_object_id, comment_object_type, and first-level comment_id returned by first-level comments.
SocialDataX requests in this skill are read-only and do not modify social accounts or platform content. It uses SOCIALDATAX_API_KEY from the user's environment at runtime; generated Skill files do not contain API keys. It does not read local browser data or perform login, posting, liking, commenting, or account changes. The optional bilibili download command writes video and audio tracks plus the merged video to the user-selected local output path, uses local ffmpeg, and removes temporary tracks unless --keep-tracks is set. Online searches, lookups and download-link requests send the necessary keywords, content IDs, URLs or share text to SocialDataX to fulfill the request.
MCP tools matching the direct CLI commands above:
bilibili_search_videosbilibili_search_articlesbilibili_get_content_detail_by_idbilibili_get_content_detail_by_urlbilibili_get_content_comments_by_idbilibili_get_content_comments_by_urlbilibili_get_content_comment_replies_by_comment_idbilibili_get_content_likes_and_reposts_by_post_idbilibili_get_content_likes_and_reposts_by_urlbilibili_get_user_info_by_user_idbilibili_get_user_info_by_profile_urlbilibili_get_user_posted_videos_by_user_idbilibili_get_user_posted_videos_by_profile_urlbilibili_get_user_posted_articles_by_user_idbilibili_get_user_posted_articles_by_profile_urlbilibili_get_user_posted_dynamics_by_user_idbilibili_get_user_posted_dynamics_by_profile_urlbilibili_get_video_download_linksCredential source: identify whether this request uses CLI or MCP. For CLI, check the effective configuration in the actual execution environment using the API Key section (primary variable first, then legacy compatibility). For MCP, check the authentication configuration of the current connection, without requiring a local CLI variable. If configuration is missing, follow the earlier client diagnosis and fallback order. Do not expose Keys, Authorization headers or secret configuration values.
If an SDK/dependency, npm network, Node.js/npm/npx availability, permission, or missing runtime error appears, treat it as a local runtime, dependency installation, network, or agent authorization issue, not a SocialDataX API key or business data error. Install or repair task dependencies only within the user's existing authorization, preferably in the project or a temporary environment. Execution permissions are not user authorization; explain and obtain approval before changes outside that scope, including global installs, runtime upgrades, or system configuration changes. When network or execution authorization is needed, ask the user to approve or finish authorization, then continue the same command; do not use public web search as a substitute for SocialDataX data.
If the CLI exits with status 1 and prints partial: true, preserve data.items and the error, and report incomplete results. This recovery rule overrides advice to rerun the original command. After resolving the error (including insufficient balance), resume only with a non-empty data.next_page_token and the same query parameters. Keep the original page and item limits: subtract cumulative page_count and item_count from the respective --pages and --max-items limits, if set. Stop parent-list pagination when either limit is reached. An empty token does not mean completion. Do not restart from the first page; investigate repeated-token errors before continuing.
For non-balance network or API errors, preserve the error message, check the effective credential source above, parameters, and link or ID format, then retry once when appropriate.
If the response returns insufficient_balance or says the balance/credits are insufficient, do not retry repeatedly. Show the official billing link in the error (https://socialdatax.com/dashboard/billing, including any channel parameters); if absent, use https://socialdatax.com/dashboard/billing. After recharging, resume the failed call; if a job or partial results already exist, follow the corresponding job-query or pagination recovery rules.
If the user has recharged but still sees insufficient balance, have the user confirm in the relevant account dashboard that this request uses the recharged account, following the credential source above. If an update is needed, have the user update the effective CLI configuration or MCP connection, reload as documented, and resume the original command. Do not require reconfiguration just because the primary local variable is absent, or expose credential values.