发布你的项目
将你的项目发布到公开 URL、更新线上站点、连接自定义域名,或将其下线。
说明
将你的项目发布到公开 URL、更新线上站点、连接自定义域名,或将其下线。
简介
发布会为你的项目提供一个由 Atoms 托管的公开 URL。之后的编辑内容会保留在编辑器中,直到你选择更新线上站点。
当你希望他人打开 Atoms 项目本身时,请使用 Share。当你希望访客打开已完成的网站时,请使用 Publish。
发布前准备
发布前,请在 App 预览 中打开项目,并像访客一样完整体验一遍。
正式上线前,请检查以下内容:
- 从头到尾测试主要用户流程
- 检查所有按钮、链接、表单、登录功能和已连接服务是否正常工作
- 同时查看桌面端和移动端布局
- 确保任何示例或测试数据、密码、API 密钥或其他私人信息都不会显示出来
在发布前,修复任何会阻碍或让访客感到困惑的问题。
发布前在 App 预览 中检查项目。
首次发布你的项目
1. 打开 Publish
当你准备将项目上线时,在右上角、紧挨着 Share 的位置选择 Publish。这会打开 Publish 面板。
包含网站 URL、项目设置、数据迁移和安全扫描的 Publish 面板。
2. 设置你的网站地址
你的网站 URL 会显示一个建议地址,格式为 [name].pub.atoms.world。你可以保留它,或选择铅笔图标来使用其他名称。
如果你更改地址,请选择一个可用名称,并满足以下条件:
- 包含 6–30 个字符
- 仅使用小写字母、数字或连字符
- 不能以完整网址开头,例如
https://
如果名称缺失、无效或已被使用,Atoms 会显示错误。
添加你的域名 会在首次发布后可用。若要连接你拥有的域名,请参阅 Domains。
3. 查看可用设置
如果面板中显示 Remove Atoms™ Badge,你可以用它控制徽标是否显示在线上站点中。该选项是否可用取决于你的套餐。
如果你的项目使用 Atoms 云
Atoms 云项目会在 Publish 面板中包含额外的数据设置。
如果你希望线上应用保留现有产品和内容,请开启 Migrate existing data。如果不启用,发布后你可能需要重新创建这些数据。
选择 View database 可在决定前查看现有数据。
检查安全扫描
检查面板底部的 Security scan。如果显示 Security scan in progress,请等待扫描完成。状态会变为 Security checked,或者面板会显示需要你注意的问题。
如果扫描发现问题,请选择 Resolve All 并再次运行检查。只有在你理解并接受剩余风险时,才选择 Publish Anyway。如果你在扫描完成前尝试发布,请选择 Cancel 以等待,或选择 Publish Anyway 继续。
发布操作演示
查看完可用设置后,点击面板中的 Publish 按钮。
4. 检查线上网站
当 Atoms 正在准备站点时,按钮会显示 Publishing。准备完成后,你会看到 Your app is live!。
打开网站 URL,并再次完整测试主要用户流程。这可以确认正常工作的不仅是 App 预览,还有线上站点。
“Your App is Live” 确认界面,包含已发布 URL 和 View app 按钮。
管理已发布的网站
打开或复制线上 URL
打开 Publish,查看 Your website URL。选择该 URL 可打开线上站点,或选择复制图标进行复制。
将此 URL 分享给访客。只有在你想分享 Atoms 项目本身时,才使用 Share。
添加或管理自定义域名
发布项目后,Add your domain 选项会变为可用。若要使用你自己的域名,请参阅 Domains。
发布后续更改
在你更新线上站点之前,你的编辑内容会保留在 App 预览 中。要发布这些更改:
- 在
App 预览中测试更改 - 点击右上角的 Publish
- 查看你想更改的任何设置。
- 选择 Update 以发布最新项目版本。
- 等待按钮显示 Updating...
- 当状态变为 Up to date 时,打开线上 URL 并测试更新后的流程。
如果面板已经显示 Up to date,则说明最新版本已上线。
暂停或恢复 Atoms 云应用
App Status 仅适用于已发布的 Atoms 云项目。
暂停应用
- 点击 Publish,然后点击 App Status
- 选择 Paused 选项
- 查看提示信息并点击 Confirm
应用将对访客不可用。暂停期间仍会继续计费。
恢复应用
- 打开 App Status
- 选择 Live 选项
- 查看提示信息并点击 Confirm
当状态恢复为 Live 时,应用会再次可用。
App Status 选项:Live、Paused 和 Unpublished。
取消发布项目
取消发布会使网站下线。任何使用其已发布 URL 的人都将失去访问权限,但你之后仍可再次发布该项目。
标准项目
- 打开 Publish
- 选择 Unpublish your project
- 查看提示信息并点击 Confirm
Atoms 云项目
- 打开 Publish
- 在 App Status 中选择 Unpublished,或在 Settings 中选择 Unpublish
- 查看提示信息并点击 Confirm
对于 Atoms 云项目,确认信息还会说明服务器资源将被释放。继续前请仔细查看。
取消发布确认警告,提示应用将从公共访问中移除。
故障排查
网站地址被拒绝
请检查名称是否为 6–30 个字符,并且仅包含小写字母、数字或连字符。如果格式有效,则该名称可能已被使用——请尝试其他名称。
最近的更改未上线
点击 Publish。如果出现 Update 选项,请点击它并等待状态变为 Up to date。然后重新打开或刷新线上网站。
无法 Publish 或无法 Update
如果消息显示 Your Cloud Balance is insufficient to publish 或 Your Cloud Balance is insufficient to update,这表示你的 Cloud Balance 已用尽。请选择 Top up now,先充值后再试。
如果消息显示存储空间已满,请释放存储空间或升级到拥有更多空间的套餐,然后重试。
安全扫描尚未完成或显示发现项
如果显示 Security scan in progress,请尽可能等待。检查完成后,状态会变为 Security checked,或显示任何需要处理的发现项。
如果出现发现项,你可以点击 Resolve All 并再次检查项目。只有在你理解并接受未解决风险时,才点击 Publish Anyway。如果你在扫描仍在运行时尝试发布,请点击 Cancel 等待其完成,或确认 Publish Anyway 继续。
已发布链接不可用
对于 Atoms 云应用,请检查 App Status 是否为 Live。对于任何项目,请确认你复制的是当前网站 URL,并且项目尚未被取消发布。
如果 Atoms 托管的 URL 可用,但 custom domain 不可用,请检查域名设置。
联系支持
如果问题仍然存在,请联系 Support,并附上:
- 项目名称和已发布 URL
- 准确的错误信息
- 问题发生的时间
- 显示问题的截图或简短录屏
常见问题
为什么我无法发布或更新?它提示我的 Cloud Balance 不足。
如果 Publish 或 Update 按钮显示“Your Cloud Balance is insufficient to publish”或“Your Cloud Balance is insufficient to update”,说明你的 Cloud 钱包余额已用尽。
解决方法如下:
1. 前往 Settings > Cloud & AI,检查你当前的余额。
2. 选择 Top up now,为你的 Cloud 钱包充值。
3. 返回 Publish 面板并重试。
注意:你的 Cloud 钱包与订阅积分是分开的。Cloud 钱包用于支付托管和部署服务,而订阅积分用于 AI 智能体对话。
系统提示我的存储空间已满,无法发布。我该如何释放空间?
- 检查存储使用情况视图,并找出占用最大的聊天、项目和文件。
- 下载或备份你之后可能需要的内容。
- 仅删除不需要的项目。如果删除聊天时提供删除关联磁盘数据的选项,请仅在确认这些数据可以安全丢弃后再选择该选项。
- 刷新页面并确认可用存储空间已增加。
- 返回 Publish 并再次重试。
删除可能是永久性的,并且可能导致引用已删除文件的项目出现问题。如果使用量没有下降,请联系 Support,并附上存储视图、套餐、项目链接以及发布失败的时间。
安全扫描发现了问题。我还能继续发布吗?
请等待安全扫描完成,然后在发布前查看每一个被标记的项目。
- 选择 Resolve All 并检查受影响的行为。在投入生产使用前,请修复涉及暴露的密钥、身份验证、权限、用户数据或不安全外部访问的问题。
- 如果某个密钥可能已经泄露,请先将其从项目中移除,并在发布前通过相关服务提供商完成轮换。
- 再次运行扫描,并验证受影响的流程。
- 只有在有责任人审查者理解并接受剩余的非关键风险时,才使用 Publish Anyway。请记录原因,并避免在生产站点上绕过未解决的风险。
如果你无法判断某项发现的影响,请不要发布。请联系 Support 或你的安全负责人,并提供发现文本和已脱敏的证据。
为什么我在发布后会看到 500、502 或 503 错误?
- 分别测试平台生产 URL 和自定义域名。同时比较根页面与失败的具体页面或 API 路径。
- 记录准确的状态码、完整 URL、时间和时区,以及故障是持续发生还是间歇发生。
- 检查最新部署状态,以及最近的依赖项、环境变量、数据库或外部服务变更是否与故障开始时间一致。
- 捕获相关的 Console 和 Network 错误。
如果故障持续存在,请联系 Support,并附上复现步骤、受影响版本和已脱敏的诊断信息。在发送 HAR、命令输出或截图前,请移除 cookies、Authorization 标头、tokens、敏感查询参数、个人数据和支付信息。
我的部署超时了,站点显示“app not ready”。我该怎么办?
如果你的部署超时,或线上站点暂时不可用:
1. 检查平台 Prod 子域名和 Preview 是否都无法访问,还是只有其中一个无法访问。
2. 保持当前错误页面可见——不要反复点击 Publish。
3. 检查你最近是否修改了依赖项、启动入口或数据库连接,因为这些更改可能会影响部署。
如果问题持续存在,请联系 Support,并附上:
- 项目链接和线上 URL
- 故障发生时间和你的时区
- 版本号和错误页面截图
- Preview 是否正常工作
- 你最近是否修改了依赖项、启动入口或数据库连接
为什么 Publish 面板卡在“Building”或变灰不可用?
如果 Publish 面板显示“latest”且按钮变灰,或卡在“Building”:
1. 不要反复点击 Publish——这不会加快速度,还可能创建重复的构建任务。
2. 等待几分钟后刷新页面。
3. 如果刷新后状态仍未变化,请联系 Support。
联系 Support 时请附上以下信息:
- Chat 链接
- Publish 面板的完整截图(包括页面 URL、版本号和按钮状态)
- 发生时间和你的时区
- 当前显示的版本号
- 从哪个步骤开始显示“Building”或按钮变灰
为什么图片在 App 预览 或已发布站点中缺失或无法加载?
- 检查图片是在 App 预览 中缺失、在已发布站点中缺失,还是两处都缺失。
- 选择一次 Reload App 预览。如果问题只出在线上站点,请确认最新版本已经发布或更新。
- 告诉智能体页面位置、应该显示的图片以及图片最初来源。请它检查当前项目是否仍在使用正确的图片名称和位置。
- 如果原始图片已被删除或重命名,请重新上传或重新选择目标图片,然后再次测试页面。
- 如果图片使用 App 存储 或其他已连接服务,请确认目标服务已连接,并且文件仍然存在于该服务中。
如果图片仍然无法加载,请联系 Atoms Support,并附上 Chat Link、受影响页面的 URL、图片名称或来源以及截图。不要包含私人访问链接、密码、密钥或 tokens。
我的自托管导出包无法运行。我应该检查什么?
如果导出的自托管包下载成功但运行失败:
1. 查看导出包中附带的 README,确认环境要求和设置步骤。
2. 验证你的运行环境是否符合要求(操作系统版本、Docker 版本、Node.js 版本)。
3. 运行启动命令,并查看完整输出中的错误信息。
如果问题持续存在,请联系 Support,并附上:
- 导出版本和下载时间
- 运行环境的操作系统和 Docker 版本
- 执行的完整命令和完整输出
- 失败的脚本或 API 路径
- 预期的部署方式
重要提示:请附上已脱敏的配置示例,但不要包含密码、secrets 或 tokens。
为什么我的更改在 App 预览 中看起来正确,但在已发布站点上却不对?
App 预览 和已发布站点显示的是项目的不同阶段。保存可视化更改本身不会自动更新线上站点。
- 在 Design 中选择 Save,并等待当前智能体任务或构建完成。
- 打开 Publish。发布使用的是最新项目版本;Publish 面板中没有版本选择器。
- 首次发布请选择 Publish,后续发布请选择 Update。等待直到面板显示 Up to date。
- 在新标签页中打开线上站点,并刷新一次。
- 如果默认的 Atoms 地址显示了更改,但自定义域名没有显示,请检查域名连接,而不是反复发布同一版本。
如果线上站点仍显示错误版本,请联系 Atoms Support,并附上 Chat Link、线上 URL、你原本想发布的版本、时间和时区,以及 App 预览 和线上站点的截图。
我不小心发布到了生产环境。该如何撤销?
- 立即控制风险。 如果此次发布暴露了敏感数据或造成了不安全行为,请打开 App Status,对符合条件的 Atoms 云应用使用 Pause,或使用 Unpublish 移除公共访问。如果当前没有活跃风险,请避免造成不必要的中断。
- 记录受影响的域名、发布时间、当前版本、目标版本和业务影响。
- 当前智能体任务停止后,打开 Versions,选择最后一个已知正常版本,然后选择 Restore this version。
- 在 Preview 中验证恢复后的版本,包括关键的登录、支付和数据流程,然后再 Publish 或 Update。
恢复项目版本可能无法撤销生产数据库更改或外部操作。不要通过覆盖或删除生产数据来模拟回滚。如果涉及数据、凭证、支付或破坏性更改,请立即联系 Support。
如何回滚到之前的版本?
- 停止当前智能体任务或等待其完成;存在冲突工作时无法恢复版本。
- 打开 Versions,找到最后一个已知正常版本,然后选择 Restore this version。
- 在 Preview 中检查恢复后的项目,并测试发生更改的关键流程。
- 仅在 Preview 结果正确后再 Publish 或 Update。
恢复项目版本不一定会回滚生产数据库记录、架构更改、环境变量、支付、邮件或其他外部操作。如果此次发布更改了生产数据,或目标版本不可用,请停止操作并联系 Support,同时提供两个版本号、受影响域名以及所需的数据保留结果。
暂停和取消发布有什么区别?
Pause 和 Unpublish 是两种不同的操作:
Pause(仅限 Atoms 云项目):
- 应用将对访客不可用。
- 服务器资源仍会保留分配,且继续计费。
- 你可以随时通过 App Status 恢复应用。
Unpublish(适用于所有项目):
- 网站将完全下线。任何使用已发布 URL 的人都会失去访问权限。
- 对于 Atoms 云项目,服务器资源会被释放。
- 你之后可以再次发布项目,但在此之前访客无法访问。
如果只是临时下线并希望快速恢复,请使用 Pause。若要彻底移除站点,请使用 Unpublish。
我已发布的站点陷入了重定向循环。该如何修复?
如果浏览器显示“too many redirects”或页面不断重新加载却不显示内容:
- 尝试平台默认的 Prod 子域名(而不是你的自定义域名),以判断重定向循环是由域名配置引起,还是由应用本身引起。
- 如果默认 Prod 子域名可以正常工作,请检查自定义域名的 DNS 设置,以及域名注册商中可能与平台冲突的重定向规则。
- 清除浏览器缓存,或在无痕窗口中测试,以排除缓存的重定向影响。
如果问题持续存在,请联系 Support,并附上:
- 出现重定向循环的完整 URL
- 默认 Prod 子域名是否可访问
- 域名和 DNS 提供商
- 完整错误截图
为什么我的环境变量在开发环境中有效,但发布后却无效?
如果你的应用在 Preview 中正常,但在生产环境中因环境变量缺失或为空而失败:
- 检查该环境变量是在上次发布前保存的,还是发布后保存的。如果是在发布后保存的,你需要重新发布才能使更改生效。
- 确认该变量已为正确的环境设置(Development 与 Production)。
- 检查下游服务的错误信息是否提供了线索——例如,“unauthorized”通常意味着该环境中的 API 密钥为空或不正确。
如果问题持续存在,请联系 Support,并附上:
- 项目链接或线上 URL
- 受影响的密钥名称,以及哪个环境存在问题
- 下游服务返回的完整错误信息
- 已脱敏的配置页面截图
- 配置是在发布前还是发布后保存的
重要提示:只提供密钥名称。不要发送密钥值、密码或 tokens。
为什么安全扫描会多次显示相似的发现项?
发现项可能使用相似的措辞,但指向不同的位置。措辞相似并不一定意味着结果重复。
- 比较每个结果显示的发现名称和位置。
- 查看每个唯一位置,而不是因为措辞重复就忽略它们。
- 如果多个发现项有相同的根本原因,请修复该原因,然后再次检查每个位置。
- 在更新后的版本上再次运行安全扫描。
如果相同的发现项和位置仍然重复出现多次,请联系 Atoms Support,并附上 Chat Link、扫描时间和时区、发现项数量以及已打码的截图。请移除发现项中可能出现的任何密码、密钥、tokens 或其他敏感信息。
为什么在扫描未发现问题后,仍然出现了安全问题?
已完成且未报告发现项的扫描是一个有用的检查,但它不能保证已经发现所有安全问题或运行时问题。扫描检查的是所选项目版本;你的应用仍然需要按照真实用户的使用方式进行测试。
发布前,请测试应用中的重要流程,包括登录、用户角色、私人数据访问、支付和已连接服务。请为不同角色使用独立的测试账号,并确认每个账号只能访问为其设计的信息和操作。
如果你发现某个生产问题可能暴露账号、私人数据、支付信息或凭证,请先停止使用或限制对受影响功能的访问。轮换任何可能已泄露的凭证,然后联系 Atoms Support,并附上 Chat Link、受影响版本、复现问题的步骤、时间和时区,以及已打码的截图。不要分享已暴露的凭证本身。
为什么安全扫描会将仅管理员可执行的操作标记为未受保护?
如果扫描报告某个仅管理员可执行的操作可能未受保护,请在确认未授权用户无法使用它之前,将该发现视为未解决。仅隐藏管理员按钮是不够的,如果该操作仍然可以通过其他方式被请求。
- 打开该发现项,并确定它指出的操作或位置。
- 确定哪些已登录角色应该被允许使用该操作。
- 请智能体在请求该操作时检查用户权限,而不仅仅是在显示按钮时检查。
- 分别在未登录状态、普通测试账号和已授权管理员测试账号下测试该操作。
- 确认被拒绝的尝试不会泄露私人数据,也不会造成任何更改,然后再次运行安全扫描。
如果未授权账号仍然可以使用该操作,请不要发布受影响的功能。如果你无法解决,请联系 Atoms Support,并附上 Chat Link、发现文本、受影响版本和已打码的截图。
为什么安全扫描会标记 HTTPS 问题?
HTTPS 用于保护用户与服务之间传输的信息。如果扫描报告 HTTPS 问题,请根据具体发现项确定受影响的地址、资源、回调或域名配置。
- 打开该发现项,并记下它报告的准确位置和地址。
- 请智能体将该特定连接替换为其提供商支持的安全地址,或修正相关域名配置。
- 如果外部服务没有记录安全等效地址,请不要忽略证书警告,也不要盲目更改地址。
- 重新测试受影响的用户流程,并确认没有密码、token、支付详情或私人信息通过不安全连接发送。
- 在更新后的版本上再次运行安全扫描。
如果该发现涉及你无法修正的自定义域名或证书,请联系 Atoms Support,并附上 Chat Link、受影响 URL、发现文本、时间和时区,以及已打码的截图。
为什么安全扫描会标记缺少 Row Level Security 策略?
Row Level Security,即 RLS,是 Supabase 的一项功能,用于控制每个用户可以读取或更改哪些数据库行。只有当项目使用 Supabase 且扫描识别出某个需要检查访问规则的数据表时,此发现才相关。
- 打开该发现项,并确定它指出的数据表。
- 写下谁应该能够查看、添加、编辑或删除该表中的数据。
- 请智能体创建支持这些用户流程且权限最小化的 Supabase 策略。
- 在未登录状态下测试,并为每种角色使用单独的测试账号。确认每个账号只能访问预期的行和操作。
- 在应用这些策略后再次运行安全扫描。
不要为了消除警告而禁用 RLS 或允许所有用户访问。在进行可能影响现有数据的更改前,请确认方案,并在适当情况下保留安全备份或导出。切勿在聊天或截图中分享 Supabase 密钥或数据库凭证。