Skip to content

sddvacav/codex-hot-media

Repository files navigation

codex-hot-media

Codex and Claude Code friendly CLI for turning public hot lists into original short-video plans and manual publish packs.

codex-hot-media hero

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.

codex-hot-media workflow

What It Uses

Current-source pass on 2026-05-04:

  • imsyy/DailyHotApi HEAD: 36c77e3bd891c11642d314cfb229bf31646704de
  • DIYgod/RSSHub HEAD: 566f028aaf1813c9d05e491b9f6c67325a06e837
  • SocialSisterYi/bilibili-API-collect HEAD: 4c00347d4f3494318903eeb11fb00d7b9c1f8c68
  • tophubs/TopList HEAD: 44e550cf3a4bcfe2ec1adc668fa6adb8fd453f9c
  • ourongxing/newsnow HEAD: 625bf04bc9ec13acd5554d241fa1683b0506027a
  • ourongxing/newsnow-mcp-server HEAD: 7abcdeb90bddf5d03818c9a81ab7169d1aa7f2c1
  • joyce677/TrendRadar HEAD: 7b33d53f8233b4056c4e033178f70f135f2d156a
  • one-box-u/openclaw-daily-hot-news HEAD: 93aa62ab874cfb8ccd6a5d662b40a0942b685027
  • nashsu/AutoCLI HEAD: c0969e2c83b29a7528452b1ba555085deca8e00d
  • nashsu/autocli-skill HEAD: 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/AutoCLI bridge for 55+ platforms, including Bilibili, Zhihu, Weibo, Xiaohongshu, X/Twitter, Reddit, Douban, V2EX, Hacker News, and more.
  • Optional nashsu/autocli-skill for Claude Code/OpenClaw natural-language routing into AutoCLI.
  • Manual text imports from NewsNow, TopHub Tech, SoPilot, Douyin, OceanEngine, Xiaohongshu, Weibo, or browser-copied lists.

Install

Directly from GitHub:

python -m pip install git+https://github.com/sddvacav/codex-hot-media.git

Or 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-guide

Agent 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/

Quick Start

Run the default public Bilibili pipeline:

codex-hot-media --json run --source bilibili --pages 2 --page-size 20 --top-n 8 --out-dir outputs

If 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.json
  • outputs/data/hot_items_latest.md
  • outputs/video_plan_from_hot_latest.json
  • outputs/video_plan_from_hot_latest.md
  • outputs/publish_pack/publish_pack_latest.json
  • outputs/publish_pack/publish_pack_latest.md
  • outputs/publish_pack/publish_log_template.csv
  • outputs/dashboard.html

Commands

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.html

AutoCLI 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_ai

The 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 outputs

Daily 5-minute manual hot sites:

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 outputs

DailyHotApi 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_bilibili

RSSHub 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_bilibili

Generic 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_rss

NewsNow / 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 outputs

JSON Contract

Success:

{
  "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.

Safety Boundary

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.

Existing Windows MVP Scripts

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

About

Agent-friendly hot-list to original media planning CLI for Codex and Claude Code

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors