Skip to content

csagent-openapi

Choose a tag to compare

@artydev artydev released this 07 Oct 16:19
· 88 commits to main since this release

CsAgent v0.7.1 — Notes de version

Version précédente publiée : csagent-v0.7.0 Cette version : 4 commits, le 7 octobre 2026. Tag suggéré : csagent-v0.7.1

En bref

  • Modèles locaux : nouvelle option --endpoint, qui permet d'utiliser n'importe quel serveur compatible OpenAI, par exemple Ollama, sans recompiler et sans clé d'API.
  • Un dossier par mémoire : les fichiers de mémoire sont rangés dans un dossier au lieu de quatre fichiers aux noms à rallonge. ⚠️ Aucune migration (voir plus bas).
  • Linux : le démarrage ne plante plus à cause du moniteur de presse-papiers Windows.
  • 78 tests automatisés (71 en 0.7.0), tous réussis.

✨ Nouveautés

Utiliser un serveur LLM local ou autre (--endpoint)

Jusqu'ici l'adresse du serveur LLM était écrite en dur dans le code (API Albert). Elle peut maintenant être choisie à l'exécution.

ollama pull qwen2.5-coder:14b
csagent --endpoint http://localhost:11434/v1 --model qwen2.5-coder:14b
Option Variable d'environnement Rôle
--endpoint CSAGENT_ENDPOINT URL de base d'un serveur compatible OpenAI (par défaut : API Albert)
--vision-model CSAGENT_VISION_MODEL Modèle utilisé quand la conversation contient une image (par défaut : gemma-4-31b-it)

Détails :

  • L'option de la ligne de commande l'emporte sur la variable d'environnement.
  • Pas de clé d'API pour un endpoint local (localhost, 127.x, ::1) : ALBERT_API_KEY n'est plus nécessaire. Un endpoint distant l'exige toujours.
  • Fonctionne dans tous les modes : CLI, --ui, --leanui et --api.
  • L'outil list_models interroge l'endpoint configuré (le paramètre ?status=true n'est envoyé qu'à l'API Albert par défaut).
  • Le mode --api affiche l'endpoint utilisé au démarrage.
  • L'aide (--help) et le README (section « Local models with Ollama ») sont mis à jour.

À savoir avec Ollama :

  • Choisis un modèle qui gère les appels d'outils (qwen2.5-coder, qwen3, llama3.1…) : la boucle de l'agent en dépend.
  • Pour les images, ajoute --vision-model avec un modèle de vision que tu as téléchargé (par exemple llava). Sinon gemma-4-31b-it est demandé, et Ollama ne l'a pas.

🔧 Modifications

Mémoire : un dossier par mémoire

Avant (0.7.0) :

agent_memory.json
agent_memory.exact.json
agent_memory.semantic.json
agent_memory.semantic.json.summary.json

Maintenant :

agent_memory/
├── conversation.json
├── exact.json
├── semantic.json
└── summary.json
  • --mem <nom> désigne maintenant le nom du dossier. Un .json final est ignoré : --mem projet.json et --mem projet donnent le même dossier projet/.
  • Le dossier par défaut est agent_memory/. Le dossier est créé automatiquement, même dans un chemin qui n'existe pas encore.
  • Les fichiers corrompus sont toujours mis en quarantaine en .bad, dans le même dossier.
  • Deux noms de mémoire différents ne partagent jamais un fichier.
  • Le projet de tests couvre ces règles (MemoryFolderTests).

⚠️ Aucune migration

Les anciens fichiers (agent_memory*.json) ne sont pas lus par cette version. Au premier lancement, l'agent repart avec une mémoire vide dans agent_memory/. Pour garder un ancien historique, il n'existe pas de conversion automatique : l'ancien contenu reste simplement sur le disque, tu peux le supprimer quand tu veux.

🐛 Corrections

  • Linux : System.DllNotFoundException: Unable to load shared library 'kernel32.dll' au démarrage. Le moniteur de presse-papiers Windows ne se lance plus que sous Windows.

⬆️ Mise à jour depuis 0.7.0

  • Si tu utilises des fichiers de mémoire existants : ils ne seront pas repris (voir « Aucune migration »). Les dossiers agent_memory*/ sont déjà ignorés par Git (.gitignore).
  • Si tes scripts passent --mem un_fichier.json, ils continuent de fonctionner, mais créent maintenant un dossier un_fichier/.
  • Rien à changer pour continuer à utiliser l'API Albert : --endpoint est facultatif.

🧪 Vérification

78 tests sur 78 réussis. Le mode --api a aussi été essayé de bout en bout avec un faux serveur LLM, sans ALBERT_API_KEY. Il n'a pas été essayé avec un vrai Ollama.