13/07/2026

Swival – Le papa de libsodium se met aux agents de codage locaux

Par admin

Swival - Le papa de libsodium se met aux agents de codage locaux

Frank Denis
, c’est le monsieur qui fait tourner un bon morceau d’Internet sans que personne le sache : libsodium, dnscrypt-proxy, Pure-FTPd, c’est lui. Et dernièrement, il s’est attaqué aux agents de codage IA avec
Swival
, un outil pensé pour les petits modèles qui tournent en local sur votre machine.

Le truc de Frank c’est d’écrire du logiciel réputé incassable depuis 25 ans. Si vous chiffrez vos requêtes DNS, y’a des chances que ça passe par son
dnscrypt-proxy
, et si vous utilisez du chiffrement dans à peu près n’importe quelle app moderne, libsodium n’est jamais bien loin. Du coup, quand ce profil-là sort un agent de codage en Python, licence MIT, gratuit, je pense que ça vaut le coup de s’y arrêter 2 minutes.

Il a codé cela parce que les outils d’agentique existants l’ont sérieusement gonflé. C’est beau, c’est neuf, c’est lavé avec Mir Laine mais…. ça plante !! Et l’autre reproche qu’il leur fait c’est concernant la confidentialité. En effet, utiliser un agent, c’est forcement voir partir on se sait où nos données personnelles… nos clés API, nos URLs internes, nos noms de projets… tout ça est allègrement bouffé par le fournisseur de modèle qui derrière s’en sert pour tout un tas de choses pas cool. C’est notamment pour cela que Swival embarque une option –encrypt-secrets qui détecte les credentials dans les messages et les chiffre avant qu’ils quittent votre machine. Une denrée rare chez les agents de codage, et ça c’est du pur Frank Denis !

Y’a aussi la gestion du contexte, qui est le gros morceau. Les agents classiques sont conçus pour des modèles frontière avec des fenêtres géantes. Sauf que votre LLM local, lui, doit souvent se débrouiller avec 32K de contexte, et là tout déborde très vite. Swival, lui, prend le truc à l’envers. Chaque sortie d’outil est plafonnée direct à la source : 50 Ko max par fichier lu, 100 résultats de grep, 100 entrées par listing. Et une fois que l’agent a fini de fouiller votre code, un système de snapshots vire ses 12 000 tokens de lectures pour les remplacer par un résumé de 200 tokens.

Et c’est pas fini. Rajoutez là-dessus une compaction automatique en 7 niveaux progressifs (du simple ménage au grand débarras), plus des notes de travail qui survivent à tout ça. Résultat, un agent qui tient des sessions à rallonge sans partir en vrille. La doc montre d’ailleurs Swival en train d’avaler une refactorisation multi-fichiers avec Qwen3-Coder-Next dans 32K sous LM Studio sans broncher…

Et pour brancher tout ça, vous avez le choix. 11 backends quand même ! LM Studio par défaut (zéro config, il repère tout seul votre modèle chargé), llama.cpp pareil, HuggingFace, OpenRouter, Google Gemini et Vertex AI. Envie de lourd ? ChatGPT Plus ou AWS Bedrock. Et pour les curieux, les Apple Foundation Models en expérimental, un provider générique compatible OpenAI (ollama, vLLM, mlx_lm.server…) et même une commande externe de votre choix.

Pour trouver un modèle qui tienne dans votre RAM,
Hugging Face sait filtrer selon votre matos
et une fois que vous avez fait votre choix, l’installation tient en une ligne (via uv, Python 3.13 minimum) :

uv tool install swival

Ensuite, il suffit de taper, par exemple : "Refactore la gestion d’erreurs de src/api.py" et l’agent se met au travail pour peu que vous ayez déjà un LMStudio ou un llama.cpp qui tourne avec un modèle chargé…

Ah j’oubliais si vous êtes sous Mac vous pouvez même l’installer avec Homebrew :

brew install swival/tap/swival

Ensuite, au niveau des commandes, il y a aussi, par exemple, une commande /audit qui vous permet de faire de la chasse aux failles de sécurité dans votre code. Tout cela avec des agents isolés chacun dans des worktrees séparés et qui sont obligés de reproduire chaque bug avant de l’inscrire dans le rapport.

Et côté sécurité, vous avez deux sandboxes au choix. Soit Agent FS d’un côté (l’agent bosse sur une copie de vos fichiers, votre projet reste intact) ou nono (non, pas le petit robot) de l’autre (avec barrières au niveau du noyau, blocage réseau compris). Sans oublier la mémoire persistante entre vos sessions, le support MCP et un mode serveur pour interconnecter vos agents entre eux.

Voilà donc de quoi venir jouer dans la cour de
ZCode côté z.ai
et compagnie…

Voilà, je me suis dit que ça allait vous intéresser, donc si vous voulez zieuter le code, direction
GitHub
, sinon, toute la doc se trouve
sur le site officiel
.

Merci Friendly_0day pour le lien !

Source : korben.info