返回顶部
s

supabase-vaultSupabase密钥库

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
安全检测
已通过
286
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

supabase-vault

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.

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

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

p2p_official_large
返回顶部