<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Loic Wiki  - Modifications récentes [fr]</title>
		<link>https://wiki.lololand.org/index.php/Sp%C3%A9cial:Modifications_r%C3%A9centes</link>
		<description>Suivez les dernières modifications du wiki dans ce flux.</description>
		<language>fr</language>
		<generator>MediaWiki 1.45.1</generator>
		<lastBuildDate>Fri, 24 Jul 2026 15:31:25 GMT</lastBuildDate>
		<item>
			<title>Accéder et capturer une page web via un tunnel SSH</title>
			<link>https://wiki.lololand.org/index.php?title=Acc%C3%A9der_et_capturer_une_page_web_via_un_tunnel_SSH&amp;diff=191&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.lololand.org/index.php?title=Acc%C3%A9der_et_capturer_une_page_web_via_un_tunnel_SSH&amp;diff=191&amp;oldid=0</guid>
			<description>&lt;p&gt;Création du guide de tunnel SSH, capture Chromium et envoi Telegram OpenClaw&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DISPLAYTITLE:Accéder et capturer une page web via un tunnel SSH}}&lt;br /&gt;
&lt;br /&gt;
Ce guide explique comment consulter depuis une autre machine un service web qui n&amp;#039;écoute que sur l&amp;#039;interface locale d&amp;#039;un serveur, vérifier son accès, en faire une capture d&amp;#039;écran puis envoyer cette capture dans Telegram avec OpenClaw.&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;exemple utilise l&amp;#039;application &amp;#039;&amp;#039;&amp;#039;AI Tester&amp;#039;&amp;#039;&amp;#039; de Hermes sur la machine &amp;lt;code&amp;gt;tas&amp;lt;/code&amp;gt;. Le service est publié uniquement sur &amp;lt;code&amp;gt;tas:127.0.0.1:5000&amp;lt;/code&amp;gt; : il n&amp;#039;est donc pas directement accessible depuis le réseau.&lt;br /&gt;
&lt;br /&gt;
Dernière vérification : 17 juillet 2026.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Principe ==&lt;br /&gt;
&lt;br /&gt;
Le tunnel local SSH suit ce trajet :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Chromium ou curl&lt;br /&gt;
    → client:127.0.0.1:15000&lt;br /&gt;
    → tunnel SSH&lt;br /&gt;
    → tas:127.0.0.1:5000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le port &amp;lt;code&amp;gt;15000&amp;lt;/code&amp;gt; est le port d&amp;#039;entrée choisi sur la machine cliente. La destination &amp;lt;code&amp;gt;127.0.0.1:5000&amp;lt;/code&amp;gt; est interprétée depuis le serveur SSH &amp;lt;code&amp;gt;tas&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Prérequis ==&lt;br /&gt;
&lt;br /&gt;
Sur la machine cliente :&lt;br /&gt;
&lt;br /&gt;
* un accès SSH par clé au compte &amp;lt;code&amp;gt;loic@tas&amp;lt;/code&amp;gt; ;&lt;br /&gt;
* &amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt; pour vérifier la réponse HTTP ;&lt;br /&gt;
* Google Chrome ou Chromium pour produire la capture ;&lt;br /&gt;
* OpenClaw configuré pour Telegram si la capture doit être envoyée par la CLI.&lt;br /&gt;
&lt;br /&gt;
Le service doit déjà répondre sur &amp;lt;code&amp;gt;tas:127.0.0.1:5000&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Ouvrir le tunnel SSH ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier terminal sur la machine cliente :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh \&lt;br /&gt;
  -N \&lt;br /&gt;
  -o ExitOnForwardFailure=yes \&lt;br /&gt;
  -L 127.0.0.1:15000:127.0.0.1:5000 \&lt;br /&gt;
  loic@tas&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La commande reste au premier plan pendant toute l&amp;#039;utilisation du tunnel.&lt;br /&gt;
&lt;br /&gt;
Signification des paramètres :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-N&amp;lt;/code&amp;gt; : ne lance aucune commande distante ;&lt;br /&gt;
* &amp;lt;code&amp;gt;-L&amp;lt;/code&amp;gt; : crée une redirection locale ;&lt;br /&gt;
* &amp;lt;code&amp;gt;127.0.0.1:15000&amp;lt;/code&amp;gt; : adresse et port d&amp;#039;entrée sur la machine cliente ;&lt;br /&gt;
* &amp;lt;code&amp;gt;127.0.0.1:5000&amp;lt;/code&amp;gt; : service de destination vu depuis &amp;lt;code&amp;gt;tas&amp;lt;/code&amp;gt; ;&lt;br /&gt;
* &amp;lt;code&amp;gt;ExitOnForwardFailure=yes&amp;lt;/code&amp;gt; : arrête immédiatement SSH si le tunnel ne peut pas être créé.&lt;br /&gt;
&lt;br /&gt;
Si la clé n&amp;#039;est pas sélectionnée automatiquement, préciser son chemin :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh \&lt;br /&gt;
  -i ~/.ssh/id_rsa_user \&lt;br /&gt;
  -N \&lt;br /&gt;
  -o ExitOnForwardFailure=yes \&lt;br /&gt;
  -L 127.0.0.1:15000:127.0.0.1:5000 \&lt;br /&gt;
  loic@tas&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le préfixe local &amp;lt;code&amp;gt;127.0.0.1:&amp;lt;/code&amp;gt; empêche les autres machines du réseau d&amp;#039;utiliser ce tunnel.&lt;br /&gt;
&lt;br /&gt;
== Vérifier l&amp;#039;accès HTTP ==&lt;br /&gt;
&lt;br /&gt;
Dans un second terminal sur la machine cliente :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl --fail --show-error \&lt;br /&gt;
  -o /dev/null \&lt;br /&gt;
  -w &amp;#039;HTTP %{http_code} | %{content_type}\n&amp;#039; \&lt;br /&gt;
  http://127.0.0.1:15000/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Réponse attendue :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP 200 | text/html; charset=utf-8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour ouvrir la page manuellement, utiliser dans le navigateur de la machine cliente :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://127.0.0.1:15000/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Capturer la page avec Chromium ==&lt;br /&gt;
&lt;br /&gt;
Avec Google Chrome :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
google-chrome \&lt;br /&gt;
  --headless \&lt;br /&gt;
  --disable-gpu \&lt;br /&gt;
  --screenshot=&amp;quot;$PWD/hermes-ai-tester-home.png&amp;quot; \&lt;br /&gt;
  --window-size=1440,1100 \&lt;br /&gt;
  http://127.0.0.1:15000/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avec Chromium, remplacer simplement &amp;lt;code&amp;gt;google-chrome&amp;lt;/code&amp;gt; par &amp;lt;code&amp;gt;chromium&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;chromium-browser&amp;lt;/code&amp;gt; selon la distribution.&lt;br /&gt;
&lt;br /&gt;
Vérifier ensuite le fichier :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
file &amp;quot;$PWD/hermes-ai-tester-home.png&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Envoyer la capture dans Telegram avec OpenClaw ==&lt;br /&gt;
&lt;br /&gt;
Remplacer &amp;lt;code&amp;gt;IDENTIFIANT_DU_CHAT&amp;lt;/code&amp;gt; par l&amp;#039;identifiant du chat Telegram destinataire :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openclaw message send \&lt;br /&gt;
  --channel telegram \&lt;br /&gt;
  --target &amp;#039;IDENTIFIANT_DU_CHAT&amp;#039; \&lt;br /&gt;
  --message &amp;#039;Capture de la page d’accueil AI Tester via tunnel SSH.&amp;#039; \&lt;br /&gt;
  --media &amp;quot;$PWD/hermes-ai-tester-home.png&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande envoie un fichier existant. Elle ne lance pas de modèle de langage.&lt;br /&gt;
&lt;br /&gt;
Pour vérifier la commande sans envoyer de message :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openclaw message send \&lt;br /&gt;
  --dry-run \&lt;br /&gt;
  --channel telegram \&lt;br /&gt;
  --target &amp;#039;IDENTIFIANT_DU_CHAT&amp;#039; \&lt;br /&gt;
  --message &amp;#039;Capture de test.&amp;#039; \&lt;br /&gt;
  --media &amp;quot;$PWD/hermes-ai-tester-home.png&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fermer le tunnel ==&lt;br /&gt;
&lt;br /&gt;
Revenir dans le premier terminal et presser &amp;lt;code&amp;gt;Ctrl+C&amp;lt;/code&amp;gt;. Le port local &amp;lt;code&amp;gt;15000&amp;lt;/code&amp;gt; est alors libéré.&lt;br /&gt;
&lt;br /&gt;
Vérification facultative :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl --max-time 2 http://127.0.0.1:15000/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après fermeture, cette commande doit échouer avec une erreur de connexion.&lt;br /&gt;
&lt;br /&gt;
== Dépannage ==&lt;br /&gt;
&lt;br /&gt;
=== Le port local 15000 est déjà occupé ===&lt;br /&gt;
&lt;br /&gt;
Choisir un autre port d&amp;#039;entrée, par exemple &amp;lt;code&amp;gt;15001&amp;lt;/code&amp;gt;, dans la commande SSH et dans toutes les URL locales.&lt;br /&gt;
&lt;br /&gt;
=== SSH affiche « No route to host » ===&lt;br /&gt;
&lt;br /&gt;
Vérifier la résolution de &amp;lt;code&amp;gt;tas&amp;lt;/code&amp;gt;, sa route réseau, son adresse IP et l&amp;#039;accessibilité du port SSH :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
getent hosts tas&lt;br /&gt;
ssh -v loic@tas&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SSH affiche « Permission denied (publickey) » ===&lt;br /&gt;
&lt;br /&gt;
Vérifier le compte distant, le chemin de la clé et la présence de sa clé publique dans &amp;lt;code&amp;gt;~/.ssh/authorized_keys&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;tas&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== curl renvoie « Connection refused » ===&lt;br /&gt;
&lt;br /&gt;
Le tunnel peut être établi alors que le service cible ne fonctionne pas. Depuis &amp;lt;code&amp;gt;tas&amp;lt;/code&amp;gt;, contrôler directement :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl -I http://127.0.0.1:5000/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Précautions de sécurité ===&lt;br /&gt;
&lt;br /&gt;
* conserver l&amp;#039;écoute locale du tunnel sur &amp;lt;code&amp;gt;127.0.0.1&amp;lt;/code&amp;gt; ;&lt;br /&gt;
* ne pas publier directement AI Tester sur Internet ;&lt;br /&gt;
* ne pas exposer un serveur Flask/Werkzeug de développement sans authentification ni reverse proxy adapté ;&lt;br /&gt;
* vérifier le destinataire avant d&amp;#039;utiliser &amp;lt;code&amp;gt;openclaw message send&amp;lt;/code&amp;gt; sans &amp;lt;code&amp;gt;--dry-run&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Résumé des commandes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Terminal 1 : tunnel&lt;br /&gt;
ssh -N -o ExitOnForwardFailure=yes \&lt;br /&gt;
  -L 127.0.0.1:15000:127.0.0.1:5000 loic@tas&lt;br /&gt;
&lt;br /&gt;
# Terminal 2 : test&lt;br /&gt;
curl --fail --show-error -o /dev/null \&lt;br /&gt;
  -w &amp;#039;HTTP %{http_code} | %{content_type}\n&amp;#039; \&lt;br /&gt;
  http://127.0.0.1:15000/&lt;br /&gt;
&lt;br /&gt;
# Capture&lt;br /&gt;
google-chrome --headless --disable-gpu \&lt;br /&gt;
  --screenshot=&amp;quot;$PWD/hermes-ai-tester-home.png&amp;quot; \&lt;br /&gt;
  --window-size=1440,1100 \&lt;br /&gt;
  http://127.0.0.1:15000/&lt;br /&gt;
&lt;br /&gt;
# Envoi Telegram&lt;br /&gt;
openclaw message send \&lt;br /&gt;
  --channel telegram \&lt;br /&gt;
  --target &amp;#039;IDENTIFIANT_DU_CHAT&amp;#039; \&lt;br /&gt;
  --message &amp;#039;Capture AI Tester via tunnel SSH.&amp;#039; \&lt;br /&gt;
  --media &amp;quot;$PWD/hermes-ai-tester-home.png&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:SSH]]&lt;br /&gt;
[[Category:OpenClaw]]&lt;br /&gt;
[[Category:Hermes]]&lt;/div&gt;</description>
			<pubDate>Fri, 17 Jul 2026 13:59:25 GMT</pubDate>
			<dc:creator>Daneel</dc:creator>
			<comments>https://wiki.lololand.org/index.php/Discussion:Acc%C3%A9der_et_capturer_une_page_web_via_un_tunnel_SSH</comments>
		</item>
		<item>
			<title>Trace install tas - Hermes Agent</title>
			<link>https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Hermes_Agent&amp;diff=190&amp;oldid=188</link>
			<guid isPermaLink="false">https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Hermes_Agent&amp;diff=190&amp;oldid=188</guid>
			<description>&lt;p&gt;Documente le port local 5000 et le tunnel SSH pour AI Tester&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 16 juillet 2026 à 23:22&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l25&quot;&gt;Ligne 25 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 25 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Accès ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Accès ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Local service : `127.0.0.1:8642`&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Local service : `127.0.0.1:8642`&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* AI Tester local : `127.0.0.1:5000` lorsqu&#039;une instance de l&#039;application est lancée dans le conteneur&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Public HTTP : aucun par défaut&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Public HTTP : aucun par défaut&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Messagerie prévue : Telegram via un second bot dédié à créer&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Messagerie prévue : Telegram via un second bot dédié à créer&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l30&quot;&gt;Ligne 30 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 31 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Ports ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Ports ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* `8642` local uniquement&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* `8642` local uniquement&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* `5000` local uniquement, publié par le Quadlet pour AI Tester ; aucun accès direct depuis le LAN ou Internet&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* `9222` non publié ; accessible uniquement sur le réseau Podman privé `hermes-net`&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* `9222` non publié ; accessible uniquement sur le réseau Podman privé `hermes-net`&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Accès temporaire à AI Tester ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Le Quadlet publie `127.0.0.1:5000:5000`. L&#039;application Flask doit néanmoins être lancée dans le conteneur :&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* `podman exec -d --user hermes --workdir /opt/data/ai-tester hermes uv run flask --app ai_tester.web run --host 0.0.0.0 --port 5000`&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* contrôle depuis `tas` : `curl -I http://127.0.0.1:5000/`&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Depuis une autre machine disposant d&#039;un accès SSH à `tas` :&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* ouvrir le tunnel : `ssh -L 5000:127.0.0.1:5000 tas`&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* consulter ensuite `http://127.0.0.1:5000` dans le navigateur local&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Le serveur Werkzeug utilisé est un serveur de développement sans protection adaptée à une exposition publique. Ne pas publier ce port sur `0.0.0.0` et ne pas l&#039;ajouter directement à Caddy. Le processus Flask lancé avec `podman exec -d` n&#039;est pas persistant et disparaît lors d&#039;une recréation de `hermes.service`.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Exécution / runtime ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Exécution / runtime ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-188:rev-190:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Thu, 16 Jul 2026 21:22:07 GMT</pubDate>
			<dc:creator>Daneel</dc:creator>
			<comments>https://wiki.lololand.org/index.php/Discussion:Trace_install_tas_-_Hermes_Agent</comments>
		</item>
		<item>
			<title>Utiliser les chats Hermes et OpenClaw en ligne de commande</title>
			<link>https://wiki.lololand.org/index.php?title=Utiliser_les_chats_Hermes_et_OpenClaw_en_ligne_de_commande&amp;diff=189&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.lololand.org/index.php?title=Utiliser_les_chats_Hermes_et_OpenClaw_en_ligne_de_commande&amp;diff=189&amp;oldid=0</guid>
			<description>&lt;p&gt;Création du guide CLI Hermes et OpenClaw avec sélection explicite de modèle&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DISPLAYTITLE:Utiliser les chats Hermes et OpenClaw en ligne de commande}}&lt;br /&gt;
&lt;br /&gt;
Ce guide décrit les commandes de consultation et de reprise de conversation pour Hermes Agent et OpenClaw sur la machine &amp;#039;&amp;#039;tas&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Dernière vérification : 16 juillet 2026, avec Hermes dans le conteneur Podman &amp;lt;code&amp;gt;hermes&amp;lt;/code&amp;gt; et OpenClaw 2026.7.1.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Différence entre &amp;lt;code&amp;gt;hermes -z&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;hermes chat&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Hermes propose deux modes non interactifs principaux :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;hermes -z &amp;quot;...&amp;quot;&amp;lt;/code&amp;gt; : appel ponctuel destiné aux scripts, avec uniquement la réponse finale sur la sortie standard ;&lt;br /&gt;
* &amp;lt;code&amp;gt;hermes chat -q &amp;quot;...&amp;quot;&amp;lt;/code&amp;gt; : tour de chat complet, capable de créer ou reprendre une session et offrant davantage de contrôles.&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;option &amp;lt;code&amp;gt;-z&amp;lt;/code&amp;gt; contourne automatiquement les demandes d&amp;#039;approbation. Elle doit donc rester réservée aux demandes textuelles bornées, sans action sensible. Pour utiliser des outils, conserver un historique ou reprendre une conversation, préférer &amp;lt;code&amp;gt;hermes chat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Requêter Hermes ==&lt;br /&gt;
&lt;br /&gt;
=== Question ponctuelle sans action ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
podman exec hermes hermes -z \&lt;br /&gt;
  &amp;quot;Définis Podman Quadlet en trois phrases, sans utiliser d&amp;#039;outil.&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ne pas employer cette forme pour une consigne susceptible de modifier des fichiers, d&amp;#039;exécuter une commande dangereuse ou d&amp;#039;envoyer un message.&lt;br /&gt;
&lt;br /&gt;
=== Requête contrôlée dans une session distincte ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
podman exec hermes hermes chat \&lt;br /&gt;
  --query &amp;quot;Analyse cette architecture sans rien modifier.&amp;quot; \&lt;br /&gt;
  --quiet \&lt;br /&gt;
  --source tool \&lt;br /&gt;
  --max-turns 5&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;--quiet&amp;lt;/code&amp;gt; réduit l&amp;#039;affichage aux résultats utiles ;&lt;br /&gt;
* &amp;lt;code&amp;gt;--source tool&amp;lt;/code&amp;gt; identifie la session comme un appel programmatique ;&lt;br /&gt;
* &amp;lt;code&amp;gt;--max-turns 5&amp;lt;/code&amp;gt; borne le nombre d&amp;#039;itérations de l&amp;#039;agent.&lt;br /&gt;
&lt;br /&gt;
=== Conversation interactive dans le terminal ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
podman exec -it hermes hermes chat --cli&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour utiliser l&amp;#039;interface moderne, remplacer &amp;lt;code&amp;gt;--cli&amp;lt;/code&amp;gt; par &amp;lt;code&amp;gt;--tui&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Choisir explicitement un modèle Hermes ===&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;exemple suivant force &amp;lt;code&amp;gt;gpt-5.6-sol&amp;lt;/code&amp;gt; via le provider &amp;lt;code&amp;gt;openai-codex&amp;lt;/code&amp;gt; uniquement pour cet appel :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
podman exec hermes hermes chat \&lt;br /&gt;
  --provider openai-codex \&lt;br /&gt;
  --model &amp;#039;gpt-5.6-sol&amp;#039; \&lt;br /&gt;
  --query &amp;quot;Compare Docker et Podman, sans effectuer d&amp;#039;action.&amp;quot; \&lt;br /&gt;
  --quiet \&lt;br /&gt;
  --source tool&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour forcer à la place le modèle Ollama local de secours :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
podman exec hermes hermes chat \&lt;br /&gt;
  --provider custom \&lt;br /&gt;
  --model &amp;#039;gemma4:e4b-it-q8_0_128k&amp;#039; \&lt;br /&gt;
  --query &amp;quot;Compare Docker et Podman, sans effectuer d&amp;#039;action.&amp;quot; \&lt;br /&gt;
  --quiet \&lt;br /&gt;
  --source tool&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces choix temporaires ne modifient pas le modèle configuré par défaut.&lt;br /&gt;
&lt;br /&gt;
== Reprendre le chat Hermes utilisé par Telegram ==&lt;br /&gt;
&lt;br /&gt;
=== Retrouver la session Telegram ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
podman exec hermes hermes sessions list --source telegram --limit 10&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La colonne &amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; fournit l&amp;#039;identifiant à passer à &amp;lt;code&amp;gt;--resume&amp;lt;/code&amp;gt;. Toujours relire la liste avant usage afin de sélectionner la bonne conversation.&lt;br /&gt;
&lt;br /&gt;
=== Reprendre le contexte depuis le terminal ===&lt;br /&gt;
&lt;br /&gt;
Mode interactif :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
podman exec -it hermes hermes chat \&lt;br /&gt;
  --resume ID_DE_SESSION \&lt;br /&gt;
  --cli&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tour unique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
podman exec hermes hermes chat \&lt;br /&gt;
  --resume ID_DE_SESSION \&lt;br /&gt;
  --query &amp;quot;Poursuis l&amp;#039;analyse précédente sans rien modifier.&amp;quot; \&lt;br /&gt;
  --quiet&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--resume&amp;lt;/code&amp;gt; recharge le contexte de la conversation Telegram, mais une réponse produite par la CLI reste affichée dans le terminal. Elle n&amp;#039;est pas publiée automatiquement dans Telegram.&lt;br /&gt;
&lt;br /&gt;
=== Envoyer explicitement un texte dans Telegram ===&lt;br /&gt;
&lt;br /&gt;
Après validation humaine du texte :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
podman exec hermes hermes send \&lt;br /&gt;
  --to telegram \&lt;br /&gt;
  &amp;quot;Texte validé à publier dans le chat Telegram.&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;hermes send&amp;lt;/code&amp;gt; ne lance aucun LLM : la commande livre seulement le texte fourni. Pour poursuivre naturellement le contexte et recevoir la réponse dans Telegram, la méthode la plus simple reste d&amp;#039;écrire directement à &amp;lt;code&amp;gt;@LoicHermesBot&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Commandes équivalentes avec OpenClaw ==&lt;br /&gt;
&lt;br /&gt;
=== Tour ponctuel sans livraison externe ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openclaw agent \&lt;br /&gt;
  --agent main \&lt;br /&gt;
  --session-key agent:main:consultation-cli \&lt;br /&gt;
  --message &amp;quot;Définis Podman Quadlet en trois phrases.&amp;quot; \&lt;br /&gt;
  --json&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sans &amp;lt;code&amp;gt;--deliver&amp;lt;/code&amp;gt;, le résultat revient dans le terminal et n&amp;#039;est pas envoyé dans Telegram.&lt;br /&gt;
&lt;br /&gt;
=== Choisir explicitement un modèle OpenClaw ===&lt;br /&gt;
&lt;br /&gt;
Le modèle doit être un identifiant présent dans &amp;lt;code&amp;gt;openclaw models list&amp;lt;/code&amp;gt;. Exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openclaw agent \&lt;br /&gt;
  --agent main \&lt;br /&gt;
  --session-key agent:main:consultation-gpt54 \&lt;br /&gt;
  --model &amp;#039;openai/gpt-5.4&amp;#039; \&lt;br /&gt;
  --message &amp;quot;Compare Docker et Podman en cinq points.&amp;quot; \&lt;br /&gt;
  --json&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette surcharge vaut pour ce tour ; elle ne change pas la configuration globale. Si l&amp;#039;identifiant n&amp;#039;est pas disponible dans l&amp;#039;installation, le remplacer par une valeur effectivement affichée par :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openclaw models list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lister et reprendre une session ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openclaw sessions --agent main --limit 20&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reprise par clé :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openclaw agent \&lt;br /&gt;
  --session-key &amp;#039;CLE_DE_SESSION&amp;#039; \&lt;br /&gt;
  --message &amp;quot;Poursuis l&amp;#039;analyse précédente.&amp;quot; \&lt;br /&gt;
  --json&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reprise par identifiant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openclaw agent \&lt;br /&gt;
  --session-id &amp;#039;ID_DE_SESSION&amp;#039; \&lt;br /&gt;
  --message &amp;quot;Poursuis l&amp;#039;analyse précédente.&amp;quot; \&lt;br /&gt;
  --json&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Interface terminal ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openclaw tui --session &amp;#039;CLE_DE_SESSION&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ajouter &amp;lt;code&amp;gt;--deliver&amp;lt;/code&amp;gt; uniquement si les réponses doivent être livrées au canal externe associé à la session.&lt;br /&gt;
&lt;br /&gt;
=== Répondre dans une conversation Telegram OpenClaw ===&lt;br /&gt;
&lt;br /&gt;
Retrouver d&amp;#039;abord la session :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openclaw sessions --agent main --json&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis lancer le tour sur sa clé exacte avec livraison explicite :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openclaw agent \&lt;br /&gt;
  --session-key &amp;#039;CLE_DE_SESSION_TELEGRAM&amp;#039; \&lt;br /&gt;
  --message &amp;quot;Poursuis notre échange précédent.&amp;quot; \&lt;br /&gt;
  --channel telegram \&lt;br /&gt;
  --deliver&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour imposer une destination de réponse distincte :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openclaw agent \&lt;br /&gt;
  --session-key &amp;#039;CLE_DE_SESSION_TELEGRAM&amp;#039; \&lt;br /&gt;
  --message &amp;quot;Prépare puis envoie la réponse.&amp;quot; \&lt;br /&gt;
  --deliver \&lt;br /&gt;
  --reply-channel telegram \&lt;br /&gt;
  --reply-to &amp;#039;IDENTIFIANT_DU_CHAT&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Envoyer un texte sans appeler le LLM ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openclaw message send \&lt;br /&gt;
  --channel telegram \&lt;br /&gt;
  --target &amp;#039;IDENTIFIANT_DU_CHAT&amp;#039; \&lt;br /&gt;
  --message &amp;quot;Texte déjà validé.&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande livre un texte existant ; elle ne lance pas de tour d&amp;#039;agent.&lt;br /&gt;
&lt;br /&gt;
== Correspondances rapides ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Besoin&lt;br /&gt;
! Hermes&lt;br /&gt;
! OpenClaw&lt;br /&gt;
|-&lt;br /&gt;
| Question ponctuelle&lt;br /&gt;
| &amp;lt;code&amp;gt;hermes -z &amp;quot;...&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;openclaw agent --message &amp;quot;...&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tour contrôlé&lt;br /&gt;
| &amp;lt;code&amp;gt;hermes chat -q &amp;quot;...&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;openclaw agent --message &amp;quot;...&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Lister les sessions&lt;br /&gt;
| &amp;lt;code&amp;gt;hermes sessions list&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;openclaw sessions&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Reprendre une session&lt;br /&gt;
| &amp;lt;code&amp;gt;hermes chat --resume ID&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;openclaw agent --session-key CLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Terminal interactif&lt;br /&gt;
| &amp;lt;code&amp;gt;hermes chat --resume ID --cli&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;openclaw tui --session CLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Envoyer sans LLM&lt;br /&gt;
| &amp;lt;code&amp;gt;hermes send --to telegram&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;openclaw message send --channel telegram&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Précautions ==&lt;br /&gt;
&lt;br /&gt;
# Ne jamais ajouter &amp;lt;code&amp;gt;--yolo&amp;lt;/code&amp;gt; pour une simple consultation Hermes.&lt;br /&gt;
# Réserver &amp;lt;code&amp;gt;hermes -z&amp;lt;/code&amp;gt; aux questions sans effet de bord.&lt;br /&gt;
# Utiliser &amp;lt;code&amp;gt;--source tool&amp;lt;/code&amp;gt; pour isoler les appels programmatiques Hermes.&lt;br /&gt;
# Vérifier l&amp;#039;identifiant de session avant toute reprise.&lt;br /&gt;
# Avec OpenClaw, omettre &amp;lt;code&amp;gt;--deliver&amp;lt;/code&amp;gt; tant que la réponse ne doit pas quitter le terminal.&lt;br /&gt;
# Relire tout contenu avant d&amp;#039;utiliser &amp;lt;code&amp;gt;hermes send&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;openclaw agent --deliver&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;openclaw message send&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Voir aussi ==&lt;br /&gt;
&lt;br /&gt;
* [[Trace install tas - Hermes Agent]]&lt;br /&gt;
* [[Trace install tas]]&lt;/div&gt;</description>
			<pubDate>Thu, 16 Jul 2026 18:05:53 GMT</pubDate>
			<dc:creator>Daneel</dc:creator>
			<comments>https://wiki.lololand.org/index.php/Discussion:Utiliser_les_chats_Hermes_et_OpenClaw_en_ligne_de_commande</comments>
		</item>
		<item>
			<title>Trace install tas - Hermes Agent</title>
			<link>https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Hermes_Agent&amp;diff=188&amp;oldid=184</link>
			<guid isPermaLink="false">https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Hermes_Agent&amp;diff=188&amp;oldid=184</guid>
			<description>&lt;p&gt;Correction rendu commandes podman inspect&lt;/p&gt;
&lt;a href=&quot;https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Hermes_Agent&amp;amp;diff=188&amp;amp;oldid=184&quot;&gt;Voir les modifications&lt;/a&gt;</description>
			<pubDate>Thu, 16 Jul 2026 09:46:51 GMT</pubDate>
			<dc:creator>Daneel</dc:creator>
			<comments>https://wiki.lololand.org/index.php/Discussion:Trace_install_tas_-_Hermes_Agent</comments>
		</item>
		<item>
			<title>Trace install tas - Hermes Agent</title>
			<link>https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Hermes_Agent&amp;diff=184&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.lololand.org/index.php?title=Trace_install_tas_-_Hermes_Agent&amp;diff=184&amp;oldid=0</guid>
			<description>&lt;p&gt;Publication de la page Trace install tas - Hermes Agent&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Trace install tas - Hermes Agent =&lt;br /&gt;
&lt;br /&gt;
== Rôle ==&lt;br /&gt;
Agent IA outillé exposé via sa gateway de messagerie, avec état persistant sur disque dédié.&lt;br /&gt;
&lt;br /&gt;
== Statut opérationnel ==&lt;br /&gt;
Dernière mise à jour documentaire : &amp;#039;&amp;#039;&amp;#039;13 juillet 2026&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Capacités actuellement actives et vérifiées :&lt;br /&gt;
* [x] gateway Telegram dédiée via `@LoicHermesBot`&lt;br /&gt;
* [x] modèle local Ollama via `gemma4:e4b-it-q8_0_128k`&lt;br /&gt;
* [x] outils fichiers / terminal / mémoire / délégation&lt;br /&gt;
* [x] browser local embarqué&lt;br /&gt;
* [x] STT local et TTS Edge&lt;br /&gt;
* [x] `web_search` via backend `ddgs` sans clé API&lt;br /&gt;
&lt;br /&gt;
Capacités encore bloquées ou partielles :&lt;br /&gt;
* [ ] `web_extract` avec backend dédié&lt;br /&gt;
* [ ] `image_generate`&lt;br /&gt;
* [ ] `browser_cdp` et `browser_dialog`&lt;br /&gt;
* [ ] `read_terminal` et `close_terminal` hors application desktop Hermes&lt;br /&gt;
* [ ] `computer_use` dans ce gateway Telegram sans contexte desktop/X11&lt;br /&gt;
&lt;br /&gt;
== Accès ==&lt;br /&gt;
* Local service : `127.0.0.1:8642`&lt;br /&gt;
* Public HTTP : aucun par défaut&lt;br /&gt;
* Messagerie prévue : Telegram via un second bot dédié à créer&lt;br /&gt;
&lt;br /&gt;
== Ports ==&lt;br /&gt;
* `8642` local uniquement&lt;br /&gt;
&lt;br /&gt;
== Exécution / runtime ==&lt;br /&gt;
Quadlet systemd user : `hermes.container` ; unité générée : `hermes.service`.&lt;br /&gt;
&lt;br /&gt;
Commande de démarrage :&lt;br /&gt;
* `gateway run`&lt;br /&gt;
&lt;br /&gt;
Image :&lt;br /&gt;
* `docker.io/nousresearch/hermes-agent:latest`&lt;br /&gt;
&lt;br /&gt;
== Chemins de configuration ==&lt;br /&gt;
* `/home/loic/.config/containers/systemd/hermes.container`&lt;br /&gt;
* `/home/loic/hermes-config/hermes.env`&lt;br /&gt;
* `/media/loic/nem/hermes/config.yaml`&lt;br /&gt;
&lt;br /&gt;
Sources de vérité :&lt;br /&gt;
* le quadlet gère le runtime Podman rootless&lt;br /&gt;
* `hermes.env` porte les secrets / variables Telegram&lt;br /&gt;
* `config.yaml` porte la configuration non secrète Hermes&lt;br /&gt;
&lt;br /&gt;
== Volumes / persistance ==&lt;br /&gt;
* `/media/loic/nem/hermes:/opt/data`&lt;br /&gt;
&lt;br /&gt;
Contenu notable dans la persistance :&lt;br /&gt;
* `config.yaml`&lt;br /&gt;
* historiques / sessions Hermes&lt;br /&gt;
* mémoire et skills synchronisés par Hermes&lt;br /&gt;
&lt;br /&gt;
== Dépendances ==&lt;br /&gt;
* Podman rootless&lt;br /&gt;
* Ollama local via `http://host.containers.internal:11434/v1`&lt;br /&gt;
* second bot Telegram dédié avec token distinct de l&amp;#039;instance OpenClaw existante&lt;br /&gt;
* package Python `ddgs` installé via `hermes tools post-setup ddgs` le `13 juillet 2026`&lt;br /&gt;
&lt;br /&gt;
== Modèle LLM principal ==&lt;br /&gt;
Configuration Hermes actuellement retenue :&lt;br /&gt;
* provider : `custom`&lt;br /&gt;
* backend : API Ollama locale sur `http://host.containers.internal:11434/v1`&lt;br /&gt;
* modèle par défaut : `gemma4:e4b-it-q8_0_128k`&lt;br /&gt;
* contexte cible : `131072` tokens&lt;br /&gt;
&lt;br /&gt;
== Outils et backends activés ==&lt;br /&gt;
Activation explicite actuellement retenue dans `config.yaml` :&lt;br /&gt;
* `web.search_backend: ddgs`&lt;br /&gt;
&lt;br /&gt;
Conséquences :&lt;br /&gt;
* `web_search` devient disponible sans clé API&lt;br /&gt;
* `web_extract` n&amp;#039;a pas encore de backend dédié, donc la recherche web est activée mais l&amp;#039;extraction avancée reste à compléter&lt;br /&gt;
&lt;br /&gt;
Backends non activés à ce stade :&lt;br /&gt;
* aucun backend `image_gen`&lt;br /&gt;
* aucun `browser.cdp_url`&lt;br /&gt;
&lt;br /&gt;
== Intégration Telegram préparée ==&lt;br /&gt;
Configuration locale maintenant active :&lt;br /&gt;
* fichier dédié : `/home/loic/hermes-config/hermes.env`&lt;br /&gt;
* allowlist utilisateur configurée sur l&amp;#039;identifiant Telegram de Loïc : `5910858583`&lt;br /&gt;
* canal home Telegram préparé sur `5910858583`&lt;br /&gt;
* bot dédié configuré : `@LoicHermesBot`&lt;br /&gt;
&lt;br /&gt;
Important :&lt;br /&gt;
* le token du bot dédié est maintenant renseigné dans `hermes.env`&lt;br /&gt;
* il faut un bot distinct de `@LoicBoBBot` pour éviter le conflit `getUpdates` avec OpenClaw&lt;br /&gt;
&lt;br /&gt;
Variables prévues dans `hermes.env` :&lt;br /&gt;
* `TELEGRAM_ALLOWED_USERS=5910858583`&lt;br /&gt;
* `TELEGRAM_HOME_CHANNEL=5910858583`&lt;br /&gt;
* `TELEGRAM_BOT_TOKEN=...` configuré pour `@LoicHermesBot`&lt;br /&gt;
&lt;br /&gt;
== Procédure pour finaliser le second bot ==&lt;br /&gt;
Bot dédié déjà créé et validé :&lt;br /&gt;
* nom : `Hermes`&lt;br /&gt;
* username : `@LoicHermesBot`&lt;br /&gt;
&lt;br /&gt;
Pour refaire la procédure sur une autre instance :&lt;br /&gt;
* créer un bot dédié via `@BotFather`&lt;br /&gt;
* renseigner `TELEGRAM_BOT_TOKEN` dans `/home/loic/hermes-config/hermes.env`&lt;br /&gt;
* `systemctl --user daemon-reload`&lt;br /&gt;
* `systemctl --user restart hermes.service`&lt;br /&gt;
* vérifier `journalctl --user -u hermes.service -n 100 --no-pager`&lt;br /&gt;
&lt;br /&gt;
== Procédure de relance / diagnostic ==&lt;br /&gt;
Commandes utiles :&lt;br /&gt;
* `systemctl --user status hermes.service --no-pager -l`&lt;br /&gt;
* `systemctl --user restart hermes.service`&lt;br /&gt;
* `journalctl --user -u hermes.service -n 100 --no-pager`&lt;br /&gt;
* `ss -ltn | rg 8642`&lt;br /&gt;
* `podman exec hermes /opt/hermes/.venv/bin/python -c &amp;quot;from tools.web_tools import check_web_api_key; print(check_web_api_key())&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
Interprétation rapide :&lt;br /&gt;
* si le service tourne mais logue `No messaging platforms enabled`, le token Telegram n&amp;#039;est pas encore actif&lt;br /&gt;
* si le service refuse de démarrer après ajout du token, vérifier d&amp;#039;abord le format du token et l&amp;#039;unicité du bot&lt;br /&gt;
* si un conflit de token apparaît, s&amp;#039;assurer que le bot Hermes n&amp;#039;est pas le même que celui d&amp;#039;OpenClaw&lt;br /&gt;
* si Telegram est bien pris en compte, les logs montrent une phase de connexion du type `Connecting to Telegram`&lt;br /&gt;
* si `check_web_api_key()` renvoie `True` avec `search_provider=ddgs`, la recherche web est activée même sans clé API&lt;br /&gt;
&lt;br /&gt;
== Plan d&amp;#039;activation des potentiels ==&lt;br /&gt;
Checklist de suivi :&lt;br /&gt;
* [x] sécuriser le runtime rootless + backups de config&lt;br /&gt;
* [x] activer Telegram dédié&lt;br /&gt;
* [x] basculer sur le modèle local `gemma4:e4b-it-q8_0_128k`&lt;br /&gt;
* [x] activer `web_search` gratuit via `ddgs`&lt;br /&gt;
* [ ] choisir et brancher un backend `web_extract`&lt;br /&gt;
* [ ] choisir et brancher un backend `image_generate`&lt;br /&gt;
* [ ] fournir un endpoint CDP persistant si l&amp;#039;on veut `browser_cdp`&lt;br /&gt;
* [ ] décider si un contexte desktop dédié doit être exposé à Hermes&lt;br /&gt;
&lt;br /&gt;
Intervention attendue de Loïc pour débloquer la suite :&lt;br /&gt;
* `web_extract` : fournir un choix de provider et sa config (`TAVILY_API_KEY`, `FIRECRAWL_API_KEY`, `EXA_API_KEY`, ou une URL `SEARXNG_URL` si une instance maison existe)&lt;br /&gt;
* `image_generate` : fournir un provider et un secret ou une auth exploitable dans le conteneur (`OPENAI_API_KEY`, `FAL_KEY`, ou auth Codex dans Hermes)&lt;br /&gt;
* `browser_cdp` : fournir une cible CDP réelle et durable (`browser.cdp_url`)&lt;br /&gt;
&lt;br /&gt;
== Données / emplacements à sauvegarder ==&lt;br /&gt;
* `/home/loic/.config/containers/systemd/hermes.container`&lt;br /&gt;
* `/home/loic/hermes-config/hermes.env`&lt;br /&gt;
* `/media/loic/nem/hermes`&lt;br /&gt;
&lt;br /&gt;
== Sauvegarde ==&lt;br /&gt;
Avant modification de la config critique :&lt;br /&gt;
* sauvegarder le quadlet Hermes&lt;br /&gt;
* sauvegarder `hermes.env`&lt;br /&gt;
* sauvegarder la persistance `/media/loic/nem/hermes`&lt;br /&gt;
&lt;br /&gt;
== Restauration ==&lt;br /&gt;
* restaurer `hermes.container`&lt;br /&gt;
* restaurer `hermes.env`&lt;br /&gt;
* restaurer `/media/loic/nem/hermes`&lt;br /&gt;
* recharger systemd user&lt;br /&gt;
* relancer `hermes.service`&lt;br /&gt;
&lt;br /&gt;
== Rollback ==&lt;br /&gt;
Si l&amp;#039;intégration Telegram du second bot casse Hermes :&lt;br /&gt;
* recommenter `TELEGRAM_BOT_TOKEN` dans `/home/loic/hermes-config/hermes.env`&lt;br /&gt;
* redémarrer `hermes.service`&lt;br /&gt;
* revenir au backup du quadlet si nécessaire&lt;br /&gt;
&lt;br /&gt;
== Maintenance documentaire ==&lt;br /&gt;
Lors d&amp;#039;un changement d&amp;#039;image, de provider LLM, de chemin de persistance, de port local, de bot Telegram ou de stratégie d&amp;#039;allowlist, mettre à jour cette page et la trace centrale.&lt;br /&gt;
&lt;br /&gt;
== Trace documentaire ==&lt;br /&gt;
Cette page fait partie de [[Trace install tas]].&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 08:57:56 GMT</pubDate>
			<dc:creator>Daneel</dc:creator>
			<comments>https://wiki.lololand.org/index.php/Discussion:Trace_install_tas_-_Hermes_Agent</comments>
		</item>
		<item>
			<title>Trace install tas</title>
			<link>https://wiki.lololand.org/index.php?title=Trace_install_tas&amp;diff=183&amp;oldid=181</link>
			<guid isPermaLink="false">https://wiki.lololand.org/index.php?title=Trace_install_tas&amp;diff=183&amp;oldid=181</guid>
			<description>&lt;p&gt;Ajout du lien vers Trace install tas - Hermes Agent et synchro de la page centrale&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 13 juillet 2026 à 10:57&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l38&quot;&gt;Ligne 38 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 38 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Trace install tas - Trilium Notes]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Trace install tas - Trilium Notes]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Trace install tas - Stalwart]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Trace install tas - Stalwart]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[Trace install tas - Hermes Agent]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Vue synthétique ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Vue synthétique ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l82&quot;&gt;Ligne 82 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 83 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Stalwart || 1025 / 1465 / 1587 / 1993 / 18080 || aucun à date || mail.lololand.org / lololand.org (MX à basculer) || Serveur mail local&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Stalwart || 1025 / 1465 / 1587 / 1993 / 18080 || aucun à date || mail.lololand.org / lololand.org (MX à basculer) || Serveur mail local&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| Hermes Agent || 8642 || aucun à date || || Agent IA outillé via gateway de messagerie&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-181:rev-183:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Mon, 13 Jul 2026 08:57:14 GMT</pubDate>
			<dc:creator>Daneel</dc:creator>
			<comments>https://wiki.lololand.org/index.php/Discussion:Trace_install_tas</comments>
		</item>
</channel></rss>