Passa al contenuto principale

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

VariabilePredefinitoDescrizione
KIRO_MEMORY_DATA_DIR~/.kiro-memoryDirectory base per database, log, archivi e backup
KIRO_MEMORY_WORKER_HOST127.0.0.1Indirizzo host su cui il server HTTP del worker si mette in ascolto
KIRO_MEMORY_WORKER_PORT3001Porta per il server HTTP del worker e la dashboard web
KIRO_MEMORY_LOG_LEVELINFOLivello di dettaglio dei log: DEBUG, INFO, WARN, ERROR
KIRO_CONFIG_DIR~/.kiroDirectory 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"
suggerimento

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.

warning

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

ComandoDescrizione
kiro-memory worker:startAvvia il worker in background
kiro-memory worker:stopFerma il worker in background
kiro-memory worker:restartRiavvia il worker
kiro-memory worker:statusVerifica se il worker e in esecuzione
kiro-memory worker:logsVisualizza l'output dei log recenti
kiro-memory worker:tailSegui 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:

  1. Verifica se il worker e raggiungibile sull'host e porta configurati
  2. In caso contrario, avvia worker-service.js come processo in background
  3. Attende fino a 3 secondi affinche il worker diventi disponibile
  4. 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
warning

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:

FunzionalitaDescrizione
Autenticazione con tokenLe richieste API richiedono un token di autenticazione valido
Rate limitingProtegge da chiamate API eccessive
HelmetImposta header HTTP sicuri
CORSLimita 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
informazioni

In condizioni normali di funzionamento, la coda si elabora automaticamente. Questi comandi sono necessari solo per il debug di casi particolari.