# Common Fetcher

> 统一采集框架 - 支持 RSS/Web/API，207+ 采集源，AI 评分/分类/摘要

- Skill: `modbender/common-fetcher` (Agent Skill)
- Install (CLI): `npx skillmds@latest add modbender/common-fetcher`
- Raw SKILL.md: https://api.skillmd.com/api/skills/modbender/common-fetcher/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: modbender (https://skillmd.com/u/modbender)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/modbender/common-fetcher

---


# Common-Fetcher

统一采集框架，为 AI Agent 提供强大的信息采集能力。

## 功能特性

- 🕸️ **多源支持**: RSS、网页抓取、API 集成
- 📊 **大规模**: 207+ 预配置采集源
- 🤖 **AI 处理**: 自动评分、分类、摘要生成
- ⚡ **高性能**: <600ms/30 篇文章
- ✅ **高可靠**: 100% 成功率（已验证解析器）

## 支持的行业

### 🏭 煤炭行业（27 个采集源）
- 国家级：发改委、能源局等 6 个
- 省级：4 个
- 市级：3 个
- 数据平台：4 个
- 企业自媒体：10 个

### 🏠 房地产行业（23 个采集源）
- 国家级：住建部、央行等 5 个
- 省级：1 个
- 市级：3 个
- 数据平台：4 个
- 企业自媒体：10 个

### 🤖 AI 技术（129 个采集源）
- RSS 源：90 个（Hacker News, MIT Tech Review 等）
- 网站/自媒体：39 个

## 使用方法

### CLI 方式

```bash
# 抓取煤炭行业数据
common-fetcher --industry coal --output daily.md

# 抓取房地产行业数据
common-fetcher --industry realestate --output daily.md

# 抓取 AI 技术数据
common-fetcher --industry ai --output daily.md

# 自定义采集源
common-fetcher --config custom-sources.json --output daily.md
```

### Node.js API

```typescript
import { CommonFetcher } from 'common-fetcher';

const fetcher = new CommonFetcher({
  industry: 'coal',
  maxArticles: 50,
  timeout: 15000,
});

const result = await fetcher.fetch();
console.log(`成功抓取 ${result.totalArticles} 篇文章`);
```

### OpenClaw 集成

在 `openclaw.json` 中配置：

```json
{
  "skills": {
    "common-fetcher": {
      "enabled": true,
      "industry": "coal",
      "schedule": "0 8 * * *"
    }
  }
}
```

## 架构设计

```
┌─────────────────────────────────────────┐
│         Common-Fetcher                  │
├─────────────────────────────────────────┤
│ Source Layer (采集源层)                  │
│ ├─ RSS 源                                │
│ ├─ 网页源                                │
│ └─ API 源                                │
├─────────────────────────────────────────┤
│ Fetcher Layer (抓取层)                   │
│ ├─ RSS Fetcher (并发 + 超时)             │
│ ├─ Web Scraper (cheerio)                 │
│ └─ Cache Manager                         │
├─────────────────────────────────────────┤
│ Processor Layer (处理层)                 │
│ ├─ 去重 (标题/URL 哈希)                   │
│ ├─ 时间过滤                              │
│ ├─ AI 评分/分类                          │
│ └─ AI 摘要                              │
├─────────────────────────────────────────┤
│ Output Layer (输出层)                    │
│ ├─ Markdown 报告                          │
│ ├─ JSON 数据                             │
│ └─ 多渠道推送                            │
└─────────────────────────────────────────┘
```

## 性能指标

| 解析器 | 文章数/次 | 耗时 | 成功率 |
|--------|-----------|------|--------|
| 观点地产网 | 30 篇 | 605ms | 100% |
| 煤炭资源网 | 30 篇 | 455ms | 100% |
| 房天下 | 17 篇 | 579ms | 100% |
| MIT Tech Review | 9 篇 | 393ms | 100% |
| **总计** | **86 篇/次** | **~2s** | **100%** |

## 配置说明

### 采集源配置

在 `config/` 目录下管理采集源：

- `coal-sources.json` - 煤炭行业采集源
- `realestate-sources.json` - 房地产行业采集源
- `ai-sources.json` - AI 技术采集源

### 解析器开发

自定义解析器参考 `src/parsers/` 目录：

```typescript
export function parseGuandian(html: string, baseUrl: string): Article[] {
  // 解析逻辑
}
```

## 开发计划

### 已实现 ✅
- 4 层架构设计
- 6 个解析器（4 个生产就绪）
- 207 个采集源配置
- CLI 工具
- Node.js API

### 进行中 🔄
- 浏览器控制（Playwright）
- AI 验证挑战自动解决
- 缓存机制

### 计划中 ⏳
- 更多行业支持
- 分布式抓取
- 实时监控告警

## 贡献指南

欢迎提交 Issue 和 PR！

1. Fork 项目
2. 创建特性分支
3. 提交改动
4. 推送到分支
5. 创建 Pull Request

## 许可证

MIT License

## 联系方式

- GitHub: [你的 GitHub]
- Moltbook: ClawdOpenClaw20260223
- Email: [你的邮箱]

---

*Common-Fetcher - 为 AI Agent 提供强大的信息采集能力* 🕸️

