Coi: запуск AI-кодовщиков в изолированных контейнерах
Coi (Code on Incus) — инструмент для запуска AI-кодовщиков в изолированных контейнерах. Он позволяет выполнить свой проект на полностью виртуализованной Linux-системе, где AI-агент работает с root-доступом и имеет возможность устанавливать Docker и другие нужные инструменты.
Проект решает проблему безопасности при использовании AI-кодовщиков. Работая в изоляции, агенты не имеют доступа к хост-системе и не могут видеть конфиденциальные данные, такие как SSH-ключи или токены. Если агент начинает вести себя подозрительно, Coi автоматически останавливает контейнер. Это делает его подходящим для разработчиков, которым важно защищать свои данные при взаимодействии с AI.
Coi написан на Go. Для запуска достаточно выполнить три команды: установить, собрать базовый образ и запустить сессию в нужной директории. Учти, что проект всё ещё находится на ранней стадии разработки.
Проект Coi (Code on Incus) предлагает решение для запуска AI-инструментов программирования внутри изолированного контейнера на базе полноценной Linux-системы. Это позволяет существенно повысить безопасность, так как контейнер не имеет доступа к хосту, а любые потенциально опасные действия со стороны AI-агента могут быть автоматически остановлены.
В отличие от обычных контейнеров, Coi использует систему контейнеров Incus, которая позволяет создать полное окружение с root-доступом, поддержкой systemd и Docker, что делает его особенно подходящим для работы с различными инструментами программирования. Благодаря этому, ты можешь легко управлять своими проектами, не беспокоясь о безопасности своих данных и системных ресурсов.
Установка и запуск
Установка Coi осуществляется в три простых команды:
# 1. Установка
curl -fsSL https://raw.githubusercontent.com/coipond/coi/master/install.sh | bash
# 2. Сборка базового образа (требуется только в первый раз, ~5-10 мин)
coi build
# 3. Начало работы с любым проектом
cd your-project
coi shell
После выполнения последних шагов, агент запустится в изолированном контейнере с доступом к твоему проекту в директории `/workspace`. При этом, права на файлы останутся корректными, а данные, такие как SSH-ключи и переменные окружения, не будут доступны внутри контейнера, если ты сам не решишь их передать.
Кому подходит Coi
- Ты работаешь с AI-кодирующими агентами и хочешь, чтобы у них был полный доступ к машине без риска для хоста.
- Тебе важно быть в курсе действий агента, особенно если они вызывают подозрения.
- Ты запускаешь несколько агентов одновременно и нуждаешься в их изоляции друг от друга.
- Ты хочешь иметь постоянные рабочие среды, которые сохраняются после перезапуска.
- Ты заботишься о том, чтобы твои учетные данные не попадали в окружение под контролем агента.
Основные возможности
- Полноценная система, а не запертая коробка — контейнеры Incus обеспечивают работу агента в полнофункциональной ОС.
- Корректные права на файлы — изменения сохраняются на хосте с правильными правами.
- Безопасность данных — учетные данные остаются на хосте и не передаются в контейнер.
- Активная защита — мониторинг на уровне ядра позволяет предотвращать взломы и утечки.
- Изоляция сети — контроль egress с тремя режимами (открытый, ограниченный, разрешенный список).
- Параллельные агенты — несколько экземпляров для одного проекта с изоляцией окружений.
Профили
Проект поддерживает создание профилей — переиспользуемых шаблонов для настройки окружения:
# Пример создания профиля
coi profile create rust-dev
coi shell --profile rust-dev
Профили позволяют удобно управлять настройками окружения для разных проектов и AI-инструментов, а также поддерживают наследование параметров.
Поддерживаемые AI-инструменты
Сейчас Coi поддерживает следующие инструменты:
- Claude Code (по умолчанию)
- Codex CLI
- opencode
- pi
- omp (Oh My Pi)
Ты можешь выбрать нужный инструмент в конфигурации или профиле проекта.
Coi подходит для разработчиков, которые ценят безопасность и контроль в процессе работы с AI-инструментами. Он помогает создать безопасное, изолированное программное окружение, которое при этом остается удобным в использовании.
Открыть на GitHub: coipond/coi →
RepoRadar