À propos du projet

Felix est un harnais d'agents auto-hébergeable. Les agents sont écrits sous forme de manifestes YAML utilisant apiVersion felix/v1 ; le projet les compile en agents gouvernés dotés de fibres durables, mémoire, compétences, évaluation, approbations et sandboxes. Il expose ces agents via REST/SSE, une API /v1 compatible OpenAI, A2A JSON-RPC et MCP, et fournit des API de gestion pour l'audit, les approbations, les plans, les jobs, les manifestes, l'évaluation, l'utilisation et la mémoire. Les exécutions en direct peuvent être forkées, rembobinées et dirigées, avec des stratégies de session pour la compaction, les fenêtres ou les contextes sémantiques. La pile inclut un service API, un worker et un scheduler. Postgres avec pgvector constitue le système de référence, avec Valkey comme cache et un stockage d'objets qui peut être filesystem, S3 ou GCS. Les backends de data warehouse analytiques optionnels incluent DuckDB, ClickHouse et Doris. Les options de déploiement comprennent Docker Compose, Helm, AWS et GCP, avec une image par défaut légère et des options supplémentaires pour les SDK cloud, l'observabilité et la prise en charge du data warehouse. Les fonctionnalités de gouvernance couvrent l'authentification, les approbations, les traces d'audit, les compteurs d'utilisation et les contrôles de rétention. L'observabilité utilise les métriques Prometheus et OpenTelemetry ; les appels modèles suivent les conventions sémantiques GenAI. Les fournisseurs de modèles incluent Anthropic, OpenAI, Ollama, Workers AI et plusieurs fournisseurs compatibles OpenAI, avec des identifiants logiques de modèles mappés par configuration. Le catalogue de modèles conserve la fenêtre de contexte, la sortie maximale, le prix, les paramètres, le support de réflexion et les modalités par famille. Felix est conçu pour l'extension plutôt que pour dicter les flux de travail. Les plugins peuvent enregistrer des outils, des routes HTTP, des tâches cron, des modes d'authentification, des clés de limitation de débit, des limites de corps, des montages auto-authentifiants, des hooks de démarrage, des puits d'audit/d'utilisation et des hooks de boucle agent. Des registres ouverts permettent de sélectionner des patterns, fournisseurs de modèles, stocks d'objets, backends de secrets, backends de data warehouse, backends d'embedder, backends de recherche, stratégies de session et checkpointers via configuration. Les compétences des agents peuvent être ajoutées sous forme de fichiers SKILL.md sans code. Le dépôt comprend des manifestes intégrés tels que quick, deep, router, oss-only, hybrid-router, support, cowork, governed et contributor. Un quick start copie .env.example, lance make install et make up, puis utilise la clé API locale générée contre /chat ou le endpoint compatible OpenAI. Le projet déclare fonctionner sur des infrastructures contrôlées par l'opérateur et est agnostique aux services et au cloud, utilisant des protocoles plutôt qu'un SDK fournisseur unique.