Skip to content

yyyzl/ai-daily-digest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AI Daily Digest

每天自动抓取技术博客 RSS,使用 AI 评分筛选并生成双语日报(EN + ZH)。

功能概览

  • 固定时间窗:支持 --from / --to,适合“昨天整天”统计口径
  • 双语输出:支持 --lang bi,每篇文章按“英文段 + 中文段”展示
  • 双提供方:支持 geminiopenai-compatible
  • 稳定性增强:模型调用失败自动重试(指数退避),支持多 API Key 轮询
  • 双语修复:--lang bi 下若中文字段缺失,会自动二次补译
  • 定时自动化:内置 GitHub Actions,每天北京时间 05:00 运行
  • 结果归档:日报自动发布到 GitHub Release(按日期)

项目结构

  • scripts/digest.ts:核心脚本
  • .github/workflows/daily-digest.yml:定时任务
  • .gitignore:忽略输出与本地无关文件

本地运行

1) 安装前置

  • Node.js(用于 npx
  • 网络可访问 RSS 和你的模型服务

2) 方式 A:OpenAI 兼容接口

export OPENAI_API_KEY="your-key"
# 可选:多个 key(逗号分隔),设置后优先于 OPENAI_API_KEY
# export OPENAI_API_KEYS="key-a,key-b,key-c"
export OPENAI_BASE_URL="https://api.openai.com/v1"
export OPENAI_MODEL="gpt-4.1-mini"

npx -y bun scripts/digest.ts \
  --provider openai-compatible \
  --from 2026-02-14T00:00:00Z \
  --to 2026-02-15T00:00:00Z \
  --top-n 15 \
  --lang bi \
  --output ./output/digest-20260214.md

LongCat 推理模型示例(会自动忽略 reasoning_content,仅使用 content):

export OPENAI_API_KEY="your-key"
# export OPENAI_API_KEYS="key-a,key-b,key-c"
export OPENAI_BASE_URL="https://api.longcat.chat/openai/v1/chat/completions"
export OPENAI_MODEL="LongCat-Flash-Thinking-2601"

3) 方式 B:Gemini

export GEMINI_API_KEY="your-key"
# 可选:多个 key(逗号分隔)
# export GEMINI_API_KEYS="key-a,key-b,key-c"
export GEMINI_MODEL="gemini-2.0-flash"

npx -y bun scripts/digest.ts \
  --provider gemini \
  --hours 48 \
  --top-n 15 \
  --lang bi \
  --output ./output/digest.md

GitHub Actions 自动运行

仓库已包含:.github/workflows/daily-digest.yml

  • 触发时间:cron: "0 21 * * *"(UTC),即北京时间每天 05:00
  • 时间窗口:自动计算北京时间“昨天 00:00:00 ~ 今天 00:00:00”,并传给 --from/--to
  • 输出语言:--lang bi
  • 产物:自动创建 digest-YYYYMMDD Release,并上传 output/digest-YYYYMMDD.md 作为 Release 资产

需要配置的 GitHub Secrets

至少配置一组:

  1. OpenAI 兼容(推荐)
  • OPENAI_API_KEY(必填)
  • OPENAI_API_KEYS(可选,逗号分隔,多 key 轮询)
  • OPENAI_BASE_URL(可选,默认 https://api.openai.com/v1
  • OPENAI_MODEL(可选,默认 gpt-4.1-mini
  1. Gemini
  • GEMINI_API_KEY(必填)
  • GEMINI_API_KEYS(可选,逗号分隔,多 key 轮询)
  • GEMINI_MODEL(可选,默认 gemini-2.0-flash

工作流选择逻辑:

  • 若存在 OPENAI_API_KEY,优先使用 OpenAI 兼容接口
  • 否则回退到 Gemini

参数说明

npx -y bun scripts/digest.ts --help

关键参数:

  • --provider: gemini / openai-compatible
  • --model: 模型名称
  • --base-url: OpenAI 兼容接口地址
  • --from / --to: 时间窗口(ISO UTC)
  • --lang: zh / en / bi
  • --top-n: 入选篇数
  • --output: 输出路径

发布到你自己的仓库

git init
git add .
git commit -m "feat: bootstrap ai daily digest with scheduled workflow"
git remote add origin https://github.com/yyyzl/ai-daily-digest.git
git branch -M main
git push -u origin main

推送后到仓库的 Settings -> Secrets and variables -> Actions 配置密钥,再到 Actions 页手动触发一次 workflow_dispatch 验证。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors