用途:crawlberg serve 启动一个长期运行的 REST API 服务器,把抓取引擎以 HTTP 方式暴露。接口兼容 Firecrawl v1,已有的 Firecrawl 客户端和 SDK 可以指向本地 crawlberg 实例。适合多个调用方通过网络访问抓取能力,而非单次 CLI 调用或单个智能体使用。
编译要求:该子命令需要以可选 api 特性构建(非默认)。Homebrew tap 使用全特性构建,因此自带 serve;源码构建需要 cargo install crawlberg-cli --features api(或 --features all)。
启动方式:crawlberg serve --host 127.0.0.1 --port 3000。日志会向 stderr 输出启动信息并阻塞直到终止,可用 GET /health 确认存活。--host 默认 0.0.0.0,--port 默认 3000。serve 不接受单次抓取参数,启动时使用默认 CrawlConfig,逐请求选项在各 HTTP 请求体中传入。请求体使用 camelCase 字段,scrape/crawl/map 的字段与 CLI 对应。
主要端点(Firecrawl v1):POST /v1/scrape 同步抓取单 URL;POST /v1/crawl 启动异步抓取任务并返回 job id;GET /v1/crawl/{id} 轮询状态和结果;DELETE /v1/crawl/{id} 取消任务;POST /v1/map 同步发现站点 URL;POST /v1/batch/scrape 启动异步批量抓取;GET /v1/batch/scrape/{id} 轮询批量任务;POST /v1/download 下载文档。运维端点:GET /health、GET /version、GET /openapi.json。响应包装为 { success, data | error },异步任务返回 { success, id },轮询返回 { status, total, completed, data, error }。crawl 与 batch-scrape 为异步,需轮询至 completed、failed 或 cancelled。
限制与安全:服务器接受任意来源的 CORS,且无内置鉴权,不应暴露在公网接口上。本地使用应绑定 127.0.0.1,或置于强制鉴权和限流的反向代理/网关之后。请求体上限 10 MB,单请求超时 5 分钟。
选择建议:CLI 适合一次性任务、shell 管道与脚本;MCP 适合在智能体环境中驱动(如 Claude Code、Codex、Cursor、Gemini、opencode);serve 适合需要持久 HTTP 服务或 Firecrawl v1 兼容的 REST 客户端。