Skip to content

Latest commit

 

History

32 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fetchcraft

通用多源抓取工具 · Rust + Tauri 支持 RSS / 列表页 / sitemap,动态渲染(Playwright),云端穿墙(Firecrawl),统一 Markdown 输出

设计目标

  • 解耦:抓取层独立,不绑死下游业务(wiki / RAG / 备份皆可)
  • 可配置:加新源 = 改 YAML,不改代码
  • 可扩展:新增 fetcher / discoverer 走 trait 协议,不动核心
  • 可观测:统一 NDJSON 输出,所有结果可追溯
  • 可分发:Rust 编译产物是单二进制,Python 侧 subprocess 调它

快速开始

# 编译
cargo build --release

# CLI
./target/release/fetchcraft run --config examples/sources.yaml

# 输出: out.ndjson(每行一个 JSON)

# Python 侧
python examples/python-bridge/ingest.py

架构

crates/
├── core/         # trait 定义 + Pipeline 编排
├── fetchers/     # firecrawl / jina / playwright 实现
├── discoverers/  # rss / list-page / sitemap
├── cli/          # 命令行入口
└── tauri-app/    # GUI(待开发)

完整架构说明见 docs/architecture.md

路线图

  • 阶段 1: workspace 脚手架
  • 阶段 2-7: 核心抓取(fetcher / discoverer / pipeline / CLI / tests)
  • 阶段 8-9: Tauri GUI
  • 阶段 10-11: 文档 + Python 桥接示例

详细计划见 /Users/onemade/.mavis/agents/mavis/workspace/plan-multi-source-crawler.md

License

MIT

About

Multi-source web crawler in Rust + Tauri

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages