11.1 · Vérifier les prérequis
Validationgit --version
node --version
npm --version
hermes --versionInstaller Camofox comme navigateur local de secours pour Hermes, conserver les sessions utiles entre les tâches et respecter la stratégie Golden : recherche/extraction Web d’abord, Camofox seulement lorsque la page nécessite un vrai navigateur, du JavaScript ou une session persistante.
Camofox v1.14.0
Node ≥ 22
localhost · port 9377
v1.14.0. Pour reproduire exactement le Golden Build, épinglez cette version. Pour une nouvelle installation non strictement reproductible, une version plus récente peut être choisie après lecture des notes de version et validation complète de ce module.Le chemin principal ci-dessous reproduit l’installation Golden en service utilisateur local. Docker reste présenté plus loin comme alternative.
git --version
node --version
npm --version
hermes --version# Méthode Hermes actuelle : prépare son runtime navigateur et un Node récent
hermes acp --setup-browser --yes
# Pour la session courante, si nécessaire :
export PATH="$HOME/.hermes/node/bin:$PATH"
node --version
npm --versionnode --version indique une version ≥22. Si votre installation Hermes ne fournit pas cette commande, installez un Node LTS ≥22 par votre méthode habituelle puis reprenez ici.mkdir -p ~/.local/share
mkdir -p ~/.camofox/profiles
chmod 700 ~/.camofox ~/.camofox/profiles~/.camofox n’est accessible qu’au compte propriétaire.systemctl --user status camofox.service --no-pager 2>/dev/null || true
ss -lntp | grep ':9377' || true
test -d ~/.local/share/camofox && echo "Installation Camofox déjà présente" || truegit clone https://github.com/jo-inc/camofox-browser.git ~/.local/share/camofox
cd ~/.local/share/camofox~/.local/share/camofox.cd ~/.local/share/camofox
git fetch --tags
git checkout v1.14.0
git describe --tags --alwaysv1.14.0.cd ~/.local/share/camofox
npm ci --omit=devnode_modules existe.cd ~/.local/share/camofox
node -p "require('./package.json').version"
git status --short1.14.0 et git status --short reste vide ou ne montre que des fichiers attendus.cd ~/.local/share/camofox
CAMOFOX_BIND_HOST=localhost CAMOFOX_PORT=9377 CAMOFOX_PROFILE_DIR="$HOME/.camofox/profiles" CAMOFOX_CRASH_REPORT_ENABLED=false npm startlocalhost empêche l’écoute sur le LAN.Ctrl+C pour l’arrêter.mkdir -p ~/.config/systemd/user
cat > ~/.config/systemd/user/camofox.service <<'EOF'
[Unit]
Description=Camofox Browser for Jarvis
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
WorkingDirectory=%h/.local/share/camofox
Environment=PATH=%h/.hermes/node/bin:/usr/local/bin:/usr/bin:/bin
Environment=NODE_ENV=production
Environment=CAMOFOX_BIND_HOST=localhost
Environment=CAMOFOX_PORT=9377
Environment=CAMOFOX_CRASH_REPORT_ENABLED=false
ExecStart=/usr/bin/env node server.js
Restart=on-failure
RestartSec=5
[Install]
WantedBy=default.target
EOF~/.config/systemd/user/camofox.service existe.systemd-analyze --user verify ~/.config/systemd/user/camofox.servicecamofox.service. Des avertissements sur d’autres services utilisateur peuvent être indépendants du module.systemctl --user daemon-reload
systemctl --user enable --now camofox.service
systemctl --user status camofox.service --no-pageractive (running).curl -fsS http://localhost:9377/health
ss -lntp | grep ':9377'cp ~/.hermes/.env "$HOME/.hermes/.env.backup-$(date +%Y%m%d-%H%M%S)"
sed -i '/^CAMOFOX_URL=/d' ~/.hermes/.env
printf '%s
' 'CAMOFOX_URL=http://localhost:9377' >> ~/.hermes/.env
chmod 600 ~/.hermes/.envCAMOFOX_URL=... existe dans ~/.hermes/.env.hermes config set browser.cloud_provider camofox
hermes config set browser.camofox.managed_persistence true
hermes config checkCAMOFOX_URL. Le provider doit être explicite, et la persistance doit être placée au bon chemin imbriqué.managed_persistence se trouve sous browser.camofox.hermes config get browser
grep '^CAMOFOX_URL=' ~/.hermes/.env | sed 's#=.*#=<CONFIGURE>#'camofox et la persistance managée est activée.hermes gateway restart
hermes gateway status.env.hermes chat -q "Utilise le navigateur pour ouvrir https://example.com et donne uniquement le titre de la page."find ~/.camofox/profiles -maxdepth 2 -type f | head
ls -ld ~/.camofox ~/.camofox/profilesjournalctl --user -u camofox.service -n 100 --no-pager | grep -Ei 'error|warning|persistence|profile|listening|camofox' || trueresearch-watch doit privilégier les outils de recherche et d’extraction Web lorsque la page est directement accessible. C’est plus léger et plus rapide.
Utilisez Camofox lorsqu’un rendu JavaScript, une interaction, une navigation multi-étapes ou une session persistante est réellement nécessaire.
Ne pas employer le navigateur pour contourner CAPTCHA, paywalls, restrictions d’accès ou authentifications auxquelles vous n’êtes pas autorisé.
La persistance sert à conserver une session légitime entre deux tâches, pas à extraire ou partager des identifiants.
Le chemin officiel actuel d’Hermes documente également un déploiement Docker. Il peut être choisi si vous préférez isoler Camofox dans un conteneur. Ne mélangez pas les deux méthodes sur la même machine.
make build ou démarrer avec make up.~/.camofox dans un volume ou bind mount.CAMOFOX_URL=http://localhost:9377 côté Hermes.Vérifiez node --version. Camofox v1.14.0 demande Node ≥22. Utilisez le runtime Hermes ou installez un Node LTS compatible.
Lisez journalctl --user -u camofox.service. Vérifiez surtout le binaire Node, les dépendances npm et le téléchargement Camoufox.
Contrôlez systemctl --user status camofox.service, puis le listener du port 9377. Ne changez pas le port tant que le diagnostic n’est pas compris.
Vérifiez browser.cloud_provider=camofox. Sur les versions actuelles, définir seulement CAMOFOX_URL peut ne pas suffire.
Vérifiez que browser.camofox.managed_persistence est bien imbriqué sous browser.camofox et que le serveur écrit dans ~/.camofox/profiles.
Arrêtez le service et corrigez le bind. Le Golden Build attend un service local uniquement.
Ne passez au module suivant que lorsque tous les points applicables sont validés.
~/.local/share/camofox.v1.14.0./health répond sur localhost.CAMOFOX_URL est présent dans ~/.hermes/.env.browser.cloud_provider vaut camofox.browser.camofox.managed_persistence est activé.~/.camofox/profiles est protégé.Jarvis dispose maintenant d’un navigateur local persistant pour les cas où la recherche/extraction standard ne suffit pas. Le prochain module installera Open WebUI.