You.com Web Search & Research API
通过 HTTP 直接调用 You.com 的研究、搜索和内容提取 API,无需 SDK。
将分散的API密钥集中到安全的.env文件中,确保权限与Git忽略配置。
openclaw skills install @callmedas69/credential-manager命令、参数、文件名以原文为准
状态:强制性安全基础
将分散的 API 密钥和其他凭证集中到一个安全的 .env 文件中。
集中式 .env 凭证管理是 OpenClaw 安全性的核心要求。如果您的凭证分散在多个文件中,请立即停止并进行整合。
规则: 所有凭证**必须仅存在于 ~/.openclaw/.env** 中。不得在工作区、技能目录或脚本目录中存放。
参考:
每个 OpenClaw 部署都必须具备:
~/.openclaw/.env (权限模式 600)这是所有凭证的唯一可信来源。无一例外。
原因:
分散的凭证 = 分散的攻击面。此技能解决该问题。
~/.openclaw/.env该技能通过扫描自动识别凭证,包括:
文件模式:
credentials.json 文件.env 文件-creds 或 credentials 的内存文件敏感密钥模式:
安全检查:
600)# 扫描凭证
./scripts/scan.py
# 审查并整合
./scripts/consolidate.py
# 验证安全性
./scripts/validate.py# 仅扫描
./scripts/scan.py
# 整合特定服务
./scripts/consolidate.py --service x
# 备份但不删除
./scripts/consolidate.py --backup-only
# 清理旧文件
./scripts/cleanup.py --confirm该技能会扫描以下路径:
~/.config/*/credentials.json
~/.openclaw/workspace/memory/*-creds.json
~/.openclaw/workspace/memory/*credentials*.json
~/.env (若存在则合并)✅ 文件权限: 将 .env 设置为 600 模式(仅所有者可读)
✅ Git 保护: 创建或更新 .gitignore
✅ 备份机制: 修改前生成带时间戳的备份
✅ 验证功能: 检查格式、权限及重复项
✅ 模板支持: 创建 .env.example(可安全共享)
迁移完成后:
~/.openclaw/
├── .env # 所有凭证(已加密)
├── .env.example # 模板文件(可共享)
├── .gitignore # 保护 .env 文件
├── CREDENTIALS.md # 文档说明
└── backups/
└── credentials-old-YYYYMMDD/ # 旧文件备份系统自动检测以下常见服务:
API_KEY、*_TOKEN、*_SECRET 等模式完整列表请参阅 [references/supported-services.md](references/supported-services.md)
详细安全指南请参阅 [references/security.md](references/security.md)
快速检查清单:
.env 文件权限为 600.env 被 Git 忽略所有脚本均支持 --help 查看详细用法。
# 扫描并输出报告
./scripts/scan.py
# 包含自定义路径
./scripts/scan.py --paths ~/.myapp/config ~/.local/share/creds
# JSON 格式输出
./scripts/scan.py --format json# 交互模式(修改前提示确认)
./scripts/consolidate.py
# 自动确认(无提示)
./scripts/consolidate.py --yes
# 仅备份
./scripts/consolidate.py --backup-only
# 特定服务
./scripts/consolidate.py --service molten# 全面验证
./scripts/validate.py
# 仅检查权限
./scripts/validate.py --check permissions
# 自动修复问题
./scripts/validate.py --fix# 干运行(显示将被删除的内容)
./scripts/cleanup.py
# 实际删除旧文件
./scripts/cleanup.py --confirm
# 保留备份
./scripts/cleanup.py --confirm --keep-backups步骤 1:发现
./scripts/scan.py查看输出,了解将被迁移的内容。
步骤 2:备份与整合
./scripts/consolidate.py创建备份,生成 .env,设置权限。
步骤 3:验证
./scripts/validate.py确保所有内容安全且正确。
步骤 4:测试
使用新的 .env 文件测试应用程序或技能。
步骤 5:清理
./scripts/cleanup.py --confirm删除旧的凭证文件(备份文件保留)。
其他 OpenClaw 技能在使用凭证前必须验证其安全性:
#!/usr/bin/env python3
import sys
from pathlib import Path
# 将凭证管理器脚本路径加入搜索路径
sys.path.insert(0, str(Path.home() / '.openclaw/skills/credential-manager/scripts'))
# 强制校验安全的 .env(不符合则退出)
from enforce import require_secure_env, get_credential
require_secure_env()
# 现在可安全加载凭证
api_key = get_credential('SERVICE_API_KEY')#!/usr/bin/env bash
set -euo pipefail
# 验证 .env 文件是否存在且安全
if ! python3 ~/.openclaw/skills/credential-manager/scripts/enforce.py; then
exit 1
fi
# 确保安全后加载
source ~/.openclaw/.env该机制实现快速失败: 若凭证未正确保护,技能将拒绝运行。用户必须先修复问题才能继续。
迁移完成后,从 .env 文件加载:
import os
from pathlib import Path
# 加载 .env 文件
env_file = Path.home() / '.openclaw' / '.env'
with open(env_file) as f:
for line in f:
if '=' in line and not line.strip().startswith('#'):
key, val = line.strip().split('=', 1)
os.environ[key] = val
# 使用凭证
api_key = os.getenv('SERVICE_API_KEY')# 加载 .env 文件
set -a
source ~/.openclaw/.env
set +a
# 使用凭证
echo "$SERVICE_API_KEY"若通过 OpenClaw 脚本完成迁移:
from load_credentials import get_credentials
creds = get_credentials('x')编辑 ~/.openclaw/.env 文件:
# 添加新服务
NEW_SERVICE_API_KEY=your_key_here
NEW_SERVICE_SECRET=your_secret_here同时更新模板文件:
# 编辑 .env.example
NEW_SERVICE_API_KEY=your_key_here
NEW_SERVICE_SECRET=your_secret_here如遇问题可进行回滚:
# 查看备份文件
ls -la ~/.openclaw/backups/
# 恢复特定文件
cp ~/.openclaw/backups/credentials-old-YYYYMMDD/x-credentials.json.bak \
~/.config/x/credentials.json已收录 1 个 Skill