Docker e Docker Compose
Polyant gira come container Docker. La versione minima richiesta è Docker 20+ con Docker Compose v2.
Installazione e primo agente in produzione governata in poche ore. Per chi adotta Polyant in self-host: prerequisiti Docker e Postgres 16 con pgvector, clone del repository pubblico, docker-compose up, configurazione del primo agente nell'admin panel.
Polyant gira come container Docker. La versione minima richiesta è Docker 20+ con Docker Compose v2.
Il database è cardinale (audit log, memoria persistente, configurazione delle istanze, embeddings). L'immagine ufficiale pgvector/pgvector:pg16 di Docker Hub è quella usata di default.
Per sviluppo locale e build del runtime. In produzione, il container Docker contiene già la versione corretta.
Il cliente sceglie il provider (Anthropic, OpenAI, Mistral, AWS Bedrock per modelli privati, modello open source ospitato internamente). La chiave entra nelle variabili d'ambiente del runtime cifrate AES-256-GCM.
Clone del repository pubblico.
$ git clone https://github.com/polyant-ai/polyant.git
Cloning into 'polyant'...
$ cd polyant
$ git checkout feature/oss
Switched to branch 'feature/oss'
# Configurazione variabili d'ambiente
$ cp .env.example .env
# Edita .env: ENCRYPTION_KEY, DATABASE_URL, LLM provider key
$ docker compose up -d
✓ postgres (pgvector/pgvector:pg16) · running
✓ polyant runtime · running on :3000
✓ admin panel · http://localhost:3000/admin
Le tabelle del registro audit (governance_events, pipeline_traces, ai_logs) sono create automaticamente all'avvio. L'admin panel è accessibile su localhost porta configurata.
Apri l'admin panel sul browser. Crea una nuova istanza di agente. Configura: nome dell'agente, system prompt, tool registry (quali tool l'agente può usare), canali (Telegram, Slack, WhatsApp, HTTP OpenAI-compatible), policy di governance (quale modalità per ciascun controllo built-in: block, warn, log).
Per il primo test, usa il canale HTTP OpenAI-compatible: l'agente risponde alle richieste come una OpenAI Chat Completion API standard. Il client può essere qualunque tool che parla con OpenAI (curl, Postman, libreria HTTP).
Per i canali nativi (Telegram, Slack, WhatsApp), configura le credenziali del bot rispettivo nelle variabili d'ambiente. Il canale si attiva automaticamente.
Esegui una query sul registro audit per vedere la prima decisione del runtime.
SELECT: created_at, assistant_id,
}
: phase, gate_type,
}
: action, reason
}
FROM: governance_events
}
ORDER BY: created_at DESC
}
LIMIT: 10;
} Output: la lista delle decisioni del runtime, con regola attivata, fase della pipeline, esito (allow/block/warn). Il responsabile compliance del cliente vede tutto, senza dover passare da una console proprietaria di vendor.
Per costruire agenti più articolati. Modello supervisor-as-loop, tool registry, skill markdown.
Dettaglio dei dieci controlli di governance del runtime.
Schema audit sugli articoli normativi rilevanti.
Se il cliente non vuole installare in autonomia, oppure ha vincoli di compliance specifici che richiedono setup guidato, il delivery con servizio professionale di Exelab parte dalla discovery.
Il quickstart standard (clone + docker compose + primo agente HTTP) richiede 2-4 ore per uno sviluppatore con esperienza Docker. Per configurazioni più articolate (canali nativi WhatsApp con WAHA, integrazione con sistemi gestionali del cliente), il tempo cresce coerentemente.
Il container ospita il runtime TypeScript (NestJS 11), che gestisce: ricezione dei messaggi dai canali, pipeline di governance (input + output + tool), chiamata al modello LLM scelto, esecuzione dei tool, scrittura del registro audit. Il database PostgreSQL del cliente ospita persistenza + audit.
Sì. La cartella deploy/ del repository contiene esempi di manifest Kubernetes per cluster del cliente. Per delivery custom, il team Exelab segue la procedura aziendale del cliente.