Memoria Persistente per Agenti di Codifica AI
Gli agenti di codifica AI perdono tutto il contesto al termine di una sessione. AI-Memory risolve questo problema fornendo agli agenti un wiki condiviso e persistente archiviato come semplice Markdown in un repository Git. Gli hook del ciclo di vita catturano automaticamente ogni prompt, chiamata a strumenti e decisione. Al termine della sessione, le osservazioni rilevanti vengono compilate in pagine narrative coerenti. Quando l'agente successivo si avvia, un blocco di handoff mostra domande aperte, approcci falliti e passaggi successivi. Puoi uscire da Claude Code a metà di un'attività, aprire Codex ore dopo nella stessa directory e continuare senza dover rispiegare l'architettura.
Caratteristiche Principali
- Cattura senza attrito – Gli hook si attivano a ogni prompt, chiamata a strumenti e confine di sessione; nessuna presa di appunti manuale.
- Handoff tra agenti – Passa da un agente supportato all'altro; la sessione successiva visualizza un handoff strutturato.
- Isolamento per progetto – Pagine archiviate sotto
<wiki_root>/<workspace_id>/<project_id>/…, indicizzate tramite UUID stabili; sovrascrivibile con.ai-memory.tomlper mono-repo, separazioni lavoro/personale e worktree Git. - Wiki compilato da LLM – Le osservazioni vengono consolidate al termine della sessione (o prima della compattazione) in Markdown versionato con Git, non in log grezzi.
- Interfaccia
/webintegrata – Browser in sola lettura con elenco progetti, albero delle cartelle, ricerca FTS5, Markdown renderizzato e modalità scura. - Pronto per multi-agente e multi-macchina – Supporta Claude Code, Codex, OpenCode, Cursor, Gemini CLI, Antigravity CLI, OpenClaw, Oh My Pi/OMP. Il server può essere eseguito in locale o su un homelab con autenticazione tramite bearer token.
- CLI Thin-client – Comandi come
bootstrap,purge-project,rename-project,lint,embed,forget-sweep,backupsono client HTTP; non interagiscono mai direttamente con SQLite o i file wiki. - LLM opzionale – La modalità Zero-LLM offre ricerca FTS5 e riassunti basati su regole; aggiungi un provider per pagine consolidate e linting delle contraddizioni.
Matrice di Supporto
| Area | Stato | Note |
|---|---|---|
| Linux | Supportato | Target principale per Docker/server e piattaforma CI. |
| macOS | Supportato | I test dell'area di lavoro vengono eseguiti in CI; build native dai sorgenti supportate. |
| Windows via WSL2 | Supportato | Utilizza il percorso di installazione Linux all'interno di WSL2. |
| Windows nativo | Sperimentale | Esistono un wrapper PowerShell e hook .ps1; è ancora necessario un feedback reale dagli agenti. |
| Claude Code, Codex, Cursor, Gemini CLI, OpenCode, Oh My Pi/OMP, OpenClaw, Antigravity CLI | Supportati | Configurazione MCP + hook del ciclo di vita. |
| Claude Desktop | Solo MCP | Utilizza mcp-remote; nessun hook del ciclo di vita. |
| Provider LLM | Anthropic, OpenAI, Gemini, endpoint compatibili con OpenAI | |
| Provider di embedding | OpenAI, Voyage, Google Gemini |
# 1. Install the ai-memory CLI wrapper (a ~3 KB shell script that # runs the binary inside docker with your $HOME mounted). This is # the only thing that needs to live on the host filesystem. mkdir -p ~/.local/bin curl -fsSL https://raw.githubusercontent.com/akitaonrails/ai-memory/main/bin/ai-memory \ -o ~/.local/bin/ai-memory chmod +x ~/.local/bin/ai-memory # Most distros put ~/.local/bin on PATH automatically. If `which # ai-memory` comes up empty, add this to ~/.bashrc / ~/.zshrc: # export PATH="$HOME/.local/bin:$PATH" # 2. Start the server. `--restart unless-stopped` makes it come back # on docker daemon restart and on machine boot (provided your # docker service is enabled at boot — `sudo systemctl enable # docker` on most distros). Loopback-only bind (`127.0.0.1:49374`) # so nothing outside this machine can reach it. Omit the LLM / # EMBEDDING lines for zero-LLM mode — FTS5 search still works # without any keys. docker run -d --name ai-memory \ --restart unless-stopped \ -p 127.0.0.1:49374:49374 \ -v ai-memory-data:/data \ -e AI_MEMORY_LLM_PROVIDER=anthropic \ -e ANTHROPIC_API_KEY=sk-ant-... \ -e AI_MEMORY_EMBEDDING_PROVIDER=openai \ -e OPENAI_API_KEY=sk-... \ akitaonrails/ai-memory:latest # 3. Wire your agent CLI in two commands. The wrapper takes care of # mounts + auto-detecting ~/.claude/settings.json. Re-run with # `--agent codex`, `--agent opencode`, `--agent gemini-cli`, # `--agent omp`/`pi`, `--client cursor`, `--client gemini-cli`, etc. # for additional agents; full list in docs/install.md. ai-memory install-mcp --client claude-code --apply ai-memory install-hooks --agent claude-code --apply
Note di Installazione
- Windows: Usa il percorso Linux all'interno di WSL2, oppure il wrapper PowerShell nativo e gli hook
.ps1per gli agenti Windows nativi. Non mescolare ambienti di percorso. - Docker compose:
docker compose -f docker/docker-compose.yml up -dè supportato; la configurazione dell'agente è la stessa del punto 3. - Server remoto: Imposta
AI_MEMORY_SERVER_URL=http://<server-ip>:49374sul client e passa i flag corrispondenti--server-urldurante l'installazione di MCP/hook. Qualsiasi server non di loopback dovrebbe utilizzare l'autenticazione bearer. - Aggiornamenti: Esegui
ai-memory upgradeper aggiornare il wrapper, l'immagine e gli script hook staged. Ridistribuisci i server remoti separatamente.
Utilizzo Quotidiano
Giorno per giorno, per lo più non ti accorgi di ai-memory. Gli hook del ciclo di vita catturano tutto in modo silenzioso. Gli hook SessionStart recuperano gli handoff in attesa prima del tuo primo prompt nell'agente successivo.




