# Documentation Technique

Explorez les modules fondamentaux de l'OverMind pour intégrer l'orchestration IA dans vos propres projets.

### Runners IA

Moteurs d'exécution pour Claude, Gemini, QwenCli, Nous Hermes, Kilo et Cline.

Voir les détails

### Gestionnaires

Contrôle programmatique des agents, des prompts et des sessions.

Voir les détails

### Memory Factory

Système RAG haute performance compatible PostgreSQL + Vector.

Voir les détails

## Exécution Unifiée

La méthode `runAgent` est le point d'entrée recommandé. Elle orchestre automatiquement les runners spécifiques (Claude, Gemini, etc.) et gère l'historique dans la mémoire Overmind.

Utilisation Recommandée

    import { runAgent } from 'overmind-mcp';

    const { content, isError } = await runAgent({
      runner: 'claude',       // 'claude', 'gemini', 'qwencli', 'hermes', 'kilo', etc.
      agentName: 'expert-seo',
      prompt: 'Analyse example.com',
      autoResume: true        // Reprend la conversation précédente
    });

    if (!isError) {
      console.log(content[0].text);
    }

## AgentManager

Configuration des Agents

    import { AgentManager } from 'overmind-mcp';

    const manager = new AgentManager();

    // Créer un agent avec un prompt système dédié
    await manager.createAgent('architect', 'Tu es un architecte logiciel...', 'claude-3-5-sonnet');

    // Lister les agents avec détails (modèle, serveurs MCP actifs)
    const agents = await manager.listAgents(true);

## Système de Mémoire

RAG & Persistance

    import { getMemoryProvider } from 'overmind-mcp';

    const memory = getMemoryProvider();

    // Stocker une information sémantique
    await memory.storeKnowledge({
      text: 'Le standard du projet est le FastMCP avec TypeScript.',
      source: 'documentation',
      agentName: 'architect' // Optionnel: isole la donnée pour un agent
    });

    // Rechercher dans la mémoire globale
    const results = await memory.searchMemory({
      query: 'workflow fastmcp',
      limit: 5
    });

La bibliothèque est conçue pour être modulaire. Vous pouvez utiliser chaque service indépendamment ou le serveur complet via `createServer()`.