OpenClaw 1Password CLI 技能指南
通过 1Password CLI(op)安全读取密钥。
最后更新: 2026-03-04
快速安装
$ npx clawhub@latest install 1password核心功能
OpenClaw 1Password CLI 技能概述
1Password CLI 技能通过官方 1Password CLI (op) 将 OpenClaw 连接到你的 1Password 保管库。安装后,你的 OpenClaw 智能体可以读取密钥、将凭证注入配置文件,以及使用密钥作为环境变量运行进程——全部通过自然语言命令完成。无需再从 1Password 应用中复制粘贴令牌。
密钥管理是任何开发工作流的关键环节。OpenClaw 1Password 技能消除了在明文配置文件中存储 API 密钥、数据库密码或服务令牌的需求。你只需让 OpenClaw 获取所需内容,智能体就会在运行时从保管库中安全检索。
典型工作流:
- 让 OpenClaw 将数据库凭证注入
.env文件。 - 智能体运行
op inject,用实际值替换密钥引用。 - 凭证对应用程序可用——从不以明文写入磁盘。
该技能为所有 op 命令强制执行 tmux 工作流,确保持久的身份验证会话,防止自动化操作中的 TTY 故障。它支持桌面应用集成(生物识别解锁)和用于 CI/CD 管道的服务账户令牌。
1Password CLI 技能安装前的准备
安装 1Password CLI 技能之前,请确保你具备以下条件:
- OpenClaw 已安装并运行(v1.0+)
- 1Password CLI (op) 已安装——官方安装指南
- 一个 1Password 账户(个人、家庭、团队或企业版)
- tmux 已安装,用于可靠的 CLI 会话
- clawhub CLI 已安装用于技能管理——通过 clawhub 安装
验证你的环境:
# 检查 OpenClaw 版本 openclaw --version # 检查 1Password CLI 版本 op --version # 验证 tmux 可用 tmux -V # 检查 1Password 身份验证状态 op whoami
如何安装 1Password CLI 技能
使用一条命令安装 1Password CLI 技能:
npx clawhub@latest install 1password
验证安装:
clawhub list
你应该能在已安装技能列表中看到 1password。该技能维护在官方 OpenClaw skills 仓库中,并发布在 ClawHub 上。
1Password CLI 技能配置指南
该技能需要与你的 1Password 账户进行身份验证。根据你的环境,有三种方法。
方法 1:桌面应用集成(推荐用于开发环境)
启用生物识别解锁,让 CLI 通过 1Password 桌面应用进行身份验证:
# 启用桌面应用集成 op signin
出现提示时,在 1Password 桌面应用中批准登录请求。此方法使用生物识别验证(Touch ID、Windows Hello),不需要长期有效的令牌。
方法 2:服务账户令牌(推荐用于 CI/CD)
# 设置服务账户令牌 export OP_SERVICE_ACCOUNT_TOKEN=ops_your-service-account-token
服务账户提供对特定保管库的有范围、非交互式访问。在 my.1password.com 的 Developer → Service Accounts 下创建。
方法 3:Connect 服务器(用于自托管基础设施)
# 设置 Connect 服务器凭证 export OP_CONNECT_HOST=https://your-connect-server:8080 export OP_CONNECT_TOKEN=your-connect-token
关键环境变量
| 变量 | 用途 |
|------|------|
| OP_SERVICE_ACCOUNT_TOKEN | 使用服务账户进行身份验证 |
| OP_CONNECT_HOST | Connect 服务器 URL |
| OP_CONNECT_TOKEN | Connect 服务器访问令牌 |
| OP_ACCOUNT | 多账户设置的默认账户 |
| OP_BIOMETRIC_UNLOCK_ENABLED | 切换桌面应用集成 |
重要提示: 切勿将令牌硬编码到配置文件中。使用环境变量或通过 CI/CD 平台的密钥存储注入。查看安全检查清单了解更多安全指导。
1Password CLI 技能使用示例
1. 运行时读取密钥
你: "从 Production 保管库获取 Stripe API 密钥。"
智能体运行 op read "op://Production/Stripe API/credential" 并返回密钥值。密钥可立即使用,不会存储在任何文件中。
2. 将密钥注入配置文件
你: "将所有密钥注入我的
.env.template文件并保存为.env。"
智能体使用 op inject -i .env.template -o .env 将 op://Vault/Item/field 等密钥引用替换为实际值。模板文件可以安全提交到版本控制;输出文件包含真实凭证。
3. 使用注入的密钥运行进程
你: "使用 1Password 中的生产数据库 URL 运行数据库迁移脚本。"
智能体执行 op run --env-file .env -- npm run migrate,在进程持续期间将密钥作为环境变量注入。进程退出后,密钥不再驻留在内存中。
4. 列出和搜索保管库条目
你: "显示 Development 保管库中的所有 API 密钥。"
智能体运行 op item list --vault Development --tags api-key 并返回格式化的匹配条目列表,包含名称、类别和最后修改日期。
安全与最佳实践
1Password 技能可访问你最敏感的凭证。请遵循以下指南确保安全:
- 最小权限原则。 授予保管库级别的访问权限而非完整账户访问。服务账户应仅能查看其所需的保管库。
- 优先使用
op run和op inject而非op read。 这些命令使密钥保持短暂性——它们永远不会被写入磁盘或存储在 shell 历史记录中。 - 切勿将密钥粘贴到日志、聊天或代码中。 该技能旨在将密钥直接注入进程,绕过剪贴板和终端输出。
- 自动化使用服务账户。 避免在 CI/CD 管道中使用个人账户。服务账户提供有范围、可审计的访问。
- 定期轮换服务账户令牌。 创建令牌时设置过期日期,至少每 90 天轮换一次。
- 在 tmux 中运行
op命令。 该技能强制执行基于 tmux 的工作流,以防止长时间操作中的 TTY 故障和会话中断。
1Password CLI 技能常见错误与故障排除
"account is not signed in"
你的 1Password 会话已过期或从未建立。
# 通过桌面应用重新验证 op signin # 验证会话 op whoami
如果使用服务账户,请验证 OP_SERVICE_ACCOUNT_TOKEN 是否正确设置且未过期。
"could not find item"
请求的条目在指定的保管库中不存在,或你的账户缺少访问权限。
- 使用
op item list --vault "保管库名称"检查条目名称和保管库。 - 验证你的账户是否有保管库的读取权限。
- 对于服务账户,确认保管库已包含在账户的访问策略中。
"tmux not found" 或 TTY 错误
1Password CLI 交互式登录需要 TTY。该技能使用 tmux 来维持持久会话。
# 安装 tmux # macOS brew install tmux # Ubuntu / Debian sudo apt install tmux
安装 tmux 后,在运行 op signin 之前使用 tmux new -s op-session 启动新会话。
常见问题
是的,正确配置范围后是安全的。推荐的做法是使用**服务账户**,仅对特定保管库授予只读访问权限,而非授予完整账户访问。OpenClaw 遵循确认模型——保管库操作在执行前需要你的批准。结合 1Password 的审计日志,每次密钥访问都是可追踪和可撤销的。
可以。1Password CLI 支持多账户工作流。设置 `OP_ACCOUNT` 环境变量指定默认账户,或对每个命令使用 `--account` 标志。当你引用不同账户中不同保管库的条目时,技能会自动处理账户切换。
两者都提供密钥管理,但连接到不同的平台。[1Password 技能](/skills/1password)使用 `op` CLI,支持桌面应用集成、生物识别解锁和服务账户。[Bitwarden](/skills/bitwarden) 技能则非常适合使用 Vaultwarden 的自托管团队。选择与你团队现有密码管理器匹配的技能。两者都支持运行时密钥注入,遵循相同的零明文理念。
相关技能
通过 Bitwarden/Vaultwarden CLI 和 API 安全读取密钥。
扫描仓库中的硬编码密钥(覆盖 500+ 种密钥类型)。
为工具调用与高风险操作加安全护栏。