Thanks to visit codestin.com
Credit goes to github.com

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