核心概念

预览和发布

为什么每次变更都必须先生成预览,再进入生产环境。

Showly 坚持一条核心原则:未经过预览的内容不能进入生产环境。 本页解释这样设计的原因和完整发布流程。

什么是预览

预览由不可变构件和可访问 URL 组成,并记录:

  • 应用补丁的提交 SHA
  • 与当前生产构件的差异
  • 构建日志
  • 检查结果(lints、类型检查、自定义 CI 挂钩)
  • 创建它的智能体或用户

登录后工作区中的预览运行在隔离命名空间中,通过 X-Robots-Tag: noindex 阻止搜索引擎收录,并且不会过期,也不会与生产环境共享密钥。未登录创建且 尚未认领的公开试用属于独立流程;如果不认领,仍会在约 1 小时后过期。

如何触发预览

生成构建的方式有以下三种:

  • 智能体创建。 Claude Code、Codex 等智能体完成修改后,通过 MCP

调用 create_preview

  • 从已连接的 GitHub 仓库构建。 Web 和 MCP 可以解析已连接分支并

创建受密码保护的私有预览;支持组织访问策略的工作区也可限制为成员 访问。推送自动部署默认关闭;明确启用后也只会创建私有预览,不会 自动创建线上版本。无人值守自动部署只在对应权限和静态构建目标都 可用时执行;不支持的运行时会跳过并发送应用内通知。源码使用短时、 带作用域的 GitHub App 令牌克隆,该令牌不会进入构建环境。

  • 重试或重建。 可通过仪表盘的重建按钮或

retry_deployment MCP 工具重建失败或取消的部署。Showly 会保留源包, 因此无需重新上传。

三条路径都会生成同样的构件和预览 URL。预览部署免费;成功的生产 部署消耗 15 积分,失败的生产部署不扣积分。构建失败时,部署会记录 失败阶段、错误码、消息和构建日志尾部,方便重试前定位原因。

对于密码访问,Showly 生成一个简短的 XXX-XXX 共享代码,并删除了不明确的字符。您可以选择任意 6-128 个字符的密码。仅当预览创建或密码轮换时才会显示明文;使用 复制 URL + 密码 复制准备转发的凭证块。现有密码在您轮换之前仍然有效。对于敏感的内部审查,首选 Pro 组织访问权限或选择更长的密码。

什么是发布

发布会把_现有预览构件_提升到生产路由,不会重新构建。你批准的构件 就是最终上线的构件。因此回滚只需把路由指针切回旧构件,无需重新运行 构建。

预览版和实时版是不同的地址。预览版保持私密状态,永远不会变成公共 URL;发布为站点的实时地址创建生产部署。源预览会一直保留到被明确删除,不受套餐过期时间限制。

什么是审批

审批是有权限的工作区成员对发布请求作出的持久决定。角色包括 owneradmindeveloperdeployerviewer;由 MCP 创建的 发布请求需要 owneradmin 批准。即使审批人之后离开工作区, 审计记录仍会保留其对对应版本的决定。请求者不能批准自己的请求, 拒绝后该请求不能再次批准。

审批工作流由 approvalWorkflows 权限控制。未启用时,请求者可以在 浏览器中明确确认发布,或使用智能体的两步 publish_site 确认。 该流程不要求预先注册 OTP/MFA,所有绕过第二位审批人的发布都会记录 在审计日志中。

什么是回滚

编辑器中的回滚按钮会把线上路由指针切换到旧构件。回滚是独立的 高风险操作,必须单独确认。被替换的构件仍会保留;如果回滚选择有误, 可再次把原版本提升为线上版本。

为什么发布循环很重要

典型的 Showly 发布如下:

  1. 智能体调用 create_change_plan → 人工检查计划。
  2. 智能体调用 apply_site_patch + create_preview → 生成预览 URL。
  3. 人工访问预览,贯穿关键流程。
  4. 可选:run_checks 运行工作区的自定义校验矩阵。
  5. 智能体调用 request_publish → 创建待审批请求,并返回包含

webApprovalUrl 的响应。

  1. 工作区成员打开 webApprovalUrl,批准或拒绝请求。
  2. 用户在 Web UI 中点击发布;无需预先设置 OTP。Showly 将已批准

的预览提升到生产环境,并把 sourceDeploymentId 设置为源预览 ID。

request_publish 返回:

{
  "approvalId": "apr_...",
  "deploymentId": "dep_...",
  "state": "pending",
  "expiresAt": "2026-05-31T10:00:00.000Z",
  "reused": false,
  "webApprovalUrl": "https://showly.ai/app/deployments/dep_.../publish"
}

当返回同一部署的现有待批准而不是新批准时,statependingapproveddeniedexpired 之一,reusedtruepublish_site 也可通过 MCP 作为两步、部署绑定的人工确认流程使用。

每一步都有审计记录;任一环节失败都会阻止内容进入生产环境。

修补程序怎么样?

紧急修复也必须先生成私有预览,不存在绕过流程的紧急通道。发布仍需 一个 ready 预览、明确的发布确认,以及工作区策略要求的审批;无需 预先注册 OTP。