Table of Contents

🇬🇧 English version

Documentation Orkeon

Structure

La documentation est organisée en 6 sections thématiques.

Politique de langue — chaque page sous docs/ est maintenue en anglais et en français en parallèle (docs/fr/ reflète l'arborescence chemin pour chemin) ; un miroir manquant fait échouer la CI (scripts/check-docs-parity.sh). Voir CONTRIBUTING.fr.md pour le contrat.

En ligne — cette arborescence et la référence d'API générée sont publiées à l'adresse https://orkeon.github.io/orkeon/, déployées par docs.yml à chaque tag v*. Le site paraît donc avec la première release taguée et documente toujours une version taguée.

Démarrage

Fichier Description
Trois façons d'exécuter Orkeon Page centrale : depuis les sources vs binaire de release vs conteneur — prérequis, commandes, canaux d'installation par OS et tableau comparatif
Exécuter votre premier exemple (depuis les sources) Première exécution de bout en bout : prérequis, matrice de profils LLM, la commande complète, chaque flag du runner, résolution des settings, dépannage
Vue d'ensemble Architecture, concepts fondamentaux (Agent, Task, Tool, Crew), YAML vs Fluent Builder
Bootstrap et exécution Injection de dépendances, exécution d'une Crew, modes batch/streaming/fire-and-forget
YAML, Builders et CrewFactory Fluent Builders, schéma YAML, pipeline CrewFactory, modes de chargement
Comportements par défaut Les défauts DI délibérément minimaux (planner, delegator, knowledge store…) : ce que chacun fait, le signal warn-once, et le geste de remplacement
Forger une équipe à partir d'un besoin L'Atelier (orkeon forge) : besoin → entretien → équipe → essai en bac à sable → verdict contre vos propres critères → promotion, sessions reprenables sur disque

Architecture

Fichier Description
Fournisseurs LLM 16 providers (OpenAI, Anthropic, Azure, Grok, Ollama, les agrégateurs OpenRouter et Mammouth, etc.), adaptateurs, factory, kit de campagnes sur API réelle
Système de mémoire 5 types de mémoire, 6 providers (InMemory, Redis, SQLite, ChromaDB, Pinecone, LanceDB), mémoire cognitive
Événements, CQRS et observabilité 44 domain events, pipeline CQRS, callbacks à 2 niveaux
EventHub et cycle de vie des crews Spécification de référence du messaging inter-agents et inter-crews (EventHub) et de la mise en sommeil/réveil des crews — ports Application, l'adaptateur en mémoire et ses cinq étages de middleware
Le host de service et la passerelle de chat orkeon-host : héberger des crews en daemon (systemd, service Windows, conteneur), isolation par run, et la passerelle Discord avec sa liste d'autorisation, son routage thread-est-run et son bouton d'arrêt
Le bus d'événements du run orkeon run --events jsonl : le protocole versionné qu'un autre programme lit, les commandes qu'il peut renvoyer, et le siège client:// qu'il obtient sur le hub du run
Sécurité, résilience et plugins 6 couches de sécurité, politiques Polly, checkpointing, système de plugins
Conformité VFS Principe VFS-only (tout I/O via IFileSystemService) : analyseur Roslyn Orkeon.Compliance.Vfs, 7 diagnostics, périmètres exemptés, critères de sortie de la migration
Système de plugins Contrat IOrkeonPlugin, découverte VFS, isolation AssemblyLoadContext, activation opt-in AddOrkeonPlugins, ⚠️ frontière de confiance
DSL de scripting DSL à syntaxe TypeScript (.ork.ts) : transpilation esbuild, exécution sandboxée Jint, toute la surface Orkeon (agents, crews, tools, FSM, graphes, événements) via builders fluides
Commandes CLI TypeScript Commandes REPL interactives en *.cmd.ts (defineCommand) chargées au démarrage sans recompilation .NET, avec dispatch de travail vers les agents
Client & serveur MCP Intégration Model Context Protocol bi-ère (2026-07-28 stateless + révisions legacy), transports, activation, limites honnêtes
Orkeon Studio Les front-ends graphique/terminal au-dessus des workflows CLI : les quatre projets, le cœur partagé, la localisation, la distribution
Piloter des crews depuis le REPL Le pont .cmd.ts → crew.ork.ts : plan de contrôle *.cmd.ts vs moteur crew.ork.ts via le service script-host, ctx.llm.act comme boucle d'agent, le garde de permissions et les ports de session — avec une session REPL sans clé, exécutable
Référence YAML Source unique du schéma YAML complet (crew, agents, tasks, circuitBreaker, graphConfig)
RaggableTree — graphe sémantique Pipeline 6 phases, 15 tools, 5 langages, réindexation incrémentale, watcher, injection de contexte
Pipeline RAG Le sous-système src/rag/ : ingestion, pipeline à 7 étages (transform → retrieve → fuse/MMR → rerank → assemble → generate → groundedness), graphe correctif CRAG, repli web, 5 profils, évaluation mesurée
ADR — RaggableTree Décision graphe stratifié à 6 niveaux via Tree-sitter, alternatives rejetées, conséquences
Décisions d'architecture (ADR) ADR-002 (shared kernel Tools.Abstractions), ADR-003 (shared kernels Analysis), ADR-004 (jumeaux de nommage scripting — remplacé par l'ADR-007), ADR-005 (famille Tools.* hétérogène), ADR-006 (sous-système RAG src/rag/), ADR-007 (D3 : renommage Orkeon.Cli.Commands.Scripting), ADR-008 (les chemins virtuels sont la seule monnaie versée aux agents), ADR-009 (satellites de constantes partagées), ADR-010 (interop Microsoft Agent Framework en paquet séparé, dans les deux sens), ADR-011 (le dashboard Aspire est la surface d'observabilité ; pas de Studio web)

Orchestration

Fichier Description
Guide comparatif ProcessTypes Les 6 stratégies côte à côte : matrice, arbre de décision, pros/cons, coûts
FSM — Machine à états Orchestration intra-tâche, circuit breaker à 4 mécanismes, presets, guards
Graph — Graphe d'états Orchestration inter-tâches LangGraph-style, edges conditionnels, cycles contrôlés, retry
Autonomous — Auto-organisation Budget multi-dimensions, délégation récursive, spawn dynamique, communication A2A

Outils

Fichier Description
Inventaire des outils 79 outils par catégorie, résolution YAML, enregistrement DI, gaps identifiés
Créer un nouvel outil Pipeline typé, attributs FieldSchema/ReturnSchema, pattern composition, enregistrement

Guides

Fichier Description
Écrire une crew en TypeScript Le DSL .ork.ts de bout en bout : les deux formes de script et pourquoi choisir la mauvaise abandonne la moitié de ce que vous avez écrit (bruyamment, depuis rc.3) : tâches, agents, outils, le DAG withContext, livrables, ctx.llm.act, état, réglage de l'éditeur
Méthodologie de portage 5 étapes pour migrer une application, YAML-first vs Code-first, estimation effort
Exemple de portage Pipeline e-commerce complet : analyse, mapping agents, YAML, bootstrap C#
Blueprint nouvelle orchestration Template 8 étapes pour ajouter un nouveau ProcessType au framework
Contenu multi-modal (vision) Vision réelle (R3.9) : MultiModalContent → LlmMessage → payloads Anthropic (blocs image) / OpenAI (image_url), chargeur VFS, activation opt-in
Format de réponse LLM Sortie JSON forcée à la frontière provider (response_format: json_object), cascade d'override à 5 niveaux (crew → agent → task → script → appel), premier provider câblé : DeepSeek
Quality Gate SonarQube Analyse SonarQube locale avec la gate « Orkeon Transitional » : seuils transitoires, trajectoire de durcissement, provisionnement automatique par les scripts
Modèles locaux Tout exécuter sur sa machine : Docker Model Runner (pull/configure/inspect, contextes 128K), Ollama, variante d'image local-llm embarquée, changement de modèle, dépannage
Vérifier ce que vous installez Ce que la chaîne de provenance prouve et ne prouve pas (Trusted Publishing OIDC, attestations SLSA, SHA256SUMS, SBOM), les commandes exactes gh attestation verify / dotnet nuget verify, et pourquoi un paquet nuget.org doit être dé-signé avant que son digest corresponde

Référence

Fichier Description
Référence du DSL de scripting Chaque builder et chaque méthode .ork.ts, avec la colonne qui n'existe nulle part ailleurs : laquelle des deux formes l'honore. Plus les écarts connus entre les typings et le runtime
Catalogue des exemples Carte éditoriale d'examples/ (9 catégories métier + vitrines RAG/RaggableTree/scripting) ; l'examples/INDEX.md généré est l'inventaire faisant foi
Référence CLI orkeon Chaque commande (run, init, llm, rag, forge, doctor) avec options et exemples, plus orkeon-repl
Référence de configuration La carte unique des sections d'appsettings.json (Llm, Orkeon:*, MCP), sources et précédence, colonne opt-in
Limites et contraintes Contraintes connues de la version courante
Matrice de conformité A2A Position honnête face à la spec A2A v1.0 : opérations, modèle de données, bindings, sécurité — ce qui interopère et ce qui n'interopère pas
APIs expérimentales Surfaces [Experimental] (A2A, Autonomous, RAG correctif, MCP), IDs de diagnostic ORKEXP001–004, comment s'inscrire
Politique de données des exemples Pourquoi les exemples livrent de la config et pas des datasets, comment monter vos entrées (/data:ro, /output:rw), règles contributeurs pour les fixtures
Hosting & bootstrap des runners Orkeon.Hosting : RunnerHost.Build, ordre de câblage ConfigureRunnerServices (LLM d'abord, suites d'outils, VFS, ServiceProviderToolRegistry), flux RunnerExecution, pattern hôte web
Gabarit de README d'exemple Gabarit pour examples/**/README.md : Ce qu'il fait / Prérequis / Données requises / L'exécuter / Sortie attendue / Durée & coût
Sous-systèmes opt-in A2A, monitoring, NIST, DLP, rate-limiting d'outils, rotation de clés, benchmarking, multi-modal, hooks de kickoff, sous-système RAG — activation explicite AddOrkeonXxx() (hors DI par défaut)
Comparatif des fournisseurs LLM Matrice de capacités par provider (streaming SSE, tool calling natif, grammaire GBNF, response_format, thinking, métriques, résilience), dérivée du code source
Matrice de publication Source de vérité de ce qui est publié où : NuGet.org vs GitHub Packages, tools dotnet, artefacts d'installation, flux de version

Parcours de lecture recommandés

"Je veux comprendre le framework"

overview → yaml-and-builders → process-types → fsm → graph → autonomous → inventory → new-tool-pattern

Commencer par la vue d'ensemble pour assimiler Agent, Task, Crew, Tool. Puis explorer la configuration YAML et les builders. Le guide comparatif des ProcessTypes donne une vision d'ensemble des 6 stratégies, les docs FSM/Graph/Autonomous approfondissent les modes avancés. L'inventaire des outils montre les capacités natives. Terminer par le pattern de création d'outil pour comprendre l'extensibilité.

"J'ai une application Ă  migrer"

overview → bootstrap → inventory → porting-methodology → porting-example → new-tool-pattern

S'imprégner de l'architecture et du setup DI. Identifier les outils disponibles. Appliquer la méthodologie avec l'exemple concret. Revenir au pattern outil si des outils custom sont nécessaires.

"Je veux étendre le framework"

overview → new-tool-pattern → yaml-and-builders → blueprint → inventory

Comprendre l'architecture, puis maîtriser le pipeline typé et le pattern de composition. Le blueprint guide la création de nouveaux modes d'orchestration. L'inventaire sert de référence pour positionner les contributions.