Vault Client

通过 OpenClaw 安全读写 Hashicorp Vault 中的密钥,避免硬编码和 curl 命令。

已扫描
适合谁
使用 OpenClaw 的开发者、需要管理敏感配置的运维人员
不适合谁
无 Vault 服务环境的用户、不熟悉命令行操作的初学者
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @jbushman/vault-client

Skill 说明

命令、参数、文件名以原文为准

vault-client

为 OpenClaw 代理提供干净、缓存的 Hashicorp Vault 访问权限。无需使用 curl,也无需在对话记录中硬编码令牌。

安装配置

安装后仅需运行一次:

node ~/.openclaw/workspace/skills/vault-client/scripts/vault.js setup

会提示输入地址、令牌和挂载路径,保存至 ~/.openclaw/vault.json,并自动向 AGENTS.md 添加启动配置块。

启动(每次会话)

node ~/.openclaw/workspace/skills/vault-client/scripts/vault.js check
  • 返回值 0:连接成功,令牌有效
  • 返回值 1:已连接但令牌即将过期 —— 提示用户,执行 token-renew 命令
  • 返回值 2:无法连接或令牌无效 —— 提示用户,检查配置

核心命令

# 读取指定路径下的所有密钥
node vault.js get shopwalk/r2

# 读取单个密钥(仅返回值,适合管道传递)
node vault.js get shopwalk/database uri

# 写入或更新密钥(与已有内容合并)
node vault.js put shopwalk/r2 secret_access_key=newvalue

# 列出路径下所有子路径
node vault.js list shopwalk/

# 令牌管理
node vault.js token-info
node vault.js token-renew

配置说明(~/.openclaw/vault.json

{
  "address": "https://vault.example.com:8200",
  "mount": "secret",
  "auth": { "method": "token", "token": "hvs.xxx" },
  "cache_ttl_seconds": 300,
  "tls": { "verify": true }
}

若使用自签名证书的内部 Vault,可将 tls.verify 设置为 false

密钥数据缓存在 ~/.openclaw/vault-cache.json 中,缓存时长为 cache_ttl_seconds(默认 5 分钟),以减少重复 API 调用。

认证方式

默认使用令牌认证。如需使用 AppRole 或 Kubernetes 认证,请参考 references/auth-methods.md

无外部依赖

仅使用 Node.js 标准库(httpsfsreadline),无需额外 npm 安装。

J
@jbushman

已收录 1 个 Skill

相关推荐