一聚教程网:一个值得你收藏的教程网站

热门教程

1Password CLI: 安全机密管理 - Openclaw Skills

时间:2026-08-18 14:30:02 编辑:袖梨 来源:一聚教程网

什么是 1Password CLI 集成?

1Password CLI 技能使 AI 编码代理能够在安全终端环境内直接与您的 1Password 保鲜库交互。通过利用 Openclaw Skills,开发人员可以自动设置官方 1Password 命令行工具 (op),处理复杂的多账户身份验证,并检索机密,而无需将敏感数据暴露给明文日志或聊天界面。

此技能旨在架起 AI 自动化与安全凭据管理之间的桥梁。它确保敏感的 API 密钥和环境变量通过 1Password 的安全基础设施进行处理,利用桌面应用集成进行生物识别或主密码验证,同时为代理的任务保持持久会话。

下载入口:https://github.com/openclaw/skills/tree/main/skills/steipete/1password

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install 1password

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 <project>/skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 1password。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

1Password CLI 集成 应用场景

  • 在 macOS 和 Linux 系统上自动安装 1Password CLI。
  • 为本地开发脚本安全地获取环境变量,无需手动输入。
  • 在自动化部署过程中,使用 op inject 将凭据注入配置文件。
  • 管理多个 1Password 账户并在不同项目之间切换。
  • 在 AI 驱动的会话中验证当前的身份验证状态和保鲜库访问权限。
1Password CLI 集成 工作原理
  1. 代理识别操作系统和 Shell,以确保 1Password CLI 的环境正确。
  2. 验证 op 二进制文件是否存在,必要时通过 Homebrew 安装。
  3. 创建一个带有唯一套接字名称的专用 tmux 会话,以管理 CLI 的 TTY 需求。
  4. 代理启动身份验证流程,提示用户解锁其 1Password 桌面应用程序。
  5. 在隔离的 tmux 会话中执行命令,根据请求读取、搜索或注入机密。
  6. 代理安全地捕获命令输出,并在任务完成后终止 tmux 会话。

1Password CLI 集成 配置指南

要将此集成与 Openclaw Skills 配合使用,请先确保已安装 1Password 桌面应用。然后,通过包管理器安装 CLI:

brew install 1password-cli

在 1Password 设置(设置 > 开发者 > CLI 集成)中启用 CLI 集成。最后,确保系统中已安装 tmux,因为此技能需要它进行安全会话处理。然后,您可以通过代理触发登录流程以开始访问保鲜库。

1Password CLI 集成 数据架构与分类体系

该技能使用以下结构管理其操作状态和安全元数据:

组件 详情
二进制名称 op (1Password CLI)
会话处理 通过 CLAWDBOT_TMUX_SOCKET_DIR 隔离 tmux 套接字
会话命名 带时间戳的会话 (例如 op-auth-YYYYMMDD-HHMMSS)
身份验证 在特定 tmux 套接字内保持持久,直至会话终止
输出防护 使用窗格捕获以防止机密泄漏到标准输出流中
name: 1password
description: 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.
homepage: https://developer.1password.com/docs/cli/get-started/
metadata: {"clawdbot":{"emoji":"??","requires":{"bins":["op"]},"install":[{"id":"brew","kind":"brew","formula":"1password-cli","bins":["op"],"label":"Install 1Password CLI (brew)"}]}}

1Password CLI

Follow the official CLI get-started steps. Don't guess install commands.

References

  • references/get-started.md (install + app integration + sign-in flow)
  • references/cli-examples.md (real op examples)

Workflow

  1. Check OS + shell.
  2. Verify CLI present: op --version.
  3. Confirm desktop app integration is enabled (per get-started) and the app is unlocked.
  4. REQUIRED: create a fresh tmux session for all op commands (no direct op calls outside tmux).
  5. Sign in / authorize inside tmux: op signin (expect app prompt).
  6. Verify access inside tmux: op whoami (must succeed before any secret read).
  7. If multiple accounts: use --account or OP_ACCOUNT.

REQUIRED tmux session (T-Max)

The shell tool uses a fresh TTY per command. To avoid re-prompts and failures, always run op inside a dedicated tmux session with a fresh socket/session name.

Example (see tmux skill for socket conventions, do not reuse old session names):

SOCKET_DIR="${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/clawdbot-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/clawdbot-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"

Guardrails

  • Never paste secrets into logs, ch@t, or code.
  • Prefer op run / op inject over writing secrets to disk.
  • If sign-in without app integration is needed, use op account add.
  • If a command returns "account is not signed in", re-run op signin inside tmux and authorize in the app.
  • Do not run op outside tmux; stop and ask if tmux is unavailable.

热门栏目