PRISME France 2030 · Culture & IA

Plan de configuration global — Stack Marty (Hermes v2)

Vérifier la maturitéSpecDoc. générale

Version : 1.2 · Date : 2026-06-20 · Statut : source de vérité configuration.

Ce document est la référence de configuration de toute la stack Marty. Il

synthétise les docs officielles

(Hermes Agent,

vLLM tool calling,

hermes-workspace,

OpenCode), les attendus du projet Marty

(`~/DEV/marty/README.md` — 28+ agents,

NLU français, validation humaine, Baserow/CalDAV/email/AFFiNE/n8n/LibreOffice) et

1. Architecture — tout déporté sur marty

flowchart TB
  subgraph p53["Poste P53 — client uniquement"]
    BR[Navigateur]
    OC[OpenCode CLI]
    TUN[(Tunnel SSH<br/>:18000 vLLM / :19000 gateway)]
  end

  subgraph marty["marty — WRX90 (RTX PRO 5000, 48 Go) — exécution complète"]
    TRA[Traefik :443<br/>*.nassim.netlib.re]
    VLLM[vLLM OpenAI :8000<br/>alias marty-llm]
    HG[Hermes Gateway :8642]
    HD[Hermes Dashboard :9119]
    HW[Hermes Workspace :3002]
    OUI[OpenWebUI]
  end

  BR -->|HTTPS| TRA
  OC -->|marty-vllm / marty-hermes| TUN
  TUN --> VLLM
  TUN --> HG
  TRA --> HW
  TRA --> HD
  TRA --> OUI
  TRA --> HG
  HW --> HG
  HW --> HD
  HG -->|profils marty-* + tools + MCP + aux| VLLM

Trois surfaces Hermes (doc

API Server),

toutes hébergées sur marty :

SurfacePort (marty)Accès P53Rôle
Gateway8642tunnel :19000 + HTTPSAPI OpenAI-compatible, tools, profils, MCP, kanban dispatch
Dashboard9119HTTPSSessions, skills, jobs, config, kanban UI
Workspace3002HTTPS (app.nassim.netlib.re)UI « command center » (hermes-workspace)

2. Couches & responsabilités

Tout s'exécute sur marty. Le P53 n'héberge qu'un navigateur, OpenCode et le tunnel.

Couche (sur marty)RôleDocAccès depuis P53
vLLMInférence unique (turns + tâches auxiliaires), alias marty-llmvLLMtunnel :18000 / HTTPS
Hermes GatewayAgent + tools + MCP + profils + délégation + kanbanHermestunnel :19000 / HTTPS
Hermes DashboardSkills, sessions, jobs, kanban UIHermesHTTPS
Hermes WorkspaceUI web command centerhermes-workspaceHTTPS app.nassim.netlib.re
OpenWebUIChat webOpenWebUIHTTPS marty.nassim.netlib.re
TraefikTLS + auth + routage:443
OpenCode (P53)CLI coding agent — clientOpenCodetunnel :18000/:19000

3. vLLM — modèles & tool parsers

Contrainte VRAM 48 Go → un seul gros modèle chargé à la fois ; vLLM sert

toujours l'alias stable marty-llm en plus du served_id réel. Doc

Tool Calling : toujours

--enable-auto-tool-choice + --tool-call-parser adapté à la famille.

Source : Configuration (models registry)

· Mapping : Configuration (marty hermes model mapping).

Clé registreserved_idQuantParser toolsScore / toolsCtxRôle
gemma4-26bgemma4-26b-a4b-awqcompressed-tensorsgemma4 + reasoning gemma49.0 / 1016kPRINCIPAL — meilleur score, ~180 tok/s
qwen3.6-35bqwen3.5-35b-a3b-abliteratedNVFP4qwen3_coder + reasoning qwen38.5 / 1032kAlternative — ctx long / abliterated, enable_thinking:false
gemma4-31bgemma4-31b-awqAWQ (--dtype float16)gemma4 + reasoning gemma47.4 / 816kFallback qualité dense
qwen2.5qwen2.5-32b-abliteratedAWQhermes7.2 / 832kFallback sûr tool-use ≥8

Choix du principal : par score bench v2, gemma4-26b (9.0) > qwen3.6-35b (8.5).

Il est aussi le plus rapide (~180 tok/s) et 10/10 tools. Seules limites : contexte 16k

(vs 32k pour qwen3.6-35b) et non abliterated (refus possibles sur sujets sensibles).

→ bascule vers qwen3.6-35b pour ces deux cas (voir mapping load_policy.alternative).

Règles vLLM :

reconfigurent jamais l'alias (toujours marty-llm).

32768 pour qwen* (sinon erreurs de dépassement sur gemma4-26b). À automatiser dans

marty-llm-model.sh switch (cf. §10 Phase A).

qwen2.5-72b, qwen2.5-coder, gemma3, qwen2.5-7b, hermes-3 (tool-use insuffisant).

4. Hermes Agent — configuration cœur

4.1 Fichiers maîtres (sur marty)

Fichier (sur marty)Contenu clé
Configuration (config)model, providers, delegation, kanban, mcp_servers, toolsets, auxiliary
.envAPI_SERVER_*, secrets métier, OPENAI_API_*, MARTY_LLM_API_KEY
authactive_provider (résolution provider CLI / workers kanban)
marty *34 profils agents (provider, model, sources, outils)

4.2 API Server (obligatoire)

Doc API Server

API_SERVER_KEY est requis. Bind 0.0.0.0 derrière Traefik (TLS + auth), jamais exposé nu.

API_SERVER_ENABLED=true
API_SERVER_HOST=0.0.0.0 # derrière Traefik sur marty (bindé conteneur 127.0.0.1)
API_SERVER_PORT=8642
API_SERVER_KEY=<secret fort>
API_SERVER_CORS_ORIGINS=https://app.nassim.netlib.re,https://hermes.nassim.netlib.re

4.3 Providers LLM (internes à marty)

vLLM, Hermes et tâches auxiliaires co-localisés sur marty → tout pointe sur le

vLLM interne. Plus aucun provider Ollama, plus de fallback offline.

ContexteProvider Hermesbase_url (sur marty)Modèle
Profils marty-* (runtime)openrouter (OpenAI-compat custom)http://127.0.0.1:8000/v1 (vLLM) ou gateway v1marty-llm
CLI / workers kanbanopenrouter + auth active_provideridemmarty-llm
Tâches auxiliairesmême moteurhttp://127.0.0.1:8000/v1marty-llm
Bench / scripts directsmarty-vllm customv1marty-llm / served_id

Scripts : Script Python (apply marty edge llm config),

Script Python (apply marty hermes model mapping),

Script shell (finalize marty v2).

4.4 Délégation (CEO / coordinator)

Doc Delegation :

delegation:
  max_spawn_depth: 2 # orchestrateur → feuilles ; coût ×3^depth
  max_concurrent_children: 3
  orchestrator_enabled: true
  provider: openrouter # hérite du parent si vide
  model: marty-llm
  base_url: http://127.0.0.1:8000/v1 # vLLM interne marty

4.5 Kanban

Doc Kanban :


Synthèse PRISME — 707 lignes dans la source complète.

Voir aussi PRISME : Nœud IA Expérimental