SuperAPI AI 工具集

1password

安全与审计

查看项目

更新于 10-16 06:57

技能介绍

用途

本技能用于设置和使用 1Password CLI(命令为 op),覆盖安装 CLI、启用桌面应用集成、登录(单账户或多账户)以及执行 op 命令等场景。其核心原则是:遵循官方 CLI 入门步骤,不要猜测安装命令。

主要能力

  • 安装 1Password CLI 并验证其存在(op --version)。
  • 启用并确认桌面应用集成,确保应用处于解锁状态。
  • 在 tmux 会话内完成登录与授权(op signin),并通过 op whoami 验证访问权限。
  • 支持多账户场景,通过 --account 或 OP_ACCOUNT 指定账户。
  • 提供真实 op 命令示例(见 references/cli-examples.md)。

使用方式

工作流程如下:

  1. 检查操作系统与 shell。
  2. 验证 CLI 是否已安装:op --version。
  3. 确认桌面应用集成已启用(按 get-started 文档)且应用已解锁。
  4. 必须为所有 op 命令创建一个全新的 tmux 会话(不允许在 tmux 之外直接调用 op)。
  5. 在 tmux 内登录/授权:op signin(预期会出现应用提示)。
  6. 在 tmux 内验证访问:op whoami(必须在读取任何密钥之前成功)。
  7. 若存在多个账户:使用 --account 或 OP_ACCOUNT。

技能要求使用专用 tmux 会话(T-Max)。由于 shell 工具每条命令使用全新的 TTY,为避免重复提示和失败,应始终在带有全新 socket/会话名称的专用 tmux 会话中运行 op。示例命令如下(socket 约定参见 tmux 技能,不要复用旧会话名):

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

适用场景

  • 需要在命令行环境中安装并配置 1Password CLI。
  • 需要启用桌面应用集成并完成登录授权。
  • 需要管理单个或多个 1Password 账户的 CLI 访问。
  • 需要在自动化或脚本环境中安全地读取密钥(优先使用 op run / op inject)。

限制与安全护栏

  • 绝不将密钥粘贴到日志、聊天或代码中。
  • 优先使用 op run / op inject,而不是将密钥写入磁盘。
  • 若需要在没有桌面应用集成的情况下登录,使用 op account add。
  • 若命令返回“account is not signed in”,需在 tmux 内重新运行 op signin 并在应用中授权。
  • 不要在 tmux 之外运行 op;若 tmux 不可用,应停止并询问。

参考资料

  • references/get-started.md(安装 + 应用集成 + 登录流程)
  • references/cli-examples.md(真实 op 示例)

关于具体安装命令、支持的操作系统与 shell 范围、账户类型与定价等信息,资料中暂未提供。