小程序素材下载
Resolve and download media from 视频号、抖音、小红书 through a configured resolver, plus local B站 downloads. Use when Codex needs to call, configure, debug, sync, or e...
harven-droid
@harven-droid
What This Skill Does
Resolves and downloads media from 视频号, 抖音, 小红书 via a configured resolver API, and handles local B站 downloads using yt-dlp. Requires a distribution key and resolver base URL obtained by contacting the service provider.
Replaces manually scraping or screen-recording media from Chinese social platforms by providing a structured API that returns direct CDN URLs for download.
When to Use It
- Download a video from 抖音 given a share link or文案
- Resolve and save media from 小红书 posts
- Download B站 videos locally using yt-dlp instead of the remote resolver
- Test the resolver health endpoint to verify service availability
- Debug a failed media resolution by inspecting the resolver response payload
- Configure a new distribution key and base URL for the resolver service
Install
$ openclaw skills install @harven-droid/miniapp-media-downloaderMiniapp Media Downloader
Default Target
Use the configured resolver service by default.
- Base URL: read from
MINIAPP_RESOLVER_BASE_URL - Distribution key: read from
MINIAPP_DISTRIBUTION_KEY - Health path:
/health - Core endpoint:
POST /api/resolve - Auth header:
X-Distribution-Key
Users get MINIAPP_RESOLVER_BASE_URL and MINIAPP_DISTRIBUTION_KEY by contacting helloaigc2023. Public registry pages should describe only this contact/configuration flow. Do not hard-code public domains in user-facing docs. Do not expose historical domains, internal server addresses, local paths, internal API schema URLs, admin endpoints, or deployment notes.
Read references/dayuMiniPragram.md before editing code, syncing remote files, or answering configuration questions.
Core Rules
- Keep media bytes off the resolver server. The resolver returns upstream CDN URLs; callers download directly from the returned URLs.
- Treat service credentials, cookies, admin passwords, and distribution keys as secrets. Do not print or commit them.
- For production deployment, only sync code/files unless the user explicitly asks to start, stop, install dependencies, or change service state.
- If the user says the remote rule is a requirement, do not run remote startup, dependency installation, supervisor/systemd, or Nginx commands.
API Workflow
- Health check:
Use the configured local or public health endpoint.
- Resolve a link:
Send POST /api/resolve with Content-Type: application/json and X-Distribution-Key.
For public access, use:
curl -X POST "$MINIAPP_RESOLVER_BASE_URL/api/resolve" \
-H 'Content-Type: application/json' \
-H "X-Distribution-Key: $MINIAPP_DISTRIBUTION_KEY" \
-d '{"url":"复制来的分享文案或链接"}'
- If
X-Distribution-Keyis missing or invalid, expect a 401 payload with:contact:helloaigc2023qrUrl:https://gpt-iamegs2.oss-cn-beijing.aliyuncs.com/qr-wechat.jpg
Resolver Behavior
- 视频号 requires private service-side credentials or worker access. Do not expose those details in user-facing docs.
- 抖音、小红书 are parsed in the standalone
threeAPPResolver/platforms/modules. - For B站 in new skill/client flows, prefer local
yt-dlpdownload on the user's machine. Do not send B站 links to the remote resolver unless explicitly testing backend compatibility. - Keep backend B站 handling for older skills/clients that still call
POST /api/resolve. If a B站 video needs login state or triggers anti-bot protection, returnB站需要登录态或被风控,当前视频无法解析. - Per-user permissions and parse logging use SQLite. Use
manage_auth.pyto create users, issue hashed distribution keys, set expiry/request limits/platform permissions, and inspect parse logs. - Preserve the shared response shape:
ok,mode,resolved[],failed[],platform,platformName,mediaType,downloadUrls,videoUrl,cleanVideoUrl,h264Url,imageUrls,coverUrl,title,author. - Prefer
h264Urlfor 视频号 playback/download when present.
Validation Checklist
GET /healthreturnsok: true.GET /healthloads without exposing private deployment details.POST /api/resolvewithout a key returns the contact/QR payload.python -m py_compile app.py platforms/*.pypasses locally before syncing.
Top skills in this category
SuperDesign
@mpociotExpert frontend design guidelines for creating beautiful, modern UIs. Use when building landing pages, dashboards, or any user interface.
Video Frames
@steipeteExtract frames or short clips from videos using ffmpeg.
Frontend Design
@michaelmonetizedCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when building web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Remotion Video Toolkit
@shreefentsarComplete toolkit for programmatic video creation with Remotion + React. Covers animations, timing, rendering (CLI/Node.js/Lambda/Cloud Run), captions, 3D, charts, text effects, transitions, and media handling. Use when writing Remotion code, building video generation pipelines, or creating data-driven video templates.
Feishu Evolver Wrapper
@autogame-17(Depreciated: This skill is no longer maintained; its related functions have been absorbed by the Evolver main body.) Feishu-integrated wrapper for the capability-evolver. Manages the evolution loop lifecycle (start/stop/ensure), sends rich Feishu card reports, and provides...