Skip to main content

Crate pagesift_api

Crate pagesift_api 

Source
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} and POST /r for 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
CrawlResume
中断的爬取任务恢复时的进度。完成的页面以文档的 metadata.sourceURL(失败的以出错的 URL)为准。
Job
JobMirror
Jobs
KeyLimits
一个 API key 的限额,各项不设就是不限。
Timeouts
服务端超时,防 slowloris 和挂死的请求。
WebhookConfig
请求里的 webhook:Firecrawl 接受一个 URL 字符串,或者带 headers、metadata、events 的对象。
WebhookSettings
webhook 投递的设置(服务端配置,不来自请求)。

Enums§

ErrorCode
JobKind
JobState

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§

AgentSink
agent 运行的回报和额度,由 API 层的任务管理实现;() 是不回报、不限额的实现。
CrawlSink
整站爬取的进度回报,由 API 层的任务管理实现。
Engine
JobLog
复制写入的去处(网关:追加进账本日志)。失败时返回原因。
PageBudget
每次抓取前取得页面预算;拒绝时不得发出页面请求。

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 相同的检查,再拒绝只对网址有意义的选项 (照 Firecrawl getUnsupportedParseOptionError,另加 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
ExtraMetrics
生成额外指标文本(Prometheus 文本格式)的回调。