关于 1password
指导安全使用 1Password CLI,包括安装检查、登录和账户验证。要求在新的 tmux 会话中运行命令,并避免将机密写入日志或文件。
主要功能
- 01检查 CLI 安装与版本
- 02通过应用集成完成登录
- 03在全新的 tmux 会话中运行命令
- 04读取机密前验证账户访问
- 05避免机密出现在日志或文件中
适用场景
- 01配置 1Password CLI 访问
- 02在 tmux 中重新授权账户
- 03读取机密前确认账户身份
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ letta-ai/ skills --skill 1password安装后在 Claude Code 中输入/1password确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEassets/1password-small.svgreferences/cli-examples.mdget-started.md详细介绍
1Password CLI
请遵循官方 CLI 入门步骤。不要猜测安装命令。
前置条件
- tmux 是确保
op命令可靠运行的必需工具(shell 工具每次执行命令都会使用新的 TTY,不使用 tmux 会导致重新认证问题)- macOS:
brew install tmux - Linux(Debian/Ubuntu):
sudo apt install tmux - Linux(RHEL/Fedora):
sudo dnf install tmux
- macOS:
参考资料
references/get-started.md(安装、应用集成和登录流程)references/cli-examples.md(实际的op示例)
工作流
- 检查操作系统和 shell。
- 验证 CLI 是否已安装:
op --version。 - 确认已启用桌面应用集成(按照入门指南),且应用已解锁。
- **必需:**为所有
op命令创建一个新的 tmux 会话(不要在 tmux 外直接调用op)。 - 在 tmux 中登录/授权:
op signin(应出现应用提示)。 - 在 tmux 中验证访问权限:
op whoami(读取任何机密信息前必须成功)。 - 如果有多个账户:使用
--account或OP_ACCOUNT。
必需的 tmux 会话
shell 工具每次执行命令都会使用新的 TTY。为避免重复提示和失败,请始终在专用的 tmux 会话中运行 op,并使用新的 socket 和会话名称。
Socket 约定:
- 将 socket 放在
${LETTA_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/letta-tmux-sockets}下,以便隔离且易于清理。 - 使用带时间戳的会话名称(例如
op-auth-$(date +%Y%m%d-%H%M%S)),确保绝不复用旧会话——之前的认证状态可能已过期或损坏。 - 完成后终止会话(
tmux -S "$SOCKET" kill-session -t "$SESSION"),避免留下长期运行的 tmux 进程。
完整示例:
SOCKET_DIR="${LETTA_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/letta-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/letta-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。 - 如果命令返回“account is not signed in”,请在 tmux 中重新运行
op signin,并在应用中授权。 - 不要在 tmux 外运行
op;如果 tmux 不可用,请停止并询问。
评论
支持 Markdown