beaver-rss-digest
Beaver RSS Digest
从 RSS 源抓取文章,使用配置化 LLM 链路打分与摘要,输出模板化 Markdown 报告。
配置与目录
- 用户配置:
~/.beaver-skill/beaver-rss-digest/config.yaml - 多语言文案:
~/.beaver-skill/beaver-rss-digest/i18n.yaml - 初始化配置模板:由
@beaverslab/rss-digest包内置提供 - 报告模板目录:
skills/beaver-rss-digest/templates/ - 通用 CLI / 摘要引擎:
packages/rss-digest
环境变量
API Key 环境变量名通过 config.yaml 的 llmApiKeyEnv 配置,默认值为 LLM_API_KEY。实际 Key 仍通过当前 shell 环境变量提供,例如:
LLM_API_KEY=your-key-here
OPENAI_API_KEY=your-key-here
ANTHROPIC_API_KEY=your-key-here
运行前先在当前 shell 中 export 对应变量,例如:
export LLM_API_KEY=your-key-here
核心流程
- 读取
config.yaml - 校验配置完整性(LLM、分类、提示词、RSS 源、模板名)
- 按
llms顺序筛选enabled: true项 - 从第一个 enabled LLM 开始调用,失败则自动切换下一个
- 使用
defaults.reportTemplate对应模板渲染报告
LLM 配置规范
config.yaml 中额外支持:
llmApiKeyEnv: 全局 API Key 环境变量名,默认LLM_API_KEY
llms 为数组,每项支持:
enabled:true/falseprovider: 提供商名称(仅用于标识)apiType:openai-compatible或anthropic-compatiblebaseUrl: API 基础地址model: 模型名 注意:运行时会先读取llmApiKeyEnv,如果当前环境中不存在这个变量,会提示用户修改config.yaml中的llmApiKeyEnv。
报告模板
- 配置项:
defaults.reportTemplate - 对应文件:
templates/<reportTemplate>.md - 默认模板:
templates/default.md
模板变量:
{{reportTitle}}{{date}}{{highlightsSection}}{{categoryChartSection}}{{articlesSection}}
CLI 命令
在 skills/beaver-rss-digest 目录执行:
bunx @beaverslab/rss-digest init \
--config ~/.beaver-skill/beaver-rss-digest/config.yaml \
--i18n ~/.beaver-skill/beaver-rss-digest/i18n.yaml \
--templates-dir ./templates
bunx @beaverslab/rss-digest config validate \
--config ~/.beaver-skill/beaver-rss-digest/config.yaml \
--i18n ~/.beaver-skill/beaver-rss-digest/i18n.yaml \
--templates-dir ./templates
bunx @beaverslab/rss-digest run \
--config ~/.beaver-skill/beaver-rss-digest/config.yaml \
--i18n ~/.beaver-skill/beaver-rss-digest/i18n.yaml \
--templates-dir ./templates
bunx @beaverslab/rss-digest run \
--config ~/.beaver-skill/beaver-rss-digest/config.yaml \
--i18n ~/.beaver-skill/beaver-rss-digest/i18n.yaml \
--templates-dir ./templates \
--stdout
优先使用 bunx。如果当前环境没有 bunx,可以直接改用 npx,参数保持不变。
细粒度命令:
bunx @beaverslab/rss-digest config path --config ~/.beaver-skill/beaver-rss-digest/config.yaml
bunx @beaverslab/rss-digest source list --config ~/.beaver-skill/beaver-rss-digest/config.yaml
bunx @beaverslab/rss-digest source add --config ~/.beaver-skill/beaver-rss-digest/config.yaml
bunx @beaverslab/rss-digest source remove --config ~/.beaver-skill/beaver-rss-digest/config.yaml
source add/remove 未传参数时会进入交互输入。
常用运行示例
# 初始化用户配置
bunx @beaverslab/rss-digest init \
--config ~/.beaver-skill/beaver-rss-digest/config.yaml \
--i18n ~/.beaver-skill/beaver-rss-digest/i18n.yaml
# 生成 digest
bunx @beaverslab/rss-digest run \
--config ~/.beaver-skill/beaver-rss-digest/config.yaml \
--i18n ~/.beaver-skill/beaver-rss-digest/i18n.yaml \
--templates-dir ./templates \
--hours 24 \
--top-n 10 \
--lang en \
--output ./output/my-digest.md
# 输出到标准输出,适合管道或 AI 读取
bunx @beaverslab/rss-digest run \
--config ~/.beaver-skill/beaver-rss-digest/config.yaml \
--i18n ~/.beaver-skill/beaver-rss-digest/i18n.yaml \
--templates-dir ./templates \
--stdout
关键配置项说明
defaults.hours: 默认抓取时间窗口defaults.topN: 默认输出文章数defaults.language:zh/endefaults.outputDir: 可选输出目录;未配置时默认输出到 stdoutdefaults.reportTemplate: 报告模板名categories: 分类定义(id/emoji/label)prompts: 评分、摘要、看点提示词模板rssFeeds: RSS 源列表(支持 CLI 动态增删)
故障排查
- 配置错误:先执行
bunx @beaverslab/rss-digest config validate ... - 模板不存在:检查
defaults.reportTemplate与templates/<name>.md - 全部 LLM 失败:检查
llmApiKeyEnv是否正确,以及当前 shell 是否已export同名 Key - 无文章输出:扩大
hours或确认 RSS 源可访问
More from beaverslab/beaver-skill
beaver-image-gen
AI image generation with OpenAI, Google, DashScope and Replicate APIs. Supports text-to-image, reference images, aspect ratios. Sequential by default; parallel generation available on request. Use when user asks to generate, create, or draw images.
15beaver-xhs-images
Generates Xiaohongshu (Little Red Book) infographic series with 10 visual styles and 8 layouts. Breaks content into 1-10 cartoon-style images optimized for XHS engagement. Use when user mentions "小红书图片", "小红书笔记", "小红书配图", "小红书种草", "XHS images", "XHS cards", "RedNote infographics", or wants social media infographics for Chinese platforms.
8beaver-release-skills
Dual-release workflow for the Beaver Skills library. Use "release skill" to update the unified skills version or "release package <name>" to update independent CLI tools (NPM, Rust, Python, Go). Powered by Changesets.
5beaver-markdown-i18n
Translate and sync markdown documentation between languages (EN↔ZH/JA/KO). Handles new document translation and incremental sync when source updates. Preserves code blocks, frontmatter structure, links, and variables. Use when translating docs, localizing markdown, syncing i18n files, or when the user mentions translation, localization, multilingual documentation, 翻译, ローカライズ, or 번역.
3beaver-claw-backup
Backup, restore, and migrate workspace data or tool configurations. Use when the user mentions "backup", "restore", "snapshot", "migrate", "备份", "恢复", "还原", "迁移", or "存档".
1beaver-cover-image
Generates article cover images with 5 dimensions (type, palette, rendering, text, mood) combining 9 color palettes and 6 rendering styles. Supports cinematic (2.35:1), widescreen (16:9), and square (1:1) aspects. Use when user asks to "generate cover image", "create article cover", or "make cover".
1