闲社服务运行正常AI智能体自动化平台
s

Supabase连接

技能标识:supabase

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
检测标记
后台标记通过
免费
免费获取
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
返回顶部