- Дата публикации
OneCLI: сейф для API‑ключей ваших AI‑агентов на Rust
Что появилось / что изменилось
OneCLI — это открытый шлюз между AI‑агентами и внешними сервисами. Он прячет реальные API‑ключи и подставляет их на лету, пока агент делает обычные HTTP‑запросы.
Ключевые новшества:
- Единый «сейф» для ключей: вы один раз сохраняете секреты в OneCLI, а дальше он сам подставляет их во все запросы агентов.
- Прозрачная подмена ключей: агент отправляет запрос с фейковым ключом (
FAKE_KEY), шлюз заменяет его на реальный (REAL_KEY) и добавляет в исходящий запрос. - Шлюз на Rust: быстрый HTTP‑прокси с перехватом HTTPS‑трафика (MITM) и безопасной работой с памятью.
- Веб‑панель на Next.js: интерфейс для управления агентами, секретами и правами доступа, плюс API для самого шлюза.
- Шифрованное хранилище секретов: AES‑256‑GCM, расшифровка только в момент запроса.
- Маршрутизация по host и path: можно задать, какие ключи подставлять для конкретных доменов и путей.
- Мультиагентный режим: у каждого агента свой access‑token и свои разрешения.
- Два режима авторизации: одиночный режим без логина для локальной машины или вход через Google OAuth для команды.
- Без внешней БД по умолчанию: в контейнере встроен PGlite, но можно подключить свой PostgreSQL.
- Быстрый старт через Docker: один контейнер с веб‑панелью, шлюзом и PGlite.
Как это работает
Архитектура OneCLI состоит из трёх основных частей:
-
Rust‑шлюз (proxy)
Работает как HTTP‑прокси и перехватывает исходящие запросы агентов. Агенты ходят через него и аутентифицируются с помощью access‑token в заголовкеProxy-Authorization. Шлюз подбирает правильные креденшелы по домену и пути, расшифровывает их и добавляет в запрос — обычно через заголовки. -
Веб‑панель и API (Next.js)
Это дашборд по адресуhttp://localhost:10254. Через него вы создаёте агентов, задаёте им права, добавляете секреты и описываете, к каким хостам и путям они имеют доступ. Этот же сервис предоставляет API, которое использует шлюз для поиска нужных ключей. -
Хранилище секретов
Креденшелы шифруются алгоритмом AES‑256‑GCM. Ключ шифрования задаётся переменнойSECRET_ENCRYPTION_KEYили генерируется автоматически. Секреты расшифровываются только в момент запроса, когда шлюз уже понял, какие данные нужны для конкретного host/path.
Запуск локально выглядит так:
docker run --pull always \
-p 10254:10254 -p 10255:10255 \
-v onecli-data:/app/data \
ghcr.io/onecli/onecli
После этого вы открываете http://localhost:10254, создаёте агента, добавляете секреты и настраиваете у агента HTTP‑прокси на localhost:10255.
Альтернатива — docker compose из репозитория:
git clone https://github.com/onecli/onecli.git
cd onecli/docker
docker compose up
Для локальной разработки без контейнера нужны mise, Node.js, pnpm и Rust. Дальше — стандартный цикл: pnpm install, генерация Prisma‑клиента, инициализация БД и запуск pnpm dev.
Что это значит для вас
OneCLI нужен в ситуациях, когда:
- вы строите AI‑агентов, которые ходят в десятки внешних API;
- вы не хотите вшивать реальные ключи в код, промпты или конфиги агентов;
- вам важно централизованно управлять доступом, видеть, кто к чему ходит, и быстро менять ключи.
Где OneCLI особенно полезен:
- AI‑оркестраторы и фреймворки агентов. Можно выдать агенту только access‑token OneCLI, а не ключи Stripe, GitHub или облаков.
- Командная разработка. Разработчики и продакшен‑агенты используют один шлюз, но с разными правами и наборами секретов.
- Локальная отладка. Режим single‑user без логина позволяет быстро поднять всё на ноутбуке и не возиться с внешней БД.
Где стоит подумать дважды:
- Жёсткие корпоративные политики безопасности. Придётся отдельно оценить, можно ли держать все секреты в одном шлюзе и как он впишется в существующую инфраструктуру.
- Проекты без HTTP‑интеграций. Если ваши агенты почти не ходят во внешние API, выгода будет минимальной.
OneCLI распространяется под лицензией Apache‑2.0, исходники доступны на GitHub. Продукт не завязан на конкретного облачного провайдера и запускается локально, так что ограничения по регионам и VPN зависят только от ваших внешних API, а не от самого OneCLI.
Место на рынке
OneCLI занимает нишу между классическими менеджерами секретов и специализированными инструментами для AI‑агентов.
По сути, это «vault‑прослойка» именно для HTTP‑запросов агентов:
- в отличие от обычных хранилищ секретов, OneCLI сам подставляет ключи в запросы и не даёт агенту увидеть оригинальные значения;
- в отличие от монолитных AI‑платформ, он не привязан к конкретному вендору и работает как отдельный прокси.
Технические отличия:
- шлюз написан на Rust и фокусируется на скорости и безопасности памяти;
- шифрование секретов реализовано через AES‑256‑GCM, а не через собственные схемы;
- по умолчанию всё крутится в одном контейнере с PGlite, но при желании можно перевести на PostgreSQL.
Прямых числовых сравнений с другими решениями авторы не приводят. Фокус OneCLI — не на конкуренции с конкретным продуктом, а на том, чтобы агенты никогда не видели реальные ключи, а вы управляли доступом через один понятный шлюз.