Firecrawl 自托管实战:部署、验证与成本账

从固定版本开始完成 Firecrawl 自托管:按 v2.11.162 部署 Docker Compose,用真实抓取和重启复测保存证据,并对照 Firecrawl Cloud 的功能边界与 30 天成本。文中提供可复用的验证脚本、适用团队清单和成本工作表,帮助你判断基础设施控制权是否值得首月 $725.20 的投入。

发布于

Firecrawl 自托管实战:部署、验证与成本账

Firecrawl 自托管买到的是对代码和基础设施的控制权,并不是一项免费的托管服务。先锁定 v2.11.162,用一次真实的 /v2/scrape 请求证明链路可用,保存证据,再核算运维投入。按下文的 30 天工作表计算:抓取 1,000 个基础页面时,Firecrawl Cloud 成本为 $0;抓取 10,000 个页面时为 $44;若把明确假设的 6 小时运维工时计入,自托管方案首月将达到 $725.20。

先说结论:这个规模下,Cloud 更省钱

当源码访问权、基础设施控制权或特定网络边界值得团队亲自维护整套系统时,才选择 Firecrawl 自托管。如果需求只是把公开 URL 转成干净内容,Cloud 更合适。 Firecrawl 在自托管指南中也给出了相同判断:Cloud 是最快且受支持的生产路径;选择自托管,则意味着相关基础设施都由团队负责。

30 天产出自托管首月自托管后续月份示例Firecrawl Cloud财务上的默认优选
1,000 个成功抓取的基础页面$725.20$325.20$0Cloud
10,000 个成功抓取的基础页面$725.20$325.20$44Cloud

这里的自托管数字是预算,不是吞吐量承诺。Firecrawl 没有公布经过验证的最低主机规格,本次运行也无法测试这台假设的主机能否支撑上述任一规模。愿意支付溢价的合理理由是控制权;至于能否省钱,必须结合自己的页面、并发量和失败率实测。

Firecrawl 自托管到底换来了什么

你获得的是运行在自有基础设施上的 Firecrawl 核心引擎,以及维护其周边所有依赖的责任。 可以把 Cloud 想成一间配齐人员的商用厨房,而自托管拿到的是厨房设计图。设计图可以审查、修改,也确实有价值,但它不包含厨师、消防检查、制冷设备巡检和夜班值守。

锁定版本后的默认技术栈支持核心的 scrape、crawl、map 和 search 路由,也包含 Fetch 与 Playwright 处理能力。同时,它还依赖 PostgreSQL、Redis、RabbitMQ 等服务,而 readiness 端点并不会验证整条链路是否真正可用。

这条边界很重要:{"status":"ok"} 只说明某个 HTTP 端点给出了响应,并不能证明页面能够从主机发出请求、完成渲染、经过 worker 处理并最终返回 Markdown。一次成功抓取,才是最低限度的可用性证据。

Firecrawl 本地部署:安装与指南一致的版本

使用 Firecrawl v2.11.162,不要直接跟随持续变化的 main 分支。 该标签创建于 2026 年 7 月 30 日,对应提交 7666c1f9ae8720a6bba271e0f60b6a217f8a5210。锁定版本后,代码、Compose 文件和安装说明才能保持一致。

官方前置条件包括 Git、Docker Engine 或 Docker Desktop、Docker Compose v2、curl、可用的 3002 端口,以及足以构建并运行多个服务的主机资源。Firecrawl 并未公布经过验证的最低机器配置。

  1. 锁定源码版本

    克隆 Firecrawl 并检出 v2.11.162。记录最终提交,以便后续维护者复现这次部署。

  2. 创建基线环境

    仅在受信任网络内进行评估时关闭数据库身份验证;PostgreSQL 数据库名保持为 postgres,并使用至少 32 个字符的随机密码。不要提交 .env。

  3. 构建并检查全部服务

    启动 Compose 技术栈,然后查看 docker compose ps --all。长期运行的服务应处于运行状态,一次性初始化任务应已完成。

  4. 用真实抓取完成验证

    先检查 readiness,再通过 /v2/scrape 抓取 https://example.com。不要把 readiness 响应当作验证终点。

Bash
git clone https://github.com/firecrawl/firecrawl.git
cd firecrawl
git checkout v2.11.162
git rev-parse HEAD

db_password="$(openssl rand -hex 32)"
printf 'USE_DB_AUTHENTICATION=false\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=%s\nPOSTGRES_DB=postgres\n' \
  "$db_password" > .env

docker compose up --build -d
docker compose ps --all

curl --fail --silent --show-error --max-time 5 \
  http://localhost:3002/v0/health/readiness

curl --fail-with-body --silent --show-error --max-time 75 \
  -X POST http://localhost:3002/v2/scrape \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com","formats":["markdown"],"timeout":60000}'

只有当响应包含 success: true、返回的 Markdown,以及带有 statusCode: 200 的元数据时,抓取才算通过。具体元数据可能因目标而异。如果 readiness 通过但抓取失败,应检查 API 和 Playwright 日志,因为绿色心跳并未覆盖这些路径。

架构验证流程:依次锁定版本、启动技术栈、运行包含十个 URL 的抓取样本、保存证据并检查重启结果
可信的安装记录应证明完整数据链路、保留原始响应、包含一次刻意设置的失败,并在重启后再次执行抓取。

保存一份能交给其他工程师的验证记录

只有原始证据在终端会话结束后仍然留存,安装才算得到验证。 下方脚本从已锁定版本的仓库开始,创建一个带时间戳的目录,保存主机规格、准确版本、构建耗时、容器状态、readiness 输出、10 份原始抓取响应、汇总、1 份资源快照、重启输出,以及重启后的第 2 次成功抓取。

第 10 个 URL 使用保留的 .invalid 域名,因此这组样本可以稳定包含一次刻意失败,而不必依赖某个真实网站恰好发生故障。其余 9 个目标均为固定的公开页面。运行脚本前请安装 jq,因为它负责构造请求 JSON 并读取响应字段。

Bash
#!/usr/bin/env bash
set -euo pipefail

base_url="${FIRECRAWL_BASE_URL:-http://localhost:3002}"
stamp="$(date -u +%Y%m%dT%H%M%SZ)"
out="firecrawl-verification-${stamp}"
mkdir -p "$out/responses"

actual_release="$(git describe --tags --exact-match)"
[[ "$actual_release" == "v2.11.162" ]] || {
  printf 'Expected v2.11.162, found %s\n' "$actual_release" >&2
  exit 1
}

{
  printf 'checked_at_utc=%s\n' "$(date -u +%FT%TZ)"
  printf 'release=%s\n' "$actual_release"
  printf 'commit=%s\n' "$(git rev-parse HEAD)"
  printf 'cpus=%s\n' "$(getconf _NPROCESSORS_ONLN)"
  awk '/MemTotal/ {printf "memory_kib=%s\n", $2}' /proc/meminfo
  uname -a
  docker version
  docker compose version
} > "$out/host.txt" 2>&1

setup_start="$(date +%s)"
docker compose up --build -d > "$out/compose-up.log" 2>&1
printf '%s\n' "$(( $(date +%s) - setup_start ))" > "$out/setup-seconds.txt"
docker compose ps --all --format json > "$out/containers-before.json"
curl --fail --silent --show-error --max-time 5 \
  "$base_url/v0/health/readiness" > "$out/readiness.json"

targets=(
  https://example.com
  https://example.org
  https://example.net
  https://httpbin.org/html
  https://www.iana.org/help/example-domains
  https://www.rfc-editor.org/rfc/rfc9110
  https://www.w3.org/TR/PNG/iso_8859-1.txt
  https://docs.python.org/3/
  https://www.firecrawl.dev/
  https://fixture-failure.invalid/
)

printf 'index\turl\tcurl_exit\tsuccess\tstatus_code\n' > "$out/summary.tsv"
i=0
for target in "${targets[@]}"; do
  i=$((i + 1))
  response="$out/responses/$(printf '%02d' "$i").json"
  payload="$(jq -n --arg url "$target" \
    '{url:$url,formats:["markdown"],timeout:60000}')"
  if curl --silent --show-error --max-time 75 -X POST \
    "$base_url/v2/scrape" -H 'Content-Type: application/json' \
    -d "$payload" > "$response"; then curl_exit=0; else curl_exit=$?; fi
  success="$(jq -r '.success // false' "$response" 2>/dev/null || printf false)"
  status="$(jq -r '.data.metadata.statusCode // .error // "none"' \
    "$response" 2>/dev/null || printf unreadable)"
  printf '%s\t%s\t%s\t%s\t%s\n' \
    "$i" "$target" "$curl_exit" "$success" "$status" >> "$out/summary.tsv"
done

docker stats --no-stream --format json > "$out/container-stats.json"
docker compose restart > "$out/restart.log" 2>&1
for attempt in $(seq 1 60); do
  if curl --fail --silent --max-time 5 "$base_url/v0/health/readiness" \
    > "$out/readiness-after-restart.json"; then break; fi
  sleep 2
done
docker compose ps --all --format json > "$out/containers-after.json"
jq -n '{url:"https://example.com",formats:["markdown"],timeout:60000}' | \
  curl --fail-with-body --silent --show-error --max-time 75 \
    -X POST "$base_url/v2/scrape" -H 'Content-Type: application/json' -d @- \
    > "$out/restart-scrape.json"

jq -e -s 'all(.[]; .success == true and .data.metadata.statusCode == 200)' \
  "$out/responses/01.json" "$out/restart-scrape.json" >/dev/null
printf 'Saved verification record: %s\n' "$out"

在首次抓取和重启后的抓取都通过之前,不要依据这份记录发布成功结论。失败响应也必须全部保留:它们能够揭示 DNS、出站访问、反爬行为、目标状态或技术栈本身的问题;删除失败记录,只会削弱证据价值。

看清默认技术栈的能力边界

Firecrawl 自托管提供核心路由,并不覆盖 Firecrawl 的全部产品能力。 只有经过测量的需求确实需要时,才添加额外服务;不要仅仅因为某个配置项存在就启用它。

需求默认自托管技术栈额外工作Cloud 方案
Scrape、crawl、map、search已包含自行运维并监控依赖已包含且由平台托管
Fetch 与 Playwright 处理已包含自行负责容量和失败处理由平台托管
基于 LLM 的抽取或格式未配置接入 OpenAI 兼容提供商或 Ollama,再单独测试提供托管的模型调用路径
高级反爬能力不包含 Fire-engine单独运行并配置 Fire-engine在支持范围内由平台托管
截图与页面操作默认路径不可用需要 Fire-engine视产品与套餐而定
Agent、Browser、Interact、控制台、企业控制默认技术栈不包含核实外部服务要求属于 Cloud 产品能力
身份验证、TLS、持久化、备份、恢复评估基线并不完整需要设计、实现、测试并持续运维服务控制由 Firecrawl 负责

如果要在这次部署决策之外比较 Cloud 搜索与检索方案,可参阅 AI 搜索 API 对比,其中覆盖了更广泛的供应商。是否更换抓取工具,则是另一个采购问题。

哪些团队最能从自托管中获益

最适合的团队通常已经拥有平台工程能力,而且确实有控制要求。 在小规模使用下,仅仅追求更低的单页价格并不充分。

排名团队与场景具体工作流价值所在
1拥有已批准云账户的受监管产品团队在指定账户内运行核心抓取,限制出站路由,保留验证记录,再把干净 Markdown 送入内部检索管线团队可按自身控制框架管理基础设施、数据流和操作人员
2必须检查或修改抓取引擎的公司锁定源码、审查变更、添加范围明确的内部补丁,并在每次升级前重新运行固定样本当所需行为属于引擎本身时,源码访问权可以免去等待供应商的时间
3已在运维 PostgreSQL、Redis、RabbitMQ、TLS、密钥和监控的平台团队将 Firecrawl 纳入现有运行手册、告警、备份系统和事件响应流程现成的运维能力降低新增的所有权负担
4实施受控出站访问的工程团队让抓取流量通过获批代理,记录目标地址,并在启用可选提供商前验证数据流部署可以遵守组织网络策略,无须另开例外
5需要比较不同版本抓取表现的团队对相同的 10 个 URL 运行测试,保留原始 JSON,执行重启,再将记录与上一个锁定构建对比版本决策以可重复证据为依据,而不是截图和记忆
6只需要核心路由的产品使用 scrape、crawl、map 和 search,不为不需要的 Cloud 专属功能付费或形成依赖更窄的需求边界更容易理解和维护

不合适的场景同样明确。一个只想获得稳定抓取端点的 2 人产品团队,会额外买下一个原本不需要的运维项目。如果团队依赖 Agent、Browser、Interact、截图、页面操作或托管式高级抓取能力,从自托管起步也站错了功能边界。

30 天成本工作表:控制权确实有账单

按明确且保守的假设计算,无论是 1,000 还是 10,000 个基础页面,托管版 Firecrawl 都更便宜。 自托管预算采用 DigitalOcean Basic Droplet:8 vCPU、16 GiB RAM、320 GiB SSD,每月 $96;再加 100 GiB 持久化 Volume,费用 $10,以及 $19.20 的每周备份预算。DigitalOcean 在 2026 年 9 月 22 日列出了这些价格。

16 GiB 并不是官方最低配置,而是根据锁定版本的 Compose 文件作出的预算假设:其中 API 服务的上限为 8 GiB,Playwright 为 4 GiB,同时数据库、缓存、队列和其他进程仍需占用资源。只有负载测试才能确定合适的主机规格。

运维时间才是更大的成本项。本工作表假设前 30 天需要 4 小时安装和 2 小时维护,并按每小时 $100 的综合成本计算。这只是一个假设,并非市场费率,请换成自己的实际数字。

首个 30 天成本项自托管Cloud:1,000 个页面Cloud:10,000 个页面
计算资源$96.00已包含已包含
持久化 Volume$10.00已包含已包含
每周备份预算$19.20已包含已包含
运维人工$600.00本 API 账单中为 $0本 API 账单中为 $0
Firecrawl 套餐与 credits$0$0$44.00
合计$725.20$0$44.00

Firecrawl Cloud 每抓取一个基础页面消耗 1 个 credit。Free 套餐以 $0 提供 1,000 credits。若按月付费抓取 10,000 个页面,Hobby 套餐的 5,000 credits 价格为 $19,另 5,000 个 Hobby credits 需要购买 5 次、每次 $5,合计 $44。Hobby 年付的月均有效价格可降至 $41,但前提是按年付费。

架构式成本对比:三十天内成功抓取一千和一万个页面
按给定的首月假设,自托管在两种规模下都需 $725.20,Cloud 则分别为 $0 和 $44。这是预算对比,不是主机容量测试结果。

这套模型没有计入税费、可选 LLM 提供商、代理费用、Fire-engine、高可用、超额流量、法律审查和事件补救,也没有把未经证实的吞吐能力算给自托管主机。后续月份的示例中,去掉 4 小时安装工作后,自托管成本降至 $325.20,但在两种假设规模下仍高于 Cloud。

这并不意味着自托管永远无法省钱。只有基准测试先证明容量,再用足够大的规模把固定基础设施和运维工时分摊到更多成功页面上,节省才会出现。按 10,000 个页面计算,这份工作表中控制需求必须足以证明首月多付 $681.20 是合理的。

围绕这道缺口,值得做的 3 个产品

最有潜力的是验证工具包:它不与 Firecrawl 本身竞争,却能把含糊的安装结果变成证据。 单次实时搜索快照返回了 8 条相关搜索和 9 个 People Also Ask 问题,其中 5 条相关搜索聚焦 Docker、Docker Compose、免费使用、Cloud 对比或 API key;问题里则直接有人询问 Firecrawl 是否昂贵、是否安全。

1. 自托管就绪度与验证工具包

面向工程负责人的本地 CLI 与报告工具。它检查版本、主机、Compose 状态、真实抓取路径、预期失败和重启行为,同时列出生产缺口,最后生成一份可供审核的签名归档。

需求信号很直接:Google 相关搜索包含 Firecrawl self-host Docker、Firecrawl self-host docker compose 和 Firecrawl self-host API key。最小可售版本包括 1 条命令、固定测试样本、HTML 报告和脱敏控制。难点在于环境差异:报告可以证明实际运行了什么,却无法保证所有目标站点或未来版本都会表现一致。

2. Cloud 与自托管成本规划器

这是一款部署计算器,输入成功页面数、选项、并发量、运维费率、恢复目标和必需功能,即可并列展示 Cloud credits、基础设施和人工成本,而且所有假设都清晰可见。

搜索快照包含 Firecrawl self-hosted vs cloud,People Also Ask 中则有 Is Firecrawl expensive? 和 Is there a free version of Firecrawl available?。当前价格锚点很明确:1,000 个 Cloud credits 为 $0;按月付费的 5,000 个 Hobby credits 为 $19;每额外 1,000 个 Hobby credits 收费 $5。MVP 是一份带版本的价格表和可导出的工作表。难点仍是自托管容量:没有买方自己的基准测试,计算器只能展示区间,而不能编造盈亏平衡点。

3. 生产加固蓝图

这是为已经通过评估、接下来需要身份验证、TLS、持久化数据、备份、恢复测试、监控、密钥管理和受控出站访问的团队准备的一套强约束基础设施模块。

需求信号分别来自 People Also Ask 问题 Is Firecrawl safe to use? 和相关搜索 Firecrawl self-host API key。Firecrawl 自己的指南已经列出了所有尚未完成的生产决策,因此真正的价值在于实施并提供证据,而不是假装这些责任从未被写明。MVP 包括 1 个受支持的云目标、锁定版本的基础设施代码、告警和恢复演练。难点在于责任边界:可复用模块无法替客户认证其安全或合规状态。

边界与不粉饰的结论

在尚未量清运维投入之前,不要为了省下 $19 就选择 Firecrawl 自托管。 这套基线关闭了 API 身份验证,没有 TLS,也没有为 PostgreSQL、Redis 和 RabbitMQ 添加持久化存储,更不具备高可用。把它暴露在不受信任的网络中,会让评估阶段的权宜之计变成安全错误。

不要假设默认技术栈与 Cloud 功能完全一致。LLM 格式需要额外提供商,Fire-engine 是独立组件,默认路径不提供截图和操作功能;Agent、Browser、Interact、控制台及企业控制仍属于 Cloud 能力,或者需要另行验证相关服务。

不要根据 Compose 资源上限或这份工作表确定生产规格。内存上限不等于推荐主机配置。先运行固定样本,再加入自己工作负载中的代表性页面,测量并发量和失败类型,之后还要测试备份恢复与升级回滚。

值得继续推进的最强理由,是团队确实有 Cloud 无法满足的控制要求;最站不住脚的理由,则是“免费”二字。

周一就做这件事

安排 1 名工程师,在一台一次性私有主机上用 2 小时完成评估。 锁定 v2.11.162,运行官方的单次抓取,再执行用于保存证据的验证脚本;如果重启后的抓取没有通过,就到此为止。随后,把工作表中的每小时 $100 运维费率换成自己的综合成本,并用 1 句话写清控制要求。如果这句话仍然含糊,就使用 Cloud;如果足够具体,则应先规划生产控制,再增加用量。

Firecrawl 贵吗?

取决于部署方式和页面量。Firecrawl Cloud 每月前 1,000 个基础页面 credits 的费用为 $0。在这份工作表中,按月购买 Hobby 加按量付费,10,000 个基础页面需要 $44;而假设投入 6 小时运维的自托管首月示例成本为 $725.20。只有在自己的基准测试和控制要求足以证明固定工作值得投入时,自托管才可能在财务上成立。

Firecrawl 有免费版本吗?

有。Firecrawl 提供开源部署路径,Firecrawl Cloud 的 Free 套餐每月也包含 1,000 credits。开源免去的是 Firecrawl 套餐费,而不是计算、存储、安全、监控、升级、恢复和运维人工成本。

使用 Firecrawl 安全吗?

只有部署在受信任网络内,并配备适当的主机与网络控制,这套评估基线才是安全的。它关闭了数据库身份验证,也不包含生产级身份验证设计、TLS、持久化存储、高可用或恢复方案。对外暴露前,必须先实施并测试这些控制,安全性取决于此。

如何用 Docker Compose 自托管 Firecrawl?

安装 Git、Docker、Docker Compose v2 和 curl。检出 v2.11.162,创建包含 4 个值的基线 .env,执行 docker compose up --build -d,检查每项服务和 readiness,最后必须取得一次成功的 POST /v2/scrape 响应。保存原始结果,并在重启后再次抓取。

Firecrawl 自托管需要 API key 吗?

受信任网络评估将 USE_DB_AUTHENTICATION=false,因此本地请求不使用 API key。但这不是面向公网的生产设计。Firecrawl 明确指出,生产身份验证需要完整且受支持的身份与数据库设计,并配合网络控制和 TLS;单靠 1 个环境变量并不够。

如果你希望围绕自己的控制要求构建锁定版本、可观测的部署方案,请参阅 AI 生产系统。

发布日期
分类
Build
Airtable 替代品怎么选?NocoDB、Baserow 等工具的价格与适用场景

Airtable 替代品怎么选?NocoDB、Baserow 等工具的价格与适用场景

想换掉 Airtable,先分清是席位太贵、容量不够,还是缺少客户门户。本文对比 NocoDB、Baserow、SeaTable、Grist、Smartsheet、Notion 和 Softr,拆解价格、免费额度、自托管、API、自动化与权限差异,帮你按真实工作流选型,并在迁移前验证关联数据、集成和恢复方案。2026年11月10日Build
2026 年 proxy 代理服务推荐:Bright Data、Oxylabs、Decodo 等 7 家怎么选

2026 年 proxy 代理服务推荐:Bright Data、Oxylabs、Decodo 等 7 家怎么选

proxy 代理服务该怎么选?对比 Bright Data、Oxylabs、Decodo、Webshare、ThorData、IPRoyal 与 NetNut,梳理住宅、数据中心、ISP 和移动代理的价格、试用、KYC 与会话控制,分清原始网络、托管解封和抓取 API 的职责,按有效记录成本和实际任务需求筛选。2026年11月10日Build
NVIDIA OpenShell:为 AI 智能体划定可执行的权限边界

NVIDIA OpenShell:为 AI 智能体划定可执行的权限边界

NVIDIA OpenShell 如何限制编程智能体的文件、网络和凭据访问?本文梳理受支持的平台、CLI 安装与 OpenCode 启动流程,解释哪些策略可实时更新、哪些变更需要重建沙箱,并给出可审查的编程策略模板、权限测试方法和团队落地场景,帮助平台团队在开放真实项目与服务前看清实际授予的权限。2026年11月9日Build
CodeRabbit 价格详解:席位费用、用量限制与附加收费

CodeRabbit 价格详解:席位费用、用量限制与附加收费

CodeRabbit 价格怎么算?本文梳理 Essentials、Team、Advanced 与 Enterprise 的席位收费、年付折扣、PR 审查额度及关联仓库限制,并列出不同团队规模的预算算例。了解免费版和开源方案的适用范围,分清超限文件审查、Agent 分钟数与安全扫描费用,再按实际工作流和安全需求选择套餐。2026年11月9日Build
2026 企业杀毒软件怎么选:六款小企业方案、价格与响应服务对比

2026 企业杀毒软件怎么选:六款小企业方案、价格与响应服务对比

企业杀毒软件怎么选,关键在于谁来管理设备、谁来处理告警。本文对比 Bitdefender、Microsoft Defender、ESET、Sophos、CrowdStrike 与 Malwarebytes,梳理美元价格、设备额度、服务器授权和托管响应范围,帮助小企业按现有订阅、设备类型与管理能力确定候选方案。2026年11月8日Build
Paperclip AI 评测:多智能体协作怎么管,部署前要看什么

Paperclip AI 评测:多智能体协作怎么管,部署前要看什么

Paperclip AI 能把分散的 AI 智能体组织成可追踪的工作流,但安装管理面板并不等于完成权限与验收配置。本文梳理官方安装方式、运行时与模型支持、任务交接、预算策略和审批边界,并对比 OpenClaw 与 Hermes Agent,帮你判断是否值得花一个周末试用,以及上线前应检查什么。2026年11月7日Build
Supabase 是什么?看懂 AI 应用背后的数据库、权限与后端

Supabase 是什么?看懂 AI 应用背后的数据库、权限与后端

Supabase 是什么,为什么 AI 应用构建工具常用它做后端?本文从 Postgres 数据库、登录认证、文件存储、实时更新与向量搜索讲起,梳理 Lovable、Bolt、v0 和 MCP 的接入方式,解释 RLS 权限、项目控制权与迁移边界,帮你在接收真实客户数据前,明确需要验证的隔离、恢复和交接事项。2026年11月7日Build
AI IDE 怎么选?2026 年 Cursor、VS Code、Zed 等 6 款编辑器对比

AI IDE 怎么选?2026 年 Cursor、VS Code、Zed 等 6 款编辑器对比

AI IDE 怎么选?比较 Cursor、VS Code 搭配 GitHub Copilot、Windsurf(现为 Devin Desktop)、Zed、Kiro 与 JetBrains AI,梳理价格、免费方案、智能体模式、模型接入、BYOK、本地推理、隐私边界与团队管控,帮你按工作流判断是否值得迁移。2026年11月6日Build
订阅通讯

每周日,一封信。写运转中的系统,不写热评。

每周一期。无垃圾邮件。随时退订。