Download the PHP package arnaudmoncondhuy/synapse-core without Composer
On this page you can find all versions of the php package arnaudmoncondhuy/synapse-core. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package synapse-core
Synapse Core
Headless AI orchestration engine for Symfony — LLM clients, agents, memory, and storage.
Synapse Core est le cœur du framework Synapse : orchestration d'IA, support multi-LLM (Gemini, OVH AI, OpenAI), gestion de mémoire sémantique, et entités de stockage.
Installation
Caractéristiques principales
🤖 Support Multi-LLM
- Gemini API - Modèles à la pointe (Gemini 2.0 Flash, Pro)
- OVH AI - Infrastructure européenne compatible OpenAI
- OpenAI compatible - Framework standardisé pour tous les clients
🧠 Agents et Orchestration
- SynapseAgent - Exécution d'agents conversationnels avec tool use
- SynapseAgentBuilder - Construction déclarative d'agents
- Tool Registry - Enregistrement et exécution d'outils personnalisés
💾 Stockage et Entités Doctrine
- Conversation - Historique conversationnel
- Message - Messages avec roles (user, assistant, tool)
- SynapseModelPreset - Configurations d'IA réutilisables
- SynapseProvider - Crédentials et configuration de providers
- SynapseModel - Métadonnées et capabilities des modèles
🔐 Sécurité
- PermissionCheckerInterface - Vérification des droits d'accès
- DefaultPermissionChecker - Implémentation standard avec Symfony Security
- LibsodiumEncryptionService - Chiffrement XSalsa20-Poly1305 des crédentials
📚 Mémoire Sémantique
- VectorStore - Abstraction pour stockage vectoriel (DoctrineVectorStore, InMemory)
- TextSplitter - Découpage adaptatif de texte (RecursiveTextSplitter, FixedSize)
- EmbeddingService - Génération d'embeddings via Gemini ou OpenAI
- MemoryManager - Gestion des souvenirs avec contexte sémantique
💰 Accounting & Plafonds
- TokenAccountingService - Suivi de l'usage (input/output/thinking par conversation et par action système)
- SpendingLimitChecker - Vérification des quotas avant chaque requête LLM
- SynapseTokenUsage - Historique détaillé des dépenses avec conversion monétaire
- SynapseSpendingLimit - Configuration des plafonds (par utilisateur, agent ou preset)
🗺️ Agents et Tons
- SynapseAgent - Abstraction d'agent combinant instructions, preset et style
- SynapseTone - Tons de réponse réutilisables (ex: Professionnel, Concis)
- AgentRegistry - Inscription et découverte dynamique des agents
🩺 Diagnostic
- SynapseDoctorCommand - Commande unique pour installer, diagnostiquer et réparer l'intégration (
synapse:doctor)
Configuration minimale
config/packages/doctrine.yaml :
config/services.yaml :
Fusion des presets depuis DB :
Événements disponibles
Le bundle dispatch plusieurs événements pour hook custom logic :
SynapsePrePromptEvent- Avant l'envoi au LLMSynapseGenerationStartedEvent- Génération commencéeSynapseChunkReceivedEvent- Chunk reçu (streaming)SynapseGenerationCompletedEvent- Génération terminéeSynapseToolCallRequestedEvent- Tool use détectéSynapseToolCallCompletedEvent- Exécution d'outil terminéeSynapseExchangeCompletedEvent- Échange complet terminéSynapseUsageRecordedEvent- Usage de tokens enregistré (Accounting)SynapseSpendingLimitExceededEvent- Plafond de dépense atteint
Routes API disponibles
POST /api/chat- Envoi de message et streaming de réponsePOST /api/memory- Ajout de souvenir à la mémoirePOST /api/reset- Réinitialisation de la conversationPOST /api/csrf- Token CSRF pour requêtes frontend
(Routes précises définies par les bundles admin/chat)
Structure des dépendances
Les bundles admin et chat dépendent de core.
Internationalisation
Le Core fournit l'infrastructure pour les traductions des autres bundles.
- Domaine de traduction :
synapse_core - Éléments traduits : Prompts système (date/heure, contexte utilisateur, instructions), messages d'erreur de mémoire.
- Support multilingue : Basé sur
TranslatorInterface, avec repli (fallback) sur la propriétélanguagedes contextes.
🩺 Synapse Doctor
L'assistant de diagnostic est votre meilleur allié pour l'installation et la maintenance :
💰 Gestion des Coûts (Accounting)
Synapse Core propose un système robuste pour suivre et limiter les dépenses IA.
Configuration des Tarifs
Les tarifs sont configurés directement dans l'entité SynapseModel (via l'admin ou SQL) en prix par million de tokens.
Plafonds de dépense
Vous pouvez définir des limites dans SynapseSpendingLimit :
- Scopes :
USER,AGENT,PRESET. - Périodes :
CALENDAR_DAY,CALENDAR_MONTH,SLIDING_DAY(24h),SLIDING_MONTH(30j).
📖 Support
Auteur
All versions of synapse-core with dependencies
doctrine/doctrine-bundle Version ^2.10 || ^3.0
doctrine/orm Version ^2.19 || ^3.0
symfony/doctrine-messenger Version ^7.0 || ^8.0
symfony/framework-bundle Version ^7.0 || ^8.0
symfony/http-client Version ^7.0 || ^8.0
symfony/messenger Version ^7.0 || ^8.0
symfony/security-bundle Version ^7.0 || ^8.0
symfony/uid Version ^7.0 || ^8.0
symfony/yaml Version ^7.0 || ^8.0