sqlite_adam

Adam is an embeddable AI agent library for SQLite, providing on-device chat, voice, vision, memory, and tool-calling. It works seamlessly on iOS, Android, Windows, Linux, and macOS, integrating directly with your embedded SQLite database.

Installation

dart pub add sqlite_adam

Requires Dart 3.10+ / Flutter 3.38+.

Usage

With sqlite3

import 'package:sqlite3/sqlite3.dart';
import 'package:sqlite_adam/sqlite_adam.dart';

void main() {
  // Load once at startup.
  sqlite3.loadSqliteAdamExtension();

  final db = sqlite3.openInMemory();

  // Configure the agent (see API.md for the full list of options).
  db.execute("SELECT adam_config('provider', 'anthropic')");
  db.execute("SELECT adam_config('api_key', 'sk-...')");

  // Run the agent.
  final result = db.select("SELECT adam('Say hello in 3 words')");
  print(result.first[0]);

  db.dispose();
}

With drift

import 'package:sqlite3/sqlite3.dart';
import 'package:sqlite_adam/sqlite_adam.dart';
import 'package:drift/native.dart';

Sqlite3 loadExtensions() {
  sqlite3.loadSqliteAdamExtension();
  return sqlite3;
}

// Use when creating the database:
NativeDatabase.createInBackground(
  File(path),
  sqlite3: loadExtensions,
);

Supported platforms

Platform Architectures
Android arm64, x64
iOS arm64 (device + simulator)
macOS arm64, x64
Linux arm64, x64
Windows x64

API

See the full Adam API documentation.

License

See LICENSE.

Libraries

sqlite_adam