Generatore open source di tenant OlonJS v1.5 con pipeline a 2 agenti, sandbox E2B e supporto multi-provider per Anthropic, OpenAI e Gemini.
- Installa le dipendenze:
npm install - Copia l'ambiente:
cp .env.example .env.local - Configura almeno:
E2B_API_KEY- una tra
ANTHROPIC_API_KEY,OPENAI_API_KEY,GEMINI_API_KEY
- Avvia il progetto:
npm run dev - Apri http://localhost:3000
| Command | Description |
|---|---|
npm run dev |
Avvia Next.js in sviluppo |
npm run build |
Build di produzione |
npm run start |
Avvia il build di produzione |
npm run typecheck |
Controllo TypeScript senza emit |
OlonAgent esegue un solo lavoro end-to-end: trasformare brand input + contenuti in un tenant OlonJS ricostruibile e verificato.
La pipeline attuale ha 2 agenti:
- Agente 1: genera
src_tenant.shtramite provider/modello selezionato - Agente 2: esegue lo script in E2B, prova la build e corregge gli errori TypeScript con provider/modello selezionato
L'utente puo:
- configurare le chiavi via
.env.local - scegliere provider e modello separatamente per i due agenti
- Anthropic
- OpenAI
- Gemini
Il supporto non e generico per provider arbitrari: questi 3 provider sono implementati come adapter first-class.
Percorsi principali:
- src/app/api/llm/route.ts: endpoint generico per streaming e discovery provider
- src/lib/llm/index.ts: registry e dispatch provider
- src/app/api/sandbox/route.ts: sandbox E2B + fix loop TypeScript
- src/hooks/usePipeline.ts: stato globale e orchestrazione pipeline
- src/components/LlmSetupPanel.tsx: configurazione provider e modelli
Documentazione estesa:
- docs/specs/multi-provider-open-source.md
- docs/decisions/ADR-001-multi-provider-llm-architecture.md
- docs/decisions/ADR-002-tailwind-shadcn-migration.md
- docs/decisions/ADR-003-tenant-core-boundary-realignment.md
Chiavi supportate:
ANTHROPIC_API_KEYOPENAI_API_KEYGEMINI_API_KEYE2B_API_KEYE2B_TEMPLATE_IDopzionale
Se E2B_TEMPLATE_ID non e configurato, viene usato il template base di E2B.
Il file e2b.Dockerfile prepara un template con dipendenze OlonJS preinstallate per ridurre il tempo del loop di build.
Esempio:
npm install -g e2b
e2b template build --dockerfile e2b.Dockerfile --name olon-base- Il codice vivo e la source of truth principale
- Le decisioni architetturali importanti vengono fissate in
docs/decisions/ - Le specifiche di prodotto e comportamento vengono mantenute in
docs/specs/ - Per cambiamenti che toccano provider, pipeline o UX pubblica, aggiorna README + spec + ADR se serve