Install
openclaw skills install @sirsws/agent-credential-safety安全处理本机 API 密钥、环境变量、密码、SSH、远程服务器和身份认证。任务涉及凭据读取、认证操作或远程主机连接时使用。限制秘密读取与输出,强制使用批准的 SSH 别名。
openclaw skills install @sirsws/agent-credential-safety凭据文件固定为用户目录下的统一文件:
~/.localcfg/base.env
OPENROUTER_API_KEY、GITHUB_TOKEN),避免晦涩缩写。在 Python 中必须使用以下方式加载凭据:
from pathlib import Path
from dotenv import load_dotenv
load_dotenv(Path.home() / ".localcfg" / "base.env")
加载后只访问当前任务明确需要的变量。缺失时直接报错,不得提供默认值掩盖问题。
当其他工具或 Agent 需要 base.env 中的凭据时,使用 Python 脚本桥接,避免在命令文本中直接暴露秘密值:
from pathlib import Path
from dotenv import load_dotenv
import os
load_dotenv(Path.home() / ".localcfg" / "base.env")
key = os.getenv("SOME_API_KEY") # 只取当前需要的变量
if key:
target_env = Path("/path/to/target/.env")
content = target_env.read_text()
if "SOME_API_KEY" not in content:
target_env.write_text(content + f"\nSOME_API_KEY={key}")
原则:
SSH 连接统一通过 ~/.ssh/config 中的别名管理。Agent 只使用别名,不知晓 IP、端口、用户名和私钥路径。
# 示例 ~/.ssh/config 条目
Host myserver
HostName 192.0.2.1
Port 22
User deploy
IdentityFile ~/.ssh/myserver.pem
IdentitiesOnly yes
规则:
仅当工作区存在 .learnings/ 目录时执行:
.learnings/LEARNINGS.md。.learnings/ERRORS.md。~/.localcfg/base.env,按需添加变量(参考 .env.example)。~/.ssh/config,为每台服务器建立别名。load_dotenv(Path.home() / ".localcfg" / "base.env") 加载。references/coding-agent-landscape.md:主流 CLI Coding Agent 的调度能力总览。