CLI 工作流

用 CLI 安全查询 Supabase

先检查本地项目状态,明确 linked project,再用只读路径访问生产数据。

数据库只读

开始前准备好工具、认证与证据

先安装推荐工具,确认最小权限,再区分兼容性和真实执行记录。

supabasedocs-verified
在明确环境风险的前提下管理本地 Supabase 开发、迁移、函数和已关联项目。

推荐安装

$ shell
npm install --save-dev supabase
认证
access token, database password, local development
已测试 Agent
暂无 Agent 级执行记录
证据状态
docs-verified · 文档检查 2026-07-10
CLI 独立执行
未记录独立执行版本
psqlverified
通过显式凭据、输出、事务和写入边界,以非交互方式查询 PostgreSQL。

推荐安装

$ shell
brew install libpq
认证
connection URI, password file, service file, peer authentication
已测试 Agent
暂无 Agent 级执行记录
证据状态
verified · 文档检查 2026-07-10
CLI 独立执行
18.1 · 2 项检查

复制或下载本工作流 Skill

Skill 包含输入输出合同、推荐工具、审批点、回滚和证据边界;保存前仍应按当前环境审查。

query-supabase-SKILL.md
---
name: query-supabase-workflow
description: "先检查本地项目状态,明确 linked project,再用只读路径访问生产数据。"
---

# 查询 Supabase

## 适用目标

回答 Supabase 项目或数据库问题,不串错项目,也不绕过数据保护。

## 证据边界

- 工具状态分别标注 `docs-verified` 与真实独立执行;二者不能互换。
- 当前注册表没有记录某次工具执行具体由哪个 Agent 完成,因此不能把“兼容 Agent”称为“已测试 Agent”。
- 执行前重新核对目标账户、环境、版本与官方文档。
- 不自动执行 R2、R3 或任何标记为需要确认的步骤;必须在执行前获得明确批准。

## 推荐工具、安装与认证

- **Supabase CLI**(证据:`docs-verified`,文档检查:`2026-07-10`,未记录独立执行版本)
  - 安装:`npm install --save-dev supabase`
  - 认证:access token, database password, local development
  - 最小权限:Token 仅授权目标组织,并在远程命令前确认已关联项目。
- **PostgreSQL psql**(证据:`verified`,文档检查:`2026-07-10`,已记录独立测试版本 18.1)
  - 安装:`brew install libpq`
  - 认证:connection URI, password file, service file, peer authentication
  - 最小权限:使用只读数据库角色、TLS,并把数据库与 schema 搜索路径限制在任务范围内。

## 输入合同

- 项目目录
- 明确的 project reference
- 只读数据库凭证
- 有限的问题范围

## 输出合同

- 本地服务状态
- 已确认的项目身份
- 有限查询结果
- 带风险说明的下一步

## 安全工作流

1. **检查本地状态** — 远程连接前先读取项目配置和本地服务状态。
   - 输入: Supabase 项目目录
   - 输出: 本地配置和服务状态
   - 风险: `read-only`
   - 命令: `supabase status --output json`
2. **确认远程目标** — 核对 project reference 和凭证范围,不暴露密钥。
   - 输入: 项目引用和受保护凭证
   - 输出: 已确认的远程目标
   - 风险: `read-only`
3. **执行有限读取** — 通过 psql 或获批 Data API 使用只读身份和明确 limit。
   - 输入: 已审查查询和目标
   - 输出: 结构化结果
   - 风险: `read-only`

## 必须先确认

- link 或 unlink 项目
- 数据库 push、迁移、reset 或函数部署
- 使用 service-role key 或修改生产数据

## 回滚

- 把本地配置修改放入版本控制
- 获批 schema 变更使用可逆迁移
- 只按项目事故流程恢复数据库备份

## 官方来源

- [Supabase CLI documentation](https://supabase.com/docs/guides/cli) — 用于核对当前命令、认证、输出和操作边界。
- [PostgreSQL psql documentation](https://www.postgresql.org/docs/current/app-psql.html) — 用于核对当前命令、认证、输出和操作边界。

目标、输入与输出

在 Agent 选择命令前,先明确要交付的结果和证据。

目标

回答 Supabase 项目或数据库问题,不串错项目,也不绕过数据保护。

所需输入

  • 项目目录
  • 明确的 project reference
  • 只读数据库凭证
  • 有限的问题范围

预期输出

  • 本地服务状态
  • 已确认的项目身份
  • 有限查询结果
  • 带风险说明的下一步

用 CLI 安全查询 Supabase:安全执行步骤

每一步都要在已声明的边界内执行,验证输出后再继续。

步骤 1只读

检查本地状态

远程连接前先读取项目配置和本地服务状态。
输入
Supabase 项目目录
输出
本地配置和服务状态
$ 检查本地状态
supabase status --output json
步骤 2只读

确认远程目标

核对 project reference 和凭证范围,不暴露密钥。
输入
项目引用和受保护凭证
输出
已确认的远程目标
步骤 3只读

执行有限读取

通过 psql 或获批 Data API 使用只读身份和明确 limit。
输入
已审查查询和目标
输出
结构化结果

审批点与回滚

在列出的决策点停下,并让恢复方法始终紧跟操作。

这些操作需要先确认

  • link 或 unlink 项目
  • 数据库 push、迁移、reset 或函数部署
  • 使用 service-role key 或修改生产数据

恢复计划

  • 把本地配置修改放入版本控制
  • 获批 schema 变更使用可逆迁移
  • 只按项目事故流程恢复数据库备份

选 CLI、MCP 还是 API?

根据执行位置、身份、输出合同与权限边界选接口。

CLI

适合本地 Supabase 生命周期和明确项目操作。

MCP

工具可强制限定项目和动作集合时适用。

API

希望由行级安全和应用身份控制读取时优先使用 Data API。

建议方案

项目上下文用 Supabase CLI;数据查询用最小权限 API 或数据库角色。

官方证据与参考

执行前使用这些官方或上游来源确认当前命令行为。

Supabase CLI documentation

用于核对本页涉及的当前命令、认证、输出格式与操作边界。

PostgreSQL psql documentation

用于核对本页涉及的当前命令、认证、输出格式与操作边界。

执行前的常见问题

Agent 应该使用 service-role key 吗?

常规查询应避免,因为它可能绕过行级策略;应使用最窄身份。

本地 database reset 安全吗?

它会删除本地数据,必须确认目标以及 fixtures 是否能恢复期望状态。

相关工具与指南

浏览同类指南,选择与你当前任务最接近的下一页。

继续查看与当前任务相关的工具证据、工作流或决策指南。

继续查看与当前任务相关的工具证据、工作流或决策指南。

继续查看与当前任务相关的工具证据、工作流或决策指南。

检查安装、认证、结构化输出、命令风险与官方证据。