Data Scraper Agent 和 Opensource Pipeline 是 Everything Claude Code 中两个关键的自动化 Skill。前者构建了一条从公开数据源采集、AI 丰富处理到自动化存储的全自动数据流水线,支持零成本的 GitHub Actions 运行与用户反馈学习。后者则提供了一套标准化的“Fork→Sanitize→Package”三段式开源发布流水线,通过三个专业 Agent 的协作,安全、高效地将私有项目推向开源社区。两者共同解决了 AI 辅助开发中常见的数据获取与项目发布痛点。

数据采集与开源发布:Data Scraper Agent 全自动 Pipeline 与 Opensource 发布流水线

在 Everything Claude Code 的生产级 Skill 体系中,Data Scraper Agent 与 Opensource Pipeline 是两个面向不同场景但都致力于自动化与安全的重要组件。Data Scraper Agent 解决了“如何低成本、智能化地获取外部数据”的问题,而 Opensource Pipeline 则解决了“如何安全、合规地将内部项目开源”的问题。本文将拆解这两条流水线的核心工作流、配置细节与协同应用。

1. Data Scraper Agent:全自动数据采集 Pipeline

Data Scraper Agent Skill 旨在让开发者无需运维服务器,即可构建一条定时、智能、可学习的数据采集流水线。其核心工作流可概括为:配置目标 → 采集数据 → AI 丰富 → 存储去重 → 反馈学习 → 自动调度

1.1 核心配置:config.yaml 驱动一切

所有采集策略、存储方式、AI 处理逻辑均通过项目根目录下的 config.yaml 文件定义。这确保了采集逻辑与代码分离,便于维护和调整。

# config.yaml 示例结构
scrape_targets:
  - name: "AI_Jobs"
    source_type: "rest" # 支持 rest, html, rss, playwright
    url: "https://api.example.com/jobs"
    fields_to_extract: ["title", "url", "company", "date"]
    schedule: "0 */3 * * *" # 每3小时,用于 GitHub Actions
storage:
  type: "notion" # 支持 notion, sheets, supabase
  database_id: "your_notion_db_id"
ai_enrichment:
  enabled: true
  model: "gemini-flash" # 使用免费 LLM
  batch_size: 5 # 批量处理,避免限额
  prompts:
    scoring: "根据以下简历匹配度评分0-100: {{resume}}"

1.2 采集模块开发与模式支持

开发者需要为每个数据源编写一个简单的采集函数,Skill 提供了多种模式的模板。以 REST API 采集为例:

# scraper/sources/jobs_source.py
import requests
from datetime import datetime, timezone

def fetch() -> list[dict]:
    results = []
    try:
        resp = requests.get("https://api.example.com/jobs", timeout=15)
        resp.raise_for_status()
        for job in resp.json().get("jobs", []):
            results.append({
                "title": job.get("title", ""),
                "url": job.get("link", ""),
                "source": "ExampleAPI",
                "date_found": datetime.now(timezone.utc).date().isoformat()
            })
    except requests.RequestException as e:
        # 错误处理:记录日志,可触发重试
        print(f"采集失败: {e}")
    return results

支持的其他模式包括:

  • HTML Scraping:使用 BeautifulSoup 解析网页结构。
  • RSS Feed:解析 XML 格式的订阅源。
  • JS 渲染页面:通过 Playwright 处理动态加载内容。

1.3 AI 丰富与用户反馈学习

采集到的原始数据通过 Gemini Flash 进行批量智能处理,这是流水线的“大脑”。

AI 处理流程

  1. 批量调用:将每批数据(如 5 条)与用户配置的 Prompt(如简历、兴趣关键词)一起发送给 Gemini Flash。
  2. 丰富字段:生成 AI 评分、摘要、分类、匹配理由等字段。
  3. 反馈驱动:用户在前端存储(如 Notion)中标记“已保存”或“跳过”。这些状态会自动同步回 data/feedback.json
  4. 学习优化:下一次 AI 处理时,会自动将近期的正负反馈示例作为上下文,让模型动态调整打分策略,实现“越用越准”。

错误表现与验证

  • 若 AI 调用频繁失败,日志会显示 RateLimitError。此时 config.yaml 中的 batch_sizeai_enrichment.rate_limit 设置至关重要。
  • 验证方法:检查 data/feedback.json 是否更新,以及 Notion 中新条目的 AI Score 是否符合预期逻辑。

1.4 自动存储、去重与 GitHub Actions 调度

  • 存储去重:存储适配器在写入前会按 url 字段自动去重,避免重复数据。
  • 免费运行:整个流水线通过 .github/workflows/scraper.yml 定义,由 GitHub Actions 定时触发。公有仓库享有充足免费额度,所有 API 密钥通过 GitHub Secrets 安全管理。
  • 完整闭环:每次运行完成后,Actions 会自动将更新后的 feedback.json 提交回仓库,形成“采集-反馈-学习”的持续优化闭环。

2. Opensource Pipeline:安全开源发布流水线

Opensource Pipeline Skill 将开源这一复杂过程标准化为三个可审计、可回退的阶段,串联 opensource-forkeropensource-sanitizeropensource-packager 三个专业 Agent。

2.1 三段式流水线详解

阶段一:Fork - 剥离敏感信息

  • 触发:在 Claude Code 中输入 /opensource fork <项目路径>
  • 操作opensource-forker Agent 会在 $HOME/opensource-staging/<项目名>/ 创建纯净副本,自动执行:
    • 删除 .git, node_modules, .venv 等目录。
    • 扫描并替换密钥、API Token、内部链接为占位符。
    • 生成 .env.example 模板。
    • 清理 Git 历史,生成详细的 FORK_REPORT.md

阶段二:Sanitize - 安全合规扫描

  • 触发:在 Fork 阶段后自动执行,或单独调用 /opensource verify
  • 操作opensource-sanitizer Agent 进行超过 20 项检查,包括:
    • 密钥与凭证残留检测。
    • 个人身份信息(PII)扫描。
    • 内部引用与危险配置检查。
    • 结果输出为 SANITIZATION_REPORT.md,包含 PASSFAIL 判定。若失败,最多自动修复 3 次,否则需人工介入。

阶段三:Package - 生成开源文档

  • 触发:Sanitize 通过后自动执行,或单独调用 /opensource package
  • 操作opensource-packager Agent 自动生成开源项目必备文件:
    • CLAUDE.md:项目说明、架构、关键文件,供 AI 助手理解。
    • setup.sh:一键环境搭建脚本,并赋予可执行权限。
    • README.md:根据项目分析自动生成或增强。
    • LICENSE:根据选择(MIT/Apache-2.0 等)生成。
    • CONTRIBUTING.md:贡献指南。

2.2 输出示例与手动确认

流水线完成后,开发者会收到清晰的摘要:

Open-Source Fork Ready: my-project

Location: $HOME/opensource-staging/my-project/
Sanitization: PASS
Generated: CLAUDE.md, setup.sh, README.md, LICENSE, CONTRIBUTING.md, .env.example

Next steps:
1. Review files in $HOME/opensource-staging/my-project/
2. Create GitHub repository and push (requires explicit 'yes')

Proceed with GitHub creation? (yes/no/review first)

关键设计:流水线绝不会自动推送到 GitHub,必须获得用户明确同意。这确保了开源前的最终审查权掌握在开发者手中。使用过程中,可结合 Verification Loop Skill 对生成的文档和脚本进行端到端测试。

3. 协同工作流与最佳实践

这两个 Skill 并非孤立存在,可以融入更复杂的自动化场景:

  1. Data Scraper + Exa/Deep Research:用 Data Scraper Agent 持续监控特定领域(如竞品动态),当发现重要更新时,自动触发 Deep Research Skill 进行深入调研,并生成含引用的分析报告。
  2. Opensource Pipeline + 安全扫描:在 Sanitize 阶段,可集成更严格的安全扫描规则,与 Security Protection 中的最佳实践对齐。
  3. 作为更大流水线的节点:两者均可作为 AI Agent 工程模式 中的可编排节点,与代码生成、测试、部署等其他 Agent 协作。

最佳实践总结

  • Data Scraper:始终优先使用公开 API,遵守 robots.txt;通过 batch_size 控制 LLM 成本;严格管理 GitHub Secrets。
  • Opensource Pipeline:务必走完三个阶段;仔细复查 staging 目录中的报告与文件;理解 setup.shCLAUDE.md 的作用,它们能极大降低开源后的使用门槛。

FAQ

Q: Data Scraper Agent 真的可以完全免费运行吗? A: 是的。它设计为在 GitHub Actions(公有仓库)上运行,无需自建服务器。数据存储和 AI 丰富(Gemini Flash)均利用免费额度,在典型使用场景下足够。

Q: 如果 Opensource Pipeline 的安全扫描(Sanitize)总是失败怎么办? A: 首先详细查看 SANITIZATION_REPORT.md 列出的具体问题。常见问题是硬编码的密钥或内部路径。Skill 会尝试自动修复,若多次失败,需要手动清理代码中的敏感信息后重新扫描。

Q: Data Scraper 采集的数据如何保证质量? A: 质量通过两个机制保障:一是采集端的 filters.py 可进行初步规则过滤;二是核心依赖 AI 丰富阶段的 Prompt 设计和持续的用户反馈学习,不断优化筛选标准。

Q: Opensource Pipeline 生成的 CLAUDE.md 有什么用? A: CLAUDE.md 是专门为 AI 编程助手(如 Claude Code)设计的项目说明文件。它包含了项目概述、关键命令、架构说明和重要文件路径,能让 AI 助手更快、更准确地理解开源项目,提升后续维护和贡献的效率。