1Password

Configure e use a CLI do 1Password para login, integração com desktop e leitura ou injeção de segredos.

O que é 1Password?

Esta skill configura e utiliza a CLI do 1Password para autenticação e gerenciamento de segredos em ambientes automatizados (gateways, CI) e desktops. Ela suporta três modos de autenticação: conta de serviço (recomendado para headless), integração com o aplicativo desktop (para macOS, Windows, Linux) e login interativo autônomo. Para contas de serviço e integração com desktop, a execução é direta; já para login autônomo, a skill orquestra uma sessão tmux persistente para manter o token de sessão entre comandos. A skill também orienta o uso do 1Password para Claude (preenchendo credenciais diretamente no navegador) e define barreiras rígidas contra vazamento de segredos, priorizando `op run`/`op inject` e evitando expor senhas em logs ou chat.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/skills/1password

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

CLI do 1Password

Siga as etapas oficiais de início rápido da CLI. Não adivinhe comandos de instalação.

Referências

  • references/get-started.md (instalação + integração com app + fluxo de login)
  • references/cli-examples.md (exemplos reais de op)

Fluxo de trabalho

  1. Verifique o SO + shell.
  2. Confirme a presença da CLI: op --version.
  3. Detecte o modo de autenticação que o usuário configurou:
    • Conta de serviço: a variável OP_SERVICE_ACCOUNT_TOKEN está definida (típico para configurações headless, CI, gateways).
    • Integração com app desktop: o aplicativo desktop do 1Password está em execução com a integração da CLI ativada (típico em desktops macOS / Windows / Linux).
    • Login autônomo: nenhum dos anteriores — op signin solicitará a senha da conta a cada sessão.
  4. Execute op de acordo com o modo de autenticação (veja abaixo).
  5. Verifique o acesso: op whoami deve ser bem-sucedido antes de qualquer leitura de segredo.
  6. Se houver várias contas: use --account ou OP_ACCOUNT.

Executando op por modo de autenticação

Conta de serviço (preferida para uso headless / gateway)

Execução direta. Sem tmux, sem etapa de login.

export OP_SERVICE_ACCOUNT_TOKEN="ops_..."
op vault list
op read op://app-prod/db/password

Integração com app desktop

Execução direta. Não envolva em tmux — a integração com o app desktop usa um canal IPC por usuário que é estabelecido para o ambiente de execução do gateway, mas nem sempre é alcançado de forma confiável a partir de subshells do tmux, que executam em um contexto de ambiente diferente. O transporte varia por plataforma (XPC via 1Password Browser Helper no macOS, um socket Unix no Linux, um pipe nomeado no Windows); a regra prática para um agente é a mesma em todas as três: execute op diretamente. No macOS, um indicador de sintoma útil é o contêiner do grupo de integração do 1Password em ~/Library/Group Containers/2BUA8C4S2C.com.1password/t/.

op vault list      # pode acionar Touch ID / Windows Hello / autenticação do sistema na primeira chamada
op whoami

Se uma chamada retornar 1Password CLI couldn't connect to the 1Password desktop app, não mude para tmux. Confirme que o app desktop está em execução e desbloqueado, depois tente novamente a execução direta.

Login autônomo (sem app, senha interativa)

Este é o único modo em que o tmux ajuda. op signin imprime uma exportação no estilo eval definindo um token OP_SESSION_* para shells POSIX; comandos posteriores no mesmo shell são autenticados por essa variável de ambiente. Os shells por comando do gateway perdem esse estado entre chamadas, portanto um painel tmux persistente mantém o token de sessão ativo — mas apenas se a exportação for realmente aplicada com eval em um shell POSIX. Enviar op signin como um comando simples deixa a saída impressa no painel e op whoami falhará.

O fluxo tmux é acionável apenas em hosts macOS/Linux onde a skill tmux está disponível. O exemplo abre intencionalmente /bin/sh para que a saída de eval "$(op signin ...)" seja válida mesmo quando o shell normal do usuário for fish. No Windows, prefira a integração com app desktop ou autenticação por conta de serviço. Se o usuário tiver apenas login interativo autônomo no Windows, pare e peça para fornecer um mecanismo de sessão PowerShell persistente ou mudar para integração com desktop/autenticação por conta de serviço; não traduza os comandos tmux diretamente.

SOCKET_DIR="${OPENCLAW_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/openclaw-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
chmod 700 "$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 /bin/sh
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'eval "$(op signin --account my.1password.com)"' Enter
tmux -S "$SOCKET" capture-pane -t "$SESSION":0.0 -p -S - | tail -40

Não enfileire comandos de acompanhamento enquanto o login estiver solicitando entrada. Monitore o painel com capture-pane até que o login tenha sido concluído e o prompt do shell tenha retornado, ou até que esteja claramente aguardando entrada humana. Se o prompt exigir senha, MFA ou escolha de conta, pause e peça ao usuário para concluir o login em seu próprio terminal; forneça os valores do socket e da sessão para que ele possa anexar localmente. O agente não deve executar tmux attach a partir do exec porque attach consome o TTY atual e impede o controle scriptado por send-keys / capture-pane.

Após o prompt do shell retornar, verifique enviando as verificações para o mesmo painel:

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 -t "$SESSION":0.0 -p -S - | tail -80

Mantenha a sessão tmux em execução para que comandos op read / op run posteriores reutilizem o mesmo shell autenticado.

Use os mesmos valores de SOCKET e SESSION para cada comando de acompanhamento neste fluxo de login autônomo. A flag -S "$SOCKET" seleciona o servidor socket do tmux; mantenha-o em um diretório 0700 de propriedade do usuário, não o compartilhe entre usuários e escolha um novo nome de sessão para cada nova tentativa de login.

Login no navegador (1Password para Claude)

Se a sessão expuser o Claude nas ferramentas de credenciais do Chrome (request_credentials, autofill_credential, enter_verification_code), prefira-as em vez de op para fazer login em sites: o 1Password preenche a página diretamente e o segredo nunca entra no contexto. Regras:

  • Solicite todas as credenciais que a tarefa precisa em uma única chamada request_credentials antes de navegar.
  • A aprovação é um prompt do 1Password no host do gateway. Se ficar pendente, informe ao usuário qual host desbloquear ("1Password está aguardando aprovação neste Mac") em vez de tentar novamente.
  • Nunca peça ao usuário para enviar senhas ou códigos de uso único pelo chat; códigos vão apenas através de enter_verification_code.
  • Não recorra a op read para uma senha de site apenas porque o fluxo do navegador precisa de aprovação; isso prejudica o design de não exposição. Use op para segredos consumidos por comandos e configuração, não para logins web quando o fluxo do navegador existe.

Diretrizes

  • Nunca cole segredos em logs, chat ou código.
  • Prefira op run / op inject em vez de escrever segredos no disco.
  • Se for necessário fazer login sem integração com app, use op account add primeiro.
  • Se um comando retornar "conta não está conectada":
    • conta de serviço: reexporte OP_SERVICE_ACCOUNT_TOKEN
    • app desktop: confirme que o app está em execução e a integração está ativada
    • autônomo: execute op signin novamente dentro da mesma sessão tmux e autorize

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills and agent Templates when requested; add Templates; install, verify, update, uninstall, publish, or sync skills.

claw-score

Audit or refresh OpenClaw maturity scorecard docs from root taxonomy, maturity scores, and QA evidence artifacts without using maintainer discrawl data or committed inventory reports.

Habilidades Relacionadas