
onecli v2.0.1
Открытый исходный код песочницы для агентов для команд. Предоставление каждому сотруднику защищённого личного агента.
Агентная среда, созданная для команд.
Профессиональный ассистент для компаний. Дайте каждому сотруднику защищённого персонального агента в песочнице.
Сайт · Документация · Discord
Быстрый старт
Облачный хостинг: onecli.sh
Самостоятельный хостинг
git clone https://github.com/onecli/onecli.git && cd onecli
pnpm install
pnpm run setup
Откройте http://localhost:10254
В Kubernetes вместо этого установите Helm chart:
helm install onecli oci://ghcr.io/onecli/charts/onecli. Оба варианта описаны в
руководстве по самостоятельному размещению.
Что такое OneCLI v2?
OneCLI — это открытая платформа для работы AI-агентов как команды. Вы создаёте агента для каждого человека, даёте каждому агенту необходимый доступ, и он работает в песочнице, маршрутизируясь через шлюз, который внедряет учётные данные и применяет вашу политику.
Зачем мы создали OneCLI?
OneCLI начинался как хранилище учётных данных для AI-агентов, написанное на Rust. Мы обнаружили, что большая часть спроса исходила от отдельных пользователей и команд, запускающих автономных агентов, таких как Hermes, OpenClaw и NanoClaw. Люди хотели агентов, которые выполняют реальную работу для запускающего их человека, но не хватало двух частей:
- управления секретами и разрешениями.
- а для команд — многопользовательского управления.
Каждый автономный агент создан для одного человека. И для одного человека они отлично работают. Но как только нужно масштабировать это на команду, всё становится запутанным: запуск каждого агента, определение того, что каждый из них может и не может делать, их хостинг, отслеживание того, чей агент кому принадлежит.
Поэтому мы изменили подход и создали OneCLI v2.
Создан для команд
- Интеграция с вашим провайдером идентификации: создание агентов от имени идентичности каждого сотрудника, напрямую из корпоративного IdP.
- Агент для каждого человека: каждый в рабочем пространстве получает собственного изолированного агента, доступного из панели управления или Slack.
- Единая политика, применяемая везде: управляйте командной политикой в одном месте, и она будет применяться к любому агенту в рабочих пространствах.
- Детерминированные подтверждения с участием человека: прямо в чате, для действий, над которыми нужен 100% контроль, например отправка письма, удаление тикета в Linear, очистка S3-бакета.
- Общие подключения: подключаются один раз на уровне команды, например ключи LLM или сервисные аккаунты, и предоставляются каждому агенту, никогда не передаваясь ему напрямую.
Агент
Агент — это долговечная сущность, а не один промпт. У него есть:
- Компьютер: собственная изолированная песочница с файловой системой и оболочкой. Единственный выход — через шлюз, поэтому он может получить доступ только к тому, что вы предоставили, и ни к чему больше.
- Диалог: собственная страница в панели управления или в Slack. Включая изображения и файлы. Сообщение, отправленное во время работы агента, немедленно перенаправляет его, а не ставится в очередь за ним.
- Память: то, что агент узнаёт, сохраняется платформой, поэтому никогда не теряется. Вы можете читать и редактировать её в любое время.
- Навыки: инструкции и помощники, которые вы пишете один раз и которые всегда доступны агенту.
- Расписание: агент может планировать будущую работу, и платформа разбудит его в нужное время.
- Учётные данные, которых он никогда не видит: каждый агент получает только предоставленный вами доступ, и шлюз применяет его при каждом запросе. Или подключите Bitwarden или 1Password для внедрения по требованию, при этом на сервере ничего не хранится.
- Собственное приложение Slack: подключите его один раз, и оно будет отвечать в каналах и личных сообщениях под своим именем и аватаром, с файлами и изображениями. Удалите агента — и его приложение Slack удалится вместе с ним.
Агенты работают на вашей собственной инфраструктуре. Раннер работает только на исходящие соединения и не имеет входящих портов, поэтому ноутбук, домашний сервер или VPC за NAT — всё работает без входящего трафика и без туннеля.
Архитектура
- Веб-панель: приложение на Next.js. Создавайте агентов, общайтесь с ними, редактируйте их память и навыки, управляйте подключениями, секретами и разрешениями.
- API-сервер: плоскость управления. Владеет базой данных, плоскостью диалогов и очередью задач, которую опрашивает runner.
- Rust-шлюз: перехватывает исходящие запросы (включая HTTPS, через MITM) и внедряет учётные данные. Агенты аутентифицируются с помощью токенов доступа через заголовки
Proxy-Authorization. - Runner: запускает, приостанавливает и очищает песочницы агентов. Работает только на исходящих соединениях и никогда не обращается к базе данных.
- Супервизор песочницы: работает внутри каждой песочницы, реализуя вендор-нейтральный интерфейс harness, чтобы среду выполнения агента можно было заменять.
- SSH-терминатор: входная точка SSH — завершает соединения
sshс помощью краткоживущих сертификатов и связывает их с песочницами агентов через подключаемый бэкенд субстрата. - Адаптер каналов: демон Slack, по одному приложению на агента.
- Хранилище секретов: AES-256-GCM при хранении, расшифровка только во время запроса, сопоставление по хосту и шаблону пути, внедрение в виде заголовков или параметров запроса.
Локальная разработка
git clone https://github.com/onecli/onecli.git && cd onecli
mise install
pnpm install
pnpm dev