Загрузки

Установите Clavitor на свою машину.

CLI предоставляет Вашим ИИ-агентам ограниченный доступ к Вашему хранилищу. Прокси прозрачно внедряет учётные данные в HTTPS-запросы. Оба являются одиночными бинарными файлами без зависимостей.

Скачать

Clavitor CLI

Single binary. Fetch credentials, generate TOTP, store new secrets. Zero dependencies.

PlatformSizeSHA-256
Linux · amd641.7 MBb81465759ca1f82c…Download
Linux · arm641.3 MBd3cb5af3fd9c736c…Download
macOS · Intel1.4 MB97f82d5a3b060d38…Download
macOS · Apple Silicon1.2 MB23c9beac8fd4dfe0…Download
Windows · amd641.5 MB25d69ebd9e8cebcd…Download
Windows · 3861.2 MBa1873dc576cc479f…Download
FreeBSD · amd641.5 MB89750dcf6e59f8f1…Download

Clavitor Proxy

HTTPS proxy that injects credentials into agent requests. WASM crypto, no CGO, zero dependencies.

PlatformSizeSHA-256
Linux · amd642.6 MB10681c485f405342…Download
Linux · arm642.1 MB467b03d5dd006420…Download
macOS · Intel2.1 MB289d74cdf2e4ed5f…Download
macOS · Apple Silicon1.7 MB950baa470ce40ff3…Download
Windows · amd642.2 MB4d39567efd100a4b…Download
Windows · 3861.8 MBfa3cae1a442e140e…Download
FreeBSD · amd642.4 MBee870cc2c717bd7c…Download

Download SHA256SUMS · verify with sha256sum -c SHA256SUMS

Расширение для браузера

Предпочитаете заполнять учётные данные в браузере? Расширение Clavitor подставляет пароли, ключи доступа, карты и одноразовые коды в поле, которое их ожидает — при этом Ваше хранилище остаётся удалённым, без кэширования или расшифровки на Вашей машине.

Доступно сейчас для Chrome. Firefox и Safari скоро.

Настроить агент

Два шага. Менее чем за минуту от установки свежего CLI до рабочего идентификатора агента.

1. Создайте агента в Вашем хранилище

В веб-интерфейсе Вашего хранилища перейдите в Агенты → Новый. Назовите агента (например, "Claude Code") и выберите, к каким записям он может обращаться. Clavitor возвращает blob регистрации и ключ регистрации. Blob запечатан (он кодирует адрес хранилища и идентичность агента); ключ является единственным секретом, который его открывает. Обращайтесь с ключом как с паролем: передайте его напрямую на машину, где выполняется агент, затем удалите.

2. Инициализируйте CLI на машине агента

$ clavitor-cli init <enrollment-blob>
Enrollment key:

CLI запрашивает ключ (он никогда не берётся из командной строки и не отображается при вводе), расшифровывает blob локально и сохраняет результат как зашифрованную локальную конфигурацию в ~/.config/clavitor/config (или $XDG_CONFIG_HOME/clavitor/config). Blob и ключ Вам больше не нужны. Следующий раздел показывает, как с этого момента агент использует CLI.

Настроить прокси

Для агентов, которые уже работают с HTTP/HTTPS — Claude Desktop, пользовательские скрипты, всё, что использует requests или fetch. Прокси располагается между агентом и вышестоящим API, разрешая плейсхолдеры clavitor://Entry/field в потоке данных, так что агент никогда не получает фактические учётные данные. См. страницу архитектуры прокси для модели угроз и деталей протокола.

Пошаговое руководство написано в разговорной манере, чтобы человек или ИИ-агент могли прочитать его от начала до конца и выполнить на реальной машине. Выберите Вашу ОС ниже — каждый раздел представляет собой отдельную шестишаговую процедуру.

Прежде чем начать: получите blob регистрации и ключ из хранилища

Вам нужны blob регистрации и его ключ регистрации из Вашего хранилища. Это единственная часть, которую может выполнить только человек — хранилище требует аппаратного касания, чтобы авторизовать нового агента.

В веб-интерфейсе хранилища перейдите в Агенты → Новый, назовите агента (например, "Локальный прокси"), выберите, к каким записям он может обращаться, и при запросе коснитесь Вашего ключа безопасности. Clavitor возвращает blob регистрации и ключ регистрации. Скопируйте оба. Шаги ниже просят Вас вставить каждый один раз, а затем забыть о них.

Linux

В приведённом ниже руководстве используется bash и предполагается, что Вы работаете на x86-64; замените arm64 на amd64, если Вы используете aarch64.

1. Скачайте бинарный файл прокси и сделайте его исполняемым. Один самодостаточный бинарный файл, без зависимостей:

$ curl -LO https://clavitor.ai/downloads/clavitor-proxy-linux-amd64
$ chmod +x clavitor-proxy-linux-amd64

2. Двоичный файл на диске. Теперь привяжите его к Вашему хранилищу. Прокси читает blob и ключ из stdin (никогда не из командной строки, чтобы они не попали в Вашу историю оболочки). Вставьте каждый из "Прежде чем начать", когда появится запрос (ключ при вводе не отображается), затем подтвердите хост хранилища, который он Вам показывает:

$ ./clavitor-proxy-linux-amd64 init
Paste enrollment blob, then press Enter:
<paste-the-blob-here>
Enrollment key:
<paste-the-key-here>

  This token enrolls the agent against vault:

      <vault-host>

  Your key authenticated the blob — NOT this host. If you did not get
  this blob from your own vault operator, answering yes hands your
  agent's credential resolution to whoever did.
  Enroll against <vault-host>? [yes/no] yes
Enrolled against vault https://<vault-host>
Vault ID <vault-id>
Config /path/to/clavitor.conf
Try: clavitor-proxy ca > ca.pem   then   clavitor-proxy serve

Что только что произошло: blob расшифрован локально ключом (без сетевого вызова), а адрес хранилища + идентичность агента + ключ расшифрования учётных данных записаны в зашифрованный файл clavitor.conf рядом с двоичным файлом (режим 0600). Blob и ключ Вам больше не нужны. Если ввод передан через конвейер, а не набран, на подтверждение хоста нельзя ответить, поэтому сначала задайте CLAVITOR_PROXY_CONFIRM_VAULT=<vault-host>.

3. Экспортируйте корневой сертификат прокси. Прокси будет терминировать каждое HTTPS-соединение, которое делает Ваш агент, и перевыпускать сертификат для каждого вышестоящего хоста на лету. Без доверия к его корневому сертификату эти сертификаты не пройдут проверку:

$ ./clavitor-proxy-linux-amd64 ca > clavitor-proxy-ca.pem

4. Установите корневой сертификат в системное хранилище доверенных сертификатов. В Debian/Ubuntu и производных:

$ sudo cp clavitor-proxy-ca.pem /usr/local/share/ca-certificates/clavitor-proxy-ca.crt
$ sudo update-ca-certificates

update-ca-certificates должен вывести 1 added. С этого момента каждый HTTPS-клиент на машине (curl, Python's requests, Go's net/http и т. д.) принимает сертификаты прокси как легитимные.

5. Запустите прокси. Он привязывается к 127.0.0.1:1983 и работает в режиме переднего плана; Ctrl-C остановит его:

$ ./clavitor-proxy-linux-amd64 serve
clavitor-proxy <version> listening on 127.0.0.1:1983
Point your agent at:  HTTPS_PROXY=http://clavitor:<token>@127.0.0.1:1983
  Token redacted above; it is stored 0600 at /path/to/proxy-auth.
  e.g.  export HTTPS_PROXY="http://clavitor:$(cat /path/to/proxy-auth)@127.0.0.1:1983"

Для постоянной настройки создайте unit systemd, указывающий на тот же бинарный файл, чтобы он перезапускался при перезагрузке — см. документацию по прокси для примера unit.

6. Направьте Вашего агента на прокси и выполните сквозную проверку. В другой оболочке, в папке, где находится двоичный файл (файл proxy-auth там — токен доступа прокси; serve выводит эту строку):

$ export HTTPS_PROXY="http://clavitor:$(cat proxy-auth)@127.0.0.1:1983"
$ curl -H "Authorization: Bearer clavitor://OpenAI/key" https://api.openai.com/v1/models

Что фактически покидает прокси и достигает серверов OpenAI — запрос, который Ваш агент никогда не видит:

GET /v1/models HTTP/1.1
Host: api.openai.com
Authorization: Bearer sk-proj-abc123def456ghi789…    ← real key, injected by the proxy
User-Agent: curl/8.4.0

Если Вы получите JSON-ответ от OpenAI, значит, всё настроено. Прокси разрешил clavitor://OpenAI/key в хранилище, используя ключ расшифровки учётных данных из шага 2, подставил реальный ключ в заголовок Authorization и перенаправил запрос вышестоящему серверу. Ваш код агента содержит только плейсхолдер; реальный ключ никогда не покидает память процесса прокси.

macOS

В приведённом ниже руководстве используется zsh (оболочка по умолчанию в macOS) и предполагается Apple Silicon; замените amd64 на arm64, если Вы используете Intel Mac.

1. Скачайте бинарный файл прокси и сделайте его исполняемым. Один самодостаточный бинарный файл, без зависимостей:

$ curl -LO https://clavitor.ai/downloads/clavitor-proxy-darwin-arm64
$ chmod +x clavitor-proxy-darwin-arm64

Если macOS Gatekeeper впервые откажется запускать бинарный файл, щелкните его правой кнопкой мыши в Finder, выберите Открыть и подтвердите — это зарегистрирует исключение. После этого вызов из командной строки будет работать.

2. Двоичный файл на диске. Теперь привяжите его к Вашему хранилищу. Прокси читает blob и ключ из stdin (никогда не из командной строки, чтобы они не попали в Вашу историю оболочки). Вставьте каждый из "Прежде чем начать", когда появится запрос (ключ при вводе не отображается), затем подтвердите хост хранилища, который он Вам показывает:

$ ./clavitor-proxy-darwin-arm64 init
Paste enrollment blob, then press Enter:
<paste-the-blob-here>
Enrollment key:
<paste-the-key-here>

  This token enrolls the agent against vault:

      <vault-host>

  Your key authenticated the blob — NOT this host. If you did not get
  this blob from your own vault operator, answering yes hands your
  agent's credential resolution to whoever did.
  Enroll against <vault-host>? [yes/no] yes
Enrolled against vault https://<vault-host>
Vault ID <vault-id>
Config /path/to/clavitor.conf
Try: clavitor-proxy ca > ca.pem   then   clavitor-proxy serve

Что только что произошло: blob расшифрован локально ключом (без сетевого вызова), а адрес хранилища + идентичность агента + ключ расшифрования учётных данных записаны в зашифрованный файл clavitor.conf рядом с двоичным файлом (режим 0600). Blob и ключ Вам больше не нужны. Если ввод передан через конвейер, а не набран, на подтверждение хоста нельзя ответить, поэтому сначала задайте CLAVITOR_PROXY_CONFIRM_VAULT=<vault-host>.

3. Экспортируйте корневой сертификат прокси. Прокси будет терминировать каждое HTTPS-соединение, которое делает Ваш агент, и перевыпускать сертификат для каждого вышестоящего хоста на лету. Без доверия к его корневому сертификату эти сертификаты не пройдут проверку:

$ ./clavitor-proxy-darwin-arm64 ca > clavitor-proxy-ca.pem

4. Установите корневой сертификат в Системный Keychain. Одна команда, запрашивает Ваш пароль sudo:

$ sudo security add-trusted-cert -d -r trustRoot \
    -k /Library/Keychains/System.keychain clavitor-proxy-ca.pem

После этого Safari, curl, Swift, Python, Go и большинство других HTTPS-клиентов на машине принимают сертификаты прокси. (Небольшое количество языковых сред выполнения поставляется со своим собственным набором доверенных сертификатов и требует отдельной настройки — в этом случае Вы увидите ошибку сертификата.)

5. Запустите прокси. Он привязывается к 127.0.0.1:1983 и работает в режиме переднего плана; Ctrl-C остановит его:

$ ./clavitor-proxy-darwin-arm64 serve
clavitor-proxy <version> listening on 127.0.0.1:1983
Point your agent at:  HTTPS_PROXY=http://clavitor:<token>@127.0.0.1:1983
  Token redacted above; it is stored 0600 at /path/to/proxy-auth.
  e.g.  export HTTPS_PROXY="http://clavitor:$(cat /path/to/proxy-auth)@127.0.0.1:1983"

Для постоянной настройки установите его как агент launchd, чтобы он запускался при входе в систему и перезапускался при сбое.

6. Направьте Вашего агента на прокси и выполните сквозную проверку. В другой оболочке, в папке, где находится двоичный файл (файл proxy-auth там — токен доступа прокси; serve выводит эту строку):

$ export HTTPS_PROXY="http://clavitor:$(cat proxy-auth)@127.0.0.1:1983"
$ curl -H "Authorization: Bearer clavitor://OpenAI/key" https://api.openai.com/v1/models

Что фактически покидает прокси и достигает серверов OpenAI — запрос, который Ваш агент никогда не видит:

GET /v1/models HTTP/1.1
Host: api.openai.com
Authorization: Bearer sk-proj-abc123def456ghi789…    ← real key, injected by the proxy
User-Agent: curl/8.4.0

Если Вы получите JSON-ответ от OpenAI, значит, всё настроено. Прокси разрешил clavitor://OpenAI/key в хранилище, используя ключ расшифровки учётных данных из шага 2, подставил реальный ключ в заголовок Authorization и перенаправил запрос вышестоящему серверу. Ваш код агента содержит только плейсхолдер; реальный ключ никогда не покидает память процесса прокси.

Windows

В приведённом ниже руководстве используется PowerShell и предполагается 64-разрядная Windows; замените windows-386.exe на windows-amd64.exe, если Вы используете 32-разрядную версию.

1. Скачайте бинарный файл прокси. Один самодостаточный .exe, без зависимостей:

> Invoke-WebRequest https://clavitor.ai/downloads/clavitor-proxy-windows-amd64.exe `
    -OutFile clavitor-proxy.exe

Windows SmartScreen может показать предупреждение при первом запуске неподписанного бинарного файла — нажмите Дополнительные сведения → Запустить в любом случае, чтобы разрешить его.

2. Двоичный файл на диске. Теперь привяжите его к Вашему хранилищу. Прокси читает blob и ключ из stdin (никогда не из командной строки, чтобы они не попали в Вашу историю PowerShell). Вставьте каждый из "Прежде чем начать", когда появится запрос (ключ при вводе не отображается), затем подтвердите хост хранилища, который он Вам показывает:

> .\clavitor-proxy.exe init
Paste enrollment blob, then press Enter:
<paste-the-blob-here>
Enrollment key:
<paste-the-key-here>

  This token enrolls the agent against vault:

      <vault-host>

  Your key authenticated the blob — NOT this host. If you did not get
  this blob from your own vault operator, answering yes hands your
  agent's credential resolution to whoever did.
  Enroll against <vault-host>? [yes/no] yes
Enrolled against vault https://<vault-host>
Vault ID <vault-id>
Config C:\path\to\clavitor.conf
Try: clavitor-proxy ca > ca.pem   then   clavitor-proxy serve

Что только что произошло: blob расшифрован локально ключом (без сетевого вызова), а адрес хранилища + идентичность агента + ключ расшифрования учётных данных записаны в зашифрованный файл clavitor.conf рядом с двоичным файлом. Blob и ключ Вам больше не нужны. Если ввод передан через конвейер, а не набран, на подтверждение хоста нельзя ответить, поэтому сначала задайте CLAVITOR_PROXY_CONFIRM_VAULT=<vault-host>.

3. Экспортируйте корневой сертификат прокси. Прокси будет терминировать каждое HTTPS-соединение, которое делает Ваш агент, и перевыпускать сертификат для каждого вышестоящего хоста на лету. Без доверия к его корневому сертификату эти сертификаты не пройдут проверку:

> .\clavitor-proxy.exe ca > clavitor-proxy-ca.pem

4. Установите корневой сертификат в хранилище доверенных корневых сертификатов локального компьютера. Откройте повышенный PowerShell (щелкните правой кнопкой мыши PowerShell → Запуск от имени администратора) и выполните:

> certutil -addstore -f "ROOT" clavitor-proxy-ca.pem

После этого Edge, .NET, curl.exe и большинство HTTP-клиентов на машине принимают сертификаты прокси. (Firefox поддерживает свой собственный набор доверенных сертификатов; если Вы тестируете через Firefox, импортируйте корневой сертификат отдельно в разделе Настройки → Конфиденциальность и безопасность → Сертификаты → Просмотреть сертификаты → Центры сертификации → Импорт.)

5. Запустите прокси. Он привязывается к 127.0.0.1:1983 и работает в режиме переднего плана; Ctrl-C остановит его:

> .\clavitor-proxy.exe serve
clavitor-proxy <version> listening on 127.0.0.1:1983
Point your agent at:  HTTPS_PROXY=http://clavitor:<token>@127.0.0.1:1983
  Token redacted above; it is stored 0600 at C:\path\to\proxy-auth.
  e.g.  export HTTPS_PROXY="http://clavitor:$(cat C:\path\to\proxy-auth)@127.0.0.1:1983"

Для постоянной настройки зарегистрируйте его как службу Windows или запланированную задачу, чтобы он запускался при загрузке.

6. Направьте Вашего агента на прокси и выполните сквозную проверку. В другом окне PowerShell, в папке, где находится двоичный файл (файл proxy-auth там — токен доступа прокси):

> $env:HTTPS_PROXY = "http://clavitor:$(Get-Content proxy-auth)@127.0.0.1:1983"
> curl.exe -H "Authorization: Bearer clavitor://OpenAI/key" `
    https://api.openai.com/v1/models

(Явно используйте curl.exe — псевдоним curl в PowerShell указывает на Invoke-WebRequest, который по-разному обрабатывает переменную среды прокси.) Что фактически покидает прокси и достигает серверов OpenAI — запрос, который Ваш агент никогда не видит:

GET /v1/models HTTP/1.1
Host: api.openai.com
Authorization: Bearer sk-proj-abc123def456ghi789…    ← real key, injected by the proxy
User-Agent: curl/8.4.0

Если Вы получите JSON-ответ от OpenAI, значит, всё настроено. Прокси разрешил clavitor://OpenAI/key в хранилище, используя ключ расшифровки учётных данных из шага 2, подставил реальный ключ в заголовок Authorization и перенаправил запрос вышестоящему серверу. Ваш код агента содержит только плейсхолдер; реальный ключ никогда не покидает память процесса прокси.

Установите навык Claude Code

CLI поставляется со встроенным определением навыка, которое обучает Claude Code использовать Ваше хранилище. Одна команда устанавливает его.

# Install globally (all projects)
$ clavitor-cli skill > ~/.claude/skills/clavitor.md

# Or install for a specific project
$ clavitor-cli skill > /path/to/project/.claude/skills/clavitor.md

Навык встроен в бинарный файл. Обновляйте его, скачивая новый релиз.

Используйте его

Ваш агент теперь может получать учётные данные, генерировать коды TOTP и сохранять новые секреты. Каждый доступ регистрируется в журнале аудита хранилища.

# Fetch a credential
$ clavitor-cli get github

# Generate a TOTP code
$ clavitor-cli totp github

# Store a new credential
$ clavitor-cli put credential "AWS Prod" --username admin --password s3cret

# List all entries
$ clavitor-cli list

Один вызов CLI. Любой секрет.

Ваше хранилище, Ваши области доступа, Ваш журнал аудита. Никаких переменных среды, никаких файлов конфигурации, никаких секретов в логах.