name: 1password description: 设置和使用 1Password 命令行界面 (op)。在安装 CLI、启用桌面应用集成、登录(单账户或多账户)或通过 op 读取/注入/运行密钥时使用。 homepage: https://developer.1password.com/docs/cli/get-started/ metadata: { “openclaw”: { “emoji”: “🔐”, “requires”: { “bins”: [“op”] }, “install”: [ { “id”: “brew”, “kind”: “brew”, “formula”: “1password-cli”, “bins”: [“op”], “label”: “安装 1Password CLI (brew)”, }, ], }, }
1Password 命令行界面
遵循官方的 CLI 入门步骤。不要猜测安装命令。
参考文档
references/get-started.md(安装 + 应用集成 + 登录流程)references/cli-examples.md(真实的op示例)
工作流程
- 检查操作系统 + 终端类型。
- 验证 CLI 是否存在:
op --version。 - 确认桌面应用集成已启用(根据入门指南)并且应用已解锁。
- 必需:为所有
op命令创建一个新的 tmux 会话(不要在 tmux 外部直接调用op)。 - 在 tmux 内登录 / 授权:
op signin(预期会出现应用提示)。 - 在 tmux 内验证访问权限:
op whoami(在读取任何密钥之前必须成功)。 - 如果使用多个账户:请使用
--account或OP_ACCOUNT环境变量。
必需的 tmux 会话 (T-Max)
Shell 工具每个命令都使用一个新的 TTY。为了避免重复提示和失败,请始终在具有新套接字/会话名称的专用 tmux 会话中运行 op。
示例(请参阅 tmux 技能了解套接字约定,不要重用旧的会话名称):
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 -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200
tmux -S "$SOCKET" kill-session -t "$SESSION"
安全护栏
- 切勿将密钥粘贴到日志、聊天或代码中。
- 优先使用
op run/op inject,而不是将密钥写入磁盘。 - 如果需要在不集成桌面应用的情况下登录,请使用
op account add。 - 如果命令返回“账户未登录”,请在 tmux 内重新运行
op signin并在应用中授权。 - 不要在 tmux 外部运行
op;如果 tmux 不可用,请停止并询问。