Registry / ai-ml / abmind

abmind

JSON →
library0.1.7jsnpmunverified

Abmind is a standalone, local AI agent memory system for Node.js (requires Node >=22.0.0). It uses SQLite with FTS5 for full-text search and supports embeddings for semantic similarity, offering a 4-layer recall system (immediate, working, long-term, archival) and a unique sleep maintenance mechanism for consolidation. Current version 0.1.7 is in early active development with weekly releases. Compared to other agent memory libraries, abmind is minimal and dependency-light, relying only on @sinclair/typebox for runtime type validation. It ships TypeScript types and is designed primarily for TypeScript users.

npm install abmind
INSTALL
IMPORT
SIG · ABMIND
A
abmind
ai-mljavascriptv0.1.7
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Abmind
import { Abmind } from 'abmind'
const Abmind = require('abmind')
ESM-only; CommonJS require() will not work.
MemoryLayer
import { MemoryLayer } from 'abmind'
TypeScript type; if using JavaScript, it will be removed at runtime.
RecallOptions
import { RecallOptions } from 'abmind'
import { RecallOptions } from 'abmind/recall'
Not a separate file; do not use subpath imports.
default (Abmind class)
import Abmind from 'abmind'
import { Abmind } from 'abmind'
Default export is the Abmind class; named export is also available but redundant.

Shows how to create an Abmind instance, initialize, store a memory, recall with layer options, consolidate, and cleanly shut down.

import { Abmind } from 'abmind' async function main() { const memory = new Abmind({ dbPath: './memory.db', embeddingProvider: 'openai', embeddingApiKey: process.env.OPENAI_API_KEY ?? '', }) await memory.initialize() await memory.store('Hello, world!', { level: 'immediate' }) const results = await memory.recall('hello', { layers: ['immediate', 'working'], topK: 5 }) console.log(results) await memory.consolidate() await memory.sleep() await memory.close() } main().catch(console.error)
Debug
Known issues
breakingNode >=22.0.0 required – older versions will throw syntax errors.
fix
Update to Node 22+ or use an older version of abmind (none available).
affects: all
gotchaEmbedding provider API keys must be set via constructor or environment; missing keys cause runtime errors.
fix
Provide valid embeddingApiKey or set OPENAI_API_KEY (or other) in environment.
affects: all
deprecatedMethod 'sleep()' will be renamed to 'maintenance()' in v0.2.0.
fix
Use sleep() for now, but plan to migrate to maintenance() after upgrade.
affects: 0.1.0 to 0.1.7
gotchaSQLite FTS5 extension must be enabled in runtime – not all distributions include it.
fix
Ensure better-sqlite3 is built with FTS5 support; use a prebuilt binary that includes it.
affects: all
Errors
Common errors & fixes
Module not found: Can't resolve 'abmind'
Package not installed or ESM/CJS mismatch.
fix
Install abmind: npm install abmind. Ensure your project is ESM (type: module in package.json or .mjs extension).
TypeError: Class constructor Abmind cannot be invoked without 'new'
Called Abmind() without new due to default import confusion.
fix
Use new Abmind({...}) or use the named import: import { Abmind } from 'abmind'.
Error: SQLITE_NOTFOUND: no such module: fts5
System SQLite lacks FTS5 extension.
fix
Reinstall better-sqlite3 with FTS5 support: npm rebuild better-sqlite3 --build-from-source or use a compatible binary.
Token limits exceeded: embeddings API returned 429
Rate limited by embedding provider.
fix
Implement retry logic or reduce batch size. Set maxRetries option in Abmind constructor.
Upgrade
Version history
0.1.7latest on npm
Audit
Dependencies
@sinclair/typeboxrequiredRuntime type validation, required peer dependency.
Agent activity
76 hits · last 30 days
node
64
Resources
packageabmind
abmind — npm install abmind · libregistry