@arvoretech/pi-memory
PI extension for cloud-based memory with RAG (Qdrant + GitHub OAuth)
Package details
Install @arvoretech/pi-memory from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@arvoretech/pi-memory- Package
@arvoretech/pi-memory- Version
0.6.2- Published
- Jun 27, 2026
- Downloads
- 1,267/mo · 40/wk
- Author
- joao.barros.arvore
- License
- MIT
- Types
- extension
- Size
- 87 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./dist/index.js"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@arvoretech/pi-memory
Cloud-based team memory for Pi. All intelligence (embeddings, chunking, ADD/UPDATE/NOOP decision, PII sanitization) runs server-side in api-arvore. The extension only sends raw text.
How it works
/memory-login→ GitHub OAuth via api-arvore (org-based access:arvoreeducacaoorSuperAutor).- During the session → on each
turn_end(debounced) the new turns are sent toapi-arvore, which sanitizes, embeds, and decides ADD/UPDATE/NOOP. Final flush onsession_shutdown. - On
before_agent_start→ the current prompt is used to retrieve relevant team memory, injected into the system prompt.
Memory is a single org-wide pool (cross-user). Two tiers: raw (episodic chat, decays over time) and curated (promoted, never auto-deleted).
Commands
| Command | Description |
|---|---|
/memory-login |
GitHub OAuth login |
/memory-logout |
Clear credentials |
/memory-incognito |
Toggle incognito (skip saving this session) |
/memory-status |
Show auth/config info |
/memory-search <query> |
Manual semantic search |
/memory-candidates |
List raw memories eligible for promotion |
/memory-promote <id> |
Promote a raw memory to curated |
/memory-curate <category>|<title>|<content> |
Create a curated memory directly |
/memory-forget |
Delete the current session from memory (retroactive incognito) |
/memory-feedback <on|off> |
Toggle relevance feedback prompts |
/hide-memory |
Hide/show the memory status widget |
Status widget
A persistent widget above the editor shows what the memory extension is doing in real time: buscando memórias (searching), injetando contexto (injecting retrieved context), salvando memória (saving), capturando sessão (background flush), não logado, incognito, or falha with the error message. During active states an animated braille spinner plays in place of the icon. Run /hide-memory to toggle it off (and again to bring it back).
Resilience
- Requests retry with exponential backoff on
429/5xx/network errors (Cloudflare in front ofapi-arvoreoccasionally returns transient403/504). - Expired/invalid sessions (
401/403) surface as a visiblenão logadostate prompting/memory-login, instead of failing silently. |/memory-forget| Delete the current session from memory (retroactive incognito) |
Config
PI_MEMORY_API_URL— override the api-arvore base URL (default: production).
Dependencies
None at runtime — uses native fetch and Node builtins. Backend: api-arvore pi-memory module.