> ## Documentation Index
> Fetch the complete documentation index at: https://steadyrenew.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Supabase 集成

> 使用 Supabase 提供账号、云同步、API Key、订阅数据、付费状态和 AI 录入配额。

# Supabase 集成

Supabase 是 SteadyRenew 的可选云层。未配置 Supabase 时，应用仍然可以使用本地存储模式。

## Supabase 负责什么

* 用户认证。
* 多设备订阅同步。
* API Key 归属关系。
* 订阅数据表。
* 付费状态和套餐信息。
* Bark 提醒配置。
* AI 录入的每月配额与月度预算计数。

## 配置步骤

1. 创建 Supabase 项目。
2. 应用 `supabase/` 目录下的 migrations。
3. 在前端配置 `VITE_SUPABASE_URL` 和 `VITE_SUPABASE_ANON_KEY`。
4. 在 Netlify Functions 环境中配置 `SUPABASE_SECRET_KEY`，或继续使用兼容别名 `SUPABASE_SERVICE_ROLE_KEY`。

## SQL migrations

正式 schema 由时间戳迁移管理：

```text theme={null}
supabase/migrations/20260615000100_baseline.sql
supabase/migrations/20260615000200_harden_existing_schema.sql
supabase/migrations/20260616000100_public_api.sql
supabase/migrations/20260617000100_public_api_security_fixes.sql
supabase/migrations/20260618000100_agent_operations_layer.sql
supabase/migrations/20260619000100_ai_capture.sql
supabase/migrations/20260625000100_ai_budget_reservations.sql
```

AI 录入相关表只保存每月调用次数和月度聚合 token 计数，不保存用户粘贴的文本、截图或解析内容。

## 安全边界

浏览器只能使用 anon key。任何需要绕过 RLS 或执行可信写入的逻辑，都必须放在 Netlify Functions 中，并使用 service role key。

## RLS

数据库表应该通过 Row Level Security 限制用户只能访问自己的数据。开放 API 也会根据 API Key 所属用户过滤订阅查询。

## 与开放 API 的关系

开放 API 使用 Developer API Key 认证。Function 验证 key 后，会以 key owner 的身份读写订阅数据。

## 更换域名

先在 Supabase Auth 回调允许列表中追加新应用域名及 `/app` 回调，保留已有条目。新域名 HTTPS 验证通过后再切换 Site URL。继续使用原 Supabase 项目，让账户、云端记录和 Premium 权益保持一致。

通行密钥绑定原来的 RP 域名，不能通过修改回调地址迁往另一个域名。过渡期先保留旧 RP 配置，确认用户有其他登录方式，再单独安排新 RP 配置和用户重新注册。仅存于浏览器的记录，需要在旧站导出 JSON、到新站导入。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.