Favorites Harvester
Use this skill when you need one entrypoint across platforms. It calls the per-platform skills (no RSSHub).
Docker-first:
- See
docs/usage.mdfordocker compose run --rm runner ...examples (no host Python required).
Cookie auth (shared)
- Recommended: CookieCloud env vars (
COOKIECLOUD_UUID,COOKIECLOUD_PASSWORD, optionalCOOKIECLOUD_SERVER_URL). Compatibility: also acceptsCOOKIECLOUDUUID/COOKIECLOUDPASSWORD. - Or set platform-specific cookie env vars (
BILIBILI_COOKIE,ZHIHU_COOKIES,XIAOHONGSHU_COOKIE)
Optional: export CookieCloud -> env file (no RSSHub)
docker compose run --rm runner python skills/favorites-harvester/scripts/cookiecloud_export_env.py \
http://cookiecloud:8088 <uuid> <password> --env-file favorites.env
Quick Start
List favorites across platforms:
docker compose run --rm runner python skills/favorites-harvester/scripts/favorites_harvester.py list --platform all
List only XiaoHongShu saved boards (收藏专辑/收藏夹):
docker compose run --rm runner python skills/favorites-harvester/scripts/favorites_harvester.py list --platform xiaohongshu --xhs-mode boards
Fetch content by URL (auto-detect platform):
docker compose run --rm runner python skills/favorites-harvester/scripts/favorites_harvester.py content --url 'https://www.bilibili.com/video/BV...'
docker compose run --rm runner python skills/favorites-harvester/scripts/favorites_harvester.py content --url 'https://www.zhihu.com/question/.../answer/...'
docker compose run --rm runner python skills/favorites-harvester/scripts/favorites_harvester.py content --url 'https://www.xiaohongshu.com/explore/<noteId>'
List items in a container:
docker compose run --rm runner python skills/favorites-harvester/scripts/favorites_harvester.py items --platform bilibili --folder-id <mediaId> --limit 50
docker compose run --rm runner python skills/favorites-harvester/scripts/favorites_harvester.py items --platform zhihu --collection-id <id> --limit 50
docker compose run --rm runner python skills/favorites-harvester/scripts/favorites_harvester.py items --platform xiaohongshu --board-id <boardId> --limit 50
JSON mode:
- Add
--jsontolist/items/contentto emit machine-readable JSON.
How It Works
- Calls these atomic skills by invoking their scripts (prefers
uv runif available; falls back topython):skills/bilibili-favoritesskills/zhihu-favoritesskills/xiaohongshu-favorites
- Use the atomic skill directly when you need advanced flags (e.g. Bilibili subtitle language selection, XHS Playwright options).
Troubleshooting
- XHS failures: run with
list ... --xhs-no-headless(visible browser). - Bilibili transcript failures: the video may have no subtitle track; use
skills/media-audio-download+skills/whisper-transcribe-docker(or other Whisper skills) after downloading audio.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.