返回顶部
s

supabaseSupabase连接

Connect to Supabase for database operations, vector search, and storage. Use for storing data, running SQL queries, similarity search with pgvector, and managing tables. Triggers on requests involving databases, vector stores, embeddings, or Supabase specifically.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
7,042
下载量
免费
免费
17
收藏
概述
安装方式
版本历史

supabase

Supabase CLI

与Supabase项目交互:查询、CRUD操作、向量搜索和表管理。

环境配置

bash

必需


export SUPABASE_URL=https://yourproject.supabase.co
export SUPABASESERVICEKEY=eyJhbGciOiJIUzI1NiIs...

可选:用于管理API

export SUPABASEACCESSTOKEN=sbp_xxxxx

快速命令

bash

SQL查询


{baseDir}/scripts/supabase.sh query SELECT * FROM users LIMIT 5

插入数据

{baseDir}/scripts/supabase.sh insert users {name: John, email: john@example.com}

带筛选条件的查询

{baseDir}/scripts/supabase.sh select users --eq status:active --limit 10

更新

{baseDir}/scripts/supabase.sh update users {status: inactive} --eq id:123

删除

{baseDir}/scripts/supabase.sh delete users --eq id:123

向量相似度搜索

{baseDir}/scripts/supabase.sh vector-search documents 搜索查询 --match-fn match_documents --limit 5

列出表

{baseDir}/scripts/supabase.sh tables

查看表结构

{baseDir}/scripts/supabase.sh describe users

命令参考

query - 执行原始SQL

bash
{baseDir}/scripts/supabase.sh query

示例

{baseDir}/scripts/supabase.sh query SELECT COUNT(*) FROM users {baseDir}/scripts/supabase.sh query CREATE TABLE items (id serial primary key, name text) {baseDir}/scripts/supabase.sh query SELECT * FROM users WHERE created_at > 2024-01-01

select - 带筛选条件查询表

bash
{baseDir}/scripts/supabase.sh select <表名> [选项]

选项:
--columns <列名> 逗号分隔的列名(默认:*)
--eq <列名:值> 等于筛选(可多次使用)
--neq <列名:值> 不等于筛选
--gt <列名:值> 大于
--lt <列名:值> 小于
--like <列名:值> 模式匹配(使用%作为通配符)
--limit 限制结果数量
--offset 结果偏移量
--order <列名> 按列排序
--desc 降序排列

示例

{baseDir}/scripts/supabase.sh select users --eq status:active --limit 10 {baseDir}/scripts/supabase.sh select posts --columns id,title,createdat --order createdat --desc {baseDir}/scripts/supabase.sh select products --gt price:100 --lt price:500

insert - 插入行

bash
{baseDir}/scripts/supabase.sh insert <表名>

单行

{baseDir}/scripts/supabase.sh insert users {name: Alice, email: alice@test.com}

多行

{baseDir}/scripts/supabase.sh insert users [{name: Bob}, {name: Carol}]

update - 更新行

bash
{baseDir}/scripts/supabase.sh update <表名> --eq <列名:值>

示例

{baseDir}/scripts/supabase.sh update users {status: inactive} --eq id:123 {baseDir}/scripts/supabase.sh update posts {published: true} --eq author_id:5

upsert - 插入或更新

bash
{baseDir}/scripts/supabase.sh upsert <表名>

示例(需要唯一约束)

{baseDir}/scripts/supabase.sh upsert users {id: 1, name: Updated Name}

delete - 删除行

bash
{baseDir}/scripts/supabase.sh delete <表名> --eq <列名:值>

示例

{baseDir}/scripts/supabase.sh delete sessions --lt expires_at:2024-01-01

vector-search - 使用pgvector进行相似度搜索

bash
{baseDir}/scripts/supabase.sh vector-search <表名> <查询> [选项]

选项:
--match-fn <名称> RPC函数名称(默认:match_<表名>)
--limit 结果数量(默认:5)
--threshold 相似度阈值0-1(默认:0.5)
--embedding-model 查询嵌入模型(默认:使用OpenAI)

示例

{baseDir}/scripts/supabase.sh vector-search documents 如何设置身份验证 --limit 10

需要匹配函数,例如:

CREATE FUNCTION matchdocuments(queryembedding vector(1536), matchthreshold float, matchcount int)

tables - 列出所有表

bash
{baseDir}/scripts/supabase.sh tables

describe - 显示表结构

bash
{baseDir}/scripts/supabase.sh describe <表名>

rpc - 调用存储过程

bash
{baseDir}/scripts/supabase.sh rpc <函数名>

示例

{baseDir}/scripts/supabase.sh rpc getuserstats {user_id: 123}

向量搜索设置

1. 启用pgvector扩展

sql
CREATE EXTENSION IF NOT EXISTS vector;

2. 创建包含嵌入列的表

sql
CREATE TABLE documents (
id bigserial PRIMARY KEY,
content text,
metadata jsonb,
embedding vector(1536)
);

3. 创建相似度搜索函数

sql
CREATE OR REPLACE FUNCTION match_documents(
query_embedding vector(1536),
match_threshold float DEFAULT 0.5,
match_count int DEFAULT 5
)
RETURNS TABLE (
id bigint,
content text,
metadata jsonb,
similarity float
)
LANGUAGE plpgsql
AS $$
BEGIN
RETURN QUERY
SELECT
documents.id,
documents.content,
documents.metadata,
1 - (documents.embedding <=> query_embedding) AS similarity
FROM documents
WHERE 1 - (documents.embedding <=> queryembedding) > matchthreshold
ORDER BY documents.embedding <=> query_embedding
LIMIT match_count;
END;
$$;

4. 创建性能索引

sql
CREATE INDEX ON documents
USING ivfflat (embedding vectorcosineops)
WITH (lists = 100);

环境变量

变量必需描述
SUPABASEURL项目URL (https://xxx.supabase.co)
SUPABASESERVICE_KEY
是 | 服务角色密钥(完全访问权限) | | SUPABASEANONKEY | 否 | 匿名密钥(受限访问) | | SUPABASEACCESSTOKEN | 否 | 管理API令牌 | | OPENAIAPIKEY | 否 | 用于生成嵌入向量 |

注意事项

  • - 服务角色密钥绕过RLS(行级安全策略)
  • 客户端/受限访问请使用匿名密钥
  • 向量搜索需要pgvector扩展
  • 嵌入向量默认使用OpenAI text-embedding-ada-002(1536维)

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 supabase-1775938688 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 supabase-1775938688 技能

通过命令行安装

skillhub install supabase-1775938688

下载

⬇ 下载 supabase v1.0.0(免费)

文件大小: 5.87 KB | 发布时间: 2026-4-12 11:33

v1.0.0 最新 2026-4-12 11:33
Initial release: Database operations, CRUD, vector similarity search with pgvector, table management

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部