PHPackages                             arnaudmoncondhuy/synapse-core - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. arnaudmoncondhuy/synapse-core

ActiveSymfony-bundle

arnaudmoncondhuy/synapse-core
=============================

Moteur d'orchestration IA sans interface pour Symfony — Clients LLM, agents, mémoire et stockage.

v1.0.2(2mo ago)0261↑14.9%3PolyForm-Noncommercial-1.0.0PHPPHP &gt;=8.2

Since Mar 2Pushed 1mo agoCompare

[ Source](https://github.com/arnaudmoncondhuy/synapse-core)[ Packagist](https://packagist.org/packages/arnaudmoncondhuy/synapse-core)[ RSS](/packages/arnaudmoncondhuy-synapse-core/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (12)Versions (4)Used By (3)

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
------------

[](#installation)

```
composer require arnaudmoncondhuy/synapse-core:^0.1
```

Caractéristiques principales
----------------------------

[](#caractéristiques-principales)

### 🤖 Support Multi-LLM

[](#-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

[](#-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

[](#-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é

[](#-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

[](#-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 &amp; Plafonds

[](#-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

[](#️-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

[](#-diagnostic)

- **SynapseDoctorCommand** - Commande unique pour installer, diagnostiquer et réparer l'intégration (`synapse:doctor`)

Configuration minimale
----------------------

[](#configuration-minimale)

**config/packages/doctrine.yaml** :

```
doctrine:
  orm:
    mappings:
      ArnaudMoncondhuy:
        type: attribute
        prefix: 'ArnaudMoncondhuy\SynapseCore\Storage\Entity'
        dir: '%kernel.project_dir%/vendor/arnaudmoncondhuy/synapse-core/src/Storage/Entity'
```

**config/services.yaml** :

```
services:
  # Vos outils personnalisés ici
  App\Tool\YourCustomTool:
    tags:
      - synapse.tool
```

**Fusion des presets depuis DB** :

```
synapse_core:
  # Le bundle charge automatiquement les providers/presets/models de la DB
```

Événements disponibles
----------------------

[](#événements-disponibles)

Le bundle dispatch plusieurs événements pour hook custom logic :

- `SynapsePrePromptEvent` - Avant l'envoi au LLM
- `SynapseGenerationStartedEvent` - Génération commencée
- `SynapseChunkReceivedEvent` - Chunk reçu (streaming)
- `SynapseGenerationCompletedEvent` - Génération terminée
- `SynapseToolCallRequestedEvent` - Tool use détecté
- `SynapseToolCallCompletedEvent` - Exécution d'outil terminée
- `SynapseExchangeCompletedEvent` - Échange complet terminé
- `SynapseUsageRecordedEvent` - Usage de tokens enregistré (Accounting)
- `SynapseSpendingLimitExceededEvent` - Plafond de dépense atteint

Routes API disponibles
----------------------

[](#routes-api-disponibles)

- `POST /api/chat` - Envoi de message et streaming de réponse
- `POST /api/memory` - Ajout de souvenir à la mémoire
- `POST /api/reset` - Réinitialisation de la conversation
- `POST /api/csrf` - Token CSRF pour requêtes frontend

(Routes précises définies par les bundles admin/chat)

Structure des dépendances
-------------------------

[](#structure-des-dépendances)

```
synapse-core
  ├── symfony/framework-bundle
  ├── symfony/security-bundle
  ├── doctrine/orm
  └── symfony/messenger

```

Les bundles **admin** et **chat** dépendent de **core**.

Internationalisation
--------------------

[](#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é `language` des contextes.

---

🩺 Synapse Doctor
----------------

[](#-synapse-doctor)

L'assistant de diagnostic est votre meilleur allié pour l'installation et la maintenance :

```
# Diagnostic complet
php bin/console synapse:doctor

# Réparation automatique (création config, entités, security, routes)
php bin/console synapse:doctor --fix

# Installation fraîche
php bin/console synapse:doctor --init
```

💰 Gestion des Coûts (Accounting)
--------------------------------

[](#-gestion-des-coûts-accounting)

Synapse Core propose un système robuste pour suivre et limiter les dépenses IA.

### Configuration des Tarifs

[](#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

[](#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
---------

[](#-support)

- 📖 [Documentation Core](https://arnaudmoncondhuy.github.io/synapse-bundle/core/)
- 🐛 [Issues](https://github.com/arnaudmoncondhuy/synapse-bundle/issues)
- 💬 [Discussions](https://github.com/arnaudmoncondhuy/synapse-bundle/discussions)

Auteur
------

[](#auteur)

[Arnaud Moncondhuy](https://github.com/arnaudmoncondhuy)

###  Health Score

45

—

FairBetter than 92% of packages

Maintenance95

Actively maintained with recent releases

Popularity17

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 97.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

67d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a67f658f39efed4faeedf6da245792aaa7a78b69f89ea148ca01af52c586e348?d=identicon)[arnaudmoncondhuy](/maintainers/arnaudmoncondhuy)

---

Top Contributors

[![actions-user](https://avatars.githubusercontent.com/u/65916846?v=4)](https://github.com/actions-user "actions-user (144 commits)")[![arnaudmoncondhuy](https://avatars.githubusercontent.com/u/244487637?v=4)](https://github.com/arnaudmoncondhuy "arnaudmoncondhuy (4 commits)")

---

Tags

symfonybundleaiopenaiheadlessGeminichatbotllm

###  Code Quality

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/arnaudmoncondhuy-synapse-core/health.svg)

```
[![Health](https://phpackages.com/badges/arnaudmoncondhuy-synapse-core/health.svg)](https://phpackages.com/packages/arnaudmoncondhuy-synapse-core)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M647](/packages/sylius-sylius)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M151](/packages/sulu-sulu)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[contao/core-bundle

Contao Open Source CMS

1231.6M2.3k](/packages/contao-core-bundle)[rcsofttech/audit-trail-bundle

Enterprise-grade, high-performance Symfony audit trail bundle. Automatically track Doctrine entity changes with split-phase architecture, multiple transports (HTTP, Queue, Doctrine), and sensitive data masking.

1022.4k](/packages/rcsofttech-audit-trail-bundle)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

7310.3k29](/packages/open-dxp-opendxp)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
