| name | music-daily-recs |
| description | 每日巡检 75 个音乐评论站,三层抓取 (RSS → HTML → Camoufox) + Kanban Swarm 评分推送 GitHub + Telegram |
| category | music |
| cron_job | ec5ea562d589(每天 04:00 北京时间) |
| author | hermes-agent |
| version | 7.8 |
| license | MIT |
| created | 2026-05-07T00:00:00.000Z |
| updated | 2026-06-14T00:00:00.000Z |
| trigger_condition | cron 每天 04:00 自动,或手动 `hermes cron run ec5ea562d589` |
| metadata | {"hermes":{"tags":["music-reviews","kanban","fan-out","scraper","aggregator"],"related_skills":["kanban-worker","hermes-agent-skill-authoring"]}} |
架构 — 三层抓取 + Kanban Swarm
cron 04:00 → Step 0–5 (cron session)
│
├─ Step 2: RSS (50 站, 8 线程并发, 60-120s)
├─ Step 3: HTML (18 站子进程并发, ~180s, → html_reviews.json)
├─ Step 4: merge (rss + html + camoufox → scraped_raw.json)
├─ Step 5: kanban-swarm.py --confirm
│
↓ cron session 退出,kanban 调度器接管
┌─────────────────────────────────────────────┐
│ Root (done, shared blackboard) │
│ ├─ 6 Camoufox workers (boomkat, PoD, │
│ │ progressor, wild_city, jazztokyo, │
│ │ musicircus) │
│ ├─ Verifier (todo, parent=workers+root) │
│ │ merge_scraped.py + 质量门 │
│ └─ Synthesizer (todo, parent=verifier) │
│ 评分 → 报告 → git push → Telegram │
│ → 归档 │
└─────────────────────────────────────────────┘
站点分发(75 站 = 50 RSS + 18 HTML + 6 Camoufox + 1 skip)
优先级:RSS > HTML > Camoufox > skip。每个站只走一层。
| 层 | 数量 | 实现 |
|---|
| RSS | 50 | fast-rss-scrape.py — has_rss=True AND rss_url 非空的站 |
| HTML | 18 | scrape_html_parallel.py — HTML_SCRIPT_IDS 集合里的站 |
| Camoufox | 6 | kanban-swarm.py — 剩余站(无 RSS、非 HTML、非 skip) |
| skip | 2 | syrphe, textura(fluid_radio 归 RSS 因为 has_rss=True) |
代码位置:
- RSS 筛选:
bin/fast-rss-scrape.py:load_sites()
- HTML/Camoufox 分配:
bin/kanban-swarm.py:HTML_SCRIPT_IDS + get_sites()
50 RSS
the_wire, the_quietus, a_closer_listen, avant_music_news, bandcamp_daily, igloo_magazine, fluid_radio, icareifyoulisten, jazztimes, sequenza21, van_magazine, rhythm_passport, progarchives, rest_is_noise_ph, attn_magazine, chain_dlk, hhv_mag, new_music_buff, jazz_journal, five_against_four, modern_classical_music, the_classic_review, froots, prog_mistress, side_line, post_punk_com, i_die_you_die, peek_a_boo_magazine
注:fluid_radio 的 feed 灌的是 2013-2022 历史存档,预期 0 条新内容。
18 HTML
| 站 | 脚本 | 备注 |
|---|
| all_about_jazz | scrape_all_about_jazz.py | Cloudflare 列表页 |