@marcfargas/brainiac

extensionmaintained

Persistent, searchable agent knowledge store for pi — learn, connect, recall

by · v0.1.0 · published 5mo ago

$ pi install npm:@marcfargas/brainiac
downloads/mo
66
stars
4
last push
5mo ago
open issues
1

Signals

license: MITtestspi manifest: missinginstall size: —deps: 0peer deps: 0

Download trend

No downloads in the last 12 weeks.

README

Brainiac

Persistent, searchable agent knowledge store for pi.

Agents learn one fact at a time, connect ideas together, and recall relevant knowledge automatically — before every turn.

Install

pi install npm:@marcfargas/brainiac

Or add directly to ~/.pi/agent/settings.json:

{
  "packages": ["npm:@marcfargas/brainiac"]
}

Requires pi ≥ 0.50.0 and better-sqlite3 (native module — may need npm rebuild after Node version upgrades).

Tools

ToolDescription
brainiac_learnStore atomic facts/learnings (single or batch with auto-connections)
brainiac_recallFTS5 full-text search with bidirectional connections
brainiac_connectLink items to each other or external resources (files, URLs, etc.)
brainiac_feedbackReport relevance of search results (explicit + implicit signals)

Usage

Once installed, Brainiac tools are available in every pi session. The model can use them directly:

User: remember that Odoo hr.contract ended contracts have state='close', not just date_end < today
Model: [calls brainiac_learn] → Learned #42

User: how do I check for ended Odoo contracts?
Model: [auto-search fires, injects #42 into context automatically]
       Based on my notes: ended contracts have state='close'...

User: find everything I know about Odoo contracts
Model: [calls brainiac_recall { query: "odoo contract" }] → #42: ...

Auto-Search

The killer feature. Before each agent turn, Brainiac automatically searches for relevant knowledge based on the user's message and injects it into the agent's context.

Toggle with /brainiac on or /brainiac off.

Privacy

Items can be marked private for multi-project setups. Configure per-project in .pi/brainiac.json:

{
  "defaults": {
    "private": true,
    "tags": ["my-project"]
  },
  "readPrivate": ["my-project", "related-project"]
}

Storage

Global SQLite database at ~/.pi/brainiac/brainiac.db. Uses FTS5 for full-text search with porter stemming. Vector search ready (Phase 2).

License

MIT