Configurazione
Kiro Memory funziona con impostazioni predefinite sensate fin da subito. Tutta la configurazione avviene tramite variabili d'ambiente e non richiede un file di configurazione.
Variabili d'ambiente
| Variabile | Predefinito | Descrizione |
|---|---|---|
KIRO_MEMORY_DATA_DIR | ~/.kiro-memory | Directory base per database, log, archivi e backup |
KIRO_MEMORY_WORKER_HOST | 127.0.0.1 | Indirizzo host su cui il server HTTP del worker si mette in ascolto |
KIRO_MEMORY_WORKER_PORT | 3001 | Porta per il server HTTP del worker e la dashboard web |
KIRO_MEMORY_LOG_LEVEL | INFO | Livello di dettaglio dei log: DEBUG, INFO, WARN, ERROR |
KIRO_CONFIG_DIR | ~/.kiro | Directory di configurazione della CLI Kiro |
Impostazione delle variabili d'ambiente
Temporanea (sessione corrente):
export KIRO_MEMORY_WORKER_PORT=3002
Permanente (aggiungere al profilo della shell):
# ~/.bashrc o ~/.zshrc
export KIRO_MEMORY_DATA_DIR="$HOME/.kiro-memory"
export KIRO_MEMORY_WORKER_HOST="127.0.0.1"
export KIRO_MEMORY_WORKER_PORT="3001"
export KIRO_MEMORY_LOG_LEVEL="INFO"
Se la porta 3001 e gia in uso da un'altra applicazione, cambia KIRO_MEMORY_WORKER_PORT con una porta disponibile. Usa lsof -i :3001 per verificare cosa sta utilizzando la porta.
Struttura di archiviazione
Tutti i dati persistenti risiedono sotto KIRO_MEMORY_DATA_DIR (predefinito: ~/.kiro-memory):
~/.kiro-memory/
├── kiro-memory.db # Database SQLite (osservazioni, riepiloghi, conoscenza, embedding)
├── logs/ # File di log del worker e degli hooks
├── archives/ # Dati archiviati/ruotati
└── backups/ # Backup del database
Database
Il database SQLite archivia tutte le osservazioni, i riepiloghi, le sessioni, i checkpoint, gli elementi di conoscenza, i prompt dell'utente e gli embedding vettoriali. Utilizza tabelle virtuali FTS5 per la ricerca full-text.
Il database viene creato automaticamente al primo utilizzo. Non e necessaria alcuna configurazione manuale.
Non modificare il file del database direttamente mentre il worker e in esecuzione. Usa la CLI o l'SDK per tutte le operazioni sui dati.
Log
I file di log vengono scritti in ~/.kiro-memory/logs/. Visualizzali con:
kiro-memory worker:logs # Log recenti
kiro-memory worker:tail # Segui in tempo reale
Imposta KIRO_MEMORY_LOG_LEVEL=DEBUG per un output dettagliato durante la risoluzione dei problemi.
Gestione del worker
Il worker di Kiro Memory e un server HTTP in background che gestisce:
- Operazioni sul database tramite REST API
- Servizio della dashboard web sull'host e porta configurati
- Streaming di eventi in tempo reale (SSE) per la dashboard
- Operazioni sugli embedding vettoriali
Comandi del worker
| Comando | Descrizione |
|---|---|
kiro-memory worker:start | Avvia il worker in background |
kiro-memory worker:stop | Ferma il worker in background |
kiro-memory worker:restart | Riavvia il worker |
kiro-memory worker:status | Verifica se il worker e in esecuzione |
kiro-memory worker:logs | Visualizza l'output dei log recenti |
kiro-memory worker:tail | Segui l'output dei log in tempo reale |
Comportamento di avvio automatico
Il worker si avvia automaticamente quando:
- Una sessione di sviluppo inizia in un editor supportato (tramite l'hook
agentSpawn) - Un qualsiasi comando CLI richiede l'API del worker
La sequenza di avvio:
- Verifica se il worker e raggiungibile sull'host e porta configurati
- In caso contrario, avvia
worker-service.jscome processo in background - Attende fino a 3 secondi affinche il worker diventi disponibile
- Procede con l'operazione (degradazione graduale se il worker non si avvia)
Host e porta personalizzati
Per eseguire il worker su un indirizzo diverso:
export KIRO_MEMORY_WORKER_HOST="0.0.0.0" # Ascolta su tutte le interfacce
export KIRO_MEMORY_WORKER_PORT="3002" # Usa la porta 3002
kiro-memory worker:restart
Impostare KIRO_MEMORY_WORKER_HOST a 0.0.0.0 espone la dashboard su tutte le interfacce di rete. Fallo solo in ambienti di rete affidabili. Il worker include misure di sicurezza (autenticazione con token, rate limiting, header Helmet, CORS), ma e progettato per l'uso in sviluppo locale.
Rilevamento del progetto
Kiro Memory rileva automaticamente il progetto corrente in base alla directory di lavoro. Il nome del progetto viene derivato dal nome della directory alla radice del repository.
Tutte le osservazioni, i riepiloghi e la conoscenza sono associati al progetto rilevato. Quando passi da un progetto all'altro, Kiro Memory traccia ciascuno in modo indipendente.
Configurazione multi-progetto
Se lavori su piu progetti, ciascuno ottiene il proprio namespace nel database condiviso. Puoi:
- Visualizzare tutti i progetti dalla dashboard web
- Filtrare i comandi CLI per nome di progetto
- Generare report per singoli progetti
- Cercare in tutti i progetti o all'interno di uno specifico
# Cerca all'interno di un progetto specifico
kiro-memory search "auth" --project=my-app
# Report per un progetto specifico
kiro-memory report --project=my-app --period=weekly
Configurazione della sicurezza
Il worker include diversi livelli di sicurezza abilitati per impostazione predefinita:
| Funzionalita | Descrizione |
|---|---|
| Autenticazione con token | Le richieste API richiedono un token di autenticazione valido |
| Rate limiting | Protegge da chiamate API eccessive |
| Helmet | Imposta header HTTP sicuri |
| CORS | Limita le richieste cross-origin a localhost |
Queste protezioni vengono configurate automaticamente e non richiedono configurazione manuale. Garantiscono che, anche se la porta del worker e esposta, l'accesso non autorizzato venga mitigato.
Gestione della coda
Kiro Memory utilizza una coda interna per l'elaborazione asincrona delle osservazioni. I comandi della coda sono disponibili per la risoluzione avanzata dei problemi:
kiro-memory queue # Visualizza lo stato della coda
kiro-memory queue:process # Forza l'elaborazione degli elementi in attesa
kiro-memory queue:clear # Svuota la coda
In condizioni normali di funzionamento, la coda si elabora automaticamente. Questi comandi sono necessari solo per il debug di casi particolari.