Filippo D'Errigo Ideas, notes & experiments
Codice Sorgente Live

Pa Router

Pa Router
Codice sorgente github.com/fderrigo/PA-Router

Un punto di accesso locale per usare più servizi AI, con regole su dati, strumenti, sessioni e memoria.

PA Router è un'applicazione da terminale per Windows e Linux. Riceve la tua richiesta, prepara il contesto, applica i controlli di privacy e le policy configurate e sceglie fra i servizi ammessi.

Puoi lavorare con modelli Ollama, API e programmi ufficiali di agenti senza ricostruire ogni volta l'intero contesto di lavoro.

Il codice PA Router è source-available sotto licenza PolyForm Noncommercial 1.0.0: sono consentiti uso, studio, modifica e redistribuzione nei limiti previsti dalla licenza. Per gli usi commerciali non coperti è necessario un accordo scritto separato con l'autore.

Licenza completa · Licenze delle dipendenze

Beta sperimentale

Il recupero della memoria non ha ancora raggiunto gli obiettivi di qualità. Può omettere ricordi utili o includere informazioni non pertinenti. È quindi necessario verificare i fatti recuperati e gli output dei modelli.


Cosa fa per te

1. Riunisce i servizi AI in un solo flusso

Usi un'unica CLI e una sessione di lavoro per inviare richieste ai servizi configurati.

Il registro descrive le capacità dei servizi, la collocazione dell'inferenza e i controlli disponibili. Il router sceglie fra quelli consentiti dalle tue regole; nel terminale puoi visualizzare i servizi disponibili e orientare la selezione.

Integrazioni presenti:

  • Ollama — modelli locali.

  • API compatibili OpenAI.

  • API Anthropic.

  • Claude Code CLI.

  • Codex CLI.

  • OpenCode CLI.

La presenza di un'integrazione nel codice non significa che sia già abilitata o certificata per ogni ambiente. La disponibilità effettiva dipende dalla configurazione, dai probe, dalla compatibilità osservata e dalle policy.

Le CLI degli agenti utilizzano i rispettivi programmi, account e controlli nativi.

L'uso personale tramite subscription resta distinto dall'accesso API chatbot. Il profilo chatbot iniziale distribuito utilizza Ollama locale, mentre il canale API esclude agenti e servizi con credenziali subscription.

2. Controlla dati e permessi prima dell'invio

La richiesta e il relativo contesto, inclusi eventuali ricordi e skill, attraversano l'analisi di privacy prima della scelta del servizio.

Le policy stabiliscono quali dati e capacità possono raggiungere determinate destinazioni. Un divieto non può essere aggirato scegliendo un servizio più veloce o economico.

Riconoscimento dei dati personali con RizzoPII

Per individuare anche dati che potrebbero sfuggire alle regole basate su formati, PA Router supporta facoltativamente il modello locale RizzoPII (rizzo-pii-0.3B), sviluppato da Simone Rizzo / Rizzo AI Academy.

Il rilevatore identifica potenziali entità quali:

  • Nomi e cognomi.

  • Indirizzi.

  • Documenti.

  • Identificativi italiani.

  • Altre informazioni potenzialmente personali.

Il modello viene eseguito localmente, nel processo del router tramite ONNX, e affianca i controlli deterministici, che rimangono necessari per credenziali e identificativi verificabili.

Il modello rileva i dati; sono le policy di PA Router a determinarne la classificazione e le destinazioni ammesse.

L'integrazione non corrisponde all'applicazione autonoma RizzoPII e non implementa il suo flusso completo di anonimizzazione reversibile.

Attivazione e funzionamento

Il modello è disabilitato per impostazione predefinita. I pesi non sono inclusi nei download e non vengono scaricati durante l'esecuzione di un turno.

Per utilizzarlo, l'operatore deve:

  1. Procurarsi i pesi dal titolare.

  2. Convertirli nel formato ONNX supportato.

  3. Installarli nella propria directory dati.

  4. Abilitare il servizio pii-detection con adapter onnx-local.

  5. Verificare la configurazione tramite pa doctor.

Quando il modello è abilitato, una scansione che non riesce a concludersi viene considerata incompleta e blocca l'invio al cloud.

Il rilevamento è comunque probabilistico: i risultati devono essere verificati prima di affidare al sistema dati reali.

Autorizzazione e audit

Ogni invio richiede un'autorizzazione valida per lo specifico payload e la registrazione dell'intenzione nell'audit.

Audit e telemetria utilizzano metadati controllati, senza includere intenzionalmente prompt e risposte grezze.

Questi meccanismi riducono il rischio, ma non rendono infallibile il riconoscimento dei dati sensibili e non sostituiscono firewall o isolamento del sistema operativo.

3. Organizza il lavoro in sessioni

PA Router permette di:

  • Creare e nominare sessioni.

  • Riprendere una sessione esistente.

  • Biforcare una sessione per esplorare percorsi differenti.

  • Archiviare le sessioni concluse.

Il router mantiene un contesto strutturato e prepara il passaggio a un servizio differente, senza simulare il trasferimento di una sessione nativa tra programmi diversi.

Persistenza e cifratura

La modalità iniziale è memory_only: i contenuti non vengono conservati come cronologia durevole.

Per mantenerli nel tempo è necessario abilitare la persistenza cifrata.

  • Windows: protezione tramite DPAPI.

  • Linux: protezione tramite passphrase, richiesta interattivamente oppure fornita con PA_ROUTER_PASSPHRASE.

4. Recupera memoria pertinente al lavoro

La memoria integrata combina ricerca lessicale e vettoriale, utilizzando embedding generati tramite un servizio Ollama configurato.

Le ricerche rispettano il progetto e la sessione prima del recupero. I risultati vengono successivamente ricontrollati prima di essere inseriti nel contesto della richiesta.

Funzionalità disponibili:

  • Consultazione della memoria.

  • Esplorazione della sequenza temporale delle osservazioni.

  • Reindicizzazione dei contenuti.

  • Eliminazione selettiva delle osservazioni tramite le funzioni di dimenticanza.

Protezione delle informazioni

Le informazioni classificate come segrete non vengono memorizzate. I dati personali o sensibili rimangono confinati alla sessione prevista dalle regole.

I contenuti persistenti e i vettori vengono cifrati, mentre l'indice lessicale opera in memoria.

Se gli embedding non sono disponibili, il comportamento è esplicito e dipende dal profilo configurato:

  • Ricerca esclusivamente lessicale.

  • Blocco del turno.

Non è previsto alcun ripiego cloud nascosto per il recupero della memoria.

Limiti attuali della beta

La memoria consente di riutilizzare il contesto, ma non ha ancora raggiunto tutti gli obiettivi di qualità.

In particolare, la versione beta non garantisce accuratezza, completezza o corretta astensione del sistema di memoria.

Il superamento di test prestazionali o la riuscita di una build non costituiscono, da soli, una dimostrazione di affidabilità semantica.

5. Riutilizza skill e pacchetti di istruzioni

PA Router consente di installare pacchetti verificati mediante manifesto e digest, ammetterli all'interno di un progetto e selezionare le skill testuali pertinenti alla richiesta.

Il contenuto delle skill viene sottoposto nuovamente ai controlli di privacy e alle policy.

Una skill non concede autonomamente permessi né accesso ai dati.

Le skill testuali rimangono distinte dai plugin e dalle integrazioni native dei singoli provider.

La compatibilità nativa non è universale e non può essere dedotta esclusivamente dal nome del pacchetto.

6. Offre automazione e un'API locale

PA Router supporta utilizzi interattivi e automatizzati.

La CLI può ricevere prompt tramite standard input e produrre risposte in formato JSON.

Un worker avviato esplicitamente permette ai client di condividere il runtime e lo store.

Il comando pa serve espone un'API autenticata, accessibile esclusivamente tramite loopback, con:

  • Token di servizio.

  • Token di sessione.

  • Gestione dell'idempotenza.

  • Eventi di stato.

Storage e backup

Lo stato applicativo è gestito tramite SQLite embedded, senza necessità di un database server.

I backup includono i dati necessari e un manifesto di integrità.

Il comando di verifica controlla la validità del backup, ma non esegue un ripristino.

Interfaccia disponibile

PA Router offre una CLI e un'interfaccia interattiva da terminale. Non è prevista una web UI nella versione attuale.

Condividi
Torna al Lab