Intelligence Artificielle

OpenSquilla : je l’ai testé sur un vrai agent

27 juin 2026 Mehdi 07:19

OpenSquilla est un agent IA local qui promet de faire tourner CLI, interface web, mémoire, outils et routage de modèles dans une même boucle. Mon verdict court : ça marche pour lancer un agent réel avec un fournisseur OpenAI-compatible, mais le produit reste jeune et il faut accepter de mettre les mains dans la configuration.

Je l’ai testé comme je testerais un outil que je pourrais intégrer dans une chaîne DevOps : clone du dépôt, installation, configuration via proxy LLM local, exécution sur un mini dépôt Python, puis capture de l’interface web.

OpenSquilla, c’est quoi ?

OpenSquilla se présente comme un runtime d’agent IA « microkernel ». En clair, il essaie de séparer le cerveau LLM, les outils, la mémoire, les canaux de chat, l’interface web et les politiques de permissions, tout en gardant une expérience unique.

Le dépôt annonce trois usages principaux :

  • un agent en ligne de commande pour les tâches ponctuelles,
  • une Web UI locale pour piloter l’agent,
  • des connecteurs et fonctions avancées comme mémoire, crons, recherche web, sessions et gateway.

Le positionnement « token-efficient » vient surtout de SquillaRouter, un routeur local censé envoyer les requêtes vers le modèle le moins cher capable de répondre. Dans mon test, je n’ai pas validé ce routeur complet, car l’installation du profil recommandé a échoué dans le conteneur par manque d’espace temporaire lors de l’extraction de NumPy. J’ai donc testé le coeur agent, sans le profil lourd recommandé.

Élément Observation pendant le test
Version du dépôt 0.3.1 depuis la branche clonée
Langage principal Python 3.12 requis
Interface CLI plus Web UI locale
Fournisseur testé OpenRouter via proxy OpenAI-compatible local
Modèle utilisé openai/gpt-4o-mini
Cas testé revue sécurité d’un mini projet Python

Installation de OpenSquilla

J’ai cloné le dépôt dans /tmp, comme prévu pour un test propre, puis j’ai lu le README, le quickstart et le pyproject.toml. Le projet dépend de Python 3.12 et recommande uv.

La commande documentée pour le profil recommandé tire aussi des dépendances lourdes, dont ONNX Runtime, LightGBM, scikit-learn, tokenizers et NumPy. Dans mon conteneur, ce chemin a bloqué avec une erreur nette : plus d’espace disponible pendant l’extraction de NumPy dans /tmp.

J’ai donc basculé sur une installation source du paquet de base, dans un environnement isolé temporaire :

uv tool install --python 3.12 /tmp/opensquilla-scout

Ensuite, j’ai configuré OpenSquilla avec le proxy LLM fourni :

export OPENAI_BASE_URL=http://172.17.0.1:8790/v1
export OPENAI_API_KEY=sk-proxy
export OPENAI_API_BASE=http://172.17.0.1:8790/v1
export OPENROUTER_BASE_URL=http://172.17.0.1:8790/v1
export OPENROUTER_API_KEY=sk-proxy

opensquilla onboard \
  --minimal \
  --provider openrouter \
  --api-key-env OPENROUTER_API_KEY \
  --base-url http://172.17.0.1:8790/v1 \
  --model openai/gpt-4o-mini \
  --router disabled \
  --skip-channels \
  --skip-search \
  --skip-image-generation

Le statut d’onboarding est ensuite passé à OpenSquilla ready: yes. Le fournisseur était prêt, la mémoire en mode local était prête, les canaux et l’image génération étaient logiquement laissés pour plus tard.

OpenSquilla à l’usage

Pour un vrai essai, j’ai créé un mini projet Python dans /tmp/opensquilla-test. Il contenait une fonction is_admin, une fonction delete_user, et une sortie simple basée sur la variable USER.

Le premier run m’a donné une réponse trop générique : l’agent a parlé de dépendances vulnérables et a proposé des tests pour des fonctions qui n’existaient pas. C’est un point important : comme avec beaucoup d’agents, le prompt initial doit être précis si on veut forcer l’inspection réelle du code.

J’ai relancé avec une consigne plus stricte : lire README.md et app.py avec les outils fichier avant de répondre, ne pas inventer de fonctions, ne rien modifier. Là, OpenSquilla a bien utilisé ses outils read_file, puis a produit une réponse cohérente avec le code.

opensquilla agent \
  --workspace /tmp/opensquilla-test \
  --workspace-strict \
  --permissions bypass \
  --model openai/gpt-4o-mini \
  --max-iterations 6 \
  -m "You must inspect README.md and app.py with file tools before answering..."

Ce que l’agent a produit :

  • il a identifié is_admin(user),
  • il a identifié delete_user(user, target),
  • il a expliqué que seul admin peut supprimer un utilisateur,
  • il a proposé deux tests pytest adaptés au code réel.

sortie de OpenSquilla agent montrant la revue du fichier app.py

Le transcript JSONL confirme que l’agent a appelé read_file sur README.md et app.py. Côté coût, le run a utilisé environ 24 503 tokens, avec 2 requêtes et un coût estimé autour de 0,002 dollar via le proxy et openai/gpt-4o-mini.

Interface web de OpenSquilla

J’ai aussi lancé la gateway locale :

opensquilla gateway run --port 18791

L’interface répondait en HTTP 200 sur /control/. La page charge une application JavaScript avec les vues chat, sessions, configuration, setup, logs, santé, canaux et usage. C’est plus qu’un simple wrapper CLI : on sent que le projet vise un cockpit local complet.

interface de OpenSquilla Control montrant la page de setup locale

Je n’ai pas laissé la gateway tourner après le test. Le serveur Uvicorn a été arrêté, et les répertoires temporaires ont été supprimés à la fin.

Ce que j’aime dans OpenSquilla

Le premier bon point, c’est l’ambition produit. OpenSquilla ne se contente pas d’être un script qui appelle un modèle. Il pose déjà les briques utiles pour un vrai assistant local : sessions, mémoire, outils, permissions, gateway, interface web, providers multiples.

J’aime aussi la compatibilité fournisseur. Le fait de pouvoir pointer vers une base OpenAI-compatible custom est important pour travailler avec un proxy, OpenRouter ou une gateway interne.

Autre point positif : les traces sont exploitables. Entre les logs, le transcript JSONL et le fichier d’usage, on peut vérifier ce qui s’est passé. Pour un usage sécu ou DevOps, cette auditabilité compte beaucoup.

Les limites de OpenSquilla

La limite la plus visible dans mon test, c’est le poids de l’installation recommandée. Le profil complet dépend de paquets ML lourds. Sur un environnement contraint, ça peut casser avant même le premier run.

Deuxième limite : le premier résultat agent n’était pas assez fiable. Sans consigne explicite d’utiliser les outils fichier, l’agent a halluciné des tests pour des fonctions absentes. Ce n’est pas forcément la faute exclusive d’OpenSquilla, le modèle joue beaucoup, mais le produit devrait encourager plus fortement l’ancrage outil pour les revues de code.

Troisième limite : certains messages internes sont bruyants. Les logs sont utiles, mais un utilisateur grand public peut vite être perdu entre sandbox, bootstrap, mémoire, catalogues modèles et warnings de dépendances.

OpenSquilla, est-ce que ça marche vraiment ?

Oui, sur le périmètre testé. J’ai installé le paquet source de base, configuré un fournisseur LLM réel via proxy, lancé un agent sur un mini dépôt, observé des appels d’outils fichier, obtenu une réponse utile, puis lancé la Web UI locale.

Non, je ne peux pas dire que toute la promesse est validée. Je n’ai pas prouvé SquillaRouter en conditions complètes, ni les canaux de messagerie, ni les crons en production, ni la mémoire long terme sur plusieurs jours. Mon test valide plutôt le coeur : un agent local piloté par CLI et gateway, connecté à un LLM, capable de lire un workspace et de produire une analyse.

Faut-il adopter OpenSquilla ?

Mon verdict : essayer, mais pas adopter aveuglément en production.

Pour un freelance sécu, un DevOps ou un développeur qui veut construire son propre assistant local, OpenSquilla vaut clairement un test. Il apporte déjà une structure sérieuse, avec une vraie notion de runtime et de cockpit.

Pour une équipe qui cherche un outil simple et stable à mettre dans les mains de tout le monde, j’attendrais encore. Le projet est prometteur, mais il demande de comprendre les providers, les dépendances Python, les permissions, la mémoire et les chemins d’installation.

Le bon usage aujourd’hui : labo personnel, prototype d’assistant interne, veille technique, automation encadrée. Le mauvais usage : remplacer demain matin un workflow CI ou un opérateur humain sans garde-fous.

FAQ

OpenSquilla est-il utilisable sans clé OpenAI ?

Oui, si vous avez un fournisseur compatible, un proxy local ou un modèle local pris en charge. Dans mon test, j’ai utilisé OpenRouter via un proxy OpenAI-compatible local.

OpenSquilla remplace-t-il un IDE agentique ?

Pas directement. Il ressemble plus à un runtime d’agent généraliste avec CLI, Web UI, mémoire et outils. Pour coder, il peut aider, mais il faut cadrer fortement les permissions et les consignes.

OpenSquilla est-il prêt pour la production ?

Je le classerais plutôt en outil à évaluer sérieusement. Le coeur fonctionne, mais le profil complet est lourd et certains comportements agent doivent être surveillés avec des transcripts, des limites et des validations humaines.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *