Files

1 line
45 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"repo": "awfp1314/rss-distiller", "files": {"README.zh-CN.md": {"4db4643c9347c5d4804fb8a1826af2e31bce2b69": {"t": 1785746615.615538, "n": 3950, "h": "283a93d61cad288b", "c": "# RSS Distiller 🔬\n\n<div align=\"center\">\n\n[![Daily AI News Pusher](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml/badge.svg)](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml)\n[![Python](https://img.shields.io/badge/Python-3.10+-3776AB?logo=python&logoColor=white)](https://www.python.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Discord](https://img.shields.io/badge/Discord-Community-5865F2?logo=discord&logoColor=white)](https://discord.gg/j556gmgY4)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n**在信息爆炸时代,我们不需要更多资讯 - 我们需要更精准的过滤。**\n\n[English](README.md) | [简体中文](README.zh-CN.md)\n\n[加入社区](https://discord.gg/j556gmgY4) · [提交 Issue](https://github.com/Awfp1314/RSS-Distiller/issues/new) · [发起 PR](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n</div>\n\n---\n\n## 项目简介\n\nRSS Distiller 是一个基于 DeepSeek AI 的技术情报自动过滤与分发系统。\n\n它会定时抓取 RSS 文章,并执行**双重评估机制**:\n- 第一步:**Relevance Score(领域相关性)**\n- 第二步:**Quality Score(内容质量)**\n\n若任一核心指标不达标,内容会被硬过滤(`score=0`)直接丢弃。\n\n最终,系统把高价值内容整理为中英双语摘要并推送到 Discord 对应频道。\n\n---\n\n## 核心特性\n\n- 🎯 **领域路由**:`configs/` 目录下的 JSON 文件支持多频道配置,不同频道拥有独立 RSS、Webhook 与 topic。\n- 🧠 **双重评估**:相关性 + 内容质量联合判定,低信号内容硬过滤。\n- 🌐 **双语输出**:自动生成中英双语标题、要点和影响分析。\n- 🔁 **防重推送**:基于 Turso 数据库存储已推送链接,杜绝重复消息。\n- 📉 **单源限流**:按源设置候选上限,避免单一 RSS 源淹没候选池。\n- 🧪 **arXiv 分层采样**:兼顾最新内容、中后段潜在高价值条目和探索抽样,降低漏报风险。\n- 🏁 **Top-K 推送**:按综合分排序后仅推送每轮最有价值候选。\n- ⚙️ **零成本部署**:通过 GitHub Actions 定时运行,无需常驻服务器。\n\n---\n\n## 架构说明\n\n```text\nRSS 源\n -> 24小时过滤(rss_parser.py)\n -> 数据库查重(db_manager.py / Turso)\n -> AI 评估(ai_processor.py)\n 1) Relevance Score 相关性\n 2) Quality Score 内容质量\n 3) 未达阈值硬过滤(score=0)\n -> 候选排序(综合分:相关性 * 0.4 + 质量 * 0.6)\n -> Discord 推送(discord_pusher.py)\n -> 推送成功后写回数据库防重\n```\n\n---\n\n## 快速开始\n\n### 1) 安装\n\n```bash\ngit clone https://github.com/Awfp1314/RSS-Distiller.git\ncd RSS-Distiller\npip install -r requirements.txt\n```\n\n### 2) 配置环境变量\n\n```bash\ncp .env.example .env\n```\n\n在 `.env` 中填写:\n\n```ini\nDEEPSEEK_API_KEY=sk-xxxxxxxx\n\nTURSO_DATABASE_URL=libsql://your-db.turso.io\nTURSO_AUTH_TOKEN=your-turso-token\n\nDISCORD_WEBHOOK_AI=https://discord.com/api/webhooks/...\nDISCORD_WEBHOOK_UE=https://discord.com/api/webhooks/...\nDISCORD_WEBHOOK_LEGAL=https://discord.com/api/webhooks/...\n```\n\n### 3) 运行\n\n```bash\npython main.py\n```\n\n### 4) 模块测试\n\n```bash\npython tests/test_rss_parser.py\npython tests/test_db_manager.py\npython tests/test_ai_processor.py\npython tests/test_discord_pusher.py\n```\n\n> 测试会调用真实外部服务(DeepSeek API、Turso 数据库、Discord Webhook),请在运行前确保 `.env` 已正确配置。\n\n## GitHub Actions 部署\n\n工作流文件:\n- `.github/workflows/daily_push.yml`(每日资讯抓取与推送)\n- `.github/workflows/changelog_notify.yml`(推送提交更新到 Discord `#changelog`)\n\n- 定时触发时区说明:当前 cron 使用 `UTC`,工作流触发后会立即通过 Webhook 推送;不会按每位用户本地时区统一在早上 8 点送达。\n\n需要在仓库 `Settings -> Secrets and variables -> Actions` 中配置:\n- `DEEPSEEK_API_KEY`\n- `TURSO_DATABASE_URL`\n- `TURSO_AUTH_TOKEN`\n- `DISCORD_WEBHOOK_AI`\n- `DISCORD_WEBHOOK_UE`\n- `DISCORD_WEBHOOK_LEGAL`\n- `DISCORD_WEBHOOK_CHANGELOG`\n\n`changelog_notify.yml` 会监听 `main` 分支的 `push` 事件,并自动发送提交摘要(作者、提交数量、短 SHA + 提交标题、compare 链接、工作流运行链接)到更新记录频道。\n\n---\n\n## 参与贡献\n\n欢迎加入\"硬核技术情报共建计划\":\n\n### 1. 推荐新频道(最简单)\n\n使用 AI 配置生成器:\n\n1. 打开 [`CHANNEL_CONFIG_PROMPT.md`](docs/CHANNEL_CONFIG_PROMPT.md)\n2. 复制提示词,发送给 ChatGPT/Claude/Kimi\n3. 回答 AI 的问题,描述你想要的频道\n4. 将生成的 JSON 配置发到我们的 [Discord 论坛](https://discord.gg/j556gmgY4) `#rss-suggestions` 频道\n5. 我们会在 24 小时内审核并上线!\n\n无需编程 — 只需与 AI 对话,即可生成标准配置。\n\n### 2. 直接贡献(开发者)\n\n- **添加/编辑 RSS 源**:修改 `configs/` 目录下的 JSON 文件(如 `configs/AI.json`)\n- **创建新频道**:添加新的 `configs/<频道名>.json` 文件,参考现有配置结构\n- **优化 AI 提示词**:调整 `src/ai_processor.py` 中的 `SYSTEM_PROMPT_TEMPLATE`\n- **提交 Issue/PR**:欢迎 Bug 报告、功能建议和架构改进\n\n---\n\n## 社区与联系\n\n- 💬 Discord 社区:https://discord.gg/j556gmgY4\n- 📧 联系邮箱:w1849619997@gmail.com\n- 🐛 问题反馈:https://github.com/Awfp1314/RSS-Distiller/issues\n\n---\n\n## 许可证\n\nMIT License。\n"}, "9d36e55f964b9a2d1fa1826e1aa7a33850a29ff2": {"t": 1785766304.2317665, "n": 3941, "h": "38f44c57b52c5650", "c": "# RSS Distiller 🔬\n\n<div align=\"center\">\n\n[![Daily AI News Pusher](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml/badge.svg)](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml)\n[![Python](https://img.shields.io/badge/Python-3.10+-3776AB?logo=python&logoColor=white)](https://www.python.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Discord](https://img.shields.io/badge/Discord-Community-5865F2?logo=discord&logoColor=white)](https://discord.gg/j556gmgY4)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n**在信息爆炸时代,我们不需要更多资讯 - 我们需要更精准的过滤。**\n\n[English](README.md) | [简体中文](README.zh-CN.md)\n\n[加入社区](https://discord.gg/j556gmgY4) · [提交 Issue](https://github.com/Awfp1314/RSS-Distiller/issues/new) · [发起 PR](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n</div>\n\n---\n\n## 项目简介\n\nRSS Distiller 是一个基于 DeepSeek AI 的技术情报自动过滤与分发系统。\n\n它会定时抓取 RSS 文章,并执行**双重评估机制**:\n- 第一步:**Relevance Score(领域相关性)**\n- 第二步:**Quality Score(内容质量)**\n\n若任一核心指标不达标,内容会被硬过滤(`score=0`)直接丢弃。\n\n最终,系统把高价值内容整理为中英双语摘要并推送到 Discord 对应频道。\n\n---\n\n## 核心特性\n\n- 🎯 **领域路由**:`configs/` 目录下的 JSON 文件支持多频道配置,不同频道拥有独立 RSS、Webhook 与 topic。\n- 🧠 **双重评估**:相关性 + 内容质量联合判定,低信号内容硬过滤。\n- 🌐 **双语输出**:自动生成中英双语标题、要点和影响分析。\n- 🔁 **防重推送**:基于 Turso 数据库存储已推送链接,杜绝重复消息。\n- 📉 **单源限流**:按源设置候选上限,避免单一 RSS 源淹没候选池。\n- 🧪 **arXiv 分层采样**:兼顾最新内容、中后段潜在高价值条目和探索抽样,降低漏报风险。\n- 🏁 **Top-K 推送**:按综合分排序后仅推送每轮最有价值候选。\n- ⚙️ **零成本部署**:通过 GitHub Actions 定时运行,无需常驻服务器。\n\n---\n\n## 架构说明\n\n```text\nRSS 源\n -> 24小时过滤(rss_parser.py)\n -> 数据库查重(db_manager.py / Turso)\n -> AI 评估(ai_processor.py)\n 1) Relevance Score 相关性\n 2) Quality Score 内容质量\n 3) 未达阈值硬过滤(score=0)\n -> 候选排序(综合分:相关性 * 0.4 + 质量 * 0.6)\n -> Discord 推送(discord_pusher.py)\n -> 推送成功后写回数据库防重\n```\n\n---\n\n## 快速开始\n\n### 1) 安装\n\n```bash\ngit clone https://github.com/Awfp1314/RSS-Distiller.git\ncd RSS-Distiller\npip install -r requirements.txt\n```\n\n### 2) 配置环境变量\n\n```bash\ncp .env.example .env\n```\n\n在 `.env` 中填写:\n\n```ini\nDEEPSEEK_API_KEY=sk-xxxxxxxx\n\nTURSO_DATABASE_URL=libsql://your-db.turso.io\nTURSO_AUTH_TOKEN=your-turso-token\n\nDISCORD_WEBHOOK_AI=https://discord.com/api/webhooks/...\nDISCORD_WEBHOOK_UE=https://discord.com/api/webhooks/...\nDISCORD_WEBHOOK_LEGAL=https://discord.com/api/webhooks/...\n```\n\n### 3) 运行\n\n```bash\npython main.py\n```\n\n### 4) 模块测试\n\n```bash\npython test/test_rss_parser.py\npython test/test_db_manager.py\npython test/test_ai_processor.py\npython test/test_discord_pusher.py\n```\n\n> 测试会调用真实外部服务(DeepSeek API、Turso 数据库、Discord Webhook),请在运行前确保 `.env` 已正确配置。\n\n## GitHub Actions 部署\n\n工作流文件:\n- `.github/workflows/daily_push.yml`(每日资讯抓取与推送)\n- `.github/workflows/changelog_notify.yml`(推送提交更新到 Discord `#changelog`)\n\n- 定时触发时区说明:当前 cron 使用 `UTC`,工作流触发后会立即通过 Webhook 推送;不会按每位用户本地时区统一在早上 8 点送达。\n\n需要在仓库 `Settings -> Secrets and variables -> Actions` 中配置:\n- `DEEPSEEK_API_KEY`\n- `TURSO_DATABASE_URL`\n- `TURSO_AUTH_TOKEN`\n- `DISCORD_WEBHOOK_AI`\n- `DISCORD_WEBHOOK_UE`\n- `DISCORD_WEBHOOK_LEGAL`\n- `DISCORD_WEBHOOK_CHANGELOG`\n\n`changelog_notify.yml` 会监听 `main` 分支的 `push` 事件,并自动发送提交摘要(作者、提交数量、短 SHA + 提交标题、compare 链接、工作流运行链接)到更新记录频道。\n\n---\n\n## 参与贡献\n\n欢迎加入\"硬核技术情报共建计划\":\n\n### 1. 推荐新频道(最简单)\n\n使用 AI 配置生成器:\n\n1. 打开 [`CHANNEL_CONFIG_PROMPT.md`](CHANNEL_CONFIG_PROMPT.md)\n2. 复制提示词,发送给 ChatGPT/Claude/Kimi\n3. 回答 AI 的问题,描述你想要的频道\n4. 将生成的 JSON 配置发到我们的 [Discord 论坛](https://discord.gg/j556gmgY4) `#rss-suggestions` 频道\n5. 我们会在 24 小时内审核并上线!\n\n无需编程 — 只需与 AI 对话,即可生成标准配置。\n\n### 2. 直接贡献(开发者)\n\n- **添加/编辑 RSS 源**:修改 `configs/` 目录下的 JSON 文件(如 `configs/AI.json`)\n- **创建新频道**:添加新的 `configs/<频道名>.json` 文件,参考现有配置结构\n- **优化 AI 提示词**:调整 `src/ai_processor.py` 中的 `SYSTEM_PROMPT_TEMPLATE`\n- **提交 Issue/PR**:欢迎 Bug 报告、功能建议和架构改进\n\n---\n\n## 社区与联系\n\n- 💬 Discord 社区:https://discord.gg/j556gmgY4\n- 📧 联系邮箱:w1849619997@gmail.com\n- 🐛 问题反馈:https://github.com/Awfp1314/RSS-Distiller/issues\n\n---\n\n## 许可证\n\nMIT License。\n"}, "97181905f3e7131029b3c4a815a15bf0c0a7f1b6": {"t": 1785766305.6581976, "n": 3676, "h": "81983aaa5412e46f", "c": "# RSS Distiller 🔬\n\n<div align=\"center\">\n\n[![Daily AI News Pusher](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml/badge.svg)](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml)\n[![Python](https://img.shields.io/badge/Python-3.10+-3776AB?logo=python&logoColor=white)](https://www.python.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Discord](https://img.shields.io/badge/Discord-Community-5865F2?logo=discord&logoColor=white)](https://discord.gg/j556gmgY4)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n**在信息爆炸时代,我们不需要更多资讯 - 我们需要更精准的过滤。**\n\n[English](README.md) | [简体中文](README.zh-CN.md)\n\n[加入社区](https://discord.gg/j556gmgY4) · [提交 Issue](https://github.com/Awfp1314/RSS-Distiller/issues/new) · [发起 PR](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n</div>\n\n---\n\n## 项目简介\n\nRSS Distiller 是一个基于 DeepSeek AI 的技术情报自动过滤与分发系统。\n\n它会定时抓取 RSS 文章,并执行**双重评估机制**:\n- 第一步:**Relevance Score(领域相关性)**\n- 第二步:**Quality Score(内容质量)**\n\n若任一核心指标不达标,内容会被硬过滤(`score=0`)直接丢弃。\n\n最终,系统把高价值内容整理为中英双语摘要并推送到 Discord 对应频道。\n\n---\n\n## 核心特性\n\n- 🎯 **领域路由**:`configs/` 目录下的 JSON 文件支持多频道配置,不同频道拥有独立 RSS、Webhook 与 topic。\n- 🧠 **双重评估**:相关性 + 内容质量联合判定,低信号内容硬过滤。\n- 🌐 **双语输出**:自动生成中英双语标题、要点和影响分析。\n- 🔁 **防重推送**:基于 Turso 数据库存储已推送链接,杜绝重复消息。\n- 📉 **单源限流**:按源设置候选上限,避免单一 RSS 源淹没候选池。\n- 🧪 **arXiv 分层采样**:兼顾最新内容、中后段潜在高价值条目和探索抽样,降低漏报风险。\n- 🏁 **Top-K 推送**:按综合分排序后仅推送每轮最有价值候选。\n- ⚙️ **零成本部署**:通过 GitHub Actions 定时运行,无需常驻服务器。\n\n---\n\n## 架构说明\n\n```text\nRSS 源\n -> 24小时过滤(rss_parser.py)\n -> 数据库查重(db_manager.py / Turso)\n -> AI 评估(ai_processor.py)\n 1) Relevance Score 相关性\n 2) Quality Score 内容质量\n 3) 未达阈值硬过滤(score=0)\n -> 候选排序(综合分:相关性 * 0.4 + 质量 * 0.6)\n -> Discord 推送(discord_pusher.py)\n -> 推送成功后写回数据库防重\n```\n\n---\n\n## 快速开始\n\n### 1) 安装\n\n```bash\ngit clone https://github.com/Awfp1314/RSS-Distiller.git\ncd RSS-Distiller\npip install -r requirements.txt\n```\n\n### 2) 配置环境变量\n\n```bash\ncp .env.example .env\n```\n\n在 `.env` 中填写:\n\n```ini\nDEEPSEEK_API_KEY=sk-xxxxxxxx\n\nTURSO_DATABASE_URL=libsql://your-db.turso.io\nTURSO_AUTH_TOKEN=your-turso-token\n\nDISCORD_WEBHOOK_AI=https://discord.com/api/webhooks/...\nDISCORD_WEBHOOK_UE=https://discord.com/api/webhooks/...\nDISCORD_WEBHOOK_LEGAL=https://discord.com/api/webhooks/...\n```\n\n### 3) 运行\n\n```bash\npython main.py\n```\n\n### 4) 模块测试\n\n```bash\npython test/test_rss_parser.py\npython test/test_db_manager.py\npython test/test_ai_processor.py\npython test/test_discord_pusher.py\n```\n\n> 测试会调用真实外部服务(DeepSeek API、Turso 数据库、Discord Webhook),请在运行前确保 `.env` 已正确配置。\n\n## GitHub Actions 部署\n\n工作流文件:\n- `.github/workflows/daily_push.yml`(每日资讯抓取与推送)\n- `.github/workflows/changelog_notify.yml`(推送提交更新到 Discord `#changelog`)\n\n- 定时触发时区说明:当前 cron 使用 `UTC`,工作流触发后会立即通过 Webhook 推送;不会按每位用户本地时区统一在早上 8 点送达。\n\n需要在仓库 `Settings -> Secrets and variables -> Actions` 中配置:\n- `DEEPSEEK_API_KEY`\n- `TURSO_DATABASE_URL`\n- `TURSO_AUTH_TOKEN`\n- `DISCORD_WEBHOOK_AI`\n- `DISCORD_WEBHOOK_UE`\n- `DISCORD_WEBHOOK_LEGAL`\n- `DISCORD_WEBHOOK_CHANGELOG`\n\n`changelog_notify.yml` 会监听 `main` 分支的 `push` 事件,并自动发送提交摘要(作者、提交数量、短 SHA + 提交标题、compare 链接、工作流运行链接)到更新记录频道。\n\n---\n\n## 参与贡献\n\n欢迎加入\"硬核技术情报共建计划\":\n\n1. 提交高质量 RSS 订阅源\n - 在 `configs/` 目录下编辑或新增 JSON 文件(如 `configs/AI.json`),每个文件对应一个频道。\n2. 新增频道\n - 创建新的 `configs/<频道名>.json` 文件(参考已有配置的结构),并在 GitHub Actions secrets 中添加对应的 webhook 即可。\n3. 优化 `src/ai_processor.py` 中的 `SYSTEM_PROMPT_TEMPLATE`\n4. 通过 Issue 或 PR 参与协作\n\n---\n\n## 社区与联系\n\n- 💬 Discord 社区:https://discord.gg/j556gmgY4\n- 📧 联系邮箱:w1849619997@gmail.com\n- 🐛 问题反馈:https://github.com/Awfp1314/RSS-Distiller/issues\n\n---\n\n## 许可证\n\nMIT License。\n"}, "a2eebf1c10d22c9843a669c17a558e13bce7425f": {"t": 1785766307.1235304, "n": 3722, "h": "bb8a16224d434153", "c": "# RSS Distiller 🔬\n\n<div align=\"center\">\n\n[![Daily AI News Pusher](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml/badge.svg)](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml)\n[![Python](https://img.shields.io/badge/Python-3.10+-3776AB?logo=python&logoColor=white)](https://www.python.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Discord](https://img.shields.io/badge/Discord-Community-5865F2?logo=discord&logoColor=white)](https://discord.gg/j556gmgY4)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n**在信息爆炸时代,我们不需要更多资讯 - 我们需要更精准的过滤。**\n\n[English](README.md) | [简体中文](README.zh-CN.md)\n\n[加入社区](https://discord.gg/j556gmgY4) · [提交 Issue](https://github.com/Awfp1314/RSS-Distiller/issues/new) · [发起 PR](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n</div>\n\n---\n\n## 项目简介\n\nRSS Distiller 是一个基于 DeepSeek AI 的技术情报自动过滤与分发系统。\n\n它会定时抓取 RSS 文章,并执行**三重评估机制**:\n- 第一步:**Relevance Score(领域相关性)**\n- 第二步:**Frontier Score(前沿性)**\n- 第三步:**Attention Score(关注度)**\n\n若任一核心指标不达标,内容会被硬过滤(`score=0`)直接丢弃。\n\n最终,系统把高价值内容整理为中英双语摘要并推送到 Discord 对应频道。\n\n---\n\n## 核心特性\n\n- 🎯 **领域路由**:`configs/` 目录下的 JSON 文件支持多频道配置,不同频道拥有独立 RSS、Webhook 与 topic。\n- 🧠 **三重评估**:相关性 + 前沿性 + 关注度联合判定,低信号内容硬过滤。\n- 🌐 **双语输出**:自动生成中英双语标题、要点和影响分析。\n- 🔁 **防重推送**:基于 Turso 数据库存储已推送链接,杜绝重复消息。\n- 📉 **单源限流**:按源设置候选上限,避免单一 RSS 源淹没候选池。\n- 🧪 **arXiv 分层采样**:兼顾最新内容、中后段潜在高价值条目和探索抽样,降低漏报风险。\n- 🏁 **Top-K 推送**:按综合分排序后仅推送每轮最有价值候选。\n- ⚙️ **零成本部署**:通过 GitHub Actions 定时运行,无需常驻服务器。\n\n---\n\n## 架构说明\n\n```text\nRSS 源\n -> 24小时过滤(rss_parser.py)\n -> 数据库查重(db_manager.py / Turso)\n -> AI 评估(ai_processor.py)\n 1) Relevance Score 相关性\n 2) Frontier Score 前沿性\n 3) Attention Score 关注度\n 4) 未达阈值硬过滤(score=0)\n -> 候选排序(综合分)\n -> Discord 推送(discord_pusher.py)\n -> 推送成功后写回数据库防重\n```\n\n---\n\n## 快速开始\n\n### 1) 安装\n\n```bash\ngit clone https://github.com/Awfp1314/RSS-Distiller.git\ncd RSS-Distiller\npip install -r requirements.txt\n```\n\n### 2) 配置环境变量\n\n```bash\ncp .env.example .env\n```\n\n在 `.env` 中填写:\n\n```ini\nDEEPSEEK_API_KEY=sk-xxxxxxxx\n\nTURSO_DATABASE_URL=libsql://your-db.turso.io\nTURSO_AUTH_TOKEN=your-turso-token\n\nDISCORD_WEBHOOK_AI=https://discord.com/api/webhooks/...\nDISCORD_WEBHOOK_UE=https://discord.com/api/webhooks/...\nDISCORD_WEBHOOK_LEGAL=https://discord.com/api/webhooks/...\n```\n\n### 3) 运行\n\n```bash\npython main.py\n```\n\n### 4) 模块测试\n\n```bash\npython test/test_rss_parser.py\npython test/test_db_manager.py\npython test/test_ai_processor.py\npython test/test_discord_pusher.py\n```\n\n> 测试会调用真实外部服务(DeepSeek API、Turso 数据库、Discord Webhook),请在运行前确保 `.env` 已正确配置。\n\n## GitHub Actions 部署\n\n工作流文件:\n- `.github/workflows/daily_push.yml`(每日资讯抓取与推送)\n- `.github/workflows/changelog_notify.yml`(推送提交更新到 Discord `#changelog`)\n\n- 定时触发时区说明:当前 cron 使用 `UTC`,工作流触发后会立即通过 Webhook 推送;不会按每位用户本地时区统一在早上 8 点送达。\n\n需要在仓库 `Settings -> Secrets and variables -> Actions` 中配置:\n- `DEEPSEEK_API_KEY`\n- `TURSO_DATABASE_URL`\n- `TURSO_AUTH_TOKEN`\n- `DISCORD_WEBHOOK_AI`\n- `DISCORD_WEBHOOK_UE`\n- `DISCORD_WEBHOOK_LEGAL`\n- `DISCORD_WEBHOOK_CHANGELOG`\n\n`changelog_notify.yml` 会监听 `main` 分支的 `push` 事件,并自动发送提交摘要(作者、提交数量、短 SHA + 提交标题、compare 链接、工作流运行链接)到更新记录频道。\n\n---\n\n## 参与贡献\n\n欢迎加入\"硬核技术情报共建计划\":\n\n1. 提交高质量 RSS 订阅源\n - 在 `configs/` 目录下编辑或新增 JSON 文件(如 `configs/AI.json`),每个文件对应一个频道。\n2. 新增频道\n - 创建新的 `configs/<频道名>.json` 文件(参考已有配置的结构),并在 GitHub Actions secrets 中添加对应的 webhook 即可。\n3. 优化 `src/ai_processor.py` 中的 `SYSTEM_PROMPT_TEMPLATE`\n4. 通过 Issue 或 PR 参与协作\n\n---\n\n## 社区与联系\n\n- 💬 Discord 社区:https://discord.gg/j556gmgY4\n- 📧 联系邮箱:w1849619997@gmail.com\n- 🐛 问题反馈:https://github.com/Awfp1314/RSS-Distiller/issues\n\n---\n\n## 许可证\n\nMIT License。\n"}, "71eeff262896c07c0beee93bf7af64583edef7ca": {"t": 1785766308.4111414, "n": 3339, "h": "cda9581e28e82cf2", "c": "# RSS Distiller 🔬\n\n<div align=\"center\">\n\n[![Daily AI News Pusher](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml/badge.svg)](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml)\n[![Python](https://img.shields.io/badge/Python-3.10+-3776AB?logo=python&logoColor=white)](https://www.python.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Discord](https://img.shields.io/badge/Discord-Community-5865F2?logo=discord&logoColor=white)](https://discord.gg/j556gmgY4)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n**在信息爆炸时代,我们不需要更多资讯 - 我们需要更精准的过滤。**\n\n[English](README.md) | [简体中文](README.zh-CN.md)\n\n[加入社区](https://discord.gg/j556gmgY4) · [提交 Issue](https://github.com/Awfp1314/RSS-Distiller/issues/new) · [发起 PR](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n</div>\n\n---\n\n## 项目简介\n\nRSS Distiller 是一个基于 DeepSeek AI 的技术情报自动过滤与分发系统。\n\n它会定时抓取 RSS 文章,并执行**三重评估机制**:\n- 第一步:**Relevance Score(领域相关性)**\n- 第二步:**Frontier Score(前沿性)**\n- 第三步:**Attention Score(关注度)**\n\n若任一核心指标不达标,内容会被硬过滤(`score=0`)直接丢弃。\n\n最终,系统把高价值内容整理为中英双语摘要并推送到 Discord 对应频道。\n\n---\n\n## 核心特性\n\n- 🎯 **领域路由**:`CHANNELS_CONFIG` 支持多频道配置,不同频道拥有独立 RSS、Webhook 与 topic。\n- 🧠 **三重评估**:相关性 + 前沿性 + 关注度联合判定,低信号内容硬过滤。\n- 🌐 **双语输出**:自动生成中英双语标题、要点和影响分析。\n- 🔁 **防重推送**:基于 Turso 数据库存储已推送链接,杜绝重复消息。\n- 📉 **单源限流**:按源设置候选上限,避免单一 RSS 源淹没候选池。\n- 🧪 **arXiv 分层采样**:兼顾最新内容、中后段潜在高价值条目和探索抽样,降低漏报风险。\n- 🏁 **Top-K 推送**:按综合分排序后仅推送每轮最有价值候选。\n- ⚙️ **零成本部署**:通过 GitHub Actions 定时运行,无需常驻服务器。\n\n---\n\n## 架构说明\n\n```text\nRSS 源\n -> 24小时过滤(rss_parser.py)\n -> 数据库查重(db_manager.py / Turso)\n -> AI 评估(ai_processor.py)\n 1) Relevance Score 相关性\n 2) Frontier Score 前沿性\n 3) Attention Score 关注度\n 4) 未达阈值硬过滤(score=0)\n -> 候选排序(综合分)\n -> Discord 推送(discord_pusher.py)\n -> 推送成功后写回数据库防重\n```\n\n---\n\n## 快速开始\n\n### 1) 安装\n\n```bash\ngit clone https://github.com/Awfp1314/RSS-Distiller.git\ncd RSS-Distiller\npip install -r requirements.txt\n```\n\n### 2) 配置环境变量\n\n```bash\ncp .env.example .env\n```\n\n在 `.env` 中填写:\n\n```ini\nDEEPSEEK_API_KEY=sk-xxxxxxxx\n\nTURSO_DATABASE_URL=libsql://your-db.turso.io\nTURSO_AUTH_TOKEN=your-turso-token\n\nDISCORD_WEBHOOK_AI=https://discord.com/api/webhooks/...\nDISCORD_WEBHOOK_UE=https://discord.com/api/webhooks/...\nDISCORD_WEBHOOK_LEGAL=https://discord.com/api/webhooks/...\n```\n\n### 3) 运行\n\n```bash\npython main.py\n```\n\n## GitHub Actions 部署\n\n工作流文件:\n- `.github/workflows/daily_push.yml`(每日资讯抓取与推送)\n- `.github/workflows/changelog_notify.yml`(推送提交更新到 Discord `#changelog`)\n\n- 定时触发时区说明:当前 cron 使用 `UTC`,工作流触发后会立即通过 Webhook 推送;不会按每位用户本地时区统一在早上 8 点送达。\n\n需要在仓库 `Settings -> Secrets and variables -> Actions` 中配置:\n- `DEEPSEEK_API_KEY`\n- `TURSO_DATABASE_URL`\n- `TURSO_AUTH_TOKEN`\n- `DISCORD_WEBHOOK_AI`\n- `DISCORD_WEBHOOK_UE`\n- `DISCORD_WEBHOOK_LEGAL`\n- `DISCORD_WEBHOOK_CHANGELOG`\n\n`changelog_notify.yml` 会监听 `main` 分支的 `push` 事件,并自动发送提交摘要(作者、提交数量、短 SHA + 提交标题、compare 链接、工作流运行链接)到更新记录频道。\n\n---\n\n## 参与贡献\n\n欢迎加入“硬核技术情报共建计划”:\n\n1. 提交高质量 RSS 订阅源\n2. 优化 `ai_processor.py` 中的 `SYSTEM_PROMPT_TEMPLATE`\n3. 新增频道(如数字孪生、机器人、网络安全等)\n4. 通过 Issue 或 PR 参与协作\n\n---\n\n## 社区与联系\n\n- 💬 Discord 社区:https://discord.gg/j556gmgY4\n- 📧 联系邮箱:w1849619997@gmail.com\n- 🐛 问题反馈:https://github.com/Awfp1314/RSS-Distiller/issues\n\n---\n\n## 许可证\n\nMIT License。\n"}, "5b47e637f8e6bffe33a1be4385c0b5586a3c6613": {"t": 1785766310.1402657, "n": 3254, "h": "051f1a328eab5677", "c": "# RSS Distiller 🔬\n\n<div align=\"center\">\n\n[![Daily AI News Pusher](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml/badge.svg)](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml)\n[![Python](https://img.shields.io/badge/Python-3.10+-3776AB?logo=python&logoColor=white)](https://www.python.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Discord](https://img.shields.io/badge/Discord-Community-5865F2?logo=discord&logoColor=white)](https://discord.gg/j556gmgY4)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n**在信息爆炸时代,我们不需要更多资讯 - 我们需要更精准的过滤。**\n\n[English](README.md) | [简体中文](README.zh-CN.md)\n\n[加入社区](https://discord.gg/j556gmgY4) · [提交 Issue](https://github.com/Awfp1314/RSS-Distiller/issues/new) · [发起 PR](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n</div>\n\n---\n\n## 项目简介\n\nRSS Distiller 是一个基于 DeepSeek AI 的技术情报自动过滤与分发系统。\n\n它会定时抓取 RSS 文章,并执行**三重评估机制**:\n- 第一步:**Relevance Score(领域相关性)**\n- 第二步:**Frontier Score(前沿性)**\n- 第三步:**Attention Score(关注度)**\n\n若任一核心指标不达标,内容会被硬过滤(`score=0`)直接丢弃。\n\n最终,系统把高价值内容整理为中英双语摘要并推送到 Discord 对应频道。\n\n---\n\n## 核心特性\n\n- 🎯 **领域路由**:`CHANNELS_CONFIG` 支持多频道配置,不同频道拥有独立 RSS、Webhook 与 topic。\n- 🧠 **三重评估**:相关性 + 前沿性 + 关注度联合判定,低信号内容硬过滤。\n- 🌐 **双语输出**:自动生成中英双语标题、要点和影响分析。\n- 🔁 **防重推送**:基于 Turso 数据库存储已推送链接,杜绝重复消息。\n- 📉 **单源限流**:按源设置候选上限,避免单一 RSS 源淹没候选池。\n- 🧪 **arXiv 分层采样**:兼顾最新内容、中后段潜在高价值条目和探索抽样,降低漏报风险。\n- 🏁 **Top-K 推送**:按综合分排序后仅推送每轮最有价值候选。\n- ⚙️ **零成本部署**:通过 GitHub Actions 定时运行,无需常驻服务器。\n\n---\n\n## 架构说明\n\n```text\nRSS 源\n -> 24小时过滤(rss_parser.py)\n -> 数据库查重(db_manager.py / Turso)\n -> AI 评估(ai_processor.py)\n 1) Relevance Score 相关性\n 2) Frontier Score 前沿性\n 3) Attention Score 关注度\n 4) 未达阈值硬过滤(score=0)\n -> 候选排序(综合分)\n -> Discord 推送(discord_pusher.py)\n -> 推送成功后写回数据库防重\n```\n\n---\n\n## 快速开始\n\n### 1) 安装\n\n```bash\ngit clone https://github.com/Awfp1314/RSS-Distiller.git\ncd RSS-Distiller\npip install -r requirements.txt\n```\n\n### 2) 配置环境变量\n\n```bash\ncp .env.example .env\n```\n\n在 `.env` 中填写:\n\n```ini\nDEEPSEEK_API_KEY=sk-xxxxxxxx\n\nTURSO_DATABASE_URL=libsql://your-db.turso.io\nTURSO_AUTH_TOKEN=your-turso-token\n\nDISCORD_WEBHOOK_AI=https://discord.com/api/webhooks/...\nDISCORD_WEBHOOK_UE=https://discord.com/api/webhooks/...\n```\n\n### 3) 运行\n\n```bash\npython main.py\n```\n\n## GitHub Actions 部署\n\n工作流文件:\n- `.github/workflows/daily_push.yml`(每日资讯抓取与推送)\n- `.github/workflows/changelog_notify.yml`(推送提交更新到 Discord `#changelog`)\n\n- 定时触发时区说明:当前 cron 使用 `UTC`,工作流触发后会立即通过 Webhook 推送;不会按每位用户本地时区统一在早上 8 点送达。\n\n需要在仓库 `Settings -> Secrets and variables -> Actions` 中配置:\n- `DEEPSEEK_API_KEY`\n- `TURSO_DATABASE_URL`\n- `TURSO_AUTH_TOKEN`\n- `DISCORD_WEBHOOK_AI`\n- `DISCORD_WEBHOOK_UE`\n- `DISCORD_WEBHOOK_CHANGELOG`\n\n`changelog_notify.yml` 会监听 `main` 分支的 `push` 事件,并自动发送提交摘要(作者、提交数量、短 SHA + 提交标题、compare 链接、工作流运行链接)到更新记录频道。\n\n---\n\n## 参与贡献\n\n欢迎加入“硬核技术情报共建计划”:\n\n1. 提交高质量 RSS 订阅源\n2. 优化 `ai_processor.py` 中的 `SYSTEM_PROMPT_TEMPLATE`\n3. 新增频道(如数字孪生、机器人、网络安全等)\n4. 通过 Issue 或 PR 参与协作\n\n---\n\n## 社区与联系\n\n- 💬 Discord 社区:https://discord.gg/j556gmgY4\n- 📧 联系邮箱:w1849619997@gmail.com\n- 🐛 问题反馈:https://github.com/Awfp1314/RSS-Distiller/issues\n\n---\n\n## 许可证\n\nMIT License。\n"}, "8d6eba56e32a6a91bae943961afa369d98b44db7": {"t": 1785766311.4570909, "n": 3178, "h": "e32929287e1ec45c", "c": "# RSS Distiller 🔬\n\n<div align=\"center\">\n\n[![Daily AI News Pusher](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml/badge.svg)](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml)\n[![Python](https://img.shields.io/badge/Python-3.10+-3776AB?logo=python&logoColor=white)](https://www.python.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Discord](https://img.shields.io/badge/Discord-Community-5865F2?logo=discord&logoColor=white)](https://discord.gg/j556gmgY4)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n**在信息爆炸时代,我们不需要更多资讯 - 我们需要更精准的过滤。**\n\n[English](README.md) | [简体中文](README.zh-CN.md)\n\n[加入社区](https://discord.gg/j556gmgY4) · [提交 Issue](https://github.com/Awfp1314/RSS-Distiller/issues/new) · [发起 PR](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n</div>\n\n---\n\n## 项目简介\n\nRSS Distiller 是一个基于 DeepSeek AI 的技术情报自动过滤与分发系统。\n\n它会定时抓取 RSS 文章,并执行**三重评估机制**:\n- 第一步:**Relevance Score(领域相关性)**\n- 第二步:**Frontier Score(前沿性)**\n- 第三步:**Attention Score(关注度)**\n\n若任一核心指标不达标,内容会被硬过滤(`score=0`)直接丢弃。\n\n最终,系统把高价值内容整理为中英双语摘要并推送到 Discord 对应频道。\n\n---\n\n## 核心特性\n\n- 🎯 **领域路由**:`CHANNELS_CONFIG` 支持多频道配置,不同频道拥有独立 RSS、Webhook 与 topic。\n- 🧠 **三重评估**:相关性 + 前沿性 + 关注度联合判定,低信号内容硬过滤。\n- 🌐 **双语输出**:自动生成中英双语标题、要点和影响分析。\n- 🔁 **防重推送**:基于 Turso 数据库存储已推送链接,杜绝重复消息。\n- 📉 **单源限流**:按源设置候选上限,避免单一 RSS 源淹没候选池。\n- 🧪 **arXiv 分层采样**:兼顾最新内容、中后段潜在高价值条目和探索抽样,降低漏报风险。\n- 🏁 **Top-K 推送**:按综合分排序后仅推送每轮最有价值候选。\n- ⚙️ **零成本部署**:通过 GitHub Actions 定时运行,无需常驻服务器。\n\n---\n\n## 架构说明\n\n```text\nRSS 源\n -> 24小时过滤(rss_parser.py)\n -> 数据库查重(db_manager.py / Turso)\n -> AI 评估(ai_processor.py)\n 1) Relevance Score 相关性\n 2) Frontier Score 前沿性\n 3) Attention Score 关注度\n 4) 未达阈值硬过滤(score=0)\n -> 候选排序(综合分)\n -> Discord 推送(discord_pusher.py)\n -> 推送成功后写回数据库防重\n```\n\n---\n\n## 快速开始\n\n### 1) 安装\n\n```bash\ngit clone https://github.com/Awfp1314/RSS-Distiller.git\ncd RSS-Distiller\npip install -r requirements.txt\n```\n\n### 2) 配置环境变量\n\n```bash\ncp .env.example .env\n```\n\n在 `.env` 中填写:\n\n```ini\nDEEPSEEK_API_KEY=sk-xxxxxxxx\n\nTURSO_DATABASE_URL=libsql://your-db.turso.io\nTURSO_AUTH_TOKEN=your-turso-token\n\nDISCORD_WEBHOOK_AI=https://discord.com/api/webhooks/...\nDISCORD_WEBHOOK_UE=https://discord.com/api/webhooks/...\n```\n\n### 3) 运行\n\n```bash\npython main.py\n```\n\n## GitHub Actions 部署\n\n工作流文件:\n- `.github/workflows/daily_push.yml`(每日资讯抓取与推送)\n- `.github/workflows/changelog_notify.yml`(推送提交更新到 Discord `#changelog`)\n\n需要在仓库 `Settings -> Secrets and variables -> Actions` 中配置:\n- `DEEPSEEK_API_KEY`\n- `TURSO_DATABASE_URL`\n- `TURSO_AUTH_TOKEN`\n- `DISCORD_WEBHOOK_AI`\n- `DISCORD_WEBHOOK_UE`\n- `DISCORD_WEBHOOK_CHANGELOG`\n\n`changelog_notify.yml` 会监听 `main` 分支的 `push` 事件,并自动发送提交摘要(作者、提交数量、短 SHA + 提交标题、compare 链接、工作流运行链接)到更新记录频道。\n\n---\n\n## 参与贡献\n\n欢迎加入“硬核技术情报共建计划”:\n\n1. 提交高质量 RSS 订阅源\n2. 优化 `ai_processor.py` 中的 `SYSTEM_PROMPT_TEMPLATE`\n3. 新增频道(如数字孪生、机器人、网络安全等)\n4. 通过 Issue 或 PR 参与协作\n\n---\n\n## 社区与联系\n\n- 💬 Discord 社区:https://discord.gg/j556gmgY4\n- 📧 联系邮箱:w1849619997@gmail.com\n- 🐛 问题反馈:https://github.com/Awfp1314/RSS-Distiller/issues\n\n---\n\n## 许可证\n\nMIT License。\n"}, "82c26f9f570334198147c3f1f04c594c3de67fae": {"t": 1785766312.9798155, "n": 2958, "h": "e6ff2fea41544acc", "c": "# RSS Distiller 🔬\n\n<div align=\"center\">\n\n[![Daily AI News Pusher](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml/badge.svg)](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml)\n[![Python](https://img.shields.io/badge/Python-3.10+-3776AB?logo=python&logoColor=white)](https://www.python.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Discord](https://img.shields.io/badge/Discord-Community-5865F2?logo=discord&logoColor=white)](https://discord.gg/j556gmgY4)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n**在信息爆炸时代,我们不需要更多资讯 - 我们需要更精准的过滤。**\n\n[English](README.md) | [简体中文](README.zh-CN.md)\n\n[加入社区](https://discord.gg/j556gmgY4) · [提交 Issue](https://github.com/Awfp1314/RSS-Distiller/issues/new) · [发起 PR](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n</div>\n\n---\n\n## 项目简介\n\nRSS Distiller 是一个基于 DeepSeek AI 的技术情报自动过滤与分发系统。\n\n它会定时抓取 RSS 文章,并执行**双重评估机制**:\n- 第一步:**Relevance Check(领域相关性硬过滤)**,不相关直接 `score=0` 丢弃。\n- 第二步:**Quality Score(内容质量评分)**,仅高分文章进入推送。\n\n最终,系统把高价值内容整理为中英双语摘要并推送到 Discord 对应频道。\n\n---\n\n## 核心特性\n\n- 🎯 **领域路由**:`CHANNELS_CONFIG` 支持多频道配置,不同频道拥有独立 RSS、Webhook 与 topic。\n- 🧠 **双重评估**:先相关性、后质量,避免“高质量但不相关”的内容污染频道。\n- 🌐 **双语输出**:自动生成中英双语标题、要点和影响分析。\n- 🔁 **防重推送**:基于 Turso 数据库存储已推送链接,杜绝重复消息。\n- ⚙️ **零成本部署**:通过 GitHub Actions 定时运行,无需常驻服务器。\n\n---\n\n## 架构说明\n\n```text\nRSS 源\n -> 24小时过滤(rss_parser.py)\n -> 数据库查重(db_manager.py / Turso)\n -> AI 评估(ai_processor.py)\n 1) Relevance Check 硬过滤(不相关 score=0)\n 2) Quality Score 质量评分\n -> Discord 推送(discord_pusher.py)\n -> 推送成功后写回数据库防重\n```\n\n---\n\n## 快速开始\n\n### 1) 安装\n\n```bash\ngit clone https://github.com/Awfp1314/RSS-Distiller.git\ncd RSS-Distiller\npip install -r requirements.txt\n```\n\n### 2) 配置环境变量\n\n```bash\ncp .env.example .env\n```\n\n在 `.env` 中填写:\n\n```ini\nDEEPSEEK_API_KEY=sk-xxxxxxxx\n\nTURSO_DATABASE_URL=libsql://your-db.turso.io\nTURSO_AUTH_TOKEN=your-turso-token\n\nDISCORD_WEBHOOK_AI=https://discord.com/api/webhooks/...\nDISCORD_WEBHOOK_UE=https://discord.com/api/webhooks/...\n```\n\n### 3) 运行\n\n```bash\npython main.py\n```\n\n## GitHub Actions 部署\n\n工作流文件:\n- `.github/workflows/daily_push.yml`(每日资讯抓取与推送)\n- `.github/workflows/changelog_notify.yml`(推送提交更新到 Discord `#changelog`)\n\n需要在仓库 `Settings -> Secrets and variables -> Actions` 中配置:\n- `DEEPSEEK_API_KEY`\n- `TURSO_DATABASE_URL`\n- `TURSO_AUTH_TOKEN`\n- `DISCORD_WEBHOOK_AI`\n- `DISCORD_WEBHOOK_UE`\n- `DISCORD_WEBHOOK_CHANGELOG`\n\n`changelog_notify.yml` 会监听 `main` 分支的 `push` 事件,并自动发送提交摘要(作者、提交数量、短 SHA + 提交标题、compare 链接、工作流运行链接)到更新记录频道。\n\n---\n\n## 参与贡献\n\n欢迎加入“硬核技术情报共建计划”:\n\n1. 提交高质量 RSS 订阅源\n2. 优化 `ai_processor.py` 中的 `SYSTEM_PROMPT_TEMPLATE`\n3. 新增频道(如数字孪生、机器人、网络安全等)\n4. 通过 Issue 或 PR 参与协作\n\n---\n\n## 社区与联系\n\n- 💬 Discord 社区:https://discord.gg/j556gmgY4\n- 📧 联系邮箱:w1849619997@gmail.com\n- 🐛 问题反馈:https://github.com/Awfp1314/RSS-Distiller/issues\n\n---\n\n## 许可证\n\nMIT License。\n"}, "7855e644f70a994dc54a130126bd8c535be8f273": {"t": 1785766314.410405, "n": 2499, "h": "e92c6c121b6d1c63", "c": "# RSS Distiller 🔬\n\n<div align=\"center\">\n\n[![Daily AI News Pusher](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml/badge.svg)](https://github.com/Awfp1314/RSS-Distiller/actions/workflows/daily_push.yml)\n[![Python](https://img.shields.io/badge/Python-3.10+-3776AB?logo=python&logoColor=white)](https://www.python.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Discord](https://img.shields.io/badge/Discord-Community-5865F2?logo=discord&logoColor=white)](https://discord.gg/j556gmgY4)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n**在信息爆炸时代,我们不需要更多资讯 - 我们需要更精准的过滤。**\n\n[English](README.md) | [简体中文](README.zh-CN.md)\n\n[加入社区](https://discord.gg/j556gmgY4) · [提交 Issue](https://github.com/Awfp1314/RSS-Distiller/issues/new) · [发起 PR](https://github.com/Awfp1314/RSS-Distiller/pulls)\n\n</div>\n\n---\n\n## 项目简介\n\nRSS Distiller 是一个基于 DeepSeek AI 的技术情报自动过滤与分发系统。\n\n它会定时抓取 RSS 文章,并执行**双重评估机制**:\n- 第一步:**Relevance Check(领域相关性硬过滤)**,不相关直接 `score=0` 丢弃。\n- 第二步:**Quality Score(内容质量评分)**,仅高分文章进入推送。\n\n最终,系统把高价值内容整理为中英双语摘要并推送到 Discord 对应频道。\n\n---\n\n## 核心特性\n\n- 🎯 **领域路由**:`CHANNELS_CONFIG` 支持多频道配置,不同频道拥有独立 RSS、Webhook 与 topic。\n- 🧠 **双重评估**:先相关性、后质量,避免“高质量但不相关”的内容污染频道。\n- 🌐 **双语输出**:自动生成中英双语标题、要点和影响分析。\n- 🔁 **防重推送**:基于 Turso 数据库存储已推送链接,杜绝重复消息。\n- ⚙️ **零成本部署**:通过 GitHub Actions 定时运行,无需常驻服务器。\n\n---\n\n## 架构说明\n\n```text\nRSS 源\n -> 24小时过滤(rss_parser.py)\n -> 数据库查重(db_manager.py / Turso)\n -> AI 评估(ai_processor.py)\n 1) Relevance Check 硬过滤(不相关 score=0)\n 2) Quality Score 质量评分\n -> Discord 推送(discord_pusher.py)\n -> 推送成功后写回数据库防重\n```\n\n---\n\n## 快速开始\n\n### 1) 安装\n\n```bash\ngit clone https://github.com/Awfp1314/RSS-Distiller.git\ncd RSS-Distiller\npip install -r requirements.txt\n```\n\n### 2) 配置环境变量\n\n```bash\ncp .env.example .env\n```\n\n在 `.env` 中填写:\n\n```ini\nDEEPSEEK_API_KEY=sk-xxxxxxxx\n\nTURSO_DATABASE_URL=libsql://your-db.turso.io\nTURSO_AUTH_TOKEN=your-turso-token\n\nDISCORD_WEBHOOK_AI=https://discord.com/api/webhooks/...\nDISCORD_WEBHOOK_UE=https://discord.com/api/webhooks/...\n```\n\n### 3) 运行\n\n```bash\npython main.py\n```\n\n---\n\n## 参与贡献\n\n欢迎加入“硬核技术情报共建计划”:\n\n1. 提交高质量 RSS 订阅源\n2. 优化 `ai_processor.py` 中的 `SYSTEM_PROMPT_TEMPLATE`\n3. 新增频道(如数字孪生、机器人、网络安全等)\n4. 通过 Issue 或 PR 参与协作\n\n---\n\n## 社区与联系\n\n- 💬 Discord 社区:https://discord.gg/j556gmgY4\n- 📧 联系邮箱:w1849619997@gmail.com\n- 🐛 问题反馈:https://github.com/Awfp1314/RSS-Distiller/issues\n\n---\n\n## 许可证\n\nMIT License。\n"}}}}