Skip to content

Memory for agents

A local-first memory system for AI agents. Store text memories and whole codebases, retrieve them with hybrid semantic + lexical search, and let a self-organizing topic tree + artifact graph + concepts keep everything structured as it grows.

The versions below are fetched from the npm registry at build time — this site rebuilds automatically after every publish.

Package Version Published
@ponraaj/dimple-sdk v0.0.0-alpha.62026-08-07
@ponraaj/dimple (CLI) v0.0.0-alpha.62026-08-07

Problem: naive memory stores scan every vector per query (cost grows with memory count), return flat results with no structure, and give the agent no notion of why a memory is relevant, what supersedes it, or what contradicts it.

Approach — three structures maintained automatically by a durable background worker:

  1. Topic tree — memories are routed by embedding similarity into tree leaves. Queries descend the tree (beam search on centroids) and only score the reached leaves: search cost grows with depth, not with memory count. A durable worker splits overflowing leaves and merges underflowing ones with deterministic algorithms — same embeddings ⇒ same tree, anywhere.
  2. Hybrid retrieval — vector (cosine) + FTS5 lexical legs fused with Reciprocal Rank Fusion, optional recency boost, and per-result graph context.
  3. Artifact graph + concepts — directed memory_supports / memory_supersedes / memory_contradicts / code_calls edges written by structural rules, code indexing, the agent, and the optional dream job (LLM classification of candidates + deterministic concept clustering). Retrieval consumes the graph: superseded memories demote, conflicts surface, supports ride along as provenance.

All structural decisions are deterministic; everything is durable (two SQLite files — or a Turso remote database — and resume-safe jobs).