back
loading skill details...
通过凭据代理机制,个人开发者可安全调用第三方API,无需在本地脚本中暴露真实密钥,支持CLI命令行调用和生物识别授权。
---
slug: secure-api-toolkit-free
name: secure-api-toolkit-free
version: 1.0.0
displayName: 安全API工具箱
summary: "凭据代理让Agent调第三方API时密钥不落地,服务端注入真实令牌,免费个人开发者用"
license: Proprietary
edition: free
description: 安全API工具箱(免费版)通过凭据代理机制让Agent在调用第三方API时无需接触真实密钥,从架构层杜绝密钥泄露风险。核心能力:占位符模板化请求、服务端密钥注入、生物识别授权、单提供商连通验证、CLI命令行调用。Use
when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。
tags:
- 集成工具
- 安全合规
tools:
- - read
- exec
homepage: https://skillhub.cn
pricing_tier: "L1-入门级"
pricing_model: per_use
suggested_price: "9.9 CNY/per_use"
tools: ["read", "write", "exec"]
tags: "API,接口,开发工具"
---
# 安全API工具箱(免费版)
## 概述
安全API工具箱(免费版)通过凭据代理机制解决"Agent调用第三方API时密钥泄露"的核心安全痛点。开发者无需将真实API Key或OAuth Token交给Agent,只需在请求中使用`{{占位符}}`,代理服务在服务端注入真实凭据后转发请求,密钥全程不经过Agent。
本免费版聚焦个人开发者的核心安全调用场景,提供CLI命令行工具与基础占位符模板,支持单次授权后自动复用,适合本地开发与测试环境快速上手。
## 核心能力
| 能力 | 说明 | 免费版支持 |
|---|---|-----|
| 占位符模板 | `{{OAUTH2_ACCESS_TOKEN}}`等占位符替代真实密钥 | 是 |
| 服务端密钥注入 | 代理在服务端替换占位符为真实凭据 | 是 |
| 生物识别授权 | 首次调用通过FaceID/Passkey授权 | 是 |
| 单提供商验证 | 验证单个API提供商的连通性 | 是 |
| CLI命令行 | `secure-curl`命令替代`curl` | 是 |
| 多SDK集成 | Python/TypeScript SDK | 否 |
| 团队凭据金库 | 多人共享凭据 | 否 |
| 审计日志 | 全量请求审计 | 否 |
| 自定义提供商 | 注册私有API提供商 | 否 |
### 核心功能执行
用`input_params`参数进行配置。
**输入**: 用户提供核心功能执行所需的指令和必要参数。
**处理**: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应。
**输出**: 返回核心功能执行的响应数据,包含状态码、结果和日志。
- 执行此能力时使用`input_params`参数,支持创建/查询/导出操作
### 参数配置与调用
用`config_options`参数进行配置。
**输入**: 用户提供参数配置与调用所需的指令和必要参数。
**处理**: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应。
**输出**: 返回参数配置与调用的响应数据,包含状态码、结果和日志。
- 执行此能力时使用`config_options`参数,支持修改/重置/导入操作
### 结果处理与输出
用`output_format`参数进行配置。
**输入**: 用户提供结果处理与输出所需的指令和必要参数。
**处理**: 解析结果处理与输出的输入参数,完成核心逻辑,返回结构化响应。
**输出**: 返回结果处理与输出的响应数据,包含状态码、结果和日志。
- 执行此能力时使用`output_format`参数,支持导出/保存/转换操作
**能力覆盖范围**:本skill的核心能力覆盖以下场景关键词:通过占位符代理安、全调用第三方、密钥不落地、Agent、适合个人开发者试、工具箱、通过凭据代理机制、在调用第三方、时无需接触真实密、从架构层杜绝密钥、泄露风险、核心能力、占位符模板化请求、单提供商连通验证、命令行调用、Use、when、需要代码生成、编程辅助、调试测试、开发部署时使用、不适用于无明确技、术栈的模糊需求等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。
## 使用场景
### 场景1:个人开发者安全调用GitHub API
小李编写自动化脚本需要读取GitHub仓库信息。他不愿将GitHub Token硬编码到脚本中(担心提交到版本库泄露)。使用本工具:脚本中使用`{{OAUTH2_ACCESS_TOKEN}}`占位符,首次运行时在浏览器完成授权,之后脚本自动通过代理调用GitHub API,Token全程不进入脚本。
### 场景2:本地验证Slack API连通性
开发者需要在本地快速测试Slack API是否可用。使用`secure-curl`命令携带占位符发起请求,授权后即可验证连通性,无需手动获取并配置Slack Token。
### 场景3:MCP工具集成前的安全验证
当需要将第三方API能力作为MCP工具接入Agent时,本工具提供安全验证通道:MCP端点通过占位符调用目标API,凭据由代理注入,避免MCP工具直接持有密钥。
## 使用流程
### 依赖详情
```bash
npm install -g secure-proxy@latest
```
要求Node.js v16及以上。安装后自动在`~/.secure-proxy/`生成机器密钥对(Ed25519)。
### Step 2:发起首次请求
使用`secure-curl`替代`curl`,在凭据位置使用占位符:
```bash
secure-curl https://api.user/repos \
-H "Authorization: Bearer {{OAUTH2_ACCESS_TOKEN}}"
```
### Step 3:完成授权
首次调用时,命令返回一个授权链接而非API响应。将链接在浏览器中打开,通过FaceID或Passkey完成授权并连接账户。
### Step 4:重放请求
授权完成后,重新运行相同命令即可获得API响应。此后对该提供商的所有请求自动通过,无需再次授权。
#
## 示例
### 占位符类型
| 占位符前缀 | 类型 | 示例 |
|:------|:------|:------|
| `OAUTH2_` | OAuth 2.0令牌 | `{{OAUTH2_ACCESS_TOKEN}}`、`{{OAUTH2_REFRESH_TOKEN}}` |
| `OAUTH1_` | OAuth 1.0令牌 | `{{OAUTH1_ACCESS_TOKEN}}` |
| 其他 | API Key | `{{STRIPE_SECRET_KEY}}`、`{{OPENAI_API_KEY}}` |
代理根据请求URL自动识别提供商,无需手动指定。
### 常见调用示例
```bash
# 列出GitHub仓库
secure-curl https://api.user/repos \
-H "Authorization: Bearer {{OAUTH2_ACCESS_TOKEN}}"
# ...
# 发送Slack消息
secure-curl https://slack.com/api/chat.postMessage \
-X POST \
-H "Authorization: Bearer {{OAUTH2_ACCESS_TOKEN}}" \
-H "Content-Type: application/json" \
-d '{"channel":"#general","text":"Hello!"}'
# ...
# 查询Stripe客户
secure-curl https://api.stripe.com/v1/customers?limit=5 \
-H "Authorization: Bearer {{STRIPE_SECRET_KEY}}"
```
### 等待授权完成
当命令返回授权链接时,可轮询等待用户完成授权:
```bash
# 首次调用返回授权链接
secure-curl https://api.user/repos \
-H "Authorization: Bearer {{OAUTH2_ACCESS_TOKEN}}"
# ...
# 等待授权完成(最长800秒)
secure-wait https://secure-proxy.dev/approve/abc123xyz --timeout 800
# ...
# 授权后重放请求
secure-curl https://api.user/repos \
-H "Authorization: Bearer {{OAUTH2_ACCESS_TOKEN}}"
```
## 最佳实践
1. **始终使用占位符**:任何凭据位置都用`{{占位符}}`替代,禁止在命令中写入真实密钥
2. **环境隔离**:开发与生产使用不同代理账户,避免凭据交叉
3. **定期检查授权**:登录代理控制台查看已授权的提供商与机器列表
4. **及时撤销**:不再使用的机器或提供商立即撤销授权
5. **机器密钥保护**:`~/.secure-proxy/`目录中的私钥文件权限保持0600,禁止外泄
6. **占位符命名规范**:使用提供商约定的占位符前缀(如`OAUTH2_`、`STRIPE_`),便于代理自动识别
7. **授权链接及时处理**:授权链接有时效性(通常15分钟),收到后尽快在浏览器完成授权
8. **错误信息观察**:代理返回的错误信息包含诊断提示,仔细阅读可快速定位问题
## 常见问题
### Q1:命令返回授权链接而非API响应是正常的吗?
A:正常。首次调用某提供商时,代理需要用户完成生物识别授权并连接账户。将授权链接在浏览器打开,完成授权后重放命令即可。
### Q2:占位符没有被替换,仍报401怎么办?
A:检查是否误用了普通`curl`而非`secure-curl`。只有`secure-curl`才会将请求路由到代理并替换占位符。
### Q3:授权后多久需要重新授权?
A:默认90天未使用自动清理。活跃使用期间无需重新授权。如需延长保留期,可在控制台调整保留策略(专业版功能)。
### Q4:支持哪些API提供商?
A:免费版支持5000+主流提供商,包括GitHub、Slack、Stripe、Google、OpenAI等。完整列表见代理控制台。专业版支持注册自定义私有API。
### Q5:机器重装后如何恢复?
A:机器密钥对存储在`~/.secure-proxy/`。重装前备份该目录,重装后恢复即可。若未备份,需在新机器重新生成密钥并在控制台绑定。
### Q6:代理服务本身会看到我的请求数据吗?
A:代理会处理请求的URL、头与体以替换占位符并转发,但不会存储或修改响应体。请求与响应体不写入日志,仅记录URL、方法、提供商、时间与状态码等元数据。
### Q7:同一提供商的多个账户如何切换?
A:免费版同一提供商仅支持绑定一个账户。如需多账户切换,建议升级专业版使用团队凭据金库,按账户维度管理凭据。
## 已知限制
本免费体验版限制以下高级功能:
- 不支持Python/TypeScript SDK集成(仅CLI)
- 不支持团队凭据金库(仅个人使用)
- 不支持审计日志与请求留痕
- 不支持自定义私有API提供商
- 不支持凭据保留期自定义(固定90天)
解锁全部功能请使用专业版:`secure-api-toolkit-pro`
## 故障速查
| 现象 | 可能原因 | 解决方案 |
|---:|---:|---:|
| 返回授权链接而非响应 | 首次使用需授权 | 在浏览器打开链接完成授权后重放 |
| 占位符未被替换 | 误用普通curl | 改用`secure-curl`路由到代理 |
| 授权链接已过期 | 超过15分钟未处理 | 重新发起请求获取新链接 |
| 提供商未识别 | URL域名不在支持列表 | 查看控制台支持列表或升级专业版注册 |
## 依赖说明
### 运行环境
- **Agent平台**:支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
- **操作系统**:Windows / macOS / Linux
- **Node.js**:v16及以上(用于CLI安装)
- **网络**:可访问代理服务与目标API
### 第三方依赖
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|:---:|:---:|:---:|:---:|
| 代理服务账户 | 在线服务 | 必需 | 在代理控制台注册 |
| Node.js | 运行时 | 必需 | nodejs.org下载 |
| LLM API | API | 必需 | 由Agent平台内置LLM提供 |
### API Key 配置
- **代理机器密钥**:首次运行自动生成于`~/.secure-proxy/`,权限0600
- **第三方API凭据**:存储于代理服务端金库,本地不保存
- **禁止**:在命令或脚本中写入真实API密钥
### 可用性分类
- **分类**:MD+EXEC(纯Markdown指令,部分功能需要exec命令行执行能力)
- **说明**:基于Markdown的AI Skill,通过自然语言指令驱动Agent完成操作
- API Key通过环境变量配置: export API_KEY=your_key
## 错误处理
| 错误场景 | 原因 | 处理方式 |
|:------|------:|:------|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
don't have the plugin yet? install it then click "run inline in claude" again.