Agent, Skill, Flow, Team e Store hanno identità e cicli di vita distinti.
Tech
Piattaforma IA cloud-native. Su .NET aziendale, dal primo giorno.
Il prompt è la parte facile. Più difficili sono identità, stato, accesso, operazioni e un endpoint pubblico stabile. Prostir costruisce questi confini su .NET 10, Orleans, Aspire e Microsoft Agent Framework.
La landing statica pubblica route e metadata espliciti per ogni locale non russo supportato.
Dal runtime compilato e dalle risorse cloud alla superficie pubblica statica.
Ogni Agent pubblicato espone il proprio endpoint Streamable HTTP legato allo slug.
Il percorso
La tua idea è un prompt. La produzione sono dieci strati aziendali.
Ogni demo IA sembra uguale dentro ChatGPT. La distanza reale è tra quella demo e un cliente che continua a pagare, ed è lì che la maggior parte dei team si blocca. Quindi ecco la nostra, dal pavimento compilato fino all'URL pubblico. Dieci strati. Ognuno è la scelta noiosa e affidabile. Ognuno è un motivo per cui anche chi non scrive codice può rilasciare un prodotto vero.
01Le fondamenta
.NET 10 e C#: una base compilata e tipizzata.
Prostir usa .NET 10 e C# 14 per contratti tipizzati, I/O asincrono, dependency injection, options, telemetria, HTTP hosting, servizi in background e source generation. Il linguaggio da solo non garantisce costi, prestazioni, consumo energetico o sicurezza della supply chain: questi risultati dipendono dal carico, dalle dipendenze, dal deployment e dalle operazioni.
02Il cloud
Azure: servizi gestiti con confini di deployment espliciti.
Prostir usa Azure Container Apps, Cosmos DB Serverless, Blob Storage, Monitor, managed identity e RBAC. Azure pubblica documenti di conformità e termini di disponibilità per i singoli servizi, ma questi non certificano automaticamente Prostir né creano un unico SLA di prodotto. Regioni e risorse sono definite dall'ambiente operativo.
03Il ponte locale
Aspire: un AppHost e wiring di integrazione.
Prostir.AppHost compone Cosmos DB, Azure Storage, Orleans, API, Gateway, WebApp, Landing e SuperAdmin per flussi locali e test di integrazione. Questo aiuta a trovare differenze di configurazione; la readiness di produzione richiede comunque validazione del deployment, monitoraggio e controlli di release.
04Il runtime distribuito
Orleans: ogni agente ha un gemello digitale.
Ecco l'unica idea che rende semplice tutto il resto. Orleans dà a ogni agente un attore virtuale. Pensalo come un gemello digitale: una copia software di una cosa reale, un agente, un cliente, che tiene la propria memoria e fa il proprio lavoro in una stanza chiusa tutta sua, senza che nessun altro la tocchi. Quando tutto è un gemello, il lavoro smette di essere sui server e diventa oggetti che si parlano tra loro. Basta descrivere chi manda quale messaggio a chi: una persona a un gemello, un gemello a un altro gemello. È tutto qui il modello. È vecchio e collaudato. Erlang ha fatto funzionare le reti telefoniche così per decenni quasi senza interruzioni. Orleans si occupa delle parti difficili, come dove vive ogni gemello e come la sua memoria viene salvata e spostata tra le macchine. Così lo scaling non è mai un fragile trucco di cache. È un gemello sicuro e isolato per ogni cosa che conta.
05Il confine MCP
ManagedCode.MCPGateway: MCP remoto che scala.
La specifica MCP descrive un protocollo. Non descrive login multi-cliente, audit, tetti di costo né limiti d'uso, che è esattamente ciò di cui un deploy reale ha bisogno. ManagedCode.MCPGateway è lo strato di bordo che Managed Code ha scritto così Prostir non deve. Si occupa del trasporto sicuro, dell'accesso per cliente, dei limiti per strumento e delle risposte d'errore pulite, tutto davanti al runtime Orleans verso cui instrada le chiamate. Un solo URL pulito e protetto guarda il mondo.
06Lo strato di conoscenza
ManagedCode.MarkdownLd.Kb: contesto delle fonti ricercabile.
ManagedCode.MarkdownLd.Kb trasforma le fonti supportate in artefatti Markdown-LD o JSON-LD e dati di grafo ricercabili. JsonSchema.Net valida gli argomenti degli strumenti MCP. Il recupero può restituire contesto collegato alle fonti quando l'indice lo supporta; qualità e citazioni dipendono comunque dalle fonti, dall'indicizzazione, dalla configurazione e dal modello.
07Il cervello IA
Un confine applicativo per i modelli configurati.
Microsoft.Extensions.AI fornisce IChatClient e Microsoft Agent Framework esegue Agents prompt e dichiarativi. Le route correnti usano Azure OpenAI, provider OpenAI-compatible o connessioni del creator. Disponibilità e cambio di modello dipendono da configurazione, capacità compatibili, credenziali e policy di prodotto.
08Il loop di sviluppo
Sviluppo assistito da agenti con regole visibili.
Prostir usa regole AGENTS.md, vertical slice, code review, controlli mirati, test di integrazione e gate di release. I coding agent aiutano con ricerca, implementazione e revisione, ma non sostituiscono ownership, giudizio umano o verifica.
Claude CodeOpenAI Codex09Il bordo prodotto
Blazor, Stripe and Rozetka Pay, Stateless, Jint: la superficie verso il creator.
Il creator non vede mai il gateway. Vede un workspace Blazor. L'operatore non vede mai la mappa dei grain. Vede una console in Blazor Server. Stateless dà dei binari a una conversazione. L'agente è sempre in qualche stato, e lo stato decide cosa può succedere dopo. Mettila in uno stato «raccogli i dettagli» e non salterà a «dai la risposta» finché i dettagli non ci sono, proprio come non manderesti un preventivo prima di aver sentito cosa serve al cliente. Jint esegue piccoli frammenti di JavaScript in una sandbox quando uno strumento ha bisogno di un numero esatto. Stripe and Rozetka Pay integration trasforma l'accesso a pagamento in permessi veri, con webhook, checkout e limiti d'uso. Questo strato di prodotto senza gloria è ciò che rende l'IA usabile, e vendibile.
10La parte statica
Landing Astro con metadata di discovery espliciti.
La pagina viene generata come HTML statico Astro. Canonical link, hreflang, dati strutturati, sitemap, IndexNow e llms.txt descrivono le route pubbliche previste. I controlli locali coprono HTML, crawlability, accessibilità e template Lighthouse; i motori di ricerca decidono crawl, indicizzazione e ranking.
Il risultato
Un endpoint MCP ospitato, osservabile e vendibile per ogni agente.
Gli strati si incontrano in un URL MCP legato allo slug di ogni Agent pubblicato. I client supportati possono collegarsi all'endpoint Streamable HTTP; accesso, fatturazione, conoscenza, strumenti, stato, memoria, audit e limiti restano capacità esplicite abilitate da configurazione ed entitlement.
Perché .NET
Tre stack validi, una scelta Prostir documentata.
Node.js, Python e .NET possono ospitare server MCP. La tabella descrive le scelte implementative di Prostir, non una classifica universale di prestazioni, costo, energia o sicurezza.
| Capacità | Node.js / Express | Python / FastAPI | Prostir (.NET 10) |
|---|---|---|---|
| Runtime HTTP | Node.js runtime | Python ASGI runtime | ASP.NET Core 10 |
| Stato distribuito per identità | Choose a state framework | Choose a state framework | Orleans 10.2.2 virtual actors |
| Dependency injection, options e telemetria | Framework or library choice | Framework or library choice | Microsoft.Extensions.* |
| Astrazione IA | Provider libraries or abstraction | Provider libraries or abstraction | Microsoft.Extensions.AI + Agent Framework 1.15 |
| SDK MCP | Official MCP TypeScript SDK | Official MCP Python SDK | Official MCP C# SDK 1.4.1 |
| Validazione degli schema degli strumenti | Library-selected validation | Library-selected validation | JsonSchema.Net 9.3 |
| Modello dei contratti | TypeScript contracts | Python typing tools | C# 14 + source generation |
| Composizione locale | Local process tooling | Local process tooling | dotnet watch + Aspire AppHost |
Le colonne Node.js e Python indicano scelte comuni, non limiti. La colonna Prostir è verificata nei package e project file correnti.
Perché Azure
Stesso backend MCP. Costruito per il cloud su cui gira.
Non è un listino, è una questione di adattamento. Ecco ciò di cui un backend MCP a pagamento e multi-cliente ha davvero bisogno, e dove ognuna di queste cose si colloca meglio su Azure. AWS è eccellente. Questo è semplicemente dove il prodotto si colloca.
| Cosa conta | Su AWS | Prostir su Azure |
|---|---|---|
| Evidenza di controlli e conformità | Service-specific controls and certifications | Azure service controls; Prostir deployment assessed separately |
| Termini di disponibilità | Per-service and per-region terms | No blanket Prostir SLA is claimed here |
| Collocazione regionale | Region configured per workload | Operator-provisioned regional resources |
| Rete e ingress | Optional global networking services | Configured Gateway and static-site routing |
| Route dei provider di modelli | Bedrock and partner model routes | Azure OpenAI, OpenAI-compatible, and creator BYOK routes |
| Accesso cliente | Cognito or custom identity | Prostir access and OAuth policy above the hosting layer |
| Runtime applicativo | Runtime selected by the team | .NET, Orleans, Aspire, and Managed Code libraries |
| Hosting della landing statica | S3 + CloudFront or Amplify | Azure Static Web Apps for this landing |
I cloud provider documentano le capacità dei propri servizi. Certificazione, SLA, regioni e controlli operativi di Prostir vanno verificati separatamente per l'ambiente effettivo.
Open source
L'open source che pubblichiamo, l'open source che usiamo.
Prostir è costruito da Managed Code sopra open source di Microsoft e della community. Ogni pacchetto qui sotto è reale, preso dai file del nostro progetto, non una lista dei desideri da marketing.
Pubblicato da Managed Code
Managed Code non è solo la firma nel footer. Il gateway MCP, la pipeline di conoscenza, lo storage e le integrazioni Orleans sotto la tuo agente pubblicato sono open source Managed Code che manteniamo e rilasciamo.
- Managed CodeIl team dietro Prostir. Apriamo le primitive backend che usiamo per primi.
- ManagedCode on GitHubMCPGateway, MarkdownLd.Kb, Storage, Communication, estensioni Orleans e altro.
- ManagedCode.MCPGatewayGateway MCP remoto con OAuth, multi-cliente, audit e quote per strumento.
- ManagedCode.MarkdownLd.KbPipeline di conoscenza Markdown-LD / JSON-LD con ricerca a grafo.
- ManagedCode.Storage.AzureAstrazione di storage per file, memoria e artefatti di runtime su Azure Blob.
- ManagedCode.CommunicationContratti Result, Command e CollectionResult sui confini API e Orleans.
La base .NET
Tutto quello che Microsoft ha portato in GA da .NET 6 in poi converge in .NET 10 e Aspire. È la tubatura noiosa e affidabile sotto ogni pagina di Prostir.
- .NET 10Runtime compilato, C# 14 e generatori di codice.
- ASP.NET Core 10HTTP, auth, OpenAPI, SignalR, JsonPatch, hosted service.
- AspireOrchestrazione AppHost, default di servizio, risorse di deploy.
- Microsoft Orleans 10Runtime ad attori virtuali per .NET distribuito: grain, persistenza, placement, stateless workers e telemetria dashboard.
- EF Core 10 (Cosmos)Persistenza tipizzata e modello di query su Azure Cosmos DB.
- MudBlazorComponenti Material Design per il workspace del creator.
IA, MCP e le librerie sopra
Prostir usa Microsoft.Extensions.AI come confine chat e Microsoft Agent Framework 1.15 per eseguire Agents. Il runtime usa anche l'SDK MCP C# 1.4.1, Jint, Stateless e integrazioni Stripe e Rozetka Pay per i percorsi supportati.
- Microsoft.Extensions.AIUna sola interfaccia per chat, embedding, chiamate a strumenti e telemetria.
- Microsoft Agent FrameworkMicrosoft Agent Framework 1.15 per Agents prompt e dichiarativi.
- Model Context Protocol C# SDKL'SDK ufficiale in C# per server e client MCP.
- JintUn motore JavaScript dentro .NET. Esegue gli script degli strumenti che scrive il creator.
- StatelessMacchine a stati che decidono cosa l'agente può fare dopo.
- Stripe and Rozetka Pay integrationIl client Stripe and Rozetka Pay per accesso a pagamento, checkout e webhook.
Come è costruito e pubblicato questo sito
Prostir usa sviluppo assistito da agenti insieme a regole del repository, code review, controlli automatizzati e ownership umano. AGENTS.md rende visibile il contratto di delivery e Astro genera la pagina statica localizzata.
- Agent-assisted developmentAGENTS.md e i test di integrazione rendono prevedibile il loop di sviluppo assistito da agenti.
- Repository delivery rulesLo sviluppo assistito da agenti segue le stesse regole di repository e revisione delle altre modifiche.
- AstroLe regole di delivery descrivono ownership, verifica e confini di release.
FAQ tech
Le domande che i team fanno prima di costruire su questo stack.
Queste risposte collegano lo stack a decisioni vere di produzione: Orleans, Aspire, C#, MCP, fatturazione, accesso, conoscenza e visibilità operativa.
Che lavoro reale fa Orleans in Prostir?Orleans gestisce identità di runtime che vivono a lungo: agenti, sessioni, clienti, access grant, conversazioni di canale, wallet hold e workflow run. Ognuna ha un id stabile, stato e comportamento, invece di nascondere stato in un singleton, una cache o un processo in background.Leggi
Quando Orleans è meglio di una coda più una API CRUD?Quando hai molte entità piccole e quasi indipendenti che hanno bisogno di request-response, flussi start-monitor-complete o stato per identità. Microsoft cita user profiles, purchase orders, sessions, stocks e social pub/sub; Prostir applica lo stesso pattern ad agenti, sessioni cliente e workflow run.Leggi
Cos'è un grain in termini di prodotto?Un grain è un attore virtuale: un oggetto logico con identità, comportamento e stato persistente opzionale. In Prostir può essere un agente pubblicato, una conversazione cliente, un access grant o una workflow run.Leggi
Come aiuta Orleans con l'isolamento dei clienti?Lo stato è indicizzato per owner, agent, customer o run identity, quindi il lavoro finisce in grain isolati e non in memoria di processo condivisa. Una sessione rotta non diventa stato mutabile globale per tutti gli altri tenant.Leggi
Quali sono i rischi principali di Orleans?I rischi sono grain troppo chiacchieroni, un coordinatore collo di bottiglia, chiamate sincrone bloccanti, messaggi enormi e stato condiviso nascosto. Prostir li tiene visibili con ownership verticale, chiamate async, stateless worker per fan-out e test di integrazione sul percorso reale Gateway/API/Orleans.Leggi
Cosa aggiunge Aspire rispetto a Docker Compose?Aspire dà alla soluzione .NET un AppHost che conosce progetti, dipendenze, service discovery, configurazione, health, telemetria e risorse cloud. Non è solo avviare processi; è il grafo delle risorse per locale, CI e Azure.Leggi
Come usa Prostir Aspire nei test?L'AppHost avvia le risorse richieste dai test di integrazione e browser, tra cui Cosmos DB, Azure Storage, Orleans, API, Gateway, Landing, WebApp e SuperAdmin. Questo esercita gli stessi confini di servizio; la produzione mantiene configurazione e controlli di release specifici del deployment.Leggi
Perché il runtime è in C# e .NET?Il runtime richiede contratti forti, async IO, dependency injection, options, telemetria, HTTP hosting, background worker, source generation e deployment prevedibile. .NET offre tutto questo come infrastruttura first-party, non come pacchetti sparsi.Leggi
.NET lega Prostir a un solo provider IA?No. Microsoft.Extensions.AI e `IChatClient` offrono un confine stabile per chat e tool. Il modello concreto arriva da una connessione Azure OpenAI, OpenAI-compatible o del creator che rispetta il contratto runtime.Leggi
Cosa rende difficile MCP in produzione?Il protocollo è solo l'ingresso. Un endpoint MCP remoto e a pagamento ha bisogno anche di OAuth, access grant, tenant check, tool schema, rate limit, quote, billing, audit trail, errori affidabili e un hot path che non legga tutto il database a ogni request.Leggi
Dove entra ManagedCode.MCPGateway?ManagedCode.MCPGateway è il bordo di protocollo davanti al runtime Orleans. Espone l'endpoint MCP remoto, instrada tool call, applica confini visibili per i tool e tiene il protocollo fuori dall'API di stato prodotto.Leggi
Come l'accesso pagato diventa permesso di runtime?Checkout e webhook dei provider del venditore creano o revocano access grant. Gateway li controlla prima delle chiamate MCP protette, quindi lo stato del pagamento diventa un permesso di runtime, non un foglio di calcolo.Leggi
Come la knowledge layer evita il prompt stuffing?I file diventano artefatti Markdown-LD / JSON-LD e dati di grafo ricercabili. Il runtime recupera contesto limitato e collegato alle fonti quando l'indice lo supporta; la qualità dipende da fonti, indicizzazione, configurazione e modello.Leggi
Quali casi reali stanno bene su questo stack?Vanno bene agenti di conoscenza a pagamento, copiloti supporto con memoria cliente, process agent con state machine, agenti di canale per Telegram o web widget, skill passport vendibili e workflow che richiedono progresso, retry e audit.Leggi
Quando questo stack è troppo?Se ti serve solo un sito statico, una demo di prompt o un chatbot privato senza auth, tool, billing, state o customer memory, scegli qualcosa di più semplice. Prostir serve quando l'agente diventa un prodotto ospitato su cui altri fanno affidamento.Leggi
Prostir funziona tramite API o MCP?Per usare un Agent in Claude, ChatGPT e altri client compatibili, il percorso è il suo endpoint MCP remoto. Prostir usa anche API e webhooks per gestione web, pagamenti e integrazioni approvate. La piattaforma è ospitata su .NET e Azure; collegare un CRM, un database o un sistema privato dipende dal piano e può richiedere un ambito personalizzato.Leggi
Tech
Collega la tecnologia a un percorso di prodotto concreto.
Guide ed esempi mostrano dove contano conoscenza, strumenti, stato, memoria, fatturazione, accesso, quote e visibilità operativa. I casi cliente verificati restano una categoria separata.