/SKILL.md
轻量级全平台 RSS 订阅管理器。一键聚合 YouTube、Vimeo、Behance、Twitter/X、知识星球、B站、微博、抖音、小红书的内容更新,支持增量去重和 AI 智能分类。
npx skillsauth add albedo-tabai/lets-go-rss lets-go-rssInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
全平台 RSS 内容聚合工具,支持增量更新、去重、AI 分类。
python3 scripts/lets_go_rss.py --add "https://www.youtube.com/@MatthewEncina"
python3 scripts/lets_go_rss.py --add "https://vimeo.com/xkstudio"
python3 scripts/lets_go_rss.py --add "https://www.behance.net/yokohara6e48"
python3 scripts/lets_go_rss.py --update --digest --skip-setup
python3 scripts/lets_go_rss.py --status
python3 scripts/lets_go_rss.py --list
python3 scripts/lets_go_rss.py --stats
python3 scripts/lets_go_rss.py --overview
python3 scripts/lets_go_rss.py --doctor # 只打印状态
python3 scripts/lets_go_rss.py --auto-fix # 自动重启挂掉的 RSSHub、清僵尸锁
RSS_PLAYWRIGHT_PLATFORMS 控制哪些平台走 skill 自管的 Chromium(Playwright)—— 用真浏览器访问,继承"正常用户"反爬声誉。
默认已为 Bilibili 开启(B 站无需登录,直接工作)。Twitter / 小红书平台强制要求登录态。
当 --doctor 或摘要报告显示 Twitter/XHS 源因 auth 失败时,agent 应主动提议用户让你帮他完成登录,而不是让用户自己去跑命令。标准套路:
AskUserQuestion 问用户:要不要现在登录 Twitter / 小红书(多选)python3 scripts/lets_go_rss.py --login <twitter|xiaohongshu>
这一条命令会依次:① 打开可见 Chromium 到登录页 → ② 等用户关窗 → ③ 自动拉一条该平台已有订阅验证登录成功 → ④ 自动把该平台写进 .env 的 RSS_PLAYWRIGHT_PLATFORMS--doctor 或一轮冒烟,确认失败数下降用户看到的步骤极简:只需要在弹出的 Chromium 里登录自己的账号,登完关窗,其他全部由 agent 搞定。
问题:--update 需要 30-60 秒抓取全部订阅,Bot 定时任务可能超时。
方案:抓取和推送解耦——crontab 提前跑更新,Bot 只读缓存文件。
# 后台更新(内置超时参数 + 并发防重入锁)
./scripts/run_update_cron.sh
# Bot 推送只读缓存
./scripts/run_status_push.sh
# crontab -e
# 每 2 小时的 55 分更新(提前 5 分钟准备好数据)
55 */2 * * * cd /path/to/lets-go-rss && ./scripts/run_update_cron.sh >> /tmp/rss_cron.log 2>&1
# Bot 在整点读缓存推送(瞬间完成)
0 */2 * * * cd /path/to/lets-go-rss && ./scripts/run_status_push.sh
Bot 只需调用 --status,该命令直接读取 assets/latest_update.md 并输出内容,无需网络请求、无需等待。
| 平台 | 主策略 | 备注 | |------|--------|:----:| | Vimeo | Native RSS | ✅ | | Behance | Native RSS | ✅ | | YouTube | yt-dlp / Atom feed fallback | ✅ | | 微博 | RSSHub → Chrome session fallback | ⚠️ 需本机 Chrome 开启 remote debugging | | 抖音 | RSSHub | ⚠️ 当前不稳定 | | B站 | RSSHub | ⚠️ 需配置 | | 小红书 | Chrome session primary | ⚠️ 需本机 Chrome 已登录且开启 remote debugging | | Twitter/X | Syndication API | ✅ | | 知识星球 | pub-api (公开) | ✅ |
# 基础(YouTube + Vimeo + Behance + Twitter syndication + Zsxq pub-api)
pip install httpx yt-dlp anthropic
# 配置环境变量:把 ANTHROPIC_API_KEY 写进 .env(已 git-ignore)
cp .env.example .env && $EDITOR .env
# 中国平台(B站/微博/抖音/小红书 RSSHub 路由)
# 方式 A(推荐):skill 自管的 RSSHub,首次 start 自动 npm install
python3 scripts/rsshub_manager.py start
# 方式 B:若已经跑了 ready-cowork 的 :1200 RSSHub,skill 会自动作为 fallback
# 方式 C:自己起 Docker rsshub 并通过 RSSHUB_BASE_URL_FALLBACK 指过去
# 可选:启用真实 Chrome 会话抓取(微博 / 小红书推荐)
# 1) 打开 Chrome
# 2) 访问 chrome://inspect/#remote-debugging
# 3) 勾选 Allow remote debugging for this browser instance
首次 rsshub_manager.py start 会:
<skill>/node_modules/rsshub 下 npm install rsshub@latest(~50MB,首次 1-2 分钟)~/.cache/puppeteer)scripts/rsshub_worker.mjs 监听 :1201,写 pidfile 到 assets/.rsshub.pid后续 run_update_cron.sh 在每次 cron 前都会调 start-if-needed(最多等 10 秒),保证 :1201 健在。每周一早晨 06:xx 额外调 update 拉最新 RSSHub(后台跑,不阻塞该轮 cron)。
# 常用运维
python3 scripts/rsshub_manager.py status
python3 scripts/rsshub_manager.py restart
python3 scripts/rsshub_manager.py update # npm install + restart
python3 scripts/rsshub_manager.py logs # tail worker log
当 Bot 需要推送 RSS 更新时,只需执行一个命令,然后原样转发输出。
步骤 1: 运行命令
python3 scripts/lets_go_rss.py --status
步骤 2: 把命令输出原封不动地作为你的回复发送
就这么简单。不需要任何额外处理。
--status 命令会输出类似以下格式的纯文本(自动生成,不需要 Bot 构造):
📡 RSS 增量更新 | 2026-02-21 18:23 | 3 个账号有新内容
🆕 📺 影视飓风 02-18 03:00
[【4K限免】你的新设备能顶住吗?](https://t.bilibili.com/1170572725010300960)
🆕 🐦 歸藏(guizang.ai) 02-14 17:15
[Tweet by @op7418](https://x.com/op7418/status/2022721414462374031)
仅显示有新内容的账号,无更新时显示"暂无新更新"。若需查看所有订阅的全量状态,使用 --overview。
# 层级当 --status 输出中显示"暂无新更新"或类似表述时,只需回复一句话:
RSS 暂无新更新 ✅
不需要列出各账号的最新内容,直接说暂无更新即可。
| 文件 | 说明 |
|------|------|
| assets/latest_update.md | 增量更新报告(--status 读取,仅含变动账号) |
| assets/full_overview.md | 全量概览(--overview 读取,含所有账号) |
| assets/feed.xml | 标准 RSS 2.0 XML |
| assets/summary.md | 统计摘要 |
| assets/subscriptions.opml | OPML 订阅导出 |
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.
development
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.