Adam: Eine einbettbare, plattformübergreifende KI-Agenten-Bibliothek in C

✍️ OpenClawRadar📅 Veröffentlicht: 7. Mai 2026🔗 Source
Adam: Eine einbettbare, plattformübergreifende KI-Agenten-Bibliothek in C
Ad

Adam ist eine einbettbare KI-Agentenbibliothek in C. Sie bietet einen vollständigen Agenten-Loop – Tool-Aufrufe, Gedächtnis, Sitzungen, Sprache, Streaming, strukturierte Ausgabe – als einzelnes #include. Sie unterstützt Cloud-APIs (Anthropic, OpenAI, Google Gemini, Groq, Together, xAI) und lokale Modelle über llama.cpp über dieselbe Schnittstelle. Kompiliert auf macOS, Linux, Windows, iOS, Android und WASM.

Schnellstart

#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, "What is the capital of France?"); printf("%s\n", r.final_response); // "The capital of France is 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)
Ad

Hauptmerkmale

  • Agenten-Loop – Tool-Aufrufe mit automatischer Iteration bis zur endgültigen Antwort
  • Drei Anbieter – Anthropic, OpenAI, Google Gemini + jede kompatible API + lokales GGUF über llama.cpp
  • Lokales Sehen – multimodales Bildverständnis via llama.cpp + mmproj (Gemma 3, LLaVA usw.)
  • Bildgenerierung – native Bildausgabe über Gemini-Bildmodelle
  • Datenbankerweiterungen – SQLite- und PostgreSQL-Erweiterungen, die Adam als SQL-Funktionen einbetten
  • 13 integrierte Tools – Datei-I/O, Shell, Taschenrechner, SQL, Web-Fetch/Suche, HTTP-POST, Gedächtnis, Recherche, Multi-Agent
  • Langzeitgedächtnis – hybride BM25 + Vektorsuche via SQLite (sqlite-memory + sqlite-vector)
  • Sitzungspersistenz – Speichern/Laden von Konversationen mit UUIDv7-Schlüsseln
  • Telegram-Bot – voll ausgestattet mit Text, Sprache, Bildern, Tools und Gedächtnis
  • Sprache – STT (Whisper Cloud/Lokal) + TTS (Cloud/System) + vollständige Audio-Pipeline
  • Streaming – Echtzeit-Token-Auslieferung via Callback
  • Strukturierte Ausgabe – adam_run_json() mit Validierung und Wiederholung
  • Evolutionsschleife – selbstverbessernder Agent: iterieren, bewerten, Strategie verfeinern
  • Recherche-Modus – autonome Multi-Iterations-Informationssammlung mit Berichtssynthese
  • Multi-Agent – Agent A ruft Agent B als Tool auf, mit unabhängigen Einstellungen/Werkzeugen
  • Schutzmechanismen – Callbacks zur Validierung vor dem Senden und nach dem Empfangen
  • Antwort-Cache – LRU-Hash-Tabelle, geschlüsselt nach Modell + Nachrichtenverlauf
  • Verlaufsverwaltung – Klonen, Zusammenfassen (LLM-basierte Komprimierung), Token-Schätzung
  • Thread-Pool – gleichzeitige Agentenausführung mit Auftragswarteschlange
  • Dateisystem-Sandbox – Tools auf explizit erlaubte Verzeichnisse beschränkt
  • Arena-Allokator – leckfreie Speicherverwaltung pro Iteration mit automatischer Bereinigung

Build-Ziele

make deps     # Build llama.cpp, whisper.cpp (+ mbedtls/curl auf Linux)
make all      # Build libadam.a
make test     # Build & run unit tests (ASan + UBSan)
make chat     # Interaktiver Text-Chat (Cloud-API)
make chat GGUF=models/model.gguf   # Interaktiver Text-Chat (lokal)
make vision GGUF=models/model.gguf MMPROJ=models/mmproj.gguf  # Lokaler Vision-Test
make talk     # Sprachagent (Cloud)
make talk LOCAL=1  # Sprachagent (vollständig lokal)
make memory   # Gedächtnissystem-Tests
make clean    # Alle Build-Artefakte entfernen

Die vollständige API-Dokumentation ist in API.md mit jeder Funktion, jedem Typ und jedem Callback verfügbar.

📖 Den vollständigen Quelltext lesen: HN AI Agents

Ad

👀 Siehe auch

Das Claude-switch CLI-Tool automatisiert das Wechseln zwischen Claude Max-Konten, wenn Nutzungslimits erreicht werden.
Werkzeuge

Das Claude-switch CLI-Tool automatisiert das Wechseln zwischen Claude Max-Konten, wenn Nutzungslimits erreicht werden.

Ein Entwickler hat claude-switch erstellt, ein 250-zeiliges Bash-CLI-Tool, das Claude Code-Anmeldedaten aus dem macOS Keychain speichert und wiederherstellt, um zwischen Konten zu wechseln, wenn eines Nutzungslimits erreicht. Das Tool eliminiert die erneute Browser-Authentifizierung und erhält die Arbeitsablaufkontinuität.

OpenClawRadar
Octopoda: Open-Source-Speicherschicht für lokale KI-Agenten
Werkzeuge

Octopoda: Open-Source-Speicherschicht für lokale KI-Agenten

Octopoda ist eine Open-Source-Gedächtnisschicht, die lokalen KI-Agenten persistente Erinnerungen zwischen Sitzungen, semantische Suche, Schleifenerkennung und Absturzwiederherstellung bietet. Es läuft vollständig offline mit einem 33 MB großen Embedding-Modell und integriert sich mit LangChain, CrewAI, AutoGen und dem OpenAI Agents SDK.

OpenClawRadar
Schwarzes LLAB: Open-Source-Architektur für dynamisches Modell-Routing und Docker-isolierte KI-Agenten
Werkzeuge

Schwarzes LLAB: Open-Source-Architektur für dynamisches Modell-Routing und Docker-isolierte KI-Agenten

Ein Entwickler hat Black LLAB als Open-Source-Projekt veröffentlicht, ein System, das Mistral 3B nutzt, um Anfragen zwischen lokalen und Cloud-Modellen zu routen und KI-Agenten in isolierten Docker-Containern mit OpenClaw-Integration auszuführt.

OpenClawRadar
OpenClaw Alexa Voice Proxy ermöglicht bidirektionale Sprachinteraktion
Werkzeuge

OpenClaw Alexa Voice Proxy ermöglicht bidirektionale Sprachinteraktion

openclaw-alexa-voice ist ein Node.js-Proxy, der eine Alexa Custom Skill mit dem OpenClaw-Gateway verbindet und ein dreistufiges Antwortsystem für Sprachabfragen bietet. Er verarbeitet schnelle Antworten unter 1 Sekunde, Agentenantworten unter 12 Sekunden und zurückgestellte komplexe Abfragen, die asynchron innerhalb von 2 Minuten bearbeitet werden.

OpenClawRadar