freedzhost.cloud

OpenFox : l'agent de code qui prend les modèles locaux au sérieux

OpenFox est l'agent que nous ouvrons en premier, chaque jour. Pas parce qu'il est gratuit, mais parce qu'il a été pensé pour ce qu'est vraiment un modèle local : rapide, économique, un peu distrait, et qui a besoin d'un cadre. Là où les agents pensés pour le cloud espèrent que le modèle restera sur les rails, OpenFox écrit les rails, les vérifie à chaque pas, et ne s'arrête pas avant d'arriver. Avec un modèle de 9B ou de 27B sur votre propre carte, ça change tout.

Ce que vous y gagnez. Un agent de code complet dans votre navigateur, pour n'importe quel moteur local (llama.cpp, Ollama, vLLM, SGLang), libre sous licence MIT, sans coût au jeton. Ici, il tourne sur le serveur qui porte les cartes graphiques, et l'appli Inari pilote ses sessions depuis n'importe où.

OpenFoxsessions du quotidien, modèles locauxClaude Codejunior, modèles locaux, isoléClaude Codeagent d'exploitation, abonnementKimi Codetâches longues, contexte 1M, abonnementPasserelle de modèlesmodèles locauxClouds des fournisseursabonnements
Trois agents de code, trois rôles. OpenFox pilote les modèles locaux pour les sessions de tous les jours. Claude Code tourne des deux façons : sur l'abonnement comme agent d'exploitation, et sur les modèles locaux comme junior isolé. Kimi Code prend les tâches longues ou lourdes sur son propre abonnement. Tous rejoignent les modèles par la même passerelle ou par leur fournisseur, jamais par une clé privée dans un script.

1. Ce qui le distingue : un contrat, pas un espoir

2. Fait pour votre propre matériel

3. L'installer en une soirée

npm install -g openfox      # Node 24 ou plus récent
openfox                     # ouvre l'interface ; le premier lancement détecte votre moteur

Pointez-le sur votre passerelle de modèles plutôt que sur un serveur de modèle : la passerelle sait quel modèle est sur quelle carte, OpenFox n'a besoin que d'une adresse stable. Faites-le tourner sur la machine qui porte les cartes, et atteignez-le depuis le portable ou le téléphone par votre réseau privé.

OPENFOX_LLM_URL=http://votre-passerelle:4000/v1 \
OPENFOX_MAX_CONTEXT=65536 openfox --no-browser

Déclarez la vraie fenêtre de votre modèle avec OPENFOX_MAX_CONTEXT. La valeur par défaut suppose 200 000 jetons ; un modèle local à 64k déborderait bien avant qu'OpenFox ne compacte.

4. Le faire tourner en service sur le serveur

Le nôtre tourne en service utilisateur sur la machine qui porte les cartes, à l'écoute du seul réseau privé, si bien que le portable et le téléphone atteignent les mêmes sessions :

[Service]
Environment=OPENFOX_HOST=<l'adresse du serveur sur le réseau privé>
Environment=OPENFOX_LLM_URL=http://127.0.0.1:4000/v1
Environment=OPENFOX_MAX_CONTEXT=180224
Environment=OPENFOX_LLM_TIMEOUT=900000
Environment=OPENFOX_WORKDIR=/srv/devlab
Environment=OPENFOX_DEFAULT_AGENT=fh-coder
ExecStart=%h/.local/bin/openfox

Un long délai (15 minutes) laisse la place à un gros modèle qui lit un long prompt ; le dossier de travail cantonne les projets à une seule arborescence ; l'agent par défaut est le nôtre (voir FH Coder). Agents, workflows et skills vivent en simples fichiers dans ~/.config/openfox/, faciles à versionner.

5. Ce que nous avons ajouté autour

Pièges

Gardez la liste d'outils courte. Notre premier tour pesait 8 455 jetons avant le moindre mot, surtout des descriptions d'outils : un seul serveur d'outils permanent au lieu de cinq, des outils chargés à la demande.

Ne laissez jamais deux processus écrire son fichier de configuration en même temps : deux enregistrements parallèles nous ont laissé un config.json corrompu. Gardez une copie avant de le modifier.

Testez-le là où il sert. Un modèle qui répond à un curl n'est pas un agent qui marche ; la preuve, c'est une session où il appelle un outil et se sert du résultat.

Sources

Utile ? Dites-nous ce qu'il faut mesurer ensuite.