# Daily News Report

> 从预设URL列表抓取内容，筛选高质量技术信息并生成全中文每日新闻报告，支持HTML可视化预览和多格式下载。适用于需要获取每日科技新闻、AI资讯或技术信息的需求场景。

- Skill: `boya357/daily-news-report` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add boya357/daily-news-report`
- Raw SKILL.md: https://api.skillmd.com/api/skills/boya357/daily-news-report/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: boya357 (https://skillmd.com/u/boya357)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/boya357/daily-news-report

---


# 每日技术新闻报告 v4.0

> **新特性**: 全中文报告 + 10种主题切换 + 多格式下载（MD/HTML）

## 任务目标

- **本Skill用于**: 自动抓取多个技术资讯源，筛选高质量内容，生成全中文可视化每日新闻报告
- **能力包含**: 多源抓取、智能筛选、去重过滤、全中文翻译、HTML预览、多格式下载
- **触发条件**: 用户需要获取每日科技新闻、AI资讯或技术信息时

## 前置准备

- **依赖说明**: scripts脚本所需的Python依赖
  ```
  markdown==3.5.2
  ```
- **安装依赖**: 
  ```bash
  pip install markdown==3.5.2
  ```

## 操作步骤

### 步骤1: 初始化配置

1. 确定日期（用户参数或当前日期，格式：YYYY-MM-DD）
2. 读取 `references/sources.json` 获取源配置
3. 读取 `references/cache.json` 获取历史数据用于去重
4. 在当前工作目录下创建输出目录：`./daily-news/YYYY-MM-DD/`

### 步骤2: 抓取内容（智能体执行）

根据 `references/sources.json` 中的配置，按优先级分批抓取：

**第一批（Tier1 - 高命中率源）**:
- Hacker News (https://news.ycombinator.com) - 提取前10条
- HuggingFace Papers (https://huggingface.co/papers) - 提取高票论文
- OneUsefulThing (https://www.oneusefulthing.org) - 提取最新3篇
- Paul Graham Essays (https://paulgraham.com/articles.html) - 提取最新5篇

**第二批（Tier2 - 按需补充）**:
- 若第一批高质量条目 < 15，继续抓取Tier2源
- James Clear 3-2-1、Farnam Street、HackerNoon PM、Scott Young Blog

**第三批（浏览器 - JS渲染）**:
- 若仍不足20条，使用浏览器抓取需要JS渲染的源
- ProductHunt、Latent Space

**筛选标准**:
- 保留: 前沿技术/深度科技/生产力/实用信息
- 排除: 一般科学/营销吹捧/过于学术/招聘信息

### 步骤3: 评估与过滤

执行去重和质量评分：
- URL精确匹配去重
- 标题相似度去重（>80%视为重复）
- 检查 `references/cache.json` 避免历史重复
- 按质量评分降序排列，取前20条

### 步骤4: 生成Markdown报告（全中文）

**重要**: 报告内容必须全部使用中文！

按照 `references/report_format.md` 规范生成全中文Markdown报告：

**输出路径**: `./daily-news/YYYY-MM-DD/news-report.md`

**报告结构（全中文）**:
```markdown
# 每日技术新闻（YYYY-MM-DD）

> 今日从 N 个源精选，包含 M 条高质量内容
> 生成耗时：X 分钟 | 版本：v4.0

---

## 1. 标题

- **摘要**：2-4行概述内容
- **要点**：
  1. 要点一
  2. 要点二
  3. 要点三
- **来源**：[链接文字](URL)
- **关键词**：`关键词1` `关键词2` `关键词3`
- **评分**：⭐⭐⭐⭐⭐ (5/5)

---

[重复20条...]

---

*由每日技术新闻报告生成器创建*
*数据源：源1、源2、源3...*
```

**全中文要求**:
- 标题、摘要、要点必须全部翻译为中文
- 专业术语可保留英文（如GPT-5、API等）
- 关键词可以是中英文混合
- 所有标签和说明文字使用中文

### 步骤5: 生成HTML可视化页面

调用 `scripts/generate_html.py` 将Markdown转换为精美的HTML页面：

```bash
python scripts/generate_html.py \
  -i ./daily-news/YYYY-MM-DD/news-report.md \
  -o ./daily-news/YYYY-MM-DD/news-report.html \
  -d YYYY-MM-DD \
  -t "每日技术新闻"
```

**HTML视觉特性**:
- 10种主题自由切换：经典白纸、暗夜模式、护眼绿、复古牛皮纸、极简北欧、科技蓝、杂志风、暖阳橙、森林绿、玫瑰粉
- 主题选择自动保存，下次打开自动应用
- 简洁工具栏，主题切换 + 下载按钮
- 响应式设计，适配桌面和移动设备
- 一键下载MD和HTML格式

### 步骤6: 更新缓存

更新 `references/cache.json`：
- 记录本次运行信息（日期、耗时、条目数）
- 更新各源的历史表现统计
- 添加已处理URL到缓存
- 添加内容指纹用于去重

## 输出与下载

### 文件结构

```
./daily-news/
└── YYYY-MM-DD/
    ├── news-report.md      # Markdown格式报告（全中文）
    └── news-report.html    # HTML可视化页面（精美UI）
```

### HTML预览

打开 `news-report.html` 即可在浏览器中预览可视化报告：
- **10种主题**：经典白纸、暗夜模式、护眼绿、复古牛皮纸、极简北欧、科技蓝、杂志风、暖阳橙、森林绿、玫瑰粉
- **自动保存**：主题选择自动保存到本地，下次打开自动应用
- **一键下载**：顶部工具栏提供MD和HTML格式下载按钮

### 用户交互

1. **指定日期**: 用户可传入日期参数生成历史报告
2. **指定输出目录**: 默认为当前工作目录下的 `./daily-news/`
3. **预览报告**: 直接打开HTML文件在浏览器中查看

## 资源索引

- **配置文件**: 
  - `references/sources.json` - 数据源配置（优先级、抓取方式）
  - `references/cache.json` - 历史缓存数据
- **格式规范**: `references/report_format.md` - 报告格式定义（全中文）
- **转换脚本**: `scripts/generate_html.py` - Markdown转HTML工具

## 注意事项

1. **全中文输出**: 所有内容必须翻译为中文，专业术语可保留英文
2. **质量优先**: 低质量内容（评分<3）不进入报告
3. **早停机制**: 达到20条高质量条目后停止抓取
4. **容错处理**: 单个源失败不影响整体流程
5. **缓存复用**: 避免重复抓取相同内容
6. **灵活输出**: 输出目录不固定，可在任意工作目录生成

## 使用示例

**示例1: 生成今日报告**
```
用户: 帮我生成今天的科技新闻报告
智能体: 执行完整流程，生成全中文MD和HTML文件，输出文件路径
```

**示例2: 生成指定日期报告**
```
用户: 生成2025-02-15的新闻报告
智能体: 使用指定日期参数生成报告
```

**示例3: 指定输出目录**
```
用户: 在./reports/目录下生成今日报告
智能体: 在./reports/daily-news/YYYY-MM-DD/目录下生成文件
```

## 约束与原则

1. **全中文化**: 报告内容必须全部使用中文，确保用户阅读无障碍
2. **质量优于数量**: 宁缺毋滥，确保每条内容都有价值
3. **并行优先**: 同一批次的源并行抓取提升效率
4. **优雅降级**: 若子代理不可用，自动切换为串行模式
5. **用户友好**: 提供精美HTML预览，支持多格式下载
6. **灵活输出**: 不固定输出目录，适应用户需求

## 预期性能

| 场景 | 预期时间 | 说明 |
|------|---------|------|
| 最优 | 约2分钟 | 第一批源足够，无需浏览器 |
| 正常 | 约3-4分钟 | 需要第二批补充 |
| 浏览器 | 约5-6分钟 | 包含JS渲染页面 |

## 错误处理

| 错误类型 | 处理方式 |
|---------|---------|
| 源抓取超时 | 记录错误，继续下一个源 |
| 源403/404 | 标记为禁用，更新sources.json |
| 内容提取失败 | 返回原始内容，由智能体决定 |
| 浏览器崩溃 | 跳过该源，记录日志 |

