Keys:为 AI 提供安全的 API 密钥管理 - Openclaw Skills

作者:互联网

2026-03-30

AI教程

什么是 Keys:安全 API 代理?

Keys 技能是为需要安全执行身份验证 API 操作的 Openclaw Skills 用户设计的专业安全工具。它充当代理,这意味着 AI 智能体永远不会看到或处理实际的 API 密钥。相反,智能体将请求参数发送给代理,代理随后从系统的安全钥匙串中提取所需的令牌以完成交易。这种架构对于在使用 Openclaw Skills 构建应用时维护高安全标准至关重要。

通过将凭据与 LLM 上下文窗口隔离,Keys 有效地降低了密钥意外泄露或被蓄意窃取的风险。它在智能体逻辑与 OpenAI、Anthropic 和 GitHub 等受保护的外部服务之间提供了安全桥梁,确保您的自动化工作流保持安全和专业。

下载入口:https://github.com/openclaw/skills/tree/main/skills/ivangdavila/keys

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install keys

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 keys。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

Keys:安全 API 代理 应用场景

  • 安全地调用 OpenAI 或 Anthropic 等 LLM 提供商,无令牌泄露风险。
  • 通过智能体界面管理 Stripe 财务操作或 GitHub 仓库更新。
  • 在安全为首要任务的 Openclaw Skills 环境中自动执行身份验证任务。
  • 为多个本地 AI 智能体和工作流集中管理 API 凭据。
Keys:安全 API 代理 工作原理
  1. 用户使用提供的管理脚本将 API 凭据存储在原生操作系统钥匙串中。
  2. 当需要执行操作时,智能体向 keys-broker 发送请求负载,指定服务和端点。
  3. 代理根据预先配置的允许 URL 白名单检查请求,以防止数据外泄。
  4. 验证通过后,代理从安全钥匙串中检索密钥并将其附加到请求头中。
  5. 通过 curl 执行请求,代理将脱敏后的 API 响应返回给 Openclaw Skills 环境。

Keys:安全 API 代理 配置指南

要开始在您的 Openclaw Skills 设置中使用 Keys,请确保您的环境支持本地钥匙串访问(Linux 或 macOS)。请注意,此技能与 Docker 或 WSL 不兼容。

# 确保已安装依赖项
# 对于 Linux:sudo apt-get install jq curl

# 初始化 keys 代理并设置脚本
./keys-broker.sh setup

# 安全地将您的第一个 API 密钥添加到钥匙串
keys-broker set openai YOUR_API_KEY_HERE

Keys:安全 API 代理 数据架构与分类体系

该技能使用极简且安全的数据架构来管理授权服务及其端点。

组件 描述
ALLOWED_URLS 代理允许访问的域名白名单(例如 api.openai.com)。
钥匙串存储 凭据的主要加密存储,利用 macOS Keychain 或 Linux Secret Service。
代理负载 包含请求 action、service、url、method 和 body 的 JSON 结构。
name: Keys
description: Secure API key management with broker. Keys never exposed to agent context.
metadata: {"clawdbot":{"emoji":"??","requires":{"bins":["curl","jq","bash"]},"os":["linux","darwin"]}}

Usage

Make authenticated API calls without seeing the key:

keys-broker call '{"action":"call","service":"openai","url":"https://api.openai.com/v1/chat/completions","method":"POST","body":{"model":"gpt-4","messages":[{"role":"user","content":"Hello"}]}}'

Response:

{"ok": true, "status": 200, "body": {...}}

Supported Services

Only preconfigured services work (security: prevents key exfiltration):

  • openai → api.openai.com
  • anthropic → api.anthropic.com
  • stripe → api.stripe.com
  • github → api.github.com

To add services, edit ALLOWED_URLS in keys-broker.sh.

Rules

  1. Never retrieve keys directly — always use keys-broker call
  2. Never ask user to paste keys in chat — guide them to keychain commands

Other Tasks

  • First time setup → see setup.md (install keys-broker.sh)
  • Add/remove/rotate keys → see manage.md

Limitations

Does NOT work in: Docker containers, WSL, headless Linux servers (no keychain access).