应用部署让你可在 Windsurf 内通过 Cascade 的工具调用直接部署 Web 应用和站点。你可以通过公开 URL 分享成果、更新部署,并认领项目以便进一步自定义。该功能当前处于测试版,后续将很快支持更多框架、更稳健的构建等。

概览

通过应用部署,你可以:
  • 将网站或 JS Web 应用部署到公共域名
  • 在更改后重新部署到同一 URL
  • 将项目认领到你的个人账号
应用部署主要用于预览。对于包含敏感数据的生产环境应用,我们建议先认领你的部署,并遵循安全最佳实践。

支持的提供商

我们目前支持以下部署提供商:
  • Netlify - 适用于静态网站和 Web 应用
我们计划在后续版本中支持更多提供商。

工作原理

当你使用应用部署时,我们会将你的代码上传到我们的服务器,并通过我们名下的账户将其部署到相应的服务提供商。部署完成的网站将可通过以下格式的公开 URL 访问:
<SUBDOMAIN_NAME>.windsurf.build

部署流程

  1. Cascade 会分析你的项目,确定适用的框架
  2. 我们会将你的项目文件安全上传至服务器
  3. 在供应商的平台上创建部署
  4. 你将收到一个公共 URL 和一个认领链接

项目配置

为便于重新部署,我们会在项目根目录创建一个 windsurf_deployment.yaml 文件。该文件包含未来部署所需的信息,例如项目 ID 和所用框架。

使用应用部署

要部署你的应用程序,只需向 Cascade 这样请求:
"将此项目部署到 Netlify"
"更新我的部署"
Cascade 将引导你完成整个流程,并帮助你排查常见问题。

团队部署

你需要具备 Team 管理员权限才能启用或关闭此功能。
订阅 Teams 和 Enterprise 方案的用户可以将其 Netlify 帐户与 Windsurf 帐户连接,并部署到其 Netlify 团队。 你可以在 Team Settings 中切换此功能,可通过个人资料页面进入,或点击此处访问。

安全注意事项

您的代码将被上传到我们的服务器以进行部署。请仅部署您愿意公开分享的代码。
我们采取多项措施以确保安全:
  • 文件大小限制与校验
  • 基于您账户套餐的请求速率限制
  • 项目文件的安全处理
如需进一步保护隐私,请访问 clear-cookies.windsurf.build,检查并清除由 windsurf.build 域下站点设置的任何 cookie。若发现存在 cookie,说明它们不应存在;清除它们有助于防止跨站点 cookie 问题,并保持干净的使用体验。 Windsurf 站点由人类与 AI 共同构建。尽管我们鼓励 AI 采用最佳实践,保持谨慎始终明智。对于用户部署站点所引发的问题,Windsurf 不承担责任。

认领你的部署

部署完成后,你会收到一个认领链接(URL)。通过该链接,你可以在个人服务提供商账户中认领该项目,从而获得:
  • 对部署的完全控制权
  • 访问服务提供商特定功能
  • 修改域名
  • 直接访问日志和构建信息
未认领的部署可能会在一段时间后被删除。建议尽快认领重要项目。

速率限制

为防止滥用,我们对不同套餐施加以下速率限制:
套餐每日可部署次数未认领站点上限
Free11
Pro105

支持的框架

应用部署适用于大多数主流的 JavaScript 框架,包括:
  • Next.js
  • React
  • Vue
  • Svelte
  • 静态 HTML/CSS/JS 站点

故障排查

部署构建失败

如果部署失败:
  1. 检查 Cascade 提供的构建日志
  2. 确保项目可在本地构建(运行 npm run build 进行测试)
  3. 确认项目遵循所用框架的推荐结构
  4. 查看文档,了解如何通过 netlify.toml所用框架部署到 Netlify
  5. 考虑认领该项目,以在提供商的控制台查看详细日志
我们无法对特定框架的构建错误提供直接支持。若部署因代码问题失败,请在本地调试,或认领项目以便与提供商的支持团队协作处理。

未找到 Netlify 站点

这通常意味着构建失败。请认领你的站点(可在部署历史中找到),并查看构建日志以了解更多详情。很多情况下,你可以将构建日志粘贴到 Cascade 中寻求帮助。

更改您的子域/URL

更新 netlify.app 域名

你可以通过认领部署并更新 Netlify 站点设置来更改子域名。这样会更新你的 .netlify.app 域名。

更新自定义 .windsurf.build 子域名

部署完成后,您无法更改自定义的 .windsurf.build 子域名。您需要改为使用新的子域名部署一个新站点。
要更新自定义的 .windsurf.build 子域名,您需要使用新的子域名部署一个新站点:
  1. 从项目中删除 windsurf_config.yaml 文件
  2. 让 Cascade 部署一个带有新子域名的新站点,并告知它您想要使用的子域名
  3. 建议开启一段新的对话或清除自动生成的记忆,以防 Cascade 尝试重新部署到旧的子域名
  4. 创建新部署时,您可以在子域名界面上点击“Edit”按钮,在点击“Deploy”之前进行更新

错误:Unable to get project name for project ID

当系统中找不到你的项目 ID,或 Cascade 误将子域名当作项目 ID 使用时,会出现此错误。解决方法:
  1. 确认该项目仍存在于你的 Netlify 账户中(前提是已认领)。
  2. 检查 windsurf_deployment.yaml 文件中是否包含项目 ID。若未包含,你可以从部署历史的下拉菜单下载配置文件。
  3. 尝试重新部署,并明确指示 Cascade 使用 windsurf_deployment.yaml 文件中的 project_id