OpenClaw
安全与密钥推荐

OpenClaw 1Password CLI 技能指南

通过 1Password CLI(op)安全读取密钥。

最后更新: 2026-03-04

快速安装

$ npx clawhub@latest install 1password

核心功能

使用自然语言从 1Password 保管库读取密钥
通过 op inject 将凭证注入配置文件
通过 op run 将密钥作为环境变量传递给进程
登录单个或多个 1Password 账户
通过 CLI 管理保管库、条目和文档
强制使用 tmux 工作流确保可靠的身份验证

OpenClaw 1Password CLI 技能概述

1Password CLI 技能通过官方 1Password CLI (op) 将 OpenClaw 连接到你的 1Password 保管库。安装后,你的 OpenClaw 智能体可以读取密钥、将凭证注入配置文件,以及使用密钥作为环境变量运行进程——全部通过自然语言命令完成。无需再从 1Password 应用中复制粘贴令牌。

密钥管理是任何开发工作流的关键环节。OpenClaw 1Password 技能消除了在明文配置文件中存储 API 密钥、数据库密码或服务令牌的需求。你只需让 OpenClaw 获取所需内容,智能体就会在运行时从保管库中安全检索。

典型工作流:

  1. 让 OpenClaw 将数据库凭证注入 .env 文件。
  2. 智能体运行 op inject,用实际值替换密钥引用。
  3. 凭证对应用程序可用——从不以明文写入磁盘。

该技能为所有 op 命令强制执行 tmux 工作流,确保持久的身份验证会话,防止自动化操作中的 TTY 故障。它支持桌面应用集成(生物识别解锁)和用于 CI/CD 管道的服务账户令牌。

1Password CLI 技能安装前的准备

安装 1Password CLI 技能之前,请确保你具备以下条件:

  • OpenClaw 已安装并运行(v1.0+)
  • 1Password CLI (op) 已安装——官方安装指南
  • 一个 1Password 账户(个人、家庭、团队或企业版)
  • tmux 已安装,用于可靠的 CLI 会话
  • clawhub CLI 已安装用于技能管理——通过 clawhub 安装

验证你的环境:

bash
# 检查 OpenClaw 版本
openclaw --version

# 检查 1Password CLI 版本
op --version

# 验证 tmux 可用
tmux -V

# 检查 1Password 身份验证状态
op whoami

如何安装 1Password CLI 技能

使用一条命令安装 1Password CLI 技能:

bash
npx clawhub@latest install 1password

验证安装:

bash
clawhub list

你应该能在已安装技能列表中看到 1password。该技能维护在官方 OpenClaw skills 仓库中,并发布在 ClawHub 上。

1Password CLI 技能配置指南

该技能需要与你的 1Password 账户进行身份验证。根据你的环境,有三种方法。

方法 1:桌面应用集成(推荐用于开发环境)

启用生物识别解锁,让 CLI 通过 1Password 桌面应用进行身份验证:

bash
# 启用桌面应用集成
op signin

出现提示时,在 1Password 桌面应用中批准登录请求。此方法使用生物识别验证(Touch ID、Windows Hello),不需要长期有效的令牌。

方法 2:服务账户令牌(推荐用于 CI/CD)

bash
# 设置服务账户令牌
export OP_SERVICE_ACCOUNT_TOKEN=ops_your-service-account-token

服务账户提供对特定保管库的有范围、非交互式访问。在 my.1password.comDeveloper → Service Accounts 下创建。

方法 3:Connect 服务器(用于自托管基础设施)

bash
# 设置 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 .envop://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 runop inject 而非 op read 这些命令使密钥保持短暂性——它们永远不会被写入磁盘或存储在 shell 历史记录中。
  • 切勿将密钥粘贴到日志、聊天或代码中。 该技能旨在将密钥直接注入进程,绕过剪贴板和终端输出。
  • 自动化使用服务账户。 避免在 CI/CD 管道中使用个人账户。服务账户提供有范围、可审计的访问。
  • 定期轮换服务账户令牌。 创建令牌时设置过期日期,至少每 90 天轮换一次。
  • 在 tmux 中运行 op 命令。 该技能强制执行基于 tmux 的工作流,以防止长时间操作中的 TTY 故障和会话中断。

1Password CLI 技能常见错误与故障排除

"account is not signed in"

你的 1Password 会话已过期或从未建立。

bash
# 通过桌面应用重新验证
op signin

# 验证会话
op whoami

如果使用服务账户,请验证 OP_SERVICE_ACCOUNT_TOKEN 是否正确设置且未过期。

"could not find item"

请求的条目在指定的保管库中不存在,或你的账户缺少访问权限。

  1. 使用 op item list --vault "保管库名称" 检查条目名称和保管库。
  2. 验证你的账户是否有保管库的读取权限。
  3. 对于服务账户,确认保管库已包含在账户的访问策略中。

"tmux not found" 或 TTY 错误

1Password CLI 交互式登录需要 TTY。该技能使用 tmux 来维持持久会话。

bash
# 安装 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
推荐

通过 Bitwarden/Vaultwarden CLI 和 API 安全读取密钥。

GitGuardian ggshield
推荐

扫描仓库中的硬编码密钥(覆盖 500+ 种密钥类型)。

Guardrails
推荐

为工具调用与高风险操作加安全护栏。

在 ClawHub 安装返回技能目录