Files
2026-06-09 18:40:21 +02:00

7.7 KiB


title: Manifest created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, artificial-intelligence, llm, router, model-routing, cost-optimization, typescript, mit] confidence: high contested: false sources: [https://selfh.st/apps/?tag=artificial-intelligence, https://github.com/mnfst/manifest]

Manifest 🦚

Routeur intelligent de modèles pour agents IA — redirige chaque requête vers le bon modèle (parmi 300+ modèles, 18+ fournisseurs) pour économiser jusqu'à 70 % sur les coûts d'inférence, sans changer une ligne du code client.

Métadonnée Valeur
Site web https://app.manifest.build
GitHub https://github.com/mnfst/manifest
License MIT
Langage TypeScript (96 %)
Étoiles 413
Dernière MAJ 2026-06-04
Catégorie cat-artificial-intelligence

📝 Description

Manifest est un reverse-proxy LLM compatible OpenAI/Anthropic qui se place devant vos appels d'API et décide intelligemment quel modèle invoquer pour chaque requête. L'objectif affiché est d'éviter le gâchis : beaucoup d'équipes payent gpt-5 ou claude-opus-4-7 pour des tâches triviales (résumé d'un e-mail, classification d'un log, reformulation d'une phrase) où un petit modèle open-source ou un gpt-5-mini ferait le travail pour 1 à 5 % du coût.

Le routing combine trois signaux : (1) la complexité de la requête (longueur, présence de code, intention détectée par un mini-classifieur), (2) la spécificité (besoin de contexte long, outils, JSON structuré), et (3) des headers HTTP personnalisés que l'application cliente peut envoyer pour forcer un fournisseur, un modèle, ou un budget max. Un endpoint /auto unique agrège 18+ providers (OpenAI, Anthropic, Google, xAI, DeepSeek, Mistral, Qwen, Moonshot, MiniMax, Xiaomi MiMo, Z.ai, BytePlus, OpenCode, Ollama, LM Studio, llama.cpp, OpenRouter, GitHub Copilot) et applique du fallback automatique en cas d'erreur ou de rate-limit.

Fonctionnalités clés : dashboard web avec tracking de coût à la requête (jusqu'au dollar près), limites de dépenses par utilisateur/projet avec notifications, mélange de credentials (clés API + abonnements ChatGPT Plus / Claude Max / GitHub Copilot), cache de modèles par agent, et compression SSE pour le streaming. Manifest est utilisé en interne par 217 projets et compte 40 contributeurs, 288 releases (v6.9.2 en juin 2026) et 5 169 commits — c'est un projet très actif. Idéal pour les équipes qui jonglent entre plusieurs providers, qui veulent unifier leur observabilité coûts, ou qui cherchent à déguiser un usage Grok/Mistral/Claude Sonnet derrière une API OpenAI standard pour ne pas réécrire leur SDK.

🚀 Installation

Option 1 : Docker Compose (recommandé)

# docker-compose.yml
services:
  manifest:
    image: mnfst/manifest:latest
    container_name: manifest
    restart: unless-stopped
    ports:
      - "2099:2099"
    volumes:
      - manifest-data:/app/data
      - manifest-db:/app/db
    environment:
      - TZ=Europe/Paris
      - DATABASE_URL=sqlite:///app/db/manifest.db
      - JWT_SECRET=changez-moi-32-chars-minimum-ici
      - NODE_ENV=production
    healthcheck:
      test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:2099/health"]
      interval: 30s
      timeout: 5s
      retries: 3

volumes:
  manifest-data:
  manifest-db:

Une fois démarré, ouvrez http://localhost:2099, créez le premier compte (il devient admin automatiquement), puis allez dans Settings → Providers pour saisir vos clés API ou pointer vers vos Ollama / LM Studio locaux.

Option 2 : Installation manuelle (one-liner officiel)

# Script d'install fourni par l'éditeur
bash <(curl -sSL https://raw.githubusercontent.com/mnfst/manifest/main/docker/install.sh)

Pour un déploiement sans Docker : git clone du repo, pnpm install (workspaces Turbo), pnpm build, puis lancer node packages/server/dist/main.js derrière un reverse-proxy (Caddy/Traefik/Nginx). Prérequis : Node.js 20+, 2 Go RAM, 2 vCPU.

⚙️ Configuration

La configuration passe par deux niveaux :

  1. Variables d'environnement du conteneur :
    • JWT_SECRET : signature des sessions web, obligatoire en prod (openssl rand -hex 32).
    • DATABASE_URL : SQLite par défaut (sqlite:///app/db/manifest.db), PostgreSQL recommandé pour la prod.
    • NODE_ENV=production : active la gestion d'erreurs stricte et désactive l'auto-signup.
  2. UI Settings → Providers : ajoutez vos credentials par provider (clé API, token d'abonnement OAuth, URL locale pour Ollama). Le premier utilisateur créé est admin ; désactivez l'open-signup dès que possible.

Exemple de routage intelligent — l'app envoie un header X-Manifest-Model-Tier: cheap et Manifest choisit automatiquement entre gpt-5-mini, claude-haiku-4-5 ou qwen3-coder selon la langue détectée et la longueur. Vous pouvez aussi forcer un modèle : X-Manifest-Model: gpt-5. Le budget mensuel se règle par projet (ex. 50 $/mois pour le bot Discord, 200 $/mois pour l'agent de code).

🔄 Alternatives

Open Source

  • LiteLLM (Python) — proxy LLM le plus mature, ~10k , 100+ providers, mais routage basique (pas de classifier embarqué).
  • OpenRouter (propriétaire mais API ouverte) — agrégateur commercial, pas self-hostable, sert de provider cible pour Manifest.
  • Portkey AI Gateway — concurrent direct, dashboard similaire, freemium avec self-host.
  • Helicone — observabilité LLM (logs, coûts, latence) sans routing.
  • Unify — équivalent cloud, payant, pas open source.
  • app-open-webui — interface de chat LLM (consomme les providers, ne route pas).
  • app-ollama — runtime local, s'intègre comme provider dans Manifest.

Propriétaires (ce que Manifest remplace)

  • OpenAI API directe — pas de visibilité coûts multi-projet, pas de fallback.
  • Cloudflare AI Gateway — payant au-delà de 10 000 req/mois, pas de routing intelligent basé complexité.
  • AWS Bedrock + Custom Router — cher, complexe, vendor-locké.

🔐 Sécurité

  • JWT_SECRET robuste (openssl rand -hex 32) — sa fuite permet de forger des sessions admin. Ne jamais commiter.
  • Premier compte = admin : dès la première connexion, désactivez l'open-signup dans Settings → Auth, sinon n'importe qui peut s'inscrire et consommer vos crédits.
  • Provider API keys : Manifest les stocke chiffrées au repos (scrypt), mais restez vigilant : exportez la base SQLite vers un volume chiffré (LUKS/eCryptfs) et sauvegardez-la via app-restic.
  • Reverse proxy HTTPS (Caddy/Traefik) — indispensable, le dashboard expose toutes vos clés API.
  • Limites de coûts (/settings/billing) — votre garde-fou contre un script buggé qui boucle 10 000 appels gpt-5.
  • Audit logs : toutes les requêtes sont loggées avec prompt hash, modèle, tokens, coût — exportez-les vers app-loki pour audit long terme.

📚 Ressources

Pages Liées