codecamp

Atoms 连接 Supabase

当你希望应用使用 Supabase 数据库、身份验证、文件存储或后端函数时,将 Atoms 项目连接到 Supabase。

本指南将带你完成整个流程:准备 Supabase 账户和项目,授权正确的组织,连接项目,检查连接是否成功,并在需要时断开连接。

连接如何工作

每个 Supabase 项目都属于一个 组织,该组织控制谁可以访问和管理其中的项目。当你将 Supabase 连接到 Atoms 时,你需要先授权 Atoms 访问你想使用的组织,然后从该组织中选择一个项目进行连接。

每个 Atoms 项目 一次只能连接一个 Supabase 项目。不过,同一个 Supabase 项目可以连接到多个 Atoms 项目。

Supabase 和 Atoms 云是可选的后端方案。 你不能同时将两者连接到同一个 Atoms 项目。

开始之前

在连接 Supabase 之前,请确保:

  • 你是包含该项目的 Atoms 工作区所有者。只有工作区所有者才能授权、连接或断开 Supabase。
  • 你拥有一个 Supabase 账户,或者已准备好在设置过程中创建一个。
  • 你有权限授权该 Supabase 组织,并访问你想连接的项目。
  • 智能体 已完成当前任务,并且 赛马模式 已关闭。
  • 你的浏览器允许来自 Atoms 的弹出窗口。
  • 你的 Atoms 项目 尚未连接到 Atoms 云。

如果这是你第一次尝试此连接,建议你在学习流程时使用一个测试项目。

切勿将 Supabase 密码、API 密钥、访问令牌或其他凭据粘贴到 Chat 中。

连接 Supabase

打开 Supabase 连接器

  1. 打开你想连接的项目。
  2. 点击聊天面板右上角的项目名称。
  3. 在出现的下拉菜单中选择 Connectors。
  4. 在可用连接器列表中找到 Supabase,然后点击 connect。<strong> </strong>

你也可以打开 Settings → Connectors → Supabase 并选择 Connect。

打开 Settings → Connectors,并为 Supabase 选择 Connect。

打开 Settings → Connectors,并为 Supabase 选择 Connect。

在 Supabase 中授权 Atoms

如果 Organizations 下已经显示了你想使用的 Supabase 组织,则说明它已经被授权。你可以继续执行 选择 Supabase 项目。

  1. Atoms 会打开一个 Supabase 授权窗口。登录你想连接的 Supabase 账户,或在需要时创建一个新账户。
  2. 检查你是否已登录到正确的 Supabase 账户,然后选择你希望 Atoms 访问的组织。
  3. 查看 Atoms 请求的权限。若要查看所有权限,请选择 Show detailed permissions。如果你同意,请选择 Authorize Atoms。
  4. 返回 Atoms,并等待出现 Connect success 消息。
  5. 在 Atoms 中,打开 Connectors → Supabase,并确认该组织显示在 Organizations 下。

Atoms 会请求对 数据库、Secrets、Auth、Edge Functions、Environment、Projects、PostgREST 和 Storage 的读写权限。它还会请求对 Organizations 和 Domains 的读取权限。这些权限使 Atoms 能够连接并管理你的项目所使用的受支持 Supabase 服务。

此授权适用于所选的 Supabase 组织,并不仅限于你之后连接到当前 Atoms 项目的那个 Supabase 项目。Atoms 无法访问已连接的 Supabase 账户本身无权访问的组织或项目,而 Supabase 权限本身也可能施加额外限制。

在授权 Atoms 之前,检查组织和权限。

在授权 Atoms 之前,检查组织和权限。

选择 Supabase 项目

  1. 在 Organizations 下,展开你已授权的组织。
  2. 在 Projects 下,找到你想连接的活动 Supabase 项目。
  3. 如果未列出你需要的组织,请选择 New Organization 并对其进行授权。这不会创建新的 Supabase 组织;它只是让你能够授权你 Supabase 账户中已存在的另一个组织。
  4. 如果你还没有项目,请选择 Create Project 并在 Supabase 中创建一个。等待该项目变为活动并可供使用,然后返回 Atoms 并选择 Update 以刷新项目列表。
  5. 在你想使用的项目旁边,选择 Connect。

从已授权的组织中选择一个 Supabase 项目。

从已授权的组织中选择一个 Supabase 项目。

确认项目

  1. 在确认窗口中,检查 Supabase Project 下显示的组织和项目。
  2. 如有需要,可使用 Supabase Dashboard 或 View Tables 来确认你选择的是正确的项目。
  3. 选择 Connect。
  4. Atoms 会在项目 Chat 中添加一个 Supabase 连接项。在请求智能体构建数据库、身份验证、存储或后端功能之前,请保持页面打开并等待其完成。

在连接之前确认所选的 Supabase 项目。

在连接之前确认所选的 Supabase 项目。

检查连接是否成功

  1. 打开 Settings → Connectors → Supabase。
  2. 确认显示为已连接的是正确的组织和 Supabase 项目。
  3. 选择 Dashboard 或 Tables,并检查它是否在 Supabase 中打开了同一个项目。

已连接项目面板中还可能包含指向 Manage Users、SQL Editor、Edge Functions 和 Manage Secrets 的链接。你只需要使用与你正在构建的功能相关的区域。

查看已连接的 Supabase 项目及其管理链接。

查看已连接的 Supabase 项目及其管理链接。

测试你的应用是否可以保存数据

连接 Supabase 本身不会自动为你的应用添加数据库功能。在 Chat 中,请求 智能体 构建你想要的功能,并使用已连接的 Supabase 项目来存储其数据。智能体完成后,请测试完整流程。

  1. 在 Chat 中,描述你想要的功能、它应保存哪些信息,以及用户应在何处再次看到这些信息。告诉 智能体 使用已连接的 Supabase 项目。
  2. 等待 智能体 完成功能构建。
  3. 在 App 预览 中,像用户一样使用该功能并输入无害的测试数据。不要使用个人、机密或敏感信息。
  4. 刷新 App 预览 或重新打开该功能。确认已保存的信息仍然存在,并显示在正确的位置。
  5. 打开 Settings → Connectors → Supabase,选择 Tables,并确认对应记录出现在正确的表中。

如果该功能允许用户编辑或删除已保存的信息,也请测试这些操作,并确认应用和 Supabase 中的结果都正确。直接在 Supabase 中所做的更改是否会立即显示在应用中,取决于应用的构建方式。

断开 Supabase

当你不再希望当前 Atoms 项目使用已连接的 Supabase 项目时,请断开 Supabase。

  1. 打开 Settings → Connectors → Supabase。
  2. 确认你查看的是正确 Atoms 项目的连接。
  3. 选择 Disconnect Project。
  4. 等待 Chat 中的 Supabase 断开连接项完成。
  5. 重新打开 Connectors → Supabase,并确认该项目不再显示为已连接。

断开连接会移除当前 Atoms 项目的连接。它 不会删除 Supabase 项目或其数据,也不会移除对该 Supabase 组织的授权。

断开后,你的 Atoms 项目中任何依赖 Supabase 的功能都可能停止工作。如果你的应用已经发布,你可能需要先更新已发布版本,变更才会生效。断开后,请同时测试你的项目和线上应用。

将 Supabase 从一个 Atoms 项目中断开,不会影响连接到同一个 Supabase 项目的其他 Atoms 项目。

常见问题

为什么我的 Supabase 连接停止工作了?

  1. 打开 Supabase Dashboard 并检查受影响项目的状态。低活跃度的免费套餐项目可能会在七天后被暂停。
  2. 如果项目已暂停,请选择 Resume project 并等待 Supabase 报告其已恢复为活动状态。
  3. 返回 Atoms,打开项目的 Connectors 面板,并验证 Supabase 连接。将失败的操作重试一次。
  4. 如果 Supabase 已经处于活动状态,请记录准确的 Atoms 或 Supabase 错误,并检查连接是否显示为已断开或已过期。仅当状态表明有此需要时才重新连接。

在你查明原因并保护好现有数据之前,请不要轮换密钥或创建替代项目。如果故障持续存在,请联系 Support,并提供 Chat Link、时间和时区、连接状态以及已脱敏的错误截图。

外部参考:Supabase — Project Pausing

如何重新连接一个已暂停的 Supabase 项目?

  1. 登录正确的 Supabase 组织并打开已暂停的项目。
  2. 选择 Resume project 并等待其状态变为活动。Supabase 当前指南指出,低活跃度的免费套餐项目可能会在连续七天低活跃后被暂停。
  3. 返回 Atoms 并打开项目的 Connectors 面板。确认 Supabase 已连接,然后重试受影响的操作。
  4. 如果 Atoms 仍然显示该连接器为已断开或已过期,请重新连接并完成所请求的授权。

在现有数据得到保护之前,请不要创建新的 Supabase 项目或轮换凭据。如果重新连接失败,请向 Support 提供 Chat Link、Supabase 项目状态、时间和时区,以及已脱敏的错误截图。

外部参考:Supabase — Project Pausing

Atoms 连接 GitHub
Atoms 连接 GA4
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Atoms 协作

Atoms 分享与克隆

Atoms 工作区协作

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }