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

Supabase密钥库

技能标识:supabase-vault

Replace OpenClaw's local file vault with Supabase Vault for AES-256 encrypted-at-rest secret storage. All API keys and auth tokens stored encrypted in Postgres via pgsodium/libsodium. Bootstrap credentials protected by OS keychain or machine-derived AES-256-GCM (zero external deps). Includes dashboard Integrations tab with connect/migrate/manage UI. Use when: (1) setting up Supabase Vault as the OpenClaw secrets backend, (2) migrating existing secrets from ~/.openclaw/secrets.json to Supabase, (

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.0
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

Supabase密钥库

Supabase Vault — 增强型密钥存储

使用Supabase Vault替代本地secrets.json密钥库。所有OpenClaw API密钥、令牌和认证凭证均以AES-256加密方式存储在您的Supabase Postgres数据库中。引导凭证(访问密钥库所需的Supabase URL + service_role密钥)使用操作系统密钥链或机器派生的AES-256-GCM进行本地加密。

完整威胁模型和设计原理请参阅references/architecture.md。

前提条件

  • - 一个Supabase项目(免费套餐即可)。在supabase.com获取。
  • 项目URL + servicerole密钥(来自Supabase仪表板 → 设置 → API)。
  • Node.js 18+(OpenClaw环境中已提供)。

安装

步骤1 — 安装@supabase/supabase-js

bash
npm install --prefix ~/.openclaw/skills/supabase-vault @supabase/supabase-js

步骤2 — 在Supabase中运行setup.sql

打开您的Supabase项目 → SQL编辑器 → 粘贴并运行assets/setup.sql。

这将创建四个包装函数(insertsecret、readsecret、deletesecret、listsecretnames),仅限servicerole使用。

使用以下命令验证:
sql
SELECT proname FROM pg_proc
WHERE proname IN (insertsecret,readsecret,deletesecret,listsecret_names);
-- 应返回4行

步骤3 — 安装网关RPC处理器

将assets/rpc-handler.ts复制到OpenClaw源码中的src/gateway/server-methods/supabase-vault.ts,然后在server-methods索引中注册:

typescript
// 在 src/gateway/server-methods.ts(或等效文件)中
import { createSupabaseVaultHandlers } from ./supabase-vault.js;
// ...
Object.assign(handlers, createSupabaseVaultHandlers());

步骤4 — 安装仪表板UI

将UI文件复制到目标位置:

assets/controller.ts → ui/src/ui/controllers/supabase-vault.ts
assets/views.ts → ui/src/ui/views/supabase-vault.ts

使用插件架构注册为集成选项卡(与pipedream-connect或discord-connect相同模式):
typescript
// 在插件注册或 plugins-ui.ts 中:
{
id: supabase-vault,
label: Supabase Vault,
icon: 🔐,
section: integrations,
controller: supabase-vault,
view: supabase-vault,
}

步骤5 — 重新构建并重启

bash
cd ~/openclaw && npm run build
(sleep 3 && systemctl --user restart openclaw-gateway) &

步骤6 — 通过仪表板连接

打开控制UI → 集成 → Supabase Vault。输入您的项目URL和service_role密钥,然后点击连接并测试。

Exec提供程序配置

连接后,该技能会自动将其添加到~/.openclaw/openclaw.json:

json
{
secrets: {
providers: {
supabase: {
source: exec,
command: node,
args: [~/.openclaw/skills/supabase-vault/scripts/fetch-secrets.js],
jsonOnly: true,
trustedDirs: [~/.openclaw/skills/supabase-vault],
timeoutMs: 8000
}
}
}
}

迁移密钥后,配置中的SecretRefs将指向此提供程序:
json
{ source: exec, provider: supabase, id: /OPENAIAPIKEY }

工作原理

网关启动
→ exec提供程序触发fetch-secrets.js
→ keychain.js检索SUPABASEURL + SERVICEROLE_KEY
(macOS: 钥匙串访问 / Linux: GNOME密钥环 / 备用: AES-256-GCM文件)
→ @supabase/supabase-js createClient(url, key)
→ supabase.rpc(readsecret, { secretname }) 为每个请求的密钥
→ 输出: { protocolVersion: 1, values: { /KEY: value }, errors: {} }
→ OpenClaw运行时快照填充 — 密钥仅存在于内存中

各平台引导凭证存储

平台方法存储位置
macOSsecurity CLI钥匙串访问(Apple Silicon上硬件支持)
Linux(桌面)
secret-tool | GNOME密钥环 / KWallet | | WSL2 / 无头模式 | AES-256-GCM | ~/.openclaw/supabase-vault-config.enc(机器派生密钥) | | 任意平台 | AES-256-GCM | 始终可用备用方案 |

AES-256-GCM备用方案使用PBKDF2-HMAC-SHA512(600,000次迭代),密钥派生自/etc/machine-id + $USER + app-salt。加密文件在其他机器上或作为其他用户无法读取。

迁移

从仪表板:集成 → Supabase Vault → 从本地密钥库迁移。

或从CLI:
bash
node ~/.openclaw/skills/supabase-vault/scripts/migrate.js
node ~/.openclaw/skills/supabase-vault/scripts/migrate.js --yes # 非交互式
node ~/.openclaw/skills/supabase-vault/scripts/migrate.js --dry-run # 仅预览

迁移将所有密钥从secrets.json移至Supabase Vault,并将openclaw.json中的所有SecretRefs从file更新为exec/supabase。本地secrets.json保留作为安全备份。

安全说明

  • - 密钥库密钥:通过libsodium进行AES-256静态加密。加密密钥永不存储在数据库中 — 数据库转储在没有密钥的情况下毫无用处。
  • 引导凭证:通过操作系统密钥链或使用机器派生密钥的AES-256-GCM加密。在其他机器上无法读取。
  • Service_role密钥:绕过Supabase RLS — 请将此项目专用于OpenClaw密钥。
  • 运行时仅内存:磁盘上无解密值。仅在网关会话期间密钥存在于RAM中。
  • exec提供程序安全性:OpenClaw在执行前验证trustedDirs和fetch-secrets.js的文件权限。

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 supabase-vault-1776209549 技能

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

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

通过命令行安装

skillhub install supabase-vault-1776209549

下载

⬇ 下载 supabase-vault v1.0.0(免费)

文件大小: 21.56 KB | 发布时间: 2026-4-15 13:08

v1.0.0 最新 2026-4-15 13:08
Initial release — Supabase Vault as OpenClaw secrets backend. AES-256 encrypted-at-rest secrets in Postgres, OS keychain or machine-derived AES-256-GCM for bootstrap credentials, dashboard Integrations tab, one-click migration from local vault.
返回顶部