§ 03 — PROJETS

Le travail.

HOME/WORK/MY_AI
● LIVE · FEATURED CASE STUDY · 01 / 01

MY_AI

Assistant IA 100% local. Multi-agents. Extensible.

ANNÉES
2025 — 2026
RÔLE
SOLO
STATUS
● LIVE
PYTHON OLLAMA CHROMADB MCP FASTAPI FASTER-WHISPER COMFYUI SENTENCE-TRANSFORMERS HNSW SQLITE WEBSOCKET CLOUDFLARED DUCKDUCKGO DISKCACHE BS4 CUSTOMTKINTER TIKTOKEN TYPESCRIPT VS CODE API AES-256-GCM SOUNDDEVICE PYTTSX3
v8.0.0 · MIT · Python 3.10+ · Extension VS Code v1.3.5
GITHUB ↗ RELEASES ↗
INTERFACES GUI · TKINTER CLI API · FASTAPI RELAY · PWA VSX · AGENT ORCH. CHAT · AGENT ReAct + P&E LLMOLLAMA MEMORYCHROMA · SQLITE 9 AGENTSSPECIALIZED KBSQLITE MCPTOOLS · I/O WEB SEARCHDUCKDUCKGO DOC PROCESSORSPDF · DOCX · XLSX · CSV MY_AI · ORCHESTRATOR ◼ LIVE
§ 04 — AGENTS 9 AGENTS SPÉCIALISÉS

Architecture multi-agents.

Chaque agent est responsable d'un domaine précis. L'orchestrateur route chaque requête vers le bon agent selon l'intention détectée. Survolez pour explorer.

01 / 09

CODE

Génération et debug de code multi-langages. Python, C, JS et plus.

models/ai_agents.py · CodeAgent
02 / 09

WEB

Recherche internet temps réel via DuckDuckGo. Fact-checking et résumés.

models/ai_agents.py · WebAgent
03 / 09

ANALYST

Analyse de données et extraction d'insights sur les corpus ingérés.

models/ai_agents.py · AnalystAgent
04 / 09

CREATIVE

Rédaction et contenu créatif. Adapte le ton et le format à la demande.

models/ai_agents.py · CreativeAgent
05 / 09

DEBUG

Détection et correction d'erreurs. Analyse de traces et suggestions de fix.

models/ai_agents.py · DebugAgent
06 / 09

PLANNER

Découpe les projets complexes en étapes actionnables et séquencées.

models/ai_agents.py · PlannerAgent
07 / 09

SECURITY

Audit de sécurité et détection de vulnérabilités dans le code.

models/ai_agents.py · SecurityAgent
08 / 09

OPTIMIZER

Optimisation et performance. Profiling, refactor, réduction de coût.

models/ai_agents.py · OptimizerAgent
09 / 09

DATA SCIENCE

Data Science et Machine Learning. Pipelines ML, features, évaluation.

models/ai_agents.py · DataScienceAgent

Points forts.

§ 05 — DEEP DIVE
01

100% local, 0 API payante

Tout tourne sur Ollama en local. Aucune donnée ne sort de la machine. Adapté aux contextes sensibles où le cloud n'est pas une option.

02

Mémoire vectorielle persistante

ChromaDB stocke conversations et documents en embeddings. Recherche sémantique globale sur tout l'historique et panneau de gestion mémoire pour voir, éditer et supprimer chaque fait mémorisé.

03

Pipeline multi-formats

Ingère PDF, DOCX, Excel. Normalise, chunk, indexe. Prêt pour RAG sur n'importe quelle base documentaire.

04

Extensible via MCP

Le protocole Model Context Protocol permet de brancher de nouveaux outils (bases SQL, APIs, file systems) sans toucher au cœur.

05

Génération d'images 100% locale

Text-to-image local via ComfyUI / diffusers, installé automatiquement au 1er usage. Détection multi-GPU (NVIDIA, AMD, Apple Silicon, Intel Arc) avec fallback CPU, et sync des images vers le mobile en chiffré.

06

Commandes slash & @codebase

Les commandes slash (/code, /résume, /traduis) déploient des prompts d'expert réutilisables. @codebase attache un projet entier en contexte persistant. Palette de commandes via Ctrl+K.

07

Aperçu live des artifacts

Le HTML / CSS / SVG généré se rend en direct à côté du chat via le moteur Edge. Édition et régénération des messages avec historique de versions, et citations web cliquables.

08

Tâches planifiées & automatisation

Planification d'agents et de workflows (quotidien, hebdo, cron). Exécution en arrière-plan même app fermée via le Planificateur de tâches Windows, avec notifications bureau en fin de tâche.

// SPEC.01 — TECH METRICS CHIFFRES DURS

Les chiffres.

Les paramètres et seuils réels du projet, extraits de la doc et de config.yaml.

10 485 760
TOKENS · MÉMOIRE VECTORIELLE MAX
256 / 32
CHUNK / OVERLAP (TOKENS)
384
DIM · all-MiniLM-L6-v2
~20 ms
RECALL · HNSW + COSINUS
32 768
CTX LLM · 8 192 SIMPLE · 4 096 VISION
15
MAX_TOURS · BOUCLE ReAct
8765
PORT · WEBSOCKET RELAY
25 MB
UPLOAD MAX · RELAY MOBILE
12
LANGUES AUTO-DÉTECTÉES
1 — 5 ★
ÉCHELLE FEEDBACK · RLHF
3.10+
PYTHON · RUNTIME MIN
AES-256
CHIFFREMENT MÉMOIRE · OPTIONNEL
// SPEC.02 — MODULE MAP ~/my_ai/

L'arborescence.

Vue condensée des modules clés. Chaque dossier porte une responsabilité unique.

my_ai/
├─ core/                      # moteur · orchestrateurs · API · MCP · scheduler
│  ├─ ai_engine.py            # point d'entrée intelligence
│  ├─ chat_orchestrator.py    # boucle ReAct + Plan & Execute · scratchpad XML
│  ├─ agent_orchestrator.py   # page Agents · historiques séparés
│  ├─ api_server.py           # FastAPI · REST
│  ├─ mcp_client.py           # Model Context Protocol · stdio
│  ├─ conversation_search.py  # recherche sémantique globale cross-conversations
│  ├─ folder_indexer.py       # indexeur incrémental @codebase · lié au workspace
│  ├─ memory_store.py         # CRUD unifié mémoire · faits + vecteurs
│  ├─ prompt_library.py       # slash commands · expansion {arguments}
│  ├─ scheduler.py            # tâches planifiées récurrentes (cron)
│  ├─ scheduler_runner.py     # runner headless · Planificateur de tâches Windows
│  ├─ rlhf_manager.py         # feedback RLHF 1—5 ★
│  ├─ language_detector.py    # 12 langues
│  ├─ conversation_exporter.py · command_history.py · config.py
│  ├─ knowledge_base_manager.py · session_manager.py · conversation.py
│  ├─ optimization.py · evaluation.py · training_pipeline.py · training_manager.py
│  └─ web_cache.py · network.py · compression_monitor.py · validation.py
├─ memory/                    # 10 M tokens · ChromaDB persistant
│  ├─ vector_memory.py        # tiktoken cl100k_base · all-MiniLM-L6-v2
│  └─ vector_store/chroma_db/
├─ models/                    # 9 agents · LLM local · génération d'images
│  ├─ ai_agents.py            # Code/Web/Analyst/Creative/Debug/Planner/Security/Optimizer/DS
│  ├─ local_llm.py            # wrapper Ollama · détection + fallback
│  ├─ image_generation.py     # texte → image · Stable Diffusion local
│  ├─ comfyui_manager.py      # auto-install ComfyUI portable · multi-GPU
│  ├─ intelligent_code_orchestrator.py · intelligent_document_analyzer.py
│  ├─ smart_web_searcher.py · smart_code_searcher.py · internet_search.py
│  ├─ custom_ai_model.py · linguistic_patterns.py · knowledge_base.py
│  └─ mixins/ · weights/ · training_runs/
├─ processors/                # PDF · DOCX · XLSX · CSV · CODE
│  └─ pdf_processor.py · docx_processor.py · excel_processor.py · code_processor.py
├─ generators/                # document_generator.py · code_generator.py
├─ interfaces/                # GUI CustomTkinter · CLI · Agents · Workflow
│  ├─ gui_modern.py           # assemblage des mixins GUI
│  ├─ onboarding.py           # assistant 1er lancement · détecte RAM/CPU/GPU
│  ├─ artifacts.py            # détection/préparation artifacts (desktop + serveur)
│  ├─ workflow_canvas.py · resource_monitor.py · cli.py · agents_interface.py
│  ├─ gui/                    # mixins de l'interface moderne
│  │  ├─ artifacts_panel.py   # volet aperçu live · Edge --app embarqué (SetParent)
│  │  ├─ command_palette.py   # Command palette Ctrl+K · raccourcis globaux
│  │  ├─ slash_commands.py    # autocomplétion « / » dans la saisie
│  │  ├─ message_editing.py   # édition + regénération · branchement ‹ k/n ›
│  │  ├─ memory_panel.py      # fenêtre Mémoire · faits/documents/conversations
│  │  ├─ prompts_panel.py     # fenêtre Prompts · CRUD bibliothèque
│  │  ├─ voice_input.py       # faster-whisper · STT 100% local · 99+ langues
│  │  ├─ voice_output.py      # pyttsx3 · TTS · voix par langue
│  │  └─ chat_area.py · sidebar.py · streaming.py · settings_panel.py · markdown_formatting.py
│  └─ agents/                 # sélection · débat · workflow · scheduler_ui · custom_agents
├─ relay/                     # PWA mobile · Chat / Agents · WebSocket · cloudflared
│  ├─ relay_server.py · relay_bridge.py · agent_relay.py
│  └─ static/  (index.html · style.css · app.js · agents.js)
├─ vscode_extension/          # extension VS Code · client Relay distant · TypeScript
│  ├─ src/                    # host Node.js · client WebSocket E2EE · @codebase
│  ├─ media/                  # webview UI (HTML / CSS / JS)
│  └─ package.json · README.md
├─ utils/                     # utilitaires transverses
│  ├─ citations.py            # citations web numérotées cliquables ([n] → url)
│  ├─ desktop_notify.py       # notifications desktop natives (winotify / plyer)
│  └─ file_manager.py · file_processor.py · intelligent_calculator.py · logger.py
├─ outputs/exports/           # fichiers générés par l'IA
├─ data/                      # knowledge_base (SQLite) · workspaces · web_cache
├─ tests/ · tools/ · examples/ · docs/
├─ main.py · launch_unified.py · launch.bat
├─ Modelfile · config.yaml · requirements.txt
└─ create_custom_model.bat · clean_project.bat · test_features.bat
// SPEC.03 — MODELS & RELAY LLM SUPPORTÉS · ACCÈS MOBILE

Le cœur & le relay.

MODÈLES OLLAMA · LOCAL
TEXTERAMUSAGE
qwen3.5:2b4 GBultra-light
qwen3.5:4b8 GBrecommandé
qwen3.5:9b16 GBdétaillé
mistralalternative
VISIONRAMUSAGE
minicpm-v3 GBrecommandé
llava4.7 GBalternative
llama3.2-visionalternative

Au 1er lancement, l'assistant de configuration détecte RAM / CPU / GPU et recommande puis télécharge le modèle adapté — sans édition manuelle. Réglages affinables ensuite via le panneau intégré (température, contexte, timeout) ou config.yaml › llm.local.default_model. Fallback automatique sur réponses pattern-based si Ollama indisponible.

MY_AI RELAY · MOBILE PWA
# config.yaml
relay:
  auto_start:        false
  port:              8765
  response_timeout:  500
  password:          ""
  tunnel:            true
  host:              "0.0.0.0"
  • Tunnel cloudflared automatique → URL HTTPS publique + QR code partageable
  • Onglets Chat / Agents — sync messages temps réel via WebSocket, indicateurs de frappe, thème dark
  • Page Agents mobile : grille des 9 agents + custom, canvas workflow type n8n, mode débat, exécution sur le PC hôte
  • Pièces jointes ≤ 25 MB (images, PDF, DOCX, XLSX, CSV, code)
  • PWA installable, code servi depuis relay/static/ (Vanilla JS)
// SPEC.04 — VS CODE EXTENSION MY_AI RELAY · AGENTIC IDE

L'extension VS Code.

Une extension VS Code (TypeScript) qui transforme My_AI en agent capable d'éditer, exécuter et fouiller le workspace — façon Claude Code, mais 100% local, sur n'importe quel modèle Ollama. Menu @ pour attacher fichiers et dossiers en contexte @codebase, commandes slash, bouton STOP et garde-fous anti-boucle. Marketplace : gonicolas12.my-ai.

9 OUTILS EXPOSÉS AU LLM
OUTILRÔLEAPPROBATION
read_filelecture · offset/limitauto
write_filecréation/écrasementmodale
edit_fileremplacement exactmodale
list_dircontenu d'un dossierauto
globrecherche par motifauto
grepripgrep + fallback JSauto
run_commandshell workspacemodale
get_active_editorfichier + sélectionauto
open_fileouvrir · ligne préciseauto

Tous les chemins sont résolus depuis le workspace VS Code. Toute sortie de ce périmètre exige une approbation modale par chemin (pas d'auto-approve).

SÉCURITÉ · TRANSPORT · APPROBATIONS
# package.json — settings
myaiRelay.openInSecondarySidebar:    true
myaiRelay.healthCheckIntervalSeconds: 10
myaiRelay.autoReconnect:             true
myaiRelay.requestTimeoutSeconds:     15
  • E2EE AES-256-GCM · clé éphémère dans le fragment d'URL (jamais sur le serveur)
  • Multi-tunnel failover : cloudflared · serveo · localhost.run en parallèle
  • Credentials chiffrés dans VS Code SecretStorage (OS keychain)
  • 3 niveaux d'approbation : once · per-file · session-wide (reset à la reconnexion)
  • Parser <tool_use> custom → compatible n'importe quel modèle Ollama
  • Menu @ : fichiers/dossiers indexés en contexte @codebase partagé par projet · bouton STOP · garde-fous anti-boucle
v1.3.5
EXTENSION · MARKETPLACE
≥ 1.85
VS CODE · ENGINE MIN
9
OUTILS WORKSPACE EXPOSÉS
3
TUNNELS PARALLÈLES · FAILOVER
AES-256-GCM
CHIFFREMENT BOUT-EN-BOUT
FR / EN
UI · APPROBATIONS · DOCS

Workflow : on lance My_AI sur la machine hôte → bouton Relay → on copie la connection string → on la colle dans VS Code. À partir de là, le LLM local voit le workspace, propose des modifs, demande l'autorisation pour write/edit/run, et affiche chaque tool call sous forme de carte inline (orange = en cours · vert = succès · rouge = erreur · gris = refusé).

MARKETPLACE ↗ SOURCE ↗
// SPEC.05 — VOICE MODE VOIX · ENTRÉE & SORTIE · 100% LOCAL

Le mode vocal.

Voix dans les deux sens, 100% local. En entrée : dictée intégrée à chaque zone de texte (chat principal, conversation, onglet Agents), transcrite via faster-whisper. En sortie : lecture vocale des réponses via pyttsx3 — bouton sous chaque message + bascule auto-lecture, avec une voix adaptée à la langue détectée. La voix ne quitte jamais la machine.

STACK · PIPELINE AUDIO
COMPOSANTVALEUR
Moteur STTfaster-whisper
Modèlesmall · INT8 · ~150 Mo
Capture audiosounddevice · 16 kHz mono
VADintégré · filtre silences
Chargementlazy · ~5 s au 1er usage
Transcription1 à 3 s · CPU only
Langues99+ · auto-détectées
Threadingthread-safe · callback async vers GUI

Module : interfaces/gui/voice_input.py · classe VoiceInput. Dégradation gracieuse si faster-whisper / sounddevice ne sont pas installés.

UX · TOGGLE 1 BOUTON
# 3 états visuels du bouton micro
idle:         🎙️  # gris
recording:       # rouge pulsant
transcribing: ⏳  # orange

# sortie · lecture des réponses
play: 🔊  ·  auto-read: toggle sidebar
  • 1er clic : enregistrement démarre · pas de limite de durée
  • 2e clic : arrêt + transcription auto · texte inséré au curseur (avec espace auto)
  • Sortie vocale : bouton sous chaque réponse + auto-lecture · markdown et code retirés avant lecture
  • Voix de sortie alignée sur la langue détectée dans la réponse
  • Aucune transmission réseau · zéro API · zéro clé · zéro compte
  • Compatible Relay mobile (PWA) — la dictée fonctionne aussi côté téléphone
~150 MB
WHISPER · MODÈLE SMALL INT8
99+
LANGUES · AUTO-DÉTECTION
16 kHz
CAPTURE · MONO · SOUNDDEVICE
1 — 3 s
LATENCE TRANSCRIPTION · CPU
3
ZONES DE SAISIE ÉQUIPÉES
0
OCTET ENVOYÉ · 100% LOCAL

Pourquoi local ? Les services STT cloud (Whisper API, Google, Azure) impliquent d'envoyer chaque enregistrement chez un tiers. Pour un assistant pensé local-first, c'était disqualifiant. faster-whisper tourne sur CPU en INT8 avec des perfs proches du temps réel, donc plus aucun compromis : la voix reste sur la machine, point.

§ 06 — CODE orchestrator.py

Un extrait.

# my_ai/core/agent_orchestrator.py — extrait simplifié
from models.ai_agents import (
    CodeAgent, WebAgent, AnalystAgent, CreativeAgent,
    DebugAgent, PlannerAgent, SecurityAgent,
    OptimizerAgent, DataScienceAgent,
)
from memory.vector_memory import VectorMemory
from core.mcp_client import MCPClient
from models.local_llm import LocalLLM

class AgentOrchestrator:
    def __init__(self, model="qwen3.5:4b"):
        self.llm = LocalLLM(model)
        self.memory = VectorMemory("memory/vector_store")
        self.agents = {
            "code":     CodeAgent(self.llm),
            "web":      WebAgent(self.llm),
            "analyst":  AnalystAgent(self.llm),
            "creative": CreativeAgent(self.llm),
            "debug":    DebugAgent(self.llm),
            "planner":  PlannerAgent(self.llm),
            "security": SecurityAgent(self.llm),
            "optim":    OptimizerAgent(self.llm),
            "ds":       DataScienceAgent(self.llm),
        }
        self.mcp = MCPClient.from_config("config.yaml")

    def ask_agent(self, kind: str, query: str) -> str:
        # 1. recall — HNSW + cosinus, reranking CrossEncoder (~20 ms)
        ctx = self.memory.search(query, k=5)
        # 2. delegate — agent ReAct + scratchpad XML
        agent = self.agents[kind]
        answer = agent.run(query, context=ctx, tools=self.mcp.tools)
        # 3. persist — chunks 256 tok / overlap 32, jusqu'à 10M tokens
        self.memory.store(query, answer)
        return answer

Autres projets.

BIENTÔT DISPONIBLE 2026

MY_OS

Distribution Linux avec IA intégrée au système

Raccourci clavier global, pilotage du PC en langage naturel, modèle local Ollama par défaut + cloud Claude optionnel, sécurisé par conception.

LINUX OLLAMA CLAUDE PYTHON

Basé sur un noyau Linux standard avec couche d'intégration IA au niveau système : capture globale des raccourcis, bus de commandes en langage naturel, inférence locale Ollama (par défaut) avec fallback cloud Claude (opt-in explicite). Aucune télémétrie, aucune donnée transmise sans consentement.

GITHUB ↗

On collabore ?

CONTACT →