AIREITER
DOC APIPREZZI
TEMPLATE
  • AIReiter
  • Blog
  • Memoria per agenti di coding con Funes: configurazione di Claude Code e Codex

Memoria per agenti di coding con Funes: configurazione di Claude Code e Codex

Ultimo Aggiornamento: 2026-09-03 19:23:45

Può bastare un’ora per ricostruire perché è stato modificato un parser, salvo poi perdere tutto quel ragionamento quando il task successivo parte con un altro agente. Funes indicizza localmente le sessioni degli agenti, restituisce le prove originali con la relativa provenienza e permette di condividere la stessa memoria tra Claude Code, Codex, pi e Hermes. Il limite da tenere presente è uno solo, ma importante: Funes recupera la cronologia; spetta comunque all’agente decidere se una vecchia scelta sia ancora applicabile.

Questa guida mostra una configurazione pratica Claude Code → Codex, l’uso della memoria solo locale, la sincronizzazione opzionale con Hugging Face, il collegamento a client MCP generici e i controlli necessari per mantenere affidabile la cronologia recuperata.

Definisci il perimetro della memoria prima di installare

Se stai valutando Funes o lavori con repository sensibili, parti dalla memoria locale. Collega un dataset Hugging Face solo quando ti serve ritrovare la stessa cronologia su un’altra macchina o condividerla con un team.

ModalitàDove viene salvataPrimo utilizzo idealeAttenzione principale
localDataset Lance localeUn solo sviluppatore e una sola macchinaLa memoria non segue automaticamente l’utente su un altro host
<org>/<repo>Dati Lance locali più un repository Dataset su Hugging FacePassare da un agente o da una macchina all’altraLe tracce delle sessioni possono contenere codice, prompt, percorsi o credenziali sensibili

La policy di sicurezza di Funes specifica che parsing, suddivisione in chunk, embedding e reranking avvengono localmente per impostazione predefinita. I dati escono dalla macchina tramite funes push oppure attraverso un’integrazione con memoria condivisa che pubblica i dati alla fine della sessione. Una memoria collegata a Hub è un repository di dataset: controllane quindi la visibilità prima del primo push.

Per il primo test, usa local. Potrai modificare in seguito il collegamento eseguendo di nuovo funes add <agent> <memory>.

Installa Funes e crea il primo indice

Il repository ufficiale di Funes mette a disposizione uno script shell che rileva la piattaforma, scarica un binario associato a un tag, verifica il checksum della release e colloca l’eseguibile nel PATH, per impostazione predefinita in ~/.local/bin:

curl -fsSL https://huggingface.co/buckets/huggingface/funes/resolve/install.sh | sh

Se funes non viene trovato subito, apri una nuova shell e verifica l’installazione:

funes status

Il repository elenca binari associati a tag per Linux x86_64, Linux aarch64 e macOS Apple Silicon. Se la tua piattaforma non è tra quelle indicate, segui le istruzioni del progetto per la compilazione dai sorgenti invece di dare per scontato che lo script includa anche il tuo sistema.

Il bootstrap in cinque minuti

Esegui il comando nella directory in cui sono già presenti le sessioni dell’agente che vuoi conservare:

funes add claude

Con Claude Code, il comando può creare il primo indice, registrare gli strumenti di lettura, installare l’automazione d’integrazione e continuare a indicizzare i turni completati. Dopo la conferma, il primo passaggio è orientato al testo e la documentazione indica una durata di circa un minuto. Prima vengono analizzati prosa e ragionamento, mentre gli output voluminosi degli strumenti vengono lasciati in secondo piano. (Documentazione di configurazione di Funes)

Controlla quindi lo stato:

funes status

Se devi creare o aggiornare manualmente l’indice delle sessioni Claude, usa:

funes index --harness claude

Senza specificare un percorso, funes index può cercare le posizioni standard delle sessioni di Claude, Codex, pi e Hermes, tra cui ~/.claude/projects e ~/.codex/sessions. Con --harness claude, la scansione viene limitata a Claude Code. La guida all’indicizzazione documenta inoltre un budget di circa 60 secondi, orientato al testo, per gli aggiornamenti senza percorso; le sessioni più vecchie e i risultati molto grandi degli strumenti potrebbero richiedere passaggi successivi.

L’indicizzazione di Funes è incrementale: rieseguendola, i chunk già scritti non vengono sottoposti di nuovo a embedding. I percorsi espliciti dei transcript e i repository di tracce su Hub vengono invece indicizzati interamente, senza applicare il budget previsto per le scansioni senza percorso. (Dettagli sull’indicizzazione)

Collega Funes a Claude Code

Per usare una memoria locale con Claude Code, esegui:

funes add claude local
funes status

Puoi omettere local, perché è il valore predefinito. Se nel terminale è disponibile un token HF, Funes potrebbe proporti di configurare un repository di proprietà dell’utente, <user>/funes-memory; per un test solo locale, rifiuta la proposta.

L’integrazione con Claude utilizza un plugin basato esclusivamente sugli hook e una registrazione MCP separata. Funes non modifica il file settings.json di Claude Code: l’automazione indicizza i turni completati, mentre la configurazione della memoria condivisa aggiunge la pubblicazione alla fine delle sessioni. (Comportamento dell’automazione)

Apri Claude Code e verifica una decisione storica nota, invece di considerare riuscita la configurazione solo perché l’installazione è andata a buon fine:

Find the previous decision about the streaming parser. Use Funes recall if the repository history does not explain it, and cite the session you used.

Un buon risultato deve rimandare a un passaggio precedente, indicare la sessione di provenienza e distinguere un vecchio esperimento dallo stato attuale del repository.

Per disattivare l’integrazione senza eliminare i dati salvati, esegui:

funes remove claude

La documentazione sulla rimozione specifica che il comando elimina il collegamento di Funes, ma conserva la memoria locale, i transcript originali, le cache e la memoria pubblicata.

Collega la stessa memoria a Codex

Quando Claude Code funziona correttamente, aggiungi Codex alla stessa memoria locale:

funes add codex local
funes status

Per usare una memoria condivisa basata su Hub, indica lo stesso identificativo di repository per entrambi gli agenti:

funes add claude <org>/<repo>
funes add codex <org>/<repo>

Codex prevede un passaggio di autorizzazione facile da trascurare. Funes scrive i propri hook in ~/.codex/hooks.json; dentro Codex, esegui /hooks, controlla le voci di Funes e autorizzale. Finché gli hook non vengono considerati affidabili, Codex li ignora: di conseguenza i nuovi turni non vengono indicizzati e nessuna memoria viene pubblicata. Il flusso documentato per il collegamento della memoria richiede Codex 0.151.0. (Requisiti dell’automazione di Codex)

Prova davvero il passaggio di consegne tra agenti

Scegli una decisione distintiva presente in una sessione ma non nell’altra:

  1. In Claude Code, trova la decisione sul parser e annota un termine caratteristico della discussione.
  2. Chiudi la sessione, così l’indicizzazione e l’automazione di fine sessione possono essere eseguite.
  3. In Codex, chiedi informazioni su quel termine e domandagli di recuperare il ragionamento precedente.
  4. Verifica che la risposta indichi Claude come harness di origine e rimandi alla sessione o al turno originale.

Puoi controllare direttamente le prove dal terminale:

funes recall "why did we switch away from the streaming parser"

recall restituisce passaggi classificati per rilevanza, non un riassunto generato. Ogni risultato include le informazioni sulla fonte e un comando get generato automaticamente; copialo quando ti serve recuperare i turni circostanti.

Se Codex non restituisce nulla, controlla la versione, lo stato di autorizzazione in /hooks, l’output di funes status e verifica se la sessione Claude è precedente all’integrazione. Poi riprova usando un termine distintivo della discussione originale.

Collega pi, Hermes o un altro client MCP

Oltre a Claude Code e Codex, Funes supporta direttamente pi e Hermes. Pi utilizza gli eventi delle estensioni; Hermes usa hook shell e la sua indicizzazione turno per turno è documentata come beta. (Dettagli sugli agenti supportati)

Per un client compatibile con MCP diverso da questi quattro, avvia Funes come server stdio locale:

{
  "mcpServers": {
    "funes": {
      "command": "funes",
      "args": ["mcp"]
    }
  }
}

Per collegare il server a una memoria condivisa, aggiungi il repository dopo mcp:

{
  "mcpServers": {
    "funes": {
      "command": "funes",
      "args": ["mcp", "<org>/<repo>"]
    }
  }
}

La documentazione MCP espone recall, get e status. funes mcp è in sola lettura: non indicizza le sessioni e non pubblica dati. Per queste operazioni usa funes index, funes push oppure un’integrazione supportata da funes add.

Una memoria specificata nella singola chiamata MCP ha la precedenza sul collegamento definito a livello di server. Se non ne viene indicata nessuna, Funes usa la memoria locale.

Usa recall senza rinunciare alle prove

Funes mette a disposizione tre flussi distinti:

ComandoOutputQuando usarlo
funes recall "…"Passaggi originali ordinati per rilevanza e corredati dalla provenienzaQuando vuoi esaminare le prove
funes get …Il turno citato e il contesto circostanteQuando un risultato è pertinente ma incompleto
funes ask <agent> "…"Una singola risposta in linguaggio naturale, basata sulle fontiQuando vuoi una risposta rapida da Claude o Codex senza installare un’integrazione

Le impostazioni predefinite documentate di recall sono 8 risultati, un insieme candidato di 30 risultati sottoposto a reranking, un dimezzamento della rilevanza temporale ogni 30 giorni e 1 chunk adiacente. (Flag e valori predefiniti di recall)

Un ciclo di debug affidabile è questo:

  1. Esegui funes recall usando l’errore, il nome del componente o la frase che descrive la decisione.
  2. Segui il comando get generato per recuperare il turno completo.
  3. Confronta la decisione recuperata con il branch attuale.
  4. Applica la modifica o esegui l’esperimento.
  5. Esegui di nuovo recall usando il risultato ottenuto, così la sessione successiva potrà ritrovarlo.

funes ask è più limitato. Prima esegue il recupero, poi invia i passaggi selezionati e la domanda a Claude o Codex per ottenere una risposta. L’agente figlio non riceve strumenti, stdin o server MCP e non può riprovare il recupero se il primo abbinamento è scarso. Anche se il recupero avviene localmente, la domanda e i passaggi recuperati vengono inviati al provider configurato per l’agente selezionato. Per questo la documentazione di ask consiglia funes recall per i contenuti che non invieresti a quel provider.

Mantieni la memoria affidabile e sotto controllo

Funes conserva i passaggi originali e la loro provenienza, ma non può stabilire se ogni workaround storico sia ancora valido.

“Gli agenti di coding diventano molto meno imprevedibili quando la memoria è un’infrastruttura noiosa: indice locale, provenienza esatta, privata per impostazione predefinita.” — @TheArtemisHunts su X

Una checklist essenziale per la produzione

SituazioneControlloAzione
Codex non recupera nullaAutorizzazione degli hook e versioneEsegui /hooks, autorizza le voci di Funes e verifica che Codex sia 0.151.0
Mancano le sessioni più vecchieAmbito e livello dell’indicizzazioneEsegui funes index --harness claude oppure --harness codex; lascia che i passaggi successivi completino gli output voluminosi
Un push remoto viene bloccatoTruffleHog e ambito del tokenInstalla TruffleHog o imposta FUNES_TRUFFLEHOG; usa un token di scrittura a granularità fine solo sulle macchine che eseguono il push
Un risultato contiene un segretoStato della pulizia localeEsegui funes scrub, poi ripeti il push; i transcript originali non vengono modificati
Una memoria remota è condivisaVisibilità e affidabilità dei contenutiMantieni il dataset privato, a meno che la condivisione pubblica non sia intenzionale, e tratta il testo recuperato da terze parti come input non affidabile per l’agente
L’ultima sessione non è su HubTempistica della pubblicazioneEsegui funes push <org>/<repo> prima di dismettere la macchina

Funes oscura le credenziali durante l’indicizzazione ed esegue una scansione TruffleHog fail-closed prima della pubblicazione. La documentazione sul push specifica che l’assenza dello scanner blocca la pubblicazione; se una credenziale attiva arriva in un dataset remoto, ruotala immediatamente, perché ripulire un commit successivo non può cancellare la cronologia del repository.

Usa token Hugging Face con il minimo privilegio necessario: ambito di scrittura sulle macchine che pubblicano e sola lettura per i membri del team o gli host che devono solo eseguire recall. Due macchine che pubblicano sulla stessa memoria remota possono inoltre entrare in conflitto; la documentazione sull’automazione non garantisce la serializzazione tra macchine diverse.

La scelta più pratica

Parti da uno di questi scenari, invece di installare tutte le integrazioni contemporaneamente:

Flusso di lavoroConfigurazione consigliataMotivo
Un solo sviluppatore che valuta la memoria persistentefunes add claude localMinore rischio di condivisione dei dati e rollback più semplice
Claude Code per la pianificazione, Codex per l’implementazione o la revisioneCollega entrambi alla stessa memoria localConserva il ragionamento tra gli agenti sullo stesso host
Agenti su più macchineCollega entrambi alla stessa memoria privata <org>/<repo>Permette alla memoria di seguire lo sviluppatore tramite il dataset Hub
Cronologia di progetto condivisa dal teamDataset privato più token di sola lettura per chi consultaSepara l’autorità di pubblicazione dall’accesso in lettura
Agente MCP non supportato direttamentefunes mcp [memory]Aggiunge l’accesso in lettura lasciando esplicita l’indicizzazione
Materiale sorgente sensibileMemoria locale più recallEvita la pubblicazione remota e l’invio una tantum al provider

FAQ sulla memoria per agenti di coding Funes

Funes è un sistema locale?

Per impostazione predefinita, Funes elabora e conserva la memoria localmente. È local-first, non automaticamente solo locale: il push, gli hook per la memoria condivisa e ask possono inviare dati fuori dal processo locale.

Funes funziona con Claude Code e Codex?

Sì. funes add supporta Claude Code e Codex, oltre a pi e Hermes. Il collegamento della memoria a Codex richiede la versione 0.151.0 e hook autorizzati.

Funes indicizza automaticamente le sessioni?

Dopo funes add, le integrazioni supportate installano l’automazione per l’indicizzazione turno per turno. Il bootstrap iniziale è soggetto a un limite, quindi le sessioni più vecchie e gli output voluminosi degli strumenti potrebbero richiedere passaggi successivi.

Come condivido la stessa memoria tra Claude Code e Codex?

Usa lo stesso argomento <org>/<repo> sia per funes add claude sia per funes add codex. Funes mantiene localmente l’indice di lavoro e pubblica il dataset condiviso alla fine delle sessioni.

Cosa succede se Funes recupera una decisione superata?

Esaminala con funes recall, approfondiscila usando il comando get generato e confrontala con il branch attuale prima di agire. Se il primo recupero non è corretto, riformula la query.

funes ask mantiene i dati sulla mia macchina?

Il recupero e il reranking sono locali, ma ask invia la domanda e i passaggi recuperati al provider Claude o Codex configurato. Per le prove sensibili, usa recall.

Posso rimuovere Funes senza eliminare la memoria?

Sì. funes remove claude, funes remove codex, funes remove pi e funes remove hermes rimuovono il collegamento all’integrazione, conservando la memoria indicizzata e i transcript originali.

>_Directory modelli AIReiter

Accesso API rapido ai modelli collegati a questa guida

Claude Opus 5

Chat

Un modello Claude premium per ragionamenti complessi, programmazione e lavoro professionale su contesti lunghi.

AnthropicCrea API Key >

Claude Fable 5

Chat

Un modello Claude premium per il ragionamento profondo e il lavoro complesso su contenuti lunghi.

AnthropicCrea API Key >

Claude Fable 5.1

Chat

Mythos-class model for long-horizon coding, research, and knowledge work.

AnthropicCrea API Key >

Claude Opus 4.8

Chat

Un modello Claude ad alte prestazioni per ragionamenti impegnativi e lavoro professionale.

AnthropicCrea API Key >

Claude Sonnet 5

Chat

Un modello Claude equilibrato per ragionamento avanzato, coding e lavoro quotidiano.

AnthropicCrea API Key >

Post recenti

Recensione dell’API GPT-6 Astra (2026): pensata per gli agenti, non per il semplice drop-in

2026-09-07

Kling API: guida all'integrazione ufficiale e tramite aggregatori (2026)

2026-09-07

Chiave API Suno: come ottenerla e quanto costa (2026)

2026-09-07

Recensione di GPT-6 Astra: i prezzi API da $10/$50 valgono la spesa?

2026-09-06
AIREITER

Domande? Contattaci a
[email protected]

新速率有限公司NEWRATE LIMITED香港九龍花園街 2-16 號好景商業中心 2304 室Room 2304, Haojing Commercial Center, 2-16 Garden Street, Kowloon, Hong Kong

LLM

GPT-6 AstraGemini 3.8 FlashClaude Fable 5.1GLM-5.3 FlashGemini 3.6 Flash

Video IA

Gemini Omni 1.1 Flash ExtMiniMax H3Kling 3.0 Motion ControlKling 3.0 TurboKling 3.0

Immagine IA

Grok Imagine Image 2.0Midjourney V8.1Midjourney V7Z-Image TurboKrea 2 Turbo

Blog

Vedi Tutto →

Azienda

Informativa sulla privacyTermini di servizioPolitica di rimborso

© 2026 AIReiter. Tutti i diritti riservati.