Playwright MCP 教程:从配置到浏览器测试,弄清能力与边界

Playwright MCP 如何让 AI 编程助手操作真实浏览器?本文梳理 Claude Code、Codex、Cursor 与 VS Code 的配置方法、页面快照和视觉交互的区别,并以访客结账故障为例,说明如何采集证据、明确未测试范围、控制访问权限,以及何时把探索性检查沉淀为回归测试。

发布于

Playwright MCP 教程:从配置到浏览器测试,弄清能力与边界

Playwright MCP 能让 AI 编程助手打开真实浏览器,走一遍客户操作流程,并带回流程卡在哪里的证据。对创业者来说,它的价值很直接:在客户真正使用之前,先检查结账、注册或留资表单是否可用。建议从预发布环境中无需登录的流程入手,并事先写清楚怎样才算通过。

Microsoft 的 Playwright MCP 服务器将 Claude Code、Codex、Cursor 和 VS Code 中的 Copilot 智能体接入浏览器自动化框架 Playwright。我的建议是:先用它做探索性检查、排查故障,再把重要发现沉淀为经过审核、可以反复运行的测试。

Playwright MCP 到底能做什么?

智能体会获得浏览器操作工具,以及页面的结构化描述。MCP 是 Model Context Protocol(模型上下文协议)的缩写,负责让智能体调用这些工具。服务器执行浏览器操作,智能体决定下一步请求什么操作。

可以把无障碍快照想成楼宇导览:它按用途和名称标明房间与出入口。页面快照也一样,会描述按钮、链接、文本框及其无障碍名称。智能体可以根据这些结构信息选择目标,无需对着图片猜点击位置。默认工作流程不需要视觉模型。Microsoft 概述

建筑风格的架构示意图:智能体经由 MCP 服务器向浏览器发送操作,页面快照再返回智能体。
智能体选择操作,Playwright 负责执行,页面结构为下一步决策提供依据。图中简化了返回路径。

安装前,先确定采用哪种方式。Microsoft 目前也向编程智能体用户推荐 Playwright CLI 配合 skills 的路线,同时将 MCP 定位为适合持续保留浏览器状态、反复检查页面结构的方案。如果工作流程需要这种连续交互,可以选择 MCP;如果智能体本来就擅长通过 shell 命令工作,也值得比较 CLI 路线。无论选哪种,都不能仅凭工具选择就认定客户流程已通过测试。Microsoft 的 MCP 与 CLI 对比

想了解更完整的工具组合,可以阅读我们的 2026 年 MCP 服务器推荐。

如何接入 Claude Code、Codex、Cursor 或 VS Code?

需要 Node.js 18 或更新版本,以及支持 MCP 的客户端。以下命令和配置均沿用 Microsoft README 中的示例。选择与你的客户端对应的一种安装方式即可,无需在所有编辑器里依次执行。环境要求与安装说明

Claude Code

原样运行以下命令:

claude mcp add playwright npx @playwright/mcp@latest

Codex

原样运行以下命令:

codex mcp add playwright npx "@playwright/mcp@latest"

也可以将以下内容加入 ~/.codex/config.toml:

TOML
[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]

Cursor

按 README 的手动安装方式操作:Cursor Settings -> MCP -> Add new MCP Server。填写名称,选择 command 类型,然后输入:

npx @playwright/mcp@latest

通过 Edit 查看配置或添加参数。README 还提供了在 Cursor 中安装的按钮。

VS Code

原样运行以下 VS Code CLI 命令:

code --add-mcp '{"name":"playwright","command":"npx","args":["@playwright/mcp@latest"]}'

随后,VS Code 中的 GitHub Copilot 智能体就能使用该服务器。Microsoft README 也提供了安装按钮和 VS Code MCP 配置指南的链接。

通用 JSON 配置

如果客户端采用 README 中的标准 JSON 配置,原始示例如下:

JSON
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest"
      ]
    }
  }
}

配置应放在哪里,请参照上面对应客户端的安装说明。Codex 的另一种配置方式使用 TOML,并非这里的 JSON。需要选择配套智能体时,可以参考支持浏览器测试的 AI 编程智能体。

Playwright MCP 配置:选浏览器,也选交互方式

建议先用可见的浏览器窗口、隔离的用户配置和页面快照。以下选项都加在服务器参数列表的 @playwright/mcp@latest 之后,来源为 Microsoft 配置参考。

要做的选择README 中的选项具体影响
是否显示浏览器窗口默认显示窗口;添加 --headless 可隐藏窗口无头模式只控制窗口是否显示,不决定智能体能否与页面交互。
使用哪种浏览器--browser 接受 chrome、firefox、webkit、msedge这些是 CLI 的取值。JSON 中的 browserName 字段另行使用 chromium、firefox 或 webkit。
启动时不沿用已保存的浏览器状态--isolated用户配置保存在内存中;关闭浏览器后,该会话的状态即被丢弃。
控制响应中是否返回快照--snapshot-mode 接受 full 或 none;默认为 full控制响应附带的快照,与坐标交互是两回事。
增加坐标交互能力--caps=vision添加按坐标操作的鼠标工具。
控制返回的图片--image-responses 接受 allow、omit 或 only;默认为 allow控制发送给客户端的图片响应。
测试其他布局--device 或 --viewport-size选择设备模拟或视口尺寸。
留存证据--output-dir、--save-session设置自动命名输出文件的保存目录,并启用 MCP 会话保存。显式指定的文件名按工作区根目录解析。
调整等待时间--timeout-action、--timeout-navigation配置操作和导航的超时时间。延长超时并不能修好已经出错的流程。

快照与视觉的区别,在于交互方式。 默认流程用 browser_snapshot 识别目标。browser_take_screenshot 用于采集视觉证据,但截图本身不会开启坐标点击。启用 --caps=vision 后,README 列出的工具包括 browser_mouse_click_xy、browser_mouse_down、browser_mouse_drag_xy、browser_mouse_move_xy、browser_mouse_up 和 browser_mouse_wheel。客户端和模型还必须能够利用返回的图片进行视觉推理。工具参考

对于常规表单和页面导航,我会先用快照。需要检查外观,或页面结构无法充分描述控件时,再做视觉检查。无障碍快照能提供有用的结构证据,却无法证明页面显示正常。

浏览器检查常用哪些工具?

核心工具覆盖导航、交互和证据采集。下表按交给智能体的任务,对 README 中的核心自动化工具和标签页工具进行了归类。Microsoft 工具列表

任务工具名称
打开和管理页面browser_navigate、browser_navigate_back、browser_tabs、browser_close
读取页面结构browser_snapshot、browser_find
点击与移动browser_click、browser_hover、browser_drag
输入数据browser_fill_form、browser_type、browser_select_option、browser_press_key
处理文件和对话框browser_file_upload、browser_drop、browser_handle_dialog
调整显示方式browser_resize、browser_emulate_media
等待指定状态browser_wait_for
采集证据browser_take_screenshot、browser_console_messages、browser_network_requests、browser_network_request
执行代码browser_evaluate、browser_run_code_unsafe

基于快照的操作会使用页面快照中的目标引用,或能唯一定位目标的选择器。选择器就是识别页面元素的一种方式。页面发生实质变化后,应重新获取快照,不要假定先前的目标仍然有效。

额外能力需要按需启用。选项表列出了 vision、pdf 和 devtools;工具章节还明确说明了 config、network、storage 和 testing:

  • PDF: --caps=pdf 添加 browser_pdf_save。
  • 调试证据: --caps=devtools 包含追踪、视频、操作录制、注释、高亮和恢复暂停执行等能力。例如,用 browser_start_tracing 开始追踪,再用 browser_stop_tracing 结束。
  • 断言: --caps=testing 添加 browser_generate_locator、browser_verify_element_visible、browser_verify_list_visible、browser_verify_text_visible 和 browser_verify_value。断言用来说明哪些条件必须成立。
  • 网络模拟: --caps=network 添加 browser_network_state_set、browser_route、browser_route_list 和 browser_unroute,用于测试离线行为和模拟请求。
  • 存储: --caps=storage 支持查看和编辑 cookie、本地存储与会话存储,并添加 browser_storage_state 和 browser_set_storage_state。
  • 解析后的配置: --caps=config 添加 browser_get_config。

这些是 README 记录的工具分组,不代表每个客户端都会立即暴露全部工具。若缺少某个工具,应将已安装软件包的工具列表、已启用能力与 README 对照检查。完整工具说明

最值得交给它的三类业务检查

优先检查那些一旦失败,就会影响收入或阻断客户联系的流程。以下是建议的工作方式,并非经过测量的节省效果。

确保客户能顺利进入结账流程

电商开发者可以让智能体在预发布环境中走一遍访客结账:确认选中的商品进入并保留在购物车里,填写虚构的收货信息,然后在任何真实付款前停下。价值在于赶在客户之前发现会阻断购买的问题。

同一个团队还可以做错误恢复检查:先提交不完整的收货信息,确认报错容易理解,再修正输入,验证客户能继续操作。只检查顺利完成的路径,会漏掉填错字段的客户所遇到的问题。

部署后检查站点

创业者发布着陆页修改后,可以让智能体打开新部署的页面,点击主要行动按钮,确认它通向预期的注册页或联系页。要求它提供页面证据,以及相关的控制台输出或失败请求信息。

代理机构的开发者还可以缩窄视口,再走一遍导航。这可能暴露被遮挡的菜单或无法操作的按钮。截图需要人工审阅,不能自动充当视觉质量合格证明。

用测试数据验证表单

SaaS 开发者可以在本地或预发布环境中,检查无需登录的注册表单:必填字段、校验提示,以及出错后能否修正并继续。应在创建真实账户之前停下,或者使用专供测试提交的接收端。

负责业务运营系统的开发者可以用虚构输入填写预发布环境中的长表单,检查下拉选项、条件字段和测试文件上传,再提交到模拟端点。这样既能发现字段映射错误,也不会发送客户记录或触发真实业务流程。

完整示例:访客结账卡在付款之前

给智能体一个边界明确的任务,并要求它用证据支撑结论。下面是一个端到端演示示例,其中的缺陷是特意假设的,并非对真实在线商店的测试报告。

示例应用包含访客购物车、收货表单和付款页。收货表单错误地将邮政编码字段发送为 postal,后端预期的字段却是 postalCode。应使用本地或预发布环境中无需登录的测试应用,配上虚构数据,并确保没有接入真实支付。

将方括号里的 URL 替换为自己的测试地址,然后把以下任务交给智能体:

使用 Playwright MCP 测试 [预发布环境结账 URL] 的访客结账流程。使用隔离的浏览器会话和虚构的访客信息。确认商品能进入购物车、必填收货字段会拒绝空输入,以及修正收货信息后能进入付款页。不要登录、创建账户或下单。如果某一步失败,停止继续这条路径,并报告预期结果、实际结果、复现步骤、相关浏览器证据,以及尚未测试的内容。将实际观察与推测原因分开写。

隔离设置需要在服务器配置中通过 --isolated 启用;只写在提示词里,并不会改变服务器配置。

阶段智能体操作需要保留的证据
打开测试应用使用 browser_navigate,再调用 browser_snapshot实际页面,以及可用的控件。
建立购物车用 browser_click 点击所选商品的控件,再打开结账流程确认商品出现在购物车中的快照。
检查必填字段提交空的收货表单页面上可见的校验提示,而不只是点击成功。
修正输入按需使用 browser_fill_form 和 browser_select_option,再点击“继续”修正后的值,以及操作后的页面状态。
排查阻断原因获取 browser_snapshot、browser_console_messages 和 browser_network_requests,再用 browser_network_request 查看相关请求收货步骤的错误,以及有助于解释错误的请求和响应。
报告并关闭保存 browser_take_screenshot 截图,写下发现,再调用 browser_close有证据支持的失败报告,并将付款标记为未测试。

在这个示例中,请求体包含 postal,响应则指出缺少 postalCode。这支持“字段映射出错”的推测。但开发者仍需检查表单序列化逻辑和后端接口约定,才能确认根因已修复。

建筑风格的结账流程图:从购物车进入地址填写,在付款前被阻断,并分出一条通向证据报告的路径。
收货步骤受阻后,应形成一份具体的问题报告。智能体必须标明尚未到达付款阶段,不能据此推断结账正常。

智能体报告示例:

结果:失败。 使用提供的有效测试地址,访客结账仍无法从收货步骤进入付款步骤。

已通过: 所选商品出现在购物车中。必填收货字段为空时,页面会显示校验提示。

复现步骤: 使用隔离的用户配置打开测试应用,添加测试商品,进入访客结账,填写测试应用提供的有效收货信息,然后选择“继续”。

预期: 能进入付款页。

实际: 页面仍停留在收货表单,并提示缺少邮政编码。收货请求包含 postal,响应指出缺少 postalCode。

应附证据: 收货页面截图、无障碍快照,以及相关请求和响应的片段,内容仅含测试数据。

可能原因: 表单字段映射与后端预期属性不一致。需要在代码中确认。

未测试: 付款信息填写、付款提交、订单创建和确认。流程在到达这些阶段之前已经停止。

下一步是修正映射,再分别重跑无效输入和有效输入的路径。确认行为正确后,让智能体起草 Playwright 回归测试,审核其中的断言,再加入现有测试运行器。最后这一步属于工程流程;仅靠 MCP 对话本身,还构不成回归测试套件。

哪些地方容易失效,浏览器智能体又能访问到哪里?

目标含糊、环境不安全时,检查最容易失去价值。“检查结账”会让智能体自行猜测通过标准;“确认有效收货信息能进入付款页,但不提交付款”则给出了可以审核的目标。

实际使用中,要考虑以下限制:

  • 页面结构不清楚: 控件没有名称、界面大量依赖 canvas 时,结构化导览的作用会减弱。对于自己维护的应用,我建议先补好无障碍标签;结构信息不够时,再借助视觉证据。
  • 状态不断变化: 重新渲染、弹窗或延迟发生的页面切换,都可能让智能体对下一步的判断失效。继续操作前,应检查最新状态,并等待预期文本出现或页面切换完成。
  • 用户配置冲突: 一份持久化用户配置同一时间只能供一个浏览器实例使用。对于共享工作区的并发客户端,Microsoft 建议使用隔离会话,或设置不同的 --user-data-dir。
  • 环境不一致: README 中的 Docker 实现只支持无头 Chromium。不能据此假定通用 CLI 表格列出的所有浏览器选项都能在该容器中使用。
  • 覆盖不完整: 能到达某个页面,并不代表所有校验、浏览器、设备或后端处理结果都正常。截图也无法证明订单已正确存储。这些都是上述检查流程的能力边界。

用户配置和 Docker 的限制记录在 Microsoft README 中。

浏览器访问权限,就是真实的访问权限。 Microsoft 明确指出,Playwright MCP 不是安全边界。默认用户配置会持久保存浏览器状态;可选的 Chrome/Edge 扩展还能连接现有标签页和已登录会话。执行本文中的任务时,应使用隔离会话,不导入 cookie,也不连接日常使用的浏览器。用户配置与扩展行为

智能体可以请求浏览器所在环境能够访问的页面。取决于网络配置,这既可能包括公开网站,也可能包括开发服务器或内部服务。来源规则不能替代网络隔离:--allowed-origins 和 --blocked-origins 不约束重定向,文档也明确说明它们不是安全边界。--allowed-hosts 检查的是传入 MCP 服务器请求的主机信息,并不是浏览器可访问网站的白名单。配置与安全

文件访问同样需要谨慎处理。文档说明,默认行为会将文件访问限制在工作区根目录范围内,并阻止 file:// 导航;--allow-unrestricted-file-access 会放宽这些规则。Microsoft 将这些文件检查描述为防误用措施,而非安全隔离。更需留意的是,browser_run_code_unsafe 会在服务器进程中执行 JavaScript,具备该进程的访问能力。应通过客户端权限控制这个工具,并限制服务器运行环境。配置模式与工具说明

截图、页面文本、控制台输出和请求体,都可能向智能体暴露数据。应使用虚构记录和测试专用端点。除非已明确授权某项具体操作,否则应在真实扣款、发送消息、创建账户或其他会产生实际影响的提交之前停下。

Playwright MCP、Chrome DevTools MCP 和 Browserbase 怎么选?

根据任务,以及浏览器需要运行在哪里来选。这些产品的能力有交集,但各自承担的角色并不能互相替代。

选项官方文档描述的能力面向本文读者,我会如何选择
Playwright MCP通过结构化无障碍快照实现浏览器自动化,支持选择浏览器,并按需启用工具组。Microsoft README在支持的浏览器中探索客户流程、采集失败证据。
Chrome DevTools MCP控制运行中的 Chrome,提供基于 Puppeteer 的自动化、性能追踪、网络检查、截图和控制台调试。官方支持的浏览器是 Chrome 和 Chrome for Testing。Chrome DevTools README排查 Chrome 性能或调试问题,且主要依赖 DevTools 证据时使用。
Browserbase托管浏览器会话。其 Playwright 快速入门会创建云端会话,通过 CDP(Chrome DevTools Protocol)连接,并提供实时调试和会话录制。Browserbase 快速入门需要托管运行环境,希望将浏览器基础设施迁出开发者电脑时使用。

Microsoft 还提供 --cdp-endpoint,用于连接浏览器端点。因此,智能体使用什么接口、浏览器运行在哪里,是两个可以分别决定的问题。Browserbase 不是 Microsoft 服务器的另一个名称。我们的 AI 智能体浏览器推荐讨论了更广泛的选择。

成本怎么算?还有哪两类产品或服务值得做?

真正有用的成本比较,是把当前的检查流程与整套自动化流程放在一起算。Playwright MCP 仓库采用 Apache 许可证;安装服务器,并不会同时提供智能体模型、计算资源、测试环境与数据,或人工审核。

请代入自己的实际成本:

  • 使用前: 人工检查工时 × 含各项用人成本的小时费率,再加上已有的测试订阅费用。
  • 使用后: 智能体使用费 + 浏览器基础设施 + 人工审核 + 测试环境、数据及测试用例维护。

托管费用可以参考一个具体标价:Browserbase 的 Developer 套餐为 $20/月,含 100 小时浏览器使用时长,超出后按每浏览器小时 $0.12计费。这只是浏览器基础设施费用,不是智能体完成一次结账测试的全部成本。Browserbase 价格

优先考虑:发布验收服务

小型代理机构可以在客户每次部署后,检查双方事先约定的客户流程。最小可用版本只需接收预发布 URL 和验收清单,运行获准执行的匿名访问路径,再产出经过审核的报告,附上证据并明确覆盖缺口。客户付费,是为了有人对发布检查负责。

需求信号还比较有限:2026 年十月获取的 DataForSEO 美国英语关键词估算显示,“automated browser testing”的月搜索量为 110,“checkout testing”为 10。这些数字衡量的是搜索次数,并非买家数量。它们更适合支持先面向现有客户试做一项聚焦的服务,再决定是否投入更广泛的软件产品。

难点在维护:流程变化、含糊的断言和误报,可能消耗掉原本希望省下的人力。真正能形成竞争力的是实用的验收清单和可信的问题排查,而不是安装一个人人都能安装的公开 MCP 服务器。

另一个方向:预发布环境表单检查工具

网站服务机构可以做一个检查工具,用虚构值填写表单,触发必填项报错,再确认修正后的提交能到达模拟接收端。先从自己已在维护的网站表单入手,并提供开发者能够据此复现问题的报告。

DataForSEO 同一份美国英语数据集估算,“website form testing”的月搜索量为 10。单看这个信号,很难支撑独立获客。我的建议是先将其作为网站维护的附加服务出售,验证客户是否持续需要,再考虑做成独立产品。

难点在接收系统。页面看起来提交成功,不等于线索确实送达。除了浏览器证据,MVP 还需要测试端点,或其他经许可的方式来确认数据已被接收。

配置时常见的问题

能看到智能体操作浏览器的过程吗?

可以。Playwright MCP 默认显示浏览器窗口。需要在不显示窗口的情况下运行时,添加 --headless 即可。配置说明

必须使用视觉模型吗?

默认的无障碍快照流程不需要。坐标工具要通过 --caps=vision 主动启用;能否借助这些工具进行视觉推理,还取决于客户端和模型是否支持图片。概述与工具

不登录也能测试结账或注册吗?

可以,前提是应用提供相应的访客或匿名访问流程。使用隔离的本地或预发布会话,以及虚构数据。到达身份验证或真实提交的边界时停下,并在报告中注明后续步骤未测试。

智能体成功跑了一遍,就能替代浏览器测试吗?

不能。它只能说明这次运行实际检查了什么。应保留证据,将重要发现转成经过审核的测试,再纳入常规回归流程运行。

下周一就可以做的事: 选一条最直接影响收入的访客流程,写清预期结果和停止位置,再让现有的 AI 编程助手到预发布环境中检查。先和负责该流程的开发者一起审阅证据,再扩大检查范围。

如果你希望围绕自己的发布流程搭建浏览器检查工作流,我们提供面向业务流程的 AI 智能体开发服务。

发布日期
分类
Build
Cursor Bugbot 使用指南:AI code review 配置、计费与自动修复

Cursor Bugbot 使用指南:AI code review 配置、计费与自动修复

Cursor Bugbot 如何接入团队的代码审查流程?本文详解 GitHub、GitLab、Bitbucket 与 Azure DevOps 的仓库配置、YAML 优先级、项目规则和按用量计费,并对比 CodeRabbit 与 Greptile 的价格,说明 Autofix 自动修复与 MCP 的使用条件。2026年10月12日Build
Claude Code 价格与 Cline 对比:2026 年怎么选更划算

Claude Code 价格与 Cline 对比:2026 年怎么选更划算

Claude Code 价格与 Cline 费用怎么比?本文拆解免费软件、API 按量计费与 Pro、Max 订阅,按相同 token 用量计算轻度和重度开发者的月度成本,并比较模型选择、编辑器集成、云端配置限制和权限控制,帮助个人开发者与小团队判断哪种方案更适合自己的实际工作量。2026年10月12日Build
Claude Code plugins 推荐:2026 年 9 款插件怎么选

Claude Code plugins 推荐:2026 年 9 款插件怎么选

Claude Code plugins 怎么选?本文对比 9 款插件,涵盖代码审查、测试、库文档、Figma 设计交付、Vercel 部署与项目记忆,梳理安装命令、美元费用和使用边界。了解 Superpowers、Context7 等工具各自解决什么问题,以及安装范围、更新管理和源码检查中的关键区别,按返工原因选择。2026年10月12日Build
OpenRouter 价格与 LiteLLM 成本对比:自建还是托管?

OpenRouter 价格与 LiteLLM 成本对比:自建还是托管?

OpenRouter 价格不能只看充值手续费。本文对比 LiteLLM 自托管与 OpenRouter 购买额度、BYOK 的成本,拆解小用量和增长期月度账单,并梳理密钥保管、故障回退、预算限流、日志缓存与数据保留规则,帮助开发者判断省下的费用能否覆盖运维开支,以及迁移前需要明确哪些付款和管理责任。2026年10月12日Build
Claude Code 计划模式怎么用:先审方案,再动代码

Claude Code 计划模式怎么用:先审方案,再动代码

Claude Code 计划模式怎么用?本文讲清启动命令、快捷键、默认配置、计划编辑和批准流程,梳理它与自动模式的关系及绕过权限检查时的例外。通过结账与续费共享计价逻辑的重构示例,展示如何保留现有行为、分步迁移调用方,并安排验证和回滚,帮助你判断哪些任务值得先做规划,哪些明确的小改动可以直接执行。2026年10月12日Build
Devin 与 Claude Code 价格对比:个人和五人团队怎么选

Devin 与 Claude Code 价格对比:个人和五人团队怎么选

Devin 和 Claude Code 怎么选?本文对比云端任务委派、工程师主导的本地迭代、代码仓库集成与订阅费用,算清个人及五人团队的月账单,说明 Premium 席位升级何时让费用反超,并厘清额外用量、自动化计费和迁移条件,帮助创始人与技术负责人按实际工作流程选择 AI 编程工具。2026年10月12日Build
A2A 协议详解:与 MCP 的区别、协作机制和接入时机

A2A 协议详解:与 MCP 的区别、协作机制和接入时机

A2A 协议用于独立智能体之间的任务委派,MCP 则连接工具与数据。从供应商筛选出发,讲清 Agent Card、任务、消息与产物,梳理 v1.0 的兼容性变化及 Google ADK、LangSmith、CrewAI、Microsoft Foundry 的支持范围,帮助你判断接入时机,并规划授权、重试和结果验收。2026年10月12日Build
Cloudflare Workers 等 Deno Deploy 替代方案:价格对比与迁移指南

Cloudflare Workers 等 Deno Deploy 替代方案:价格对比与迁移指南

Deno Deploy 迁移该选哪家?比较 Cloudflare Workers、Netlify、Supabase、Vercel、Val Town 与自托管 Deno 的价格、免费额度和运行时限制,梳理 Deno KV、定时任务、队列及静态站点的迁移改造,帮助你先确定数据与调度方案,再安排代码部署、流量切换和回滚。2026年10月12日Build
订阅通讯

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

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