
Локальный API-шлюз для ИИ-агентов кодирования с распределением затрат на каждого инженера, жесткими бюджетами, управлением исходящим трафиком (сканирование секретов/сущностей), наблюдаемостью ротации контекста и экспортами, готовыми к аудиту. Работает внутри вашей VPC.
Локальная панель управления для ИИ-агентов, пишущих код. Распределение затрат по инженерам · жёсткие бюджеты · контроль исходящего трафика · мониторинг контекстной деградации · экспорт, готовый для аудита — всё внутри вашего VPC.
Conduit размещается между вашими ИИ-агентами (Claude Code, Cursor, Codex, Aider) и любым провайдером, который вы уже используете (Anthropic, OpenAI, Bedrock, Azure — или ваша существующая инсталляция LiteLLM / Portkey). Одна переменная окружения для подключения, ноль изменений на клиенте, промпты и ответы никогда не сохраняются.
[Claude Code / Cursor / Codex]
│ ANTHROPIC_BASE_URL=https://conduit.yourco.dev
▼
[Conduit] vk_live_… (на инженера)
│ учёт · бюджеты · управление · аудит · контекстная деградация
▼
[LiteLLM / Portkey / прямые провайдеры]
│
▼
[Anthropic / OpenAI / Bedrock / Azure]
Обзор — расходы, экономия на кеше, токены, заблокированные запросы и флаги управления с первого взгляда.

Жёсткое соблюдение бюджета — превышение лимита возвращает 402 на шлюзе, до того как запрос достигнет провайдера.

Контроль исходящего трафика — запрос с AWS-ключом блокируется с кодом 451; сохраняется только категория, но не значение.

Активность — каждый запрос с уникальным статусом: успех · попадание в кеш · ограничение скорости · модель заблокирована · бюджет превышен · заблокировано управлением.

Настройки — полный CRUD для организации, учётных данных провайдера, команд, бюджетов и виртуальных ключей.

Bedrock / Vertex / Azure private endpoints + соглашения BAA без передачи данных решают канал связи с вендором. Они не сообщают финансам, кто потратил $40k, не перехватывают секреты на выходе, не дают аудиторам запись и не показывают, где контекстная деградация сжигает ваш токен-бюджет. Это пробел, который заполняет Conduit — не видя ваших промптов.
Скачивает последние подписанные образы из GHCR (проверяемы через cosign verify, см. Безопасность).
# 1. Получить compose-файл + шаблон .env (полный клон не нужен)
curl -fsSL https://raw.githubusercontent.com/anee769/conduit/master/docker-compose.yml -o docker-compose.yml
curl -fsSL https://raw.githubusercontent.com/anee769/conduit/master/.env.example -o .env
# 2. Сгенерировать реальный мастер-ключ шифрования
sed -i.bak "s|^MASTER_ENCRYPTION_KEY=.*|MASTER_ENCRYPTION_KEY=$(openssl rand -base64 32)|" .env && rm .env.bak
# 3. Скачать подписанные образы + запустить
docker compose --profile app pull
docker compose --profile app up -d
# 4. Запустить миграции + заполнить прайсбук (однократно)
docker exec conduit-gateway-1 pnpm --filter @finops/db db:migrate
docker exec conduit-gateway-1 pnpm --filter @finops/db seed-pricing
# → открыть http://localhost:3000/setup → создать организацию / учётные данные / команду / виртуальный ключ
Закрепиться за конкретным релизом, задав GATEWAY_IMAGE и CONTROL_PLANE_IMAGE перед up:
export GATEWAY_IMAGE=ghcr.io/anee769/conduit-gateway:v0.1.0
export CONTROL_PLANE_IMAGE=ghcr.io/anee769/conduit-control-plane:v0.1.0
git clone https://github.com/anee769/conduit && cd conduit
cp .env.example .env
sed -i.bak "s|^MASTER_ENCRYPTION_KEY=.*|MASTER_ENCRYPTION_KEY=$(openssl rand -base64 32)|" .env && rm .env.bak
docker compose --profile app up -d --build
docker exec conduit-gateway-1 pnpm --filter @finops/db db:migrate
docker exec conduit-gateway-1 pnpm --filter @finops/db seed-pricing
export ANTHROPIC_BASE_URL=http://localhost:4000
export ANTHROPIC_AUTH_TOKEN=vk_live_… # виртуальный ключ из /setup
claude # или cursor / codex / aider
Полное пошаговое руководство с нуля в INSTALL.md.
LiteLLM отлично справляется с псевдонимами моделей и маршрутизацией — Conduit добавляет слой, который запрашивали ваши отделы безопасности и финансов. Portkey ближе всего по функциональности, но является проприетарным корпоративным решением, как только вам понадобятся управление и локальное развертывание. Helicone — только наблюдаемость (он говорит, куда ушли токены; он не управляет тем, куда они идут).
SECURITY.md для полного описания./invoke для Bedrock работает.Conduit работает полностью в вашем облаке — никакой вендор не участвует в пути запроса, никаких «звонков домой», возможна работа в изолированной сети. См. SECURITY.md для документа (диаграмма потоков данных, что хранится, криптография, аутентификация с закрытым отказом, модель соответствия, модель угроз).
ghcr.io/anee769/conduit-gateway и ghcr.io/anee769/conduit-control-plane при каждом git-теге v* (см. .github/workflows/release.yml). Проверьте любой выпущенный тег:
cosign verify ghcr.io/anee769/conduit-gateway:<tag> \
--certificate-identity-regexp 'https://github.com/anee769/conduit' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com
bash scripts/sbom.sh.apps/gateway — Hono на Node.js, горячий путь данных. Без шага сборки (tsx). Zero-dep ClickHouse клиент + ioredis.apps/control-plane — Next.js 15 / React 19 панель управления + admin API + мастер первого запуска /setup.packages/db — Схема Drizzle, AES-256-GCM шифрование, хеширование ключей, ценообразование + бюджеты.usage_events) + Redis (кеш + лимиты скорости + живые счётчики бюджета).Жизненный цикл запроса (apps/gateway/src/routes/proxy.ts):
auth (vk) → лимит скорости → белый список моделей → проверка бюджета
→ сканирование управления (T1 секреты + T2-lite сущности)
→ поиск в кеше → расшифровка учётных данных → adapter.prepare()
→ пересылка + разделение потока (клиент не затрагивается; ответвление учёта в фоне)
bash scripts/run-tests.sh # полный набор юнит + живые системные тесты (72 теста)
bash scripts/run-tests.sh --unit-only # чистая логика, без стека Docker
pwsh scripts/run-tests.ps1 # эквивалент для Windows
CI (.github/workflows/ci.yml) запускает обе задачи в каждом PR — сливайте только когда зелёный.
PR приветствуются. Быстрый путь:
git checkout -b feat/my-change
# …
bash scripts/ci-local.sh # запускает те же проверки, что и CI
bash scripts/ci-local.sh --fast # только typecheck + юнит, без Docker
git push -u origin feat/my-change
gh pr create --base dev
Ветвление: фича → dev → master. CI должен пройти перед слиянием.
Лицензия Apache 2.0 — та же лицензия, что у Kubernetes, Terraform, Kafka. Используйте в коммерческих целях, модифицируйте, вендорите; пожалуйста, не выдавайте Conduit за свою собственную работу.
SECURITY.mddocs/run-with-litellm.mdINSTALL.md| У вас сейчас | Настройте upstream Conduit как |
|---|
| LiteLLM (любая модель, любой провайдер) | UPSTREAM_ANTHROPIC_URL=http://litellm:4000 → полное руководство: docs/run-with-litellm.md |
| Portkey | Укажите UPSTREAM_OPENAI_URL / UPSTREAM_ANTHROPIC_URL на базовый URL вашего Portkey |
| Прямой Anthropic / OpenAI | По умолчанию — ничего настраивать не нужно |
| AWS Bedrock | Настройте учётные данные Bedrock в /setup; Conduit подписывает запросы сигнатурой SigV4 |
| Azure OpenAI | Настройте учётные данные Azure (имя развёртывания + api-version) в /setup |
| Conduit | LiteLLM | Portkey | Helicone |
|---|
| Открытая лицензия | Apache 2.0 | MIT | Apache 2.0 (шлюз) | MIT |
| Полностью локально / в вашем VPC | ✅ | ✅ | ✅ (enterprise) | ✅ (самостоятельное размещение) |
| Маршрутизация + псевдонимы + fallback провайдеров | ✅ (любой upstream) | ✅ | ✅ | ❌ |
| Распределение затрат по инженерам (виртуальные ключи с именами) | ✅ | частично (общие счета по мастер-ключу) | ✅ | ✅ (только наблюдение) |
| Жёсткие бюджеты (закрываемый отказ 402) | ✅ | частично | ✅ | ❌ |
| Контроль исходящего трафика (секреты + белый список сущностей организации, оповещение→блокировка) | ✅ | ❌ | ✅ (защитные меры) | ❌ |
| Экспорт для аудита в CSV/JSON (только метаданные) | ✅ | ❌ | частично | ✅ |
| Мониторинг контекстной деградации (кривая стоимости и частоты ошибок по размеру входных токенов) | ✅ | ❌ | ❌ | ❌ |
| Промпты / ответы никогда не сохраняются | ✅ | по умолчанию сохраняет логи | настраивается | по умолчанию сохраняет логи |
| Подписанные релизы + CycloneDX SBOM | ✅ | ❌ | ❌ | ❌ |
| Спроектирован работать поверх других | ✅ | н/д | н/д | н/д |