Log inGet started free

How memory works

Local SQLite, on-device embeddings, and namespaces — nothing leaves your machine. Everything stored can also be checked before it's repeated back to you.

Store & recall

remember({
  content: "User prefers pnpm",
  namespace: "user",
  tags: ["preference"],
  priority: 8
})

recall({
  query: "package manager",
  namespace: "user",
  preview: true
})

Agents store facts and procedures with remember — it dedupes near-identical content in the same namespace.

Recall starts with recall({ preview: true }) to scan summaries, then recall({ id }) for only what you need.

Namespaces

Namespaces isolate context — user prefs, per-project code, cross-project work.

user holds preferences across all projects. <project-name> matches your code(ingest) namespace. work is for cross-repo professional context.

Skills vs memories

Skills

Procedural how-to content. Set metadata.skill_name and load with skill_load — O(1), no search.

Memories

Facts, preferences, decisions, and session context. Retrieved via hybrid search.

Verify before you trust it

Storing a fact isn't the same as knowing it's true. verify({ text }) checks a claim against what's already stored and returns grounded (backed by memory), unsupported (nothing confirms it yet), or refuted (it contradicts something already known) — before your agent repeats it as fact.