Adam: An Embeddable Cross-Platform AI Agent Library in C

Adam is an embeddable AI agent library written in C. It offers a full agent loop — tool calling, memory, sessions, voice, streaming, structured output — as a single #include. It supports cloud APIs (Anthropic, OpenAI, Google Gemini, Groq, Together, xAI) and local models via llama.cpp through the same interface. Compiles on macOS, Linux, Windows, iOS, Android, and WASM.
Quick Start
#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)
Key Features
- Agent loop – tool calling with automatic iteration until final response
- Three providers – Anthropic, OpenAI, Google Gemini + any compatible API + local GGUF via llama.cpp
- Local vision – multimodal image understanding via llama.cpp + mmproj (Gemma 3, LLaVA, etc.)
- Image generation – native image output via Gemini image models
- Database extensions – SQLite and PostgreSQL extensions that embed Adam as SQL functions
- 13 built-in tools – file I/O, shell, calculator, SQL, web fetch/search, HTTP POST, memory, research, multi-agent
- Long-term memory – hybrid BM25 + vector search via SQLite (sqlite-memory + sqlite-vector)
- Session persistence – save/load conversations with UUIDv7 keys
- Telegram bot – full-featured with text, voice, images, tools, and memory
- Voice – STT (Whisper cloud/local) + TTS (cloud/system) + full audio pipeline
- Streaming – real-time token delivery via callback
- Structured output –
adam_run_json()with validation and retry - Evolution loop – self-improving agent: iterate, score, refine strategy
- Research mode – autonomous multi-iteration info gathering with report synthesis
- Multi-agent – Agent A invokes Agent B as a tool, with independent settings/tools
- Guardrails – pre-send and post-receive validation callbacks
- Response cache – LRU hash table keyed on model + message history
- History management – clone, summarize (LLM-based compression), token estimation
- Thread pool – concurrent agent execution with job queue
- Filesystem sandbox – tools restricted to explicitly allowed directories
- Arena allocator – zero-leak per-iteration memory with automatic cleanup
Build Targets
make deps # Build llama.cpp, whisper.cpp (+ mbedtls/curl on Linux)
make all # Build libadam.a
make test # Build & run unit tests (ASan + UBSan)
make chat # Interactive text chat (cloud API)
make chat GGUF=models/model.gguf # Interactive text chat (local)
make vision GGUF=models/model.gguf MMPROJ=models/mmproj.gguf # Local vision test
make talk # Voice agent (cloud)
make talk LOCAL=1 # Voice agent (fully local)
make memory # Memory system tests
make clean # Remove all build artifacts
Full API documentation is available in API.md with every function, type, and callback.
📖 Read the full source: HN AI Agents
👀 See Also

Benchmark Results: Claude Agent Swarm with Memory System Shows 30-43% Token Cost Savings
A developer tested a 6-agent Claude swarm on a 40-point coding task with and without a custom memory system called Stompy. Results show Sonnet 4.6 with memory achieved perfect scores at $3.98 vs $7.04 without, while Haiku 4.5 failed completely without memory but scored 39/40 with it.

Prompt-Master: Claude Skill for Generating Accurate AI Tool Prompts
Prompt-Master is a free Claude skill that writes accurate prompts for various AI tools including Cursor, Claude Code, GPT, Midjourney, Kling, and Eleven Labs. The tool has reached 600+ stars on GitHub and processes 4000+ traffic.

Curated List of 260+ AI Agent Tools with Claude Ecosystem Highlights
A GitHub repository contains a curated list of 260+ AI agent tools, including specific Claude-related entries like Claude Code (80.9% SWE-bench), Claude Computer Use, and Claude in Chrome, plus tools that work well with Claude such as Cline and Cursor.

Bespoke AI v0.8.1: VS Code Autocomplete Extension for Code and Text
Bespoke AI v0.8.1 is a VS Code extension providing autocomplete for both code and text, leveraging Claude Code subscriptions via Anthropic's Agent SDK to avoid API charges while supporting multiple backends including Ollama.