
Passerelle API sur site pour agents de codage IA avec attribution des coûts par ingénieur, budgets stricts, gouvernance des sorties (scan de secrets/entités), observabilité du contexte rotatif, et exports prêts pour audit. S'exécute à l'intérieur de votre VPC.
Le plan de contrôle on-prem pour les agents de codage IA. Attribution des coûts par ingénieur · budgets stricts · gouvernance des sorties · observabilité de la rotation de contexte · exports prêts pour l'audit — le tout dans votre VPC.
Conduit s'interpose entre vos agents de codage IA (Claude Code, Cursor, Codex, Aider) et le fournisseur que vous utilisez déjà (Anthropic, OpenAI, Bedrock, Azure — ou votre déploiement LiteLLM / Portkey existant). Une seule variable d'environnement à adopter, aucun changement côté client, les prompts et complétions jamais stockés.
[Claude Code / Cursor / Codex]
│ ANTHROPIC_BASE_URL=https://conduit.yourco.dev
▼
[Conduit] vk_live_… (per-engineer)
│ metering · budgets · governance · audit · context-rot
▼
[LiteLLM / Portkey / direct providers]
│
▼
[Anthropic / OpenAI / Bedrock / Azure]
Aperçu — dépenses, économies de cache, jetons, requêtes bloquées et drapeaux de gouvernance en un coup d'œil.

Application stricte des budgets — le dépassement de la limite renvoie une 402 au niveau de la passerelle, avant que la requête n'atteigne le fournisseur.

Gouvernance des sorties — une requête contenant une clé AWS est bloquée avec un 451 ; seule la catégorie est enregistrée, jamais la valeur.

Activité — chaque requête avec un statut distinct : succès · cache hit · limité par débit · modèle bloqué · budget dépassé · gouvernance bloquée.

Paramètres — CRUD complet pour l'organisation, les identifiants fournisseur, les équipes, les budgets et les clés virtuelles.

Les points de terminaison privés Bedrock / Vertex / Azure et les BAA sans entraînement résolvent le canal vers le fournisseur. Ils ne disent pas à la finance qui a dépensé les 40 000 $, n'attrapent pas les secrets à la sortie, ne donnent pas d'enregistrement aux auditeurs et ne montrent pas où la rotation de contexte brûle votre budget de jetons. C'est le fossé que Conduit comble — sans jamais voir vos prompts.
Tire les dernières images signées de GHCR (vérifiable via cosign verify, voir Posture de sécurité).
# 1. Récupérer le fichier compose + le modèle .env (pas besoin de cloner)
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. Générer une véritable clé de chiffrement maître
sed -i.bak "s|^MASTER_ENCRYPTION_KEY=.*|MASTER_ENCRYPTION_KEY=$(openssl rand -base64 32)|" .env && rm .env.bak
# 3. Tirer les images signées + démarrer
docker compose --profile app pull
docker compose --profile app up -d
# 4. Exécuter les migrations + amorcer le livre de tarifs (une fois)
docker exec conduit-gateway-1 pnpm --filter @finops/db db:migrate
docker exec conduit-gateway-1 pnpm --filter @finops/db seed-pricing
# → ouvrir http://localhost:3000/setup → créer org / credential / team / virtual key
Épingler à une version spécifique en exportant GATEWAY_IMAGE et CONTROL_PLANE_IMAGE avant 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_… # clé virtuelle depuis /setup
claude # ou cursor / codex / aider
Guide complet depuis zéro dans INSTALL.md.
| Vous utilisez aujourd'hui | Configurez l'amont de Conduit comme |
|---|---|
| LiteLLM (n'importe quel modèle, n'importe quel fournisseur) | UPSTREAM_ANTHROPIC_URL=http://litellm:4000 → guide complet : docs/run-with-litellm.md |
| Portkey | Pointez UPSTREAM_OPENAI_URL / UPSTREAM_ANTHROPIC_URL vers votre URL de base Portkey |
| Direct Anthropic / OpenAI | Par défaut — rien à configurer |
| AWS Bedrock | Configurez un identifiant Bedrock dans /setup ; Conduit signe les requêtes avec SigV4 |
| Azure OpenAI | Configurez un identifiant Azure (nom du déploiement + api-version) dans /setup |