Expand description
pagesift 的 HTTP 接口:Firecrawl v2 兼容层、pagesift 扩展、健康检查和监控指标, 以及部署成服务要用的任务持久化、webhook、按 API key 的限流和配额。
协议、校验和任务管理在这里;真正的抓取由实现 Engine 的引擎完成。
Modules§
- attachments
- 附件的存储与下载:响应里只列
{id, format, bytes, hash},内容用GET /v2/attachments/{id}取。 - fields
- 请求体里的字段名:哪些是某个类型认得的,哪些没人认。
- jina
- Jina Reader protocol adapter for PageSift.
Implements
GET /r/{*url}andPOST /rfor direct markdown and SSE event streaming. - monitor
- 监控(Firecrawl 的
/v2/monitor形状):按计划重复检查网址,发现变化时通知。 - types
- Firecrawl v1/v2 request and response types.
Structs§
- Agents
- agent 任务表。HTTP 服务和 MCP 各有一份(MCP 的没有存储、webhook 和配额)。
- ApiError
- Config
- Crawl
Resume - 中断的爬取任务恢复时的进度。完成的页面以文档的
metadata.sourceURL(失败的以出错的 URL)为准。 - Job
- JobMirror
- Jobs
- KeyLimits
- 一个 API key 的限额,各项不设就是不限。
- Timeouts
- 服务端超时,防 slowloris 和挂死的请求。
- Webhook
Config - 请求里的
webhook:Firecrawl 接受一个 URL 字符串,或者带 headers、metadata、events 的对象。 - Webhook
Settings - webhook 投递的设置(服务端配置,不来自请求)。
Enums§
Constants§
- JOB_TTL
- Task results retention period (24 hours).
- MAX_
CRAWL_ DEPTH - crawl 的
maxDiscoveryDepth/maxDepth上限。 - MAX_
CRAWL_ LIMIT - crawl 的
limit上限。 - MAX_
MAP_ LIMIT - map 的
limit上限,和 Firecrawl 文档一致。 - MAX_
PARSE_ FILE_ BYTES /v2/parse上传文件的大小上限,和 Firecrawl 一致(50 MB)。- MAX_
SCRAPE_ TIMEOUT_ MS - 同步 scrape 的
timeout上限(毫秒);整请求超时按它留余量。 - MAX_
URLS - batch scrape、extract 一次最多带多少个 URL。
- MAX_
URL_ LEN - URL 最长 8 KB:再长的 URL 浏览器和多数服务器都不接受,只会白白占内存。
Traits§
- Agent
Sink - agent 运行的回报和额度,由 API 层的任务管理实现;
()是不回报、不限额的实现。 - Crawl
Sink - 整站爬取的进度回报,由 API 层的任务管理实现。
- Engine
- JobLog
- 复制写入的去处(网关:追加进账本日志)。失败时返回原因。
- Page
Budget - 每次抓取前取得页面预算;拒绝时不得发出页面请求。
Functions§
- agent_
body - 结束后的响应体:
GET /v2/agent/{id}和 CLI 输出的共同部分。 - agent_
body_ with_ evidence agent_body加上存档的证据全文。- apply_
op - 温备:把一条复制操作写进本地存储。列表追加按序号去重(已有这个序号就跳过)。
- check_
agent_ request - 校验请求体(和具体入口无关)。
- check_
parse_ options /v2/parse的选项:先过和 scrape 相同的检查,再拒绝只对网址有意义的选项 (照 FirecrawlgetUnsupportedParseOptionError,另加 pagesift 自己的抓取类扩展)。- check_
scrape_ options - check_
url - rfc3339
- UTC timestamp formatted into RFC 3339 (second precision with milliseconds).
- router
- Construct complete HTTP router with Firecrawl v1/v2, Jina Reader, and metrics.
- serve
- 用默认超时在
listener上提供服务,shutdown完成后优雅退出。 - serve_
with - 和
axum::serve(..).with_graceful_shutdown(..)行为相同,另外给 HTTP/1 设了请求头读取超时 (axum::serve 设不了):收到shutdown后停止 accept,通知每个连接优雅关闭,等它们都结束再返回。
Type Aliases§
- BoxFuture
- Extra
Metrics - 生成额外指标文本(Prometheus 文本格式)的回调。