从 Andrej Karpathy 推荐的 90 顶级技术博客中抓取最新文章,AI 多维评分筛选,生成一份每日精选日报。更多可见公众号:懂点儿AI
npx skills add https://github.com/vigorx777/ai-daily-digest --skill ai-daily-digestCLI を使用してこのスキルをインストールし、ワークスペースで SKILL.md ワークフローの使用を開始します。
skill 制作详情可查看 ➡️ https://mp.weixin.qq.com/s/rkQ28KTZs5QeZqjwSCvR4Q
从 Andrej Karpathy 推荐的 90 个 Hacker News 顶级技术博客中抓取最新文章,通过 AI 多维评分筛选,生成一份结构化的每日精选日报。默认使用 Gemini,并支持自动降级到 OpenAI 兼容 API。

信息源来自 Hacker News Popularity Contest 2025,涵盖 simonwillison.net、paulgraham.com、overreacted.io、gwern.net、krebsonsecurity.com 等。
作为 OpenCode Skill 使用,在对话中输入 /digest 即可启动交互式引导流程:
/digest
Agent 会依次询问:
| 参数 | 选项 | 默认值 |
|---|---|---|
| 时间范围 | 24h / 48h / 72h / 7天 | 48h |
| 精选数量 | 10 / 15 / 20 篇 | 15 篇 |
| 输出语言 | 中文 / English | 中文 |
| Gemini API Key | 手动输入(首次需要,之后自动记忆) | — |
配置会自动保存到 ~/.hn-daily-digest/config.json,下次运行可一键复用。
export GEMINI_API_KEY="your-key"
export OPENAI_API_KEY="your-openai-compatible-key" # 可选,Gemini 失败时兜底
export OPENAI_API_BASE="https://api.deepseek.com/v1" # 可选,默认 https://api.openai.com/v1
export OPENAI_MODEL="deepseek-chat" # 可选,不填会自动推断
npx -y bun scripts/digest.ts --hours 48 --top-n 15 --lang zh --output ./digest.md
RSS 抓取 → 时间过滤 → AI 评分+分类 → AI 摘要+翻译 → 趋势总结
生成的 Markdown 文件包含以下板块:
| 板块 | 内容 |
|---|---|
| 📝 今日看点 | 3-5 句话的宏观趋势总结 |
| 🏆 今日必读 | Top 3 深度展示:中英双语标题、摘要、推荐理由、关键词 |
| 📊 数据概览 | 统计表格 + Mermaid 饼图(分类分布)+ Mermaid 柱状图(高频关键词)+ ASCII 纯文本图 + 话题标签云 |
| 分类文章列表 | 按 6 大分类分组,每篇含中文标题、来源、相对时间、评分、摘要、关键词 |
| 分类 | 覆盖范围 |
|---|---|
| 🤖 AI / ML | AI、机器学习、LLM、深度学习 |
| 🔒 安全 | 安全、隐私、漏洞、加密 |
| ⚙️ 工程 | 软件工程、架构、编程语言、系统设计 |
| 🛠 工具 / 开源 | 开发工具、开源项目、新发布的库/框架 |
| 💡 观点 / 杂谈 | 行业观点、个人思考、职业发展 |
| 📝 其他 | 不属于以上分类的内容 |
fetch 和内置 XML 解析npx -y bun 自动安装)GEMINI_API_KEY(免费获取)OPENAI_API_KEY(可配合 OPENAI_API_BASE 使用 DeepSeek / OpenAI 等 OpenAI 兼容服务)本项目默认使用 Gemini API(免费),如果你希望替换为其他模型提供商(如 OpenAI、Anthropic、DeepSeek、通义千问等),可以借助 AI 编码助手一键完成。
在你使用的 AI 编码工具(如 Claude Code、Cursor、GitHub Copilot 等)中,直接发送以下 prompt:
请修改 scripts/digest.ts,将 AI 提供商从 Gemini 替换为 [你想用的提供商]。
需要修改的部分:
1. 常量 GEMINI_API_URL(第 9 行)— 替换为目标 API 的 endpoint
2. 函数 callGemini(约第 363 行)— 修改 request body 格式和 response 解析逻辑以适配目标 API
3. 环境变量名 GEMINI_API_KEY — 改为对应的 key 名称(如 OPENAI_API_KEY)
4. SKILL.md 和 README.md 中的相关说明文字
要求:
- 保持函数签名不变(输入 prompt 字符串,返回 string)
- 保持 temperature 等参数的语义等价
- 更新 CLI 帮助文本和错误提示中的 key 名称
整个项目只有一个脚本文件 scripts/digest.ts,AI 调用逻辑集中在两处:
| 位置 | 说明 |
|---|---|
GEMINI_API_URL 常量 |
API endpoint 地址 |
callGemini() 函数 |
请求构造 + 响应解析,约 25 行代码 |
其余所有代码(RSS 抓取、评分 prompt、摘要 prompt、报告生成)均与 AI 提供商无关,无需修改。Prompt 内容本身是通用的,切换模型后可以直接复用。
| 提供商 | API Endpoint | Key 环境变量 |
|---|---|---|
| OpenAI | https://api.openai.com/v1/chat/completions |
OPENAI_API_KEY |
| Anthropic | https://api.anthropic.com/v1/messages |
ANTHROPIC_API_KEY |
| DeepSeek | https://api.deepseek.com/v1/chat/completions |
DEEPSEEK_API_KEY |
| 通义千问 | https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions |
DASHSCOPE_API_KEY |
| OpenAI 兼容 API | 自定义 endpoint | 自定义 |
💡 如果目标提供商兼容 OpenAI API 格式(如 DeepSeek、Groq、Together AI 等),改动量更小 — 只需换 URL 和 Key,request/response 格式相同。
90 个 RSS 源精选自 Hacker News 社区最受欢迎的独立技术博客,包括但不限于:
Simon Willison · Paul Graham · Dan Abramov · Gwern · Krebs on Security · Antirez · John Gruber · Troy Hunt · Mitchell Hashimoto · Steve Blank · Eli Bendersky · Fabien Sanglard ...
完整列表内嵌于 scripts/digest.ts。