pi-qmem

Memoria centralizzata e condivisa per agenti AI — estensione per pi.

Salva e cerca record semantici (fatti, decisioni, preferenze, episodi) in un Memory Gateway (FastAPI + Qdrant + BGE-M3) ospitato su un server remoto raggiungibile via VPN. Nessun LLM in scrittura: l'agente salva record deliberati e strutturati; il retrieval è vettoriale + filtri metadata.

Installazione

pi install git:git.enne2.net/enne2/pi-qmem

Oppure copia extensions/index.ts in ~/.pi/agent/extensions/pi-qmem/.

Tool

Tool Descrizione
qmem_store Salva un record di memoria (text, kind, agent_id, project_id obbligatorio, scope, source, expires_at, supersedes_id, supersede_reason)
qmem_search Ricerca semantica su tutta la conoscenza condivisa (query, kind, project_id, scope, top_k, include_superseded, min_score)
qmem_correct Corregge una memoria falsa: crea un nuovo record che supersede il vecchio (che resta in archivio marcato superseded)
qmem_meta Discovery: panoramica di scope×kind, progetti, agenti e superseduti (per scegliere i filtri di ricerca)

Comando

/qmem:config — menu interattivo (TUI):

  • 🌐 Imposta URL gateway
  • 🔑 Cambia API key
  • 🔌 Test connessione (verifica URL + validità chiave)
  • 📋 Mostra configurazione
  • ↩️ Annulla

Modalità CLI rapida: /qmem:config url <URL> | apikey <KEY> | test

Config salvata in ~/.config/pi-qmem/config.json (0600):

{
  "url": "http://10.8.0.3:8082",
  "apiKey": "..."
}

Regole comportamentali (autocontenute)

Le regole vincolanti (obbligo project_id, punteggi, correzione/supersede, discovery) sono distribuite con l'estensione, senza toccare AGENTS.md:

  • promptGuidelines sui 4 tool (bullets nel Guidelines del system prompt, solo quando i tool sono attivi)
  • before_agent_start → blocco "Regole pi-qmem" iniettato nel system prompt a ogni turno (solo se i tool qmem sono attivi)
  • Skill qmem (skills/qmem/SKILL.md, standard agentskills.io) → procedura completa on-demand, caricabile con /skill:qmem
  • Manifest: pi.skills nel package.json

Gateway (componente server)

La cartella gateway/ contiene il Memory Gateway FastAPI da deployare sul server (Docker Compose con Qdrant 1.19 + Ollama BGE-M3). Vedi gateway/README.md per il deploy.

Architettura

pi (estensione) ──HTTPS/VPN──▶ Memory Gateway (FastAPI) ──▶ Qdrant 1.19
                                      │
                                      └──▶ Ollama BGE-M3 (embedding locale)
  • Accesso condiviso: una chiave API con accesso completo in lettura/scrittura
  • agent_id è solo metadata di provenienza, non isolamento
  • Rate limit, audit log, cleanup automatico dei record scaduti
  • Correzioni: i record sono immutabili; correggere una memoria falsa = nuovo record che supersede il vecchio (qmem_correct o qmem_store con supersedes_id). Il vecchio resta in archivio con superseded_by, escluso dalla ricerca di default (include_superseded=true per la lineage)

Licenza

MIT

S
Description
Memoria centralizzata e condivisa per agenti AI: estensione pi (qmem_store/qmem_search) + Memory Gateway FastAPI + Qdrant + BGE-M3
Readme
340 KiB
Languages
TypeScript 70.4%
JavaScript 23.2%
Python 6%
Shell 0.4%