关于 api-credentials
这是一款已弃用的技能,用于存储和读取 Anthropic、Google 与 GitHub 的 API 凭据。它仍可用于本地开发或向后兼容;托管技能则应改用项目知识文件。
主要功能
- 01读取三家服务商的凭据
- 02支持配置文件或环境变量
- 03检查凭据是否已配置
- 04生成脱敏密钥以便安全记录
- 05说明凭据安全管理方式
适用场景
- 01支持调用服务商 API 的旧技能
- 02管理本地开发环境中的凭据
- 03检查服务商密钥是否已配置
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ oaustegard/ claude-skills --skill api-credentials安装后在 Claude Code 中输入/api-credentials确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitignoreCHANGELOG.mdREADME.mdassets/config.json.examplescripts/credentials.py详细介绍
API 凭据管理
🚨 已弃用:对于托管技能环境,不再需要此技能。
新方法: 技能现在会直接从项目知识文件中读取凭据:
ANTHROPIC_API_KEY.txt、GOOGLE_API_KEY.txt、GITHUB_API_KEY.txt(推荐)- 或
API_CREDENTIALS.json(合并文件)
请参阅更新后的技能文档:
仅用于旧版场景: 此技能对于本地开发环境或向后兼容可能仍有用。
⚠️ 警告:这是一个个人技能——切勿分享或提交包含实际凭据的内容!
此技能提供多个提供商的 API 凭据安全存储和检索功能。它是其他需要以编程方式调用外部 API 的技能所依赖的组件。
支持的提供商
- Anthropic(Claude API)
- Google(Gemini API、Vertex AI 等)
- GitHub(GitHub API、个人访问令牌)
- 可扩展以支持其他提供商
目的
- 集中存储多个 API 提供商的凭据
- 为依赖此技能的其他技能提供安全的凭据检索方法
- 在缺少凭据时提供清晰的错误消息
- 支持多种凭据来源(配置文件、环境变量)
其他技能的用法
需要调用 API 的技能应引用此技能:
Anthropic Claude API
import sys
sys.path.append('/home/user/claude-skills/api-credentials/scripts')
from credentials import get_anthropic_api_key
try:
api_key = get_anthropic_api_key()
# Use api_key for Claude API calls
except ValueError as e:
print(f"Error: {e}")
Google Gemini API
import sys
sys.path.append('/home/user/claude-skills/api-credentials/scripts')
from credentials import get_google_api_key
try:
api_key = get_google_api_key()
# Use api_key for Gemini API calls
except ValueError as e:
print(f"Error: {e}")
GitHub API
import sys
sys.path.append('/home/user/claude-skills/api-credentials/scripts')
from credentials import get_github_api_key
try:
api_key = get_github_api_key()
# Use api_key for GitHub API calls
except ValueError as e:
print(f"Error: {e}")
设置说明
选项 1:配置文件(推荐)
- 复制示例配置:
cp /home/user/claude-skills/api-credentials/assets/config.json.example \
/home/user/claude-skills/api-credentials/config.json
- 编辑
config.json并添加你的 API 密钥:
{
"anthropic_api_key": "sk-ant-api03-...",
"google_api_key": "AIzaSy...",
"github_api_key": "ghp_..."
}
- 确保配置文件位于
.gitignore中(已配置)
选项 2:环境变量
为所需的提供商设置环境变量:
# Anthropic Claude
export ANTHROPIC_API_KEY="sk-ant-api03-..."
# Google Gemini
export GOOGLE_API_KEY="AIzaSy..."
# GitHub
export GITHUB_TOKEN="ghp_..."
# or
export GITHUB_API_KEY="ghp_..."
将其添加到 Shell 配置文件(/.bashrc、/.zshrc)中以保留设置。
优先级
每个提供商的凭据检索按以下优先级进行:
- 技能目录中的
config.json(最高优先级) - 环境变量(ANTHROPIC_API_KEY 或 GOOGLE_API_KEY)
- 如果两者都不可用,则引发 ValueError
安全说明
- 切勿提交包含真实凭据的 config.json
- config.json 文件应加入 .gitignore
- 仅应将 config.json.example 纳入版本控制
- 在共享或生产环境中,建议使用环境变量
- 定期轮换 API 密钥
- 技能绝不应记录或显示完整的 API 密钥
文件结构
api-credentials/
├── SKILL.md # This file
├── config.json # YOUR credentials (gitignored)
├── scripts/
│ └── credentials.py # Credential retrieval module
└── assets/
└── config.json.example # Template for users
错误处理
找不到凭据时,模块会引发 ValueError,并提供明确的指导:
- config.json 的存放位置
- 如何设置环境变量
- 用于生成密钥的提供商控制台链接
技能应捕获 ValueError 异常并进行适当处理。
可用函数
get_anthropic_api_key() → str
- 返回 Anthropic API 密钥
- 未配置时引发 ValueError
get_google_api_key() → str
- 返回 Google API 密钥
- 未配置时引发 ValueError
get_github_api_key() → str
- 返回 GitHub API 令牌(个人访问令牌)
- 未配置时引发 ValueError
get_api_key_masked(api_key) → str
- 返回经过掩码处理的版本,便于安全记录
- 示例:"sk-ant-...xyz"
verify_credential(provider) → bool
- 检查是否已配置提供商
- 返回 True/False,不引发异常
- 提供商:'anthropic'、'google'、'github'
添加新提供商
如需支持其他提供商:
- 在
assets/config.json.example中添加字段 - 在
scripts/credentials.py中添加获取函数:def get_provider_api_key() -> str: # Follow existing pattern with config file + env var pass - 将其添加到
verify_credential()映射中 - 更新本文档
Token 效率
加载此技能约使用 300 个 token,但能省去在多个调用外部 API 的技能中重复编写凭据管理代码。它为所有凭据处理提供了统一、一致的模式。
评论
支持 Markdown