iSkills 原始文档
🔐

1password

OpenClaw Skill

Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.


1Password

Skill 简介

1Password 是一个强大的命令行工具(CLI),用于集成 1Password 的各项功能到开发工作流中。该 Skill 主要帮助开发者通过命令行高效、安全地管理密码、密钥和其他敏感信息。通过 1Password CLI(op 命令),用户可以执行诸如安装 CLI、启用桌面应用集成、单账户或多账户登录,以及通过 op 命令读取、注入或运行密码等操作。

在现代开发过程中,安全性至关重要。1Password Skill 的设计初衷就是为开发者提供一个集中化、安全的方式来管理各种敏感信息,避免手动处理密码可能带来的安全风险。同时,它还支持与桌面应用的集成,确保用户能够在命令行和图形界面之间无缝切换,提升了整体的使用体验。

主要功能

  1. 安装与配置
    1Password CLI 的安装过程经过精心设计,确保用户能够快速上手。通过该 Skill,用户可以使用 brew 等包管理工具轻松安装 op 命令行工具。安装完成后,开发者可以通过简单的配置步骤,将 CLI 与 1Password 桌面应用进行集成,确保两者之间的无缝协作。

bash brew install 1password-cli

  1. 账户登录与授权
    1Password CLI 支持单账户和多账户登录。用户可以通过 op signin 命令在终端中进行登录,并通过桌面应用完成授权。这种方式不仅简化了登录流程,还增强了安全性,避免了密码在终端中被明文记录。

bash op signin --account my.1password.com

  1. 安全管理敏感信息
    该 Skill 提供了多种方式来安全地管理和使用敏感信息。例如,op runop inject 命令允许开发者在不将密码写入磁盘的情况下,将敏感信息注入到环境中。这不仅提高了安全性,还使得密码管理更加灵活和高效。

  2. 与 tmux 集成
    为了避免重复的登录提示和潜在的认证失败,1Password Skill 要求所有 op 命令都在一个专用的 tmux 会话中运行。这种方式确保了每个命令都在一个独立的 TTY 中执行,从而避免了由于终端环境变化而导致的认证问题。

bash tmux -S "$SOCKET" new -d -s "$SESSION" -n shell tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op signin --account my.1password.com" Enter

  1. 多账户管理
    对于需要管理多个 1Password 账户的用户,该 Skill 提供了 --accountOP_ACCOUNT 选项,允许用户在不同账户之间快速切换。这对于大型团队或需要同时处理多个项目的开发者来说非常有用。

  2. 安全防护机制
    1Password Skill 内置了多种安全防护机制。例如,它严格禁止将密码粘贴到日志、聊天工具或代码中,以防止敏感信息泄露。同时,它还建议用户优先使用 op runop inject 命令,而不是将密码写入磁盘,从而进一步增强安全性。

使用场景

  1. 开发环境配置
    在开发过程中,开发者经常需要使用各种 API 密钥、数据库密码等敏感信息。通过 1Password Skill,开发者可以安全地将这些信息注入到环境变量中,避免在代码中硬编码密码。

  2. 自动化脚本
    对于需要自动化执行的任务,例如 CI/CD 流水线,1Password CLI 可以集成到脚本中,安全地管理和使用敏感信息。例如,在部署过程中,脚本可以通过 op 命令获取必要的密码或密钥。

  3. 团队协作
    在团队开发中,多个成员可能需要访问相同的敏感信息。通过 1Password Skill,团队可以集中管理这些信息,并通过多账户管理功能,确保每个成员都能安全地访问所需的信息。

  4. 安全审计
    1Password CLI 提供了丰富的命令和日志功能,可以帮助团队进行安全审计。例如,通过 op vault list 命令,管理员可以查看所有密码库,并确保没有未经授权的访问。

  5. 桌面与终端的无缝切换
    对于需要在桌面应用和终端之间频繁切换的用户,1Password Skill 提供了强大的集成功能。例如,用户可以在终端中登录后,继续在桌面应用中查看和管理密码。

如何使用

安装

首先,确保你的操作系统支持 brew 包管理工具。然后,通过以下命令安装 1Password CLI:

brew install 1password-cli

配置

安装完成后,需要进行一些基本配置。首先,验证 CLI 是否正确安装:

op --version

接下来,启用桌面应用集成,并确保应用处于解锁状态。然后,创建一个新的 tmux 会话,用于运行所有 op 命令:

SOCKET_DIR="${OPENCLAW_TMUX_SOCKET_DIR:-${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/openclaw-tmux-sockets}}"
mkdir -p "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/openclaw-op.sock"
SESSION="op-auth-$(date +%Y%m%d-%H%M%S)"

tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op signin --account my.1password.com" Enter
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op whoami" Enter
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op vault list" Enter

登录

在 tmux 会话中完成登录和授权:

op signin --account my.1password.com

验证

验证登录是否成功:

op whoami

示例

示例 1:获取密码

以下示例展示了如何在 tmux 会话中获取特定密码:

tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op item get my-password --fields label=password" Enter
tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200
tmux -S "$SOCKET" kill-session -t "$SESSION"

示例 2:注入环境变量

以下示例展示了如何将密码注入到环境变量中:

eval $(op inject -- env | grep '^export')

总结

1Password Skill 为开发者提供了一种高效、安全的方式来管理敏感信息。通过其强大的命令行工具和与桌面应用的集成,开发者可以轻松地在不同环境中使用和管理密码、密钥等敏感信息。该 Skill 不仅适用于个人开发者,也非常适合需要团队协作和安全审计的团队。

对于那些希望将安全性融入到开发工作流中的开发者来说,1Password Skill 是一个理想的选择。它不仅简化了密码管理流程,还通过多种安全机制,确保了敏感信息的安全。无论是日常开发、自动化脚本,还是团队协作,1Password Skill 都能为用户提供强有力的支持。

查看原始 SKILL.md 生成于 2026-03-12 · 内容由 AI 辅助生成