Adam : une bibliothèque d’agents IA multiplateforme intégrable en C

Adam est une bibliothèque d'agent IA embarquable écrite en C. Elle propose une boucle d'agent complète — appel d'outils, mémoire, sessions, voix, streaming, sortie structurée — en un seul #include. Elle prend en charge les API cloud (Anthropic, OpenAI, Google Gemini, Groq, Together, xAI) et les modèles locaux via llama.cpp à travers la même interface. Elle se compile sur macOS, Linux, Windows, iOS, Android et WASM.
Démarrage rapide
#include "adam.h"
int main(void) {
adam_init();
adam_settings_t *s = adam_create_settings();
adam_settings_set_provider(s, ADAM_API_ANTHROPIC, getenv("ANTHROPIC_API_KEY"), "claude-sonnet-4-20250514");
adam_history_t *h = adam_history_create();
adam_run_result_t r = adam_run(s, h, "Quelle est la capitale de la France ?");
printf("%s\n", r.final_response); // "La capitale de la France est Paris."
adam_run_result_free(&r);
adam_history_destroy(h);
adam_settings_destroy(s);
adam_cleanup();
}
make deps # build llama.cpp + whisper.cpp
make all # build libadam.a
make test # run 161 tests (ASan + UBSan)
Fonctionnalités clés
- Boucle d'agent – appel d'outils avec itération automatique jusqu'à la réponse finale
- Trois fournisseurs – Anthropic, OpenAI, Google Gemini + toute API compatible + GGUF local via llama.cpp
- Vision locale – compréhension d'image multimodale via llama.cpp + mmproj (Gemma 3, LLaVA, etc.)
- Génération d'images – sortie d'image native via les modèles d'image Gemini
- Extensions de base de données – extensions SQLite et PostgreSQL qui intègrent Adam en tant que fonctions SQL
- 13 outils intégrés – entrée/sortie fichier, shell, calculatrice, SQL, récupération/recherche web, HTTP POST, mémoire, recherche, multi-agent
- Mémoire à long terme – recherche hybride BM25 + vectorielle via SQLite (sqlite-memory + sqlite-vector)
- Persistance des sessions – sauvegarde/chargement des conversations avec des clés UUIDv7
- Bot Telegram – complet avec texte, voix, images, outils et mémoire
- Voix – STT (Whisper cloud/local) + TTS (cloud/système) + pipeline audio complet
- Streaming – livraison en temps réel des tokens via callback
- Sortie structurée –
adam_run_json()avec validation et réessai - Boucle d'évolution – agent auto-améliorant : itérer, noter, affiner la stratégie
- Mode recherche – collecte autonome multi-itérations d'informations avec synthèse de rapport
- Multi-agent – Agent A invoque Agent B en tant qu'outil, avec paramètres/outils indépendants
- Gardes-fous – callbacks de validation avant envoi et après réception
- Cache de réponses – table de hachage LRU indexée par modèle + historique des messages
- Gestion de l'historique – clonage, résumé (compression basée sur LLM), estimation de tokens
- Pool de threads – exécution concurrente d'agents avec file d'attente de tâches
- Sandbox du système de fichiers – outils restreints aux répertoires explicitement autorisés
- Allocateur Arena – mémoire sans fuite par itération avec nettoyage automatique
Cibles de compilation
make deps # Build llama.cpp, whisper.cpp (+ mbedtls/curl sur Linux)
make all # Build libadam.a
make test # Build & exécute les tests unitaires (ASan + UBSan)
make chat # Chat textuel interactif (API cloud)
make chat GGUF=models/model.gguf # Chat textuel interactif (local)
make vision GGUF=models/model.gguf MMPROJ=models/mmproj.gguf # Test de vision locale
make talk # Agent vocal (cloud)
make talk LOCAL=1 # Agent vocal (entièrement local)
make memory # Tests du système de mémoire
make clean # Supprime tous les artefacts de compilation
La documentation complète de l'API est disponible dans API.md avec toutes les fonctions, types et callbacks.
📖 Lire le code source complet : HN AI Agents
👀 See Also

Argus : Une extension VS Code pour déboguer les coûts et le comportement des sessions Claude Code
Un développeur a créé Argus, une extension VS Code qui analyse les transcriptions JSONL de Claude Code pour les afficher sous forme de timeline en temps réel avec répartition des tokens/coûts par étape, taux de cache hit, et signalement des boucles de tentative, lectures en double et pression contextuelle.

Kreuzberg v4.7.0 ajoute l'intelligence du code pour 248 langues et une extraction markdown améliorée.
Kreuzberg v4.7.0, une bibliothèque d'intelligence documentaire basée sur Rust, prend désormais en charge l'extraction de code pour 248 formats via tree-sitter et a considérablement amélioré la qualité du markdown avec des scores F1 structurels supérieurs à 80 % sur 23 formats.

Système de traduction auto-mise à jour pour OpenClaw maintient automatiquement les glossaires de domaine.
Un script Python encapsule l'API Kimi2.5 pour traduire les fichiers .srt tout en préservant les indices de bloc, les horodatages et la segmentation. Le système utilise des profils de projet avec des fichiers glossary.json, style.md et memory.jsonl, et inclut une tâche cron qui scrute les sources officielles toutes les 6 heures pour mettre à jour la terminologie.

Moniteur gratuit dans la barre de menus macOS pour les limites d'utilisation de Claude AI
Un outil gratuit et open-source pour macOS qui affiche le pourcentage d'utilisation de session de Claude AI, les limites hebdomadaires et les décomptes de réinitialisation directement dans votre barre de menus. S'installe avec une seule commande Homebrew et s'appuie sur les sessions Chrome existantes sans stocker de données.