128 Go de mémoire unifiée. Jusqu'à 96 Go pour le GPU. Hermes Agent pointé vers localhost au lieu des serveurs de quelqu'un d'autre

« Tout le monde dit que les agents locaux sont gratuits. Je ne pense pas que ce soit la bonne façon de voir les choses. » Exécuter Hermes Agent sur des modèles cloud coûtait entre 10 et 20 dollars par jour en crédits, sans compter le risque pour la vie privée lié au routage des clés API, des données clients et des workflows métier via les serveurs de quelqu'un d'autre. La solution consiste à placer l'agent et le modèle qu'il appelle sur du matériel que vous possédez, fonctionnant 24h/24 et 7j/7, de sorte que l'ensemble devienne une infrastructure plutôt qu'une facture récurrente.
Ceci est un journal de construction, pas une comparaison : le Minisforum MS-S1 MAX comme machine toujours allumée, Hermes Agent comme couche de workflow par-dessus. Ensemble, ils forment une configuration qui se niche dans un placard, reste allumée en permanence et gère de véritables tâches métier – rédaction de contenu, recherche, exécution d'appels d'outils, gestion de sous-agents – sans coût cloud par token ni fuite de données hors du réseau. Ci-dessous : ce qui se trouve à l'intérieur du MS-S1 MAX, comment le configurer, les performances réelles, et comment connecter Hermes Agent par-dessus pour obtenir une stack d'automatisation métier fonctionnelle.
Le Matériel : Ce qui se trouve à l'intérieur du MS-S1 MAX
Le MS-S1 MAX est construit sur la plateforme Strix Halo d'AMD, actuellement le silicium pour mini-PC le plus performant pour exécuter des grands modèles de langage en local, car il associe un CPU puissant au plus grand GPU intégré qu'AMD ait livré pour ce facteur de forme. C'est la différence entre une machine qui ne peut gérer qu'une simple discussion et une qui peut exécuter une véritable boucle d'agent avec des appels d'outils, des sous-agents et un long contexte de manière autonome.
Spécifications du SoC (AMD Ryzen AI Max+ 395, Strix Halo 4 nm, TDP de 45 à 120 W) :
1ComposantSpécificationCPU16 cœurs / 32 threads, Zen 5, 3,0 GHz de base – 5,1 GHz boost, 64 Mo de cache L3GraphiqueRadeon 8060S, 40 CU RDNA 3.5, 2,9 GHz, VRAM partagée avec le systèmeNPUXDNA, 50 TOPSPCIeGen 4, 16 voiesRAMLPDDR5X, 8000 MT/s, jusqu'à 128 Go, quad canal, 256 Go/s de bande passante
L'iGPU de 40 CU / 2560 unités de shading est approximativement comparable à une RX 7600 XT discrète en termes de performances brutes, intégrée dans un mini PC assez petit pour rester allumé sur une étagère 24h/24 et 7j/7.

Pourquoi l'iGPU travaille plus dur ici que dans les ordinateurs portables : le 8060S est normalement limité à environ 55 W dans les châssis d'ordinateurs portables. La solution de refroidissement plus large du MS-S1 MAX (6 caloducs, double ventilateur) permet à Minisforum de pousser la limite de puissance à 120 W en mode performance, avec des fréquences soutenues correspondamment plus élevées – important pour une machine conçue pour faire tourner de l'inférence en continu, et non par à-coups.
L'astuce de la RAM qui rend le workflow métier possible : le MS-S1 MAX est livré avec 128 Go de LPDDR5X soudée, unifiée et quadri-canal. Le pilote AMDGPU peut allouer de la RAM système comme VRAM via la GTT (Graphics Translation Table), et sur cette machine, l'iGPU peut réclamer jusqu'à 96 Go de ce pool, laissant 32 Go pour le CPU. Ce plafond de 96 Go signifie que cette seule machine peut héberger un modèle véritablement performant et ce, tout en exécutant le processus agent, le tableau de bord et d'autres services permanents sur le même boîtier.
Configuration de la Couche Modèle (llama.cpp sur Strix Halo)
pour maintenir des conteneurs Toolbox préconstruits pour llama.cpp sur Strix Halo, sur plusieurs backends : vulkan-amdvlk, vulkan-radv, rocm-6.4.4, rocm-6.4.4-rocwmma, rocm-7rc-rocwmma. Ils sont principalement construits pour le HP G1a Mini (même puce Strix Halo), mais fonctionnent sur la plupart des machines Strix Halo, y compris le MS-S1 MAX. Le backend vulkan-radv s'est avéré le plus stable lors des tests et charge les plus gros modèles sans problème.
BIOS/UEFI : définissez l'allocation minimale de VRAM à 1 Go (le minimum du BIOS Minisforum) afin que le pilote AMDGPU soit libre d'allouer la RAM système comme VRAM via GTT.
Paramètres du noyau (testé sur Arch Linux, mais toute distribution récente avec le support du noyau Strix Halo devrait fonctionner) pour maximiser l'allocation de VRAM et réduire la latence :
amd_iommu=off amdgpu.gttsize=131072 amdttm.pages_limit=33554432 amdttm.page_pool_size=15728640
Créez le toolbox avec le passage du GPU :
toolbox create llama-vulkan-radv
--image docker.io/kyuz0/amd-strix-halo-toolboxes:vulkan-radv
-- --device /dev/dri --group-add video --security-opt seccomp=unconfined
Entrez dedans :
toolbox enter llama-vulkan-radv
À l'intérieur, llama-cli et llama-server sont prêts à exécuter des modèles. Forcez toutes les couches sur le GPU pour que le CPU reste libre pour tout le reste (le processus agent, Tailscale, les tableaux de bord) :
1# Terminal uniquement2llama-cli --no-mmap -ngl 999 --flash-attn on -m <model>34# Interface du serveur web — c'est là que Hermes Agent pointera5llama-server --no-mmap -ngl 999 --flash-attn on --host <ip_address> --port <port_number> -m <model>
Les modèles utilisés ici proviennent de Unsloth sur Hugging Face, au format GGUF.
Basculer entre les modèles : llama-swap facilite le changement de modèle servant l'agent sans rien redémarrer manuellement – téléchargez le binaire Linux, faites chmod +x dessus, et définissez un config.yaml.
1models:2 "OpenAI-20B-GPT-OOS":3 cmd: |4 llama-server --no-mmap -ngl 999 --flash-attn on --port ${PORT} -m /models/gpt-oss-20b-GGUF/gpt-oss-20b-F16.gguf -c 400005 "gemma-3-27b-it-abliterated":6 cmd: |7 llama-server --no-mmap -ngl 999 --flash-attn on --port ${PORT} -m /models/gemma-3-27b-it-abliterated-GGUF/gemma-3-27b-it-abliterated.q6_k.gguf -c 400008 "OpenAI-20B-NEO-CODEPlus":9 cmd: |10 llama-server --no-mmap -ngl 999 --flash-attn on --port ${PORT} -m /models/OpenAI-20B-NEO-CODEPlus-Q5_1/OpenAI-20B-NEO-CODEPlus-Q5_1.gguf -c 4000011 "OpenAI-120B-GPT-OOS":12 cmd: |13 llama-server --no-mmap -ngl 999 --flash-attn on --port ${PORT} -m /models/gpt-oss-120b-GGUF/gpt-oss-120b-UD-Q4_K_XL-00001-of-00002.gguf -c 40000
Cela fournit une interface web pour changer de modèle selon les tâches (modèle plus léger/rapide pour les réponses rapides, le 120B pour tout ce qui nécessite plus de raisonnement) sans toucher directement à la machine, et l'historique de chat persiste lors du changement.

Les Chiffres de Performance (Pourquoi Cette Machine Peut Gérer une Charge de Travail d'Agent)
En utilisant llama-bench pour le traitement des invites (pp512) et la génération de texte (tg128) :
1ModèleTailleTraitement des invites (t/s)Génération de texte (t/s)GPT-OSS-120B (Q4_K_XL)58.7 Go454.15 ± 2.9856.61 ± 0.03GPT-OSS-20B (F16)12.8 Go965.54 ± 9.5646.84 ± 0.06Gemma-3-27B (Q6_K)20.6 Go178.14 ± 1.099.65 ± 0.01Qwen3-30B-A3B (BF16)56.9 Go163.01 ± 1.339.23 ± 0.04

Le chiffre qui importe pour un agent toujours actif : un modèle 120B, entièrement local, générant à 56,6 tokens/seconde. C'est assez rapide pour que Hermes Agent puisse exécuter des chaînes d'appels d'outils en plusieurs étapes sans que chaque tâche ne devienne une longue attente.
Test de charge réel : en demandant à GPT-OSS-120B "Générez un essai sur les LLM (5000 mots)", cela a produit 7 990 tokens à 51,2 tokens/seconde. La consommation électrique moyenne était d'environ 110 W sur l'iGPU, avec la température de bord se stabilisant autour de 68-69 °C – silencieux et pas particulièrement chaud, grâce au refroidissement à 6 caloducs/ double ventilateur et à une mise à jour du BIOS 1.03 qui a amélioré la courbe des ventilateurs. Ce profil de puissance et thermique est ce qui rend le fonctionnement 24h/24 et 7j/7 en tant que boîtier professionnel réaliste, plutôt qu'un risque d'incendie.

NPU : le NPU XDNA 2 (50 TOPS) n'a pas encore été utilisé dans cette configuration – le support est encore immature. FastFlowLM, un projet permettant l'inférence de LLM sur les NPU Ryzen AI, semble prometteur comme future façon de décharger encore plus la charge de travail, mais nécessite actuellement Windows.
La Couche Workflow : Connecter Hermes Agent par-dessus
C'est ici que la machine se transforme en un véritable outil métier plutôt qu'en un benchmark. Hermes Agent est la couche qui prend le modèle local ci-dessus et le transforme en quelque chose qui fait des choses : rédige du contenu, exécute des appels d'outils, navigue, gère des sous-agents et agit selon un calendrier.
1. Installez Hermes Agent et pointez-le vers le modèle local. L'intégration d'Hermes demande un fournisseur de modèle. Choisissez local/auto-hébergé compatible OpenAI, pointez-le vers localhost:<port> là où llama-server s'exécute, et sautez la clé API puisqu'il est local. Hermes souhaite spécifiquement une longueur de contexte minimale de 64 000 tokens – augmentez-la si le workflow implique du codage intensif ou de longs documents, gardez-la plus basse pour des tâches courtes comme les e-mails ou les publications sur les réseaux sociaux.
2. Définissez le modèle local comme modèle par défaut, pas comme la seule option. La configuration de production réelle est hybride par conception, mais pas parce que le matériel ne peut pas suivre – parce que certaines tâches n'ont vraiment pas besoin d'un modèle local 120B : réponses rapides, mise en forme simple, consultations courtes. Définissez le modèle local comme défaut, puis ajoutez un fournisseur de secours (OpenAI, Claude ou Open Router) avec des instructions de routage pour les cas où il apporte réellement une valeur ajoutée – chaînes d'appels d'outils lourdes, longues boucles de débogage, ou tâches où la vitesse prime sur la confidentialité. Open Router est un moyen peu coûteux de le faire : 10 $ achète environ 1 000 requêtes, utile comme soupape de sécurité pour les tâches de sous-agents non critiques.
3. Gardez-le en fonctionnement 24h/24 et 7j/7. Un workflow métier ne fonctionne que s'il ne s'arrête pas lorsque vous fermez votre ordinateur portable. Activez le redémarrage automatique d'Hermes Agent au démarrage :
1sudo systemctl enable tailscaled2sudo systemctl enable hermes-agent
Tout assistant de codage IA (Codex, Claude, Gemini, Warp) peut générer le fichier de service équivalent si Hermes Agent n'a pas été installé en tant que service systemd par défaut.
4. Accédez-y depuis n'importe où avec Tailscale. C'est ce qui transforme le MS-S1 MAX d'« une machine devant laquelle je dois m'asseoir » en infrastructure. Installez Tailscale (plan personnel gratuit, jusqu'à six utilisateurs) sur le mini PC et sur ce avec quoi vous travaillez réellement au quotidien – ordinateur portable, téléphone. Une fois les deux sur le même réseau Tailscale :
- Connectez-vous en SSH au mini PC depuis un ordinateur portable pour exécuter des commandes d'administration que l'agent ne peut pas exécuter lui-même.
- Ouvrez le tableau de bord Hermes Agent à distance comme s'il tournait sur localhost, même s'il est physiquement sur une machine dans une autre pièce ou à l'autre bout du pays.
- Sur iOS, comme certaines applications de terminal (Termius) sautent la poignée de main SSH attendue par Tailscale, définissez le mode d'accès SSH sur "accepter" dans les contrôles d'accès de Tailscale pour que le téléphone puisse se connecter – utile pour corriger un workflow bloqué loin d'un bureau.
5. Laissez l'agent exécuter les tâches métier. Avec la stack câblée de cette façon, le schéma quotidien ressemble à ceci : la recherche, la rédaction, les résumés et les appels d'outils de routine s'exécutent localement sur le MS-S1 MAX gratuitement, les résultats étant poussés via Telegram, un tableau de bord, ou tout ce avec quoi Hermes s'intègre. Tout ce qui doit être rapide (temps réel, face au client) ou nécessite un raisonnement que le modèle local ne peut vraiment pas égaler est routé vers le fournisseur de secours par exception, et non par défaut.
Pourquoi le Choix du Matériel Détermine Ce Que Vous Obtenez Réellement
Le modèle local est le goulot d'étranglement pour tout ce qui se trouve au-dessus. Un modèle 9B à quelques dizaines de tokens/seconde peut exécuter Hermes Agent, mais les tâches d'agent en plusieurs étapes avec des sous-agents et des appels d'outils s'étendent sur plusieurs minutes, ce qui limite la quantité de charge de travail qui peut raisonnablement rester en local avant que le routage de secours ne doive prendre le relais. Un modèle local de classe 120B à 56+ tokens/seconde change la donne : une plus grande partie de la charge de travail quotidienne peut être absorbée par la machine locale elle-même, la logique métier reste davantage sur le matériel que vous possédez, et le cloud de secours devient un outil pour les cas extrêmes plutôt que le chemin par défaut pour tout ce qui n'est pas trivial.
La confidentialité est la partie qui ne change pas avec le matériel. Quel que soit le modèle exécuté localement, les clés API, les données clients et les workflows métier ne quittent jamais le réseau. C'est vrai sur un Raspberry Pi faisant tourner un petit modèle et vrai sur le MS-S1 MAX faisant tourner un 120B – le matériel décide simplement de la quantité de travail utile effectuée avant que vous ayez besoin de recourir à l'option cloud.
En Pratique
Pour une stack d'agent locale 24h/24 et 7j/7 destinée à réellement supporter des workflows métier – pas seulement à montrer une réponse de chat – les exigences sont les suivantes : suffisamment de mémoire unifiée pour charger un modèle véritablement performant, une marge de puissance/thermique soutenue suffisante pour exécuter ce modèle en continu, et une consommation au ralenti assez faible pour que le laisser allumé ne se traduise pas par une dépense réelle.
La mémoire iGPU adressable de 96 Go du MS-S1 MAX, sa consommation de 110 W en charge soutenue et son refroidissement silencieux à 6 caloducs couvrent le côté matériel de l'équation. Hermes Agent, pointé vers llama-server tournant en local et accessible de n'importe où via Tailscale, couvre le côté workflow. Ensemble, cela donne un seul mini PC qui peut se nicher dans un placard, rester allumé en permanence et exécuter une partie significative de la charge de travail IA quotidienne d'une entreprise, sans facture cloud récurrente ni fuite de données hors du bâtiment.
Pour une utilisation générale en tant que station de travail, le MS-S1 MAX offre également une extension PCIe et double M.2, une puissance au ralenti d'environ 5 W, un double Ethernet 10 Gbps et USB4 v2 (80 Gbps) – rien de tout cela n'est spécifique aux LLM, mais tout cela importe si cette machine fait double emploi en tant que plus qu'un simple boîtier d'agent.





