{/ Эта страница автоматически создается на основе файла SKILL.md навыка с помощью сайта site/scripts/generate-skill-docs.py. Редактируйте исходный код SKILL.md, а не эту страницу. /}

1Пароль

Настройте и используйте 1Password CLI (оп). Используйте при установке интерфейса командной строки, включая интеграцию настольных приложений, вход в систему и чтение/ввод секретов для команд.

Метаданные навыков

Источник Необязательно — установите с помощью hermesskills installofficial/security/1password
Путь необязательные навыки/безопасность/1пароль
Версия 1.0.0
Автор arceus77-7, улучшенный агентом Гермеса
Лицензия Массачусетский технологический институт
Платформы Linux, MacOS, Windows
Теги security, secrets, 1password, op, cli

Ссылка: полная версия SKILL.md:::информация

Ниже приведено полное определение навыка, которое Гермес загружает при активации этого навыка. Это то, что агент видит в качестве инструкций, когда навык активен.

1Пароль CLI

Используйте этот навык, когда пользователю нужны секреты, управляемые через 1Password, а не текстовые переменные окружения или файлы.

Требования

Когда использовать

Методы аутентификации

Сервисная учетная запись (рекомендуется для Hermes)

Установите OP_SERVICE_ACCOUNT_TOKEN в ~/.hermes/.env (навык запросит это при первой загрузке). Никакого настольного приложения не требуется. Поддерживает op read, op inject, op run.

export OP_SERVICE_ACCOUNT_TOKEN="your-token-here"
op whoami  # verify — should show Type: SERVICE_ACCOUNT

Интеграция настольных приложений (интерактивная)

  1. Включите в настольном приложении 1Password: Настройки → Разработчик → Интеграция с 1Password CLI.
  2. Убедитесь, что приложение разблокировано.
  3. Запустите команду «op Signin» и подтвердите биометрическую подсказку.

Сервер подключения (локальный)

export OP_CONNECT_HOST="http://localhost:8080"
export OP_CONNECT_TOKEN="your-connect-token"

Настройка

  1. Установите интерфейс командной строки:
# macOS
brew install 1password-cli

# Linux (official package/install docs)
# See references/get-started.md for distro-specific links.

# Windows (winget)
winget install AgileBits.1Password.CLI
  1. Проверьте:
op --version
  1. Выберите метод авторизации выше и настройте его.

Шаблон выполнения Hermes (последовательность действий в настольном приложении)

Команды терминала Hermes по умолчанию неинтерактивны и могут терять контекст аутентификации между вызовами. Для надежного использования op с интеграцией настольных приложений выполняйте операции входа в систему и секретные операции внутри выделенного сеанса tmux.

Примечание. Это НЕ требуется при использовании OP_SERVICE_ACCOUNT_TOKEN — токен автоматически сохраняется при вызовах терминала.

SOCKET_DIR="${TMPDIR:-/tmp}/hermes-tmux-sockets"
mkdir -p "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/hermes-op.sock"
SESSION="op-auth-$(date +%Y%m%d-%H%M%S)"

tmux -S "$SOCKET" new -d -s "$SESSION" -n shell

# Sign in (approve in desktop app when prompted)
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "eval \"\$(op signin --account my.1password.com)\"" Enter

# Verify auth
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op whoami" Enter

# Example read
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op read 'op://Private/Npmjs/one-time password?attribute=otp'" Enter

# Capture output when needed
tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200

# Cleanup
tmux -S "$SOCKET" kill-session -t "$SESSION"

Общие операции

Прочитай секрет

op read "op://app-prod/db/password"

Получить OTP

op read "op://app-prod/npm/one-time password?attribute=otp"

Внедрить в шаблон

echo "db_password: {{ op://app-prod/db/password }}" | op inject

Запустите команду с секретной переменной env

export DB_PASSWORD="op://app-prod/db/password"
op run -- sh -c '[ -n "$DB_PASSWORD" ] && echo "DB_PASSWORD is set" || echo "DB_PASSWORD missing"'

Ограждения

CI / Безголовая заметка

Для неинтерактивного использования выполните аутентификацию с помощью OP_SERVICE_ACCOUNT_TOKEN и избегайте интерактивного входа в систему. Для учетных записей служб требуется CLI v2.18.0+.

Ссылки