Aller au contenu

Référence CLI

OculiX peut être piloté en ligne de commande pour les jobs planifiés, les pipelines CI, les serveurs headless et les scripts ponctuels. Cette page documente chaque option acceptée par le jar IDE et par le runner serveur.

Fenêtre de terminal
java -jar oculixide-3.0.3.jar [options]
OptionArgumentRôle
-l <path>chemin du bundleOuvrir ce bundle .sikuli au lancement
-eExécuter le bundle ouvert immédiatement et quitter à la fin
-r <runner>py py3 rb ps1 applescript robotForcer un runner spécifique
-cMode console — pas de GUI, log sur stdout
-d <level>03Verbosité de debug (0 silencieux → 3 très verbeux)
-vAfficher la version et quitter
-hAfficher l’aide et quitter
--workspace <dir>dossierUtiliser ce workspace au lieu du dernier ouvert
--theme <name>dark lightForcer un thème
Fenêtre de terminal
# Ouvrir l'IDE sur un script
java -jar oculixide-3.0.3.jar -l ./reports/daily.sikuli
# Lancer un script sans surveillance (cron, Planificateur de tâches)
java -jar oculixide-3.0.3.jar -l ./reports/daily.sikuli -e
# Lancer un script Python 3 via le runner CPython
java -jar oculixide-3.0.3.jar -r py3 my_script.py
# Mode console headless — utile dans les runners CI
java -jar oculixide-3.0.3.jar -c -l ./tests/smoke.sikuli -e

Codes de sortie de l’option -e :

CodeSignification
0Script terminé sans exception
1Script a levé un FindFailed
2Script a levé une SikuliXception
3Script a levé toute autre exception
4Bundle introuvable / non chargeable

Donc dans un pipeline CI :

Fenêtre de terminal
java -jar oculixide-3.0.3.jar -l my.sikuli -e
if [ $? -eq 0 ]; then echo "OK"; else echo "Failed"; exit 1; fi
Fenêtre de terminal
java -jar oculix-server.jar --port 5555 [options]
OptionArgumentRôle
--port <n>port TCPPort d’écoute (défaut 4567)
--host <addr>adresse d’écouteAdresse d’écoute (défaut 127.0.0.1)
--auth <token>bearer tokenExige ce token sur chaque requête
--tlsActive HTTPS avec un certificat auto-généré
--cert <path>fichier PEMCertificat TLS personnalisé
--key <path>fichier PEMClé privée TLS personnalisée
--workspace <dir>dossierRacine du workspace
--allow-shellAutorise les commandes shell Runner.run() (désactivé par défaut)

Résumé de l’API HTTP :

POST /run { "bundle": "path", "args": [] } → 200 / 4xx
GET /status → { "running": false, "lastRun": {...} }
POST /stop → 200
GET /version → { "version": "3.0.3" }

Voir org.sikuli.scriptrunner.ServerRunner pour l’API complète.

Fenêtre de terminal
java -jar oculix-mcp-server.jar [stdio|http] [options]
OptionArgumentRôle
stdioTransport stdio (pour connecter directement un agent IA)
httpTransport HTTP (multi-session)
--port <n>port TCPPort du transport HTTP
--journal <path>dossierOù écrire le journal d’audit signé Ed25519
--keyring <path>fichierTrousseau HMAC rotatif
--confidentialMode confidentiel — ne log jamais les payloads
--auto-approveContourne l’ActionGate human-in-the-loop (à utiliser avec prudence)
VariableRôle
OCULIX_HOMESurcharger le répertoire des données utilisateur (défaut ~/.OculiX/)
OCULIX_WORKSPACEChemin de workspace par défaut
OCULIX_TESSDATASurcharger l’emplacement tessdata Tesseract embarqué
OCULIX_PADDLEOCRURL de base du serveur PaddleOCR (défaut http://localhost:5000)
ANDROID_SERIALForcer un appareil ADB spécifique quand plusieurs sont connectés
OCULIX_DEBUG1 pour activer le logging interne verbeux
OCULIX_THEMEdark ou light

Chaque runner écrit vers :

  • stdout / console IDE pour info et error
  • ~/.OculiX/logs/oculix.log pour le fichier de log avec rotation
  • ~/.OculiX/logs/script-<timestamp>.log pour les logs par exécution de script

Augmentez la verbosité avec -d 3 ou OCULIX_DEBUG=1.