Codex and Claude Code friendly CLI for turning public hot lists into original short-video plans and manual publish packs.
It is designed for agent workflows: every command emits stable JSON, writes predictable files, and avoids platform login, cookies, account automation, payment links, and automatic publishing.
Current-source pass on 2026-05-04:
imsyy/DailyHotApiHEAD:36c77e3bd891c11642d314cfb229bf31646704deDIYgod/RSSHubHEAD:566f028aaf1813c9d05e491b9f6c67325a06e837SocialSisterYi/bilibili-API-collectHEAD:4c00347d4f3494318903eeb11fb00d7b9c1f8c68tophubs/TopListHEAD:44e550cf3a4bcfe2ec1adc668fa6adb8fd453f9courongxing/newsnowHEAD:625bf04bc9ec13acd5554d241fa1683b0506027aourongxing/newsnow-mcp-serverHEAD:7abcdeb90bddf5d03818c9a81ab7169d1aa7f2c1joyce677/TrendRadarHEAD:7b33d53f8233b4056c4e033178f70f135f2d156aone-box-u/openclaw-daily-hot-newsHEAD:93aa62ab874cfb8ccd6a5d662b40a0942b685027nashsu/AutoCLIHEAD:c0969e2c83b29a7528452b1ba555085deca8e00dnashsu/autocli-skillHEAD:d6ca200b5ba65b60cf68153e88b2e9efb7f0f441
Supported input patterns:
- Bilibili public popular endpoint.
- Self-hosted DailyHotApi JSON routes.
- Self-hosted RSSHub RSS/Atom routes.
- Self-hosted NewsNow / TrendRadar / OpenClaw daily hot news JSON exports.
- Optional NewsNow MCP input for Claude Code or other MCP-capable clients.
- Any generic JSON URL that returns hot-list-like items.
- Any generic RSS/Atom URL.
- Optional
nashsu/AutoCLIbridge for 55+ platforms, including Bilibili, Zhihu, Weibo, Xiaohongshu, X/Twitter, Reddit, Douban, V2EX, Hacker News, and more. - Optional
nashsu/autocli-skillfor Claude Code/OpenClaw natural-language routing into AutoCLI. - Manual text imports from NewsNow, TopHub Tech, SoPilot, Douyin, OceanEngine, Xiaohongshu, Weibo, or browser-copied lists.
Directly from GitHub:
python -m pip install git+https://github.com/sddvacav/codex-hot-media.gitOr from a clone:
git clone https://github.com/sddvacav/codex-hot-media.git
cd codex-hot-media
python -m pip install -e .Then check:
codex-hot-media --json doctor
codex-hot-media --json sources
codex-hot-media --json agent-guideAgent integration files:
- Codex skill:
.codex/skills/codex-hot-media/SKILL.md - Claude Code memory:
CLAUDE.md - Claude Code slash command:
.claude/commands/hot-media.md - Shared guide:
AGENT_GUIDE.md - Optional AutoCLI bridge:
docs/AUTOCLI_INTEGRATION.md
Project publishing page:
docs/site/index.html- Image2 construction workflow:
docs/GITHUB_RELEASE_IMAGE2_WORKFLOW.md - Image2 prompt records:
assets/image2/prompts/
Run the default public Bilibili pipeline:
codex-hot-media --json run --source bilibili --pages 2 --page-size 20 --top-n 8 --out-dir outputsIf Bilibili returns an anti-abuse code, reduce --pages / --page-size or switch to a self-hosted DailyHotApi/RSSHub route. The CLI uses browser-like headers but does not use cookies or login state.
This creates:
outputs/data/hot_items_latest.jsonoutputs/data/hot_items_latest.mdoutputs/video_plan_from_hot_latest.jsonoutputs/video_plan_from_hot_latest.mdoutputs/publish_pack/publish_pack_latest.jsonoutputs/publish_pack/publish_pack_latest.mdoutputs/publish_pack/publish_log_template.csvoutputs/dashboard.html
codex-hot-media --json doctor
codex-hot-media --json sources
codex-hot-media --json agent-guide
codex-hot-media --json autocli-profiles
codex-hot-media --json image2-gate
codex-hot-media --json collect --source bilibili --pages 3 --page-size 20 --out-dir outputs/data --prefix hot_items
codex-hot-media --json plan --input outputs/data/hot_items_latest.json --top-n 10 --out-dir outputs
codex-hot-media --json pack --plan outputs/video_plan_from_hot_latest.json --out-dir outputs
codex-hot-media --json dashboard --plan outputs/video_plan_from_hot_latest.json --pack outputs/publish_pack/publish_pack_latest.json --out outputs/dashboard.htmlAutoCLI bridge:
# Public-mode profile. Does not need Chrome.
codex-hot-media --json run --source autocli --autocli-profile hackernews-top --limit 10 --top-n 5 --out-dir outputs
# Browser-session profiles. Require AutoCLI, Chrome, the AutoCLI Chrome extension, and your own logged-in session.
codex-hot-media --json collect --source autocli --autocli-profile zhihu-hot --limit 10 --out-dir outputs/data --prefix zhihu_hot
codex-hot-media --json collect --source autocli --autocli-profile weibo-hot --limit 10 --out-dir outputs/data --prefix weibo_hot
codex-hot-media --json collect --source autocli --autocli-profile xiaohongshu-search --query AI --limit 10 --out-dir outputs/data --prefix xhs_ai
codex-hot-media --json collect --source autocli --autocli-profile twitter-search --query "AI video tools" --limit 10 --out-dir outputs/data --prefix x_aiThe AutoCLI bridge is optional. If autocli is not installed, doctor and autocli-profiles still work and report the missing binary. Install from nashsu/AutoCLI releases, then put autocli.exe on PATH.
Write-action profiles are blocked by default. For example, twitter-post only runs through autocli-run when the user explicitly requests the action and --allow-write-action is present. It is not available as a collect source.
Manual import:
codex-hot-media --json import-text --input examples/manual_hot_titles.txt --source-name manual --out-dir outputs/data --prefix manual_hot
codex-hot-media --json plan --input outputs/data/manual_hot_latest.json --top-n 5 --out-dir outputs
codex-hot-media --json pack --plan outputs/video_plan_from_hot_latest.json --out-dir outputsDaily 5-minute manual hot sites:
- NewsNow: https://newsnow.busiyi.world
- TopHub Tech: https://tophub.today/c/tech
- SoPilot hot tweets: https://sopilot.net/zh/hot-tweets
Recommended daily flow:
codex-hot-media --json import-text --input examples/manual_hot_titles.txt --source-name daily-5min --out-dir outputs/data --prefix daily_5min
codex-hot-media --json plan --input outputs/data/daily_5min_latest.json --top-n 10 --out-dir outputs
codex-hot-media --json pack --plan outputs/video_plan_from_hot_latest.json --out-dir outputsDailyHotApi self-hosted route:
codex-hot-media --json collect --source dailyhot --base-url http://127.0.0.1:6688 --route bilibili --out-dir outputs/data --prefix dailyhot_bilibiliRSSHub route:
codex-hot-media --json collect --source rss --base-url http://127.0.0.1:1200 --route bilibili/popular/all --out-dir outputs/data --prefix rsshub_bilibiliGeneric JSON/RSS:
codex-hot-media --json collect --source json-url --url https://example.com/hot.json --source-name custom --out-dir outputs/data --prefix custom_hot
codex-hot-media --json collect --source rss --url https://example.com/feed.xml --source-name custom-rss --out-dir outputs/data --prefix custom_rssNewsNow / TrendRadar / OpenClaw-style self-hosted JSON:
codex-hot-media --json collect --source json-url --url http://127.0.0.1:3000/api/hot --source-name newsnow --out-dir outputs/data --prefix newsnow_hot
codex-hot-media --json plan --input outputs/data/newsnow_hot_latest.json --top-n 10 --out-dir outputs
codex-hot-media --json pack --plan outputs/video_plan_from_hot_latest.json --out-dir outputsSuccess:
{
"status": "ok",
"action": "run",
"collect": {},
"plan": {},
"pack": {},
"dashboard_html": "outputs/dashboard.html"
}Error:
{
"status": "error",
"action": "collect",
"message": "network or input error"
}No credentials are required or printed. If you use private/self-hosted services, pass only normal URLs; do not pass cookies or account tokens to this CLI.
This tool does:
- collect public or self-hosted hot-list data,
- normalize it into JSON/Markdown,
- generate original-content planning drafts,
- generate platform-specific manual copy packs,
- create a manual publishing log template.
This tool does not:
- log in to platforms,
- scrape behind authentication,
- copy source footage,
- upload videos,
- auto-publish posts,
- manage accounts, payments, OAuth, cookies, or tokens.
The tools/*.ps1 scripts are kept as a Windows local MVP layer. The GitHub-facing portable CLI is the Python package under src/codex_hot_media.
Use the PowerShell pipeline only when you want the original local demo flow:
powershell -ExecutionPolicy Bypass -File .\tools\run_daily_hot_pipeline.ps1