Install
openclaw skills install @dvlin-dev/social-media-favorites-archiverSync a user's Bilibili/B站, Xiaohongshu/小红书/RedNote, and Douyin/抖音 favorites into local Markdown/Obsidian with local ASR/OCR.
openclaw skills install @dvlin-dev/social-media-favorites-archiverUse this workflow for backing up, migrating, or organizing a user's own personal favorites collections from Bilibili, Xiaohongshu/RedNote, or Douyin into a local Markdown/Obsidian vault.
Do not use it for a single video transcription, one-image OCR, ordinary summarization, public-account scraping, marketing copy, reposting, commenting, or other bookmark products.
smfa status and smfa report output.If smfa is not already available, install the immutable public release. Copy and run exactly this command; do not substitute a PyPI package spec, branch, or other source:
uv tool install git+https://github.com/dvlin-dev/social-media-favorites-archiver.git@v1.0.4
Run smfa --help after installation. Do not replace the tag with a moving branch.
smfa doctor --config /absolute/path/to/config.yml. Fix local prerequisites without displaying secrets.smfa login <platform> --config /absolute/path/to/config.yml for each requested platform. Pause only when the platform asks the user to complete QR, captcha, login, account, or device confirmation; resume immediately afterward.smfa collections <platform> --config /absolute/path/to/config.yml and let the user select collections when their intent is ambiguous.smfa sync <platform> --metadata-only --config /absolute/path/to/config.yml first so skeleton notes become visible quickly. Report discovered/skeleton counts separately from heavy work.smfa sync <platform> --foreground --config /absolute/path/to/config.yml to drain durable local ASR/OCR/fusion/render/verify/cleanup work. Use --limit only for representative validation because limited enumeration must not reconcile removals.smfa status --json and smfa report --json; report aggregate outcomes and sanitized diagnostic codes only. Retry safe failures with smfa retry failed.After each platform, report metadata progress, heavy-stage progress, tests/checks, blockers requiring user action, and the next platform. Do not claim an unavailable content type passed without real evidence.
The base archive never depends on cloud enrichment. Missing or failed optional enrichment must preserve the complete local archive.
The distributable Skill bundle is MIT-0; the Python application source remains MIT.