@marcfargas/brainiac
Persistent, searchable agent knowledge store for pi — learn, connect, recall
Package details
Install @marcfargas/brainiac from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@marcfargas/brainiac- Package
@marcfargas/brainiac- Version
0.1.0- Published
- Feb 21, 2026
- Downloads
- 23/mo · 9/wk
- Author
- marcfargas
- License
- MIT
- Types
- extension
- Size
- 40.5 KB
- Dependencies
- 1 dependency · 1 peer
Pi manifest JSON
{
"extensions": [
"./src/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
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
| Tool | Description |
|---|---|
brainiac_learn |
Store atomic facts/learnings (single or batch with auto-connections) |
brainiac_recall |
FTS5 full-text search with bidirectional connections |
brainiac_connect |
Link items to each other or external resources (files, URLs, etc.) |
brainiac_feedback |
Report 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