Agent, Skill, Flow, Company en Store hebben elk een eigen identiteit en levenscyclus.
Techniek
Een cloud-native AI-platform, vanaf het begin gebouwd op zakelijke .NET 10-technologie.
De prompt is het eenvoudige deel. Identiteit, state, toegang, beheer en een stabiel openbaar endpoint vragen meer. Prostir bouwt die grenzen met .NET 10, Orleans, Aspire en Microsoft Agent Framework.
De statische landing publiceert aparte routes en metadata voor elke ondersteunde taal.
Van de gecompileerde runtime en cloudresources tot de openbare statische site.
Elke gepubliceerde Agent krijgt een eigen Streamable HTTP-endpoint dat aan de slug is gekoppeld.
Van idee naar beheer
Je idee kan beginnen met één prompt. Een product vraagt om tien duidelijke lagen.
Een AI-demo laat zelden alles zien wat nodig is zodra anderen moeten inloggen, betalen en op de dienst vertrouwen. Dit is de route van Prostir, van gecompileerde code tot een openbare URL. Elke laag heeft een afgebakende verantwoordelijkheid.
01De basis
.NET 10 en C#: gecompileerd en sterk getypeerd.
Prostir gebruikt .NET 10 en C# voor getypeerde contracten, asynchrone I/O, dependency injection, options, telemetrie, HTTP-hosting, achtergrondservices en source generation. De taalkeuze garandeert op zichzelf geen kosten, prestaties, energiegebruik of supply-chain-veiligheid; die uitkomsten hangen af van workload, dependencies, deployment en beheer.
02De cloud
Azure: beheerde diensten met expliciete deploymentgrenzen.
Azure Container Apps, Cosmos DB Serverless, Blob Storage, Monitor, managed identity en RBAC zijn de cloudbouwstenen die Prostir gebruikt. Azure documenteert voorwaarden en controles per dienst, maar certificeert Prostir daarmee niet automatisch en creëert geen algemeen Prostir-SLA. Regio's en resources worden bepaald door de daadwerkelijke beheeromgeving. Company-gegevens en Store-queryprojecties gebruiken afzonderlijke regionale Cosmos-accounts en shardpools. Tenant- en productrechten worden expliciet gecontroleerd; een grain-sleutel geeft op zichzelf geen toegang. Eén Gateway-deployment bedient de productdomeinen. Company-beheer blijft in Prostir en MCP vereist OAuth en actief lidmaatschap.
03De lokale koppeling
Aspire: één AppHost voor integratie.
Prostir.AppHost verbindt Cosmos DB, Azure Storage, Orleans, API, Gateway, de makersinterface, Landing en SuperAdmin voor lokale en geautomatiseerde integratiestromen. Daardoor worden configuratieverschillen eerder zichtbaar; productiegereedheid vraagt nog steeds om deploymentspecifieke validatie, monitoring en releasecontroles.
04De gedistribueerde runtime
Orleans: duidelijke eigenaren van blijvende state.
Microsoft Orleans geeft Prostir identiteitsgebonden virtual actors voor Agents, sessies, access grants, workflow runs en andere langlevende state. Elke grain bezit een afgebakende verantwoordelijkheid. Orleans verzorgt activation, placement, persistentie-integraties, reminders en messaging; Prostir bepaalt authorization, productgrenzen en foutafhandeling. Orleans gebruikt Azure Tables voor toestand, clustergegevens en herinneringen en Azure Blob Storage voor duurzame taken. Productgegevens worden ook via EF Core in Cosmos DB opgeslagen. Flow is een afzonderlijk automatiseringsproduct: Orleans beheert toestand, uitvoeringen en triggers; een private uitvoeringskern voert de Flow-blokken binnen het proces uit. Declaratieve Agent Framework-workflows horen bij de Agent.
05De MCP-grens
ManagedCode.MCPGateway: remote MCP met productcontroles.
ManagedCode.MCPGateway brengt ingeschakelde lokale tools en geselecteerde tools van externe MCP-servers samen in een catalogus voor zoeken en uitvoeren. De officiële MCP C# SDK verzorgt het protocol. Prostir.Gateway voegt productroutering, OAuth, autorisatie, rechten, quota en audit toe vóór uitvoering in Orleans. Een externe verbinding levert pas tools na ontdekking en uitdrukkelijke selectie.
06De kennislaag
ManagedCode.MarkdownLd.Kb: doorzoekbare broncontext.
ManagedCode.MarkdownLd.Kb zet ondersteunde bronnen om in Markdown-LD- of JSON-LD-artefacten en doorzoekbare graafdata. ManagedCode.Storage beheert de bestandsgrens en JsonSchema.Net valideert de argumenten van MCP-tools. Retrieval kan brongebonden context leveren wanneer de index dat ondersteunt; kwaliteit en verwijzingen blijven afhankelijk van bronnen, indexering, configuratie en model.
07De AI-laag
Eén applicatiegrens voor geconfigureerde modellen.
Microsoft.Extensions.AI levert de IChatClient-grens en Microsoft Agent Framework voert promptgestuurde en declaratieve Agents uit. De huidige verbindingen gebruiken Azure OpenAI, OpenAI-compatible verbindingen of creator-owned connections. Beschikbaarheid en wisselen hangen af van configuratie, modelmogelijkheden, credentials en productbeleid.
08De ontwikkellus
Agentondersteunde ontwikkeling met zichtbare regels.
Prostir gebruikt repository-eigen AGENTS.md-regels, vertical slices, code review, gerichte controles, integratietests en release gates. Coding agents ondersteunen het werk, maar vervangen geen producteigenaarschap, menselijk oordeel of verificatie.
Claude CodeOpenAI Codex09Het productoppervlak
Blazor, betalingen, Stateless en Jint.
Makers beheren producten in Blazor WebAssembly met MudBlazor; beheerders gebruiken een Blazor Server-console. Als de maker een toestandsmachine inschakelt, controleert Stateless de ingestelde overgangen. Jint voert JavaScript-tools uit met grenzen voor instructies, geheugen, recursie en tijd en beperkte toegang tot .NET 10. Stripe.net en de HTTP-integratie van Rozetka Pay ondersteunen verkopersbetalingen, checkout en webhooks; platformabonnementen gebruiken Stripe. Beschikbare functies hangen af van de productconfiguratie en rechten.
10De statische site
Astro met expliciete discovery-metadata.
De pagina wordt gegenereerd als statische Astro-HTML. Canonical, hreflang, gestructureerde data, sitemap, IndexNow en llms.txt beschrijven de bedoelde openbare routes. Lokale controles dekken HTML, crawlability, accessibility en Lighthouse-sjablonen; zoekmachines bepalen crawl, indexering en ranking.
Het resultaat
Eén gehost en observeerbaar MCP-endpoint per gepubliceerde Agent.
De lagen komen samen in een sluggebonden MCP-URL voor elke gepubliceerde Agent. Ondersteunde clients verbinden via Streamable HTTP, terwijl toegang, betalingen, kennis, tools, state, memory, audit en limieten expliciet geconfigureerde functies blijven.
Waarom .NET 10
Drie bruikbare stacks en één gedocumenteerde keuze van Prostir.
Node.js, Python en .NET 10 kunnen allemaal MCP-servers hosten. De tabel beschrijft de implementatiekeuzes die Prostir werkelijk gebruikt, niet een universele ranglijst voor prestaties, kosten, energie of veiligheid.
| Mogelijkheid | Node.js / Express | Python / FastAPI | Prostir (.NET 10) |
|---|---|---|---|
| HTTP-runtime | Node.js runtime | Python ASGI runtime | ASP.NET Core |
| Gedistribueerde state per identiteit | Choose a state framework | Choose a state framework | Orleans virtual actors |
| Dependency injection, options en telemetrie | Framework or library choice | Framework or library choice | Microsoft.Extensions.* |
| AI-abstractie | Provider libraries or abstraction | Provider libraries or abstraction | Microsoft.Extensions.AI + Agent Framework |
| MCP SDK | Official MCP TypeScript SDK | Official MCP Python SDK | Official MCP C# SDK |
| Validatie van toolschema's | Library-selected validation | Library-selected validation | JsonSchema.Net |
| Contractmodel | TypeScript contracts | Python typing tools | C# + source generation |
| Lokale compositie | Local process tooling | Local process tooling | dotnet watch + Aspire AppHost |
De kolommen voor Node.js en Python tonen gangbare keuzes, geen beperkingen. De Prostir-kolom volgt de actuele package- en projectbestanden in de repository.
Waarom Azure
Dezelfde MCP-backend met duidelijke cloudgrenzen.
De vergelijking scheidt de mogelijkheden van de clouddienst van de configuratie en verplichtingen van een concrete Prostir-deployment.
| Wat telt | Op AWS | Prostir op Azure |
|---|---|---|
| Bewijs voor compliance en controles | Service-specific controls and certifications | Azure service controls; Prostir deployment assessed separately |
| Beschikbaarheidsvoorwaarden | Per-service and per-region terms | No blanket Prostir SLA is claimed here |
| Regionale plaatsing | Region configured per workload | Operator-provisioned regional resources |
| Netwerk en ingress | Optional global networking services | Configured Gateway and static-site routing |
| Routes naar modelproviders | Bedrock and partner model routes | Azure OpenAI, OpenAI-compatible, and creator BYOK routes |
| Klanttoegang | Cognito or custom identity | Prostir access and OAuth policy above the hosting layer |
| Applicatieruntime | Runtime selected by the company | .NET 10, Orleans, Aspire, and Managed Code libraries |
| Hosting van de statische landing | S3 + CloudFront or Amplify | Azure Static Web Apps for this landing |
Cloudproviders documenteren hun eigen diensten. Certificering, SLA, deploymentregio's en beheercontroles van Prostir moeten afzonderlijk voor de werkelijke omgeving worden geverifieerd.
Open source
De open source die we uitbrengen en gebruiken.
Managed Code bouwt Prostir op open source van Microsoft en de community. De onderstaande packages komen uit de werkelijke projectbestanden, niet uit een marketingverlanglijst.
Gebouwd door Managed Code
De MCP-gateway, kennispijplijn, storage en Orleans-integraties onder een gepubliceerde Agent zijn componenten die Managed Code onderhoudt en uitbrengt.
- Managed CodeHet company achter Prostir en de backendcomponenten die we zelf gebruiken.
- ManagedCode on GitHubMCPGateway, MarkdownLd.Kb, Storage, Communication, Orleans-extensies en meer.
- ManagedCode.MCPGatewayZoeken en uitvoeren van ingeschakelde lokale tools en geselecteerde MCP-tools.
- ManagedCode.MarkdownLd.KbKennispijplijn voor Markdown-LD en JSON-LD met graafzoeken.
- ManagedCode.Storage.AzureStorage-abstractie voor bestanden, memory en runtimeartefacten in Azure Blob.
- ManagedCode.CommunicationResult-, Command- en CollectionResult-contracten over API- en Orleans-grenzen.
- ManagedCode.Orleans.IdentityGitHub · managedcode/Orleans.Identity
- ManagedCode.Orleans.RateLimitingGitHub · managedcode/Orleans.RateLimiting
De .NET 10-basis
.NET 10, ASP.NET Core en Aspire leveren de getypeerde contracten, hosting, telemetrie en resourcecompositie die Prostir gebruikt.
- .NET 10Gecompileerde runtime, C# en source generators.
- ASP.NET CoreHTTP, auth, OpenAPI, Minimal APIs, JsonPatch en hosted services.
- AspireAppHost-orkestratie, service defaults en deploymentresources.
- Microsoft OrleansVirtual-actor-runtime met grains, persistentie, placement, stateless workers en dashboardtelemetrie.
- EF Core (Cosmos)Getypeerde persistentie en querymodel boven Azure Cosmos DB.
- MudBlazorMaterial Design-componenten voor de creator-workspace.
- C# / RoslynGitHub · dotnet/roslyn
- BlazorMicrosoft · Blazor
- AzureMicrosoft Learn · Azure
- OpenTelemetryOpenTelemetry
AI, MCP en de libraries erbovenop
Prostir gebruikt Microsoft.Extensions.AI als IChatClient-grens en Microsoft Agent Framework voor Agent-uitvoering, samen met MCP C# SDK, Jint, Stateless en ondersteunde betalingsintegraties.
- Microsoft.Extensions.AIEén interface voor chat, embeddings, tool calls en telemetrie.
- Microsoft Agent FrameworkMicrosoft Agent Framework voor promptgestuurde en declaratieve Agents.
- Model Context Protocol C# SDKDe officiële C# SDK voor MCP-servers en -clients.
- JintEen JavaScript-engine in .NET 10 voor begrensde toolscripts van creators.
- StatelessState machines die de toegestane volgende stap van een Agent modelleren.
- Stripe.netStripe.net — Clients voor betaalde toegang, checkout en webhooks.
- Rozetka Pay APIRozetka Pay — Clients voor betaalde toegang, checkout en webhooks.
- Elsa WorkflowsGitHub · elsa-workflows/elsa-core
- JsonSchema.NetGitHub · json-everything/json-everything
- PdfPigGitHub · UglyToad/PdfPig
- Open XML SDKGitHub · dotnet/Open-XML-SDK
Zo wordt deze site gebouwd en uitgebracht
Prostir combineert agentondersteunde ontwikkeling met repositoryregels, code review, automatische controles en menselijk eigenaarschap. AGENTS.md beschrijft het leveringscontract en Astro bouwt de statische gelokaliseerde pagina.
- Agent-assisted developmentAGENTS.md en integratietests maken de ontwikkellus voorspelbaar.
- Repository delivery rulesAgentondersteunde ontwikkeling volgt dezelfde repository- en reviewregels als andere wijzigingen.
- AstroDe statische gelokaliseerde landing voor zoek- en antwoordmachines.
- TUnitUnit-, integratie- en browsertests op Microsoft.Testing.Platform met Aspire en Playwright.
- Microsoft.Testing.PlatformGitHub · microsoft/testfx
- PlaywrightGitHub · microsoft/playwright-dotnet
- LighthouseGitHub · GoogleChrome/lighthouse
- IndexNowIndexNow
- llms.txtllms.txt
- JSON-LDJSON-LD
Technische FAQ
Vragen die companies stellen voordat ze op deze stack bouwen.
Deze antwoorden koppelen de stack aan echte productiekeuzes: Orleans, Aspire, C#, MCP, betalingen, toegang, kennis en zichtbaarheid voor operators.
Welk echt werk doet Orleans in Prostir?Orleans beheert langlevende runtime-identiteiten: agents, sessies, klanten, access grants, kanaalgesprekken, wallet holds en workflow runs. Elk onderdeel heeft een stabiel id, state en gedrag, in plaats van state te verstoppen in een singleton, cache of achtergrondproces.Lees
Wanneer is Orleans beter dan een queue plus CRUD API?Als je veel kleine, grotendeels onafhankelijke entiteiten hebt die request-response, start-monitor-complete-flows of state per identiteit nodig hebben. Microsoft noemt user profiles, purchase orders, sessions, stocks en social pub/sub; Prostir past hetzelfde patroon toe op agents, klantsessies en workflow runs.Lees
Wat is een grain in producttaal?Een grain is een virtual actor: een logisch object met identiteit, gedrag en optioneel persistent state. In Prostir kan dat een gepubliceerde agent, een klantgesprek, een access grant of een workflow run zijn.Lees
Hoe helpt Orleans met tenant-isolatie?Company-gegevens en Store-queryprojecties gebruiken afzonderlijke regionale Cosmos-accounts en shardpools. Tenant- en productrechten worden expliciet gecontroleerd; een grain-sleutel geeft op zichzelf geen toegang. Eén Gateway-deployment bedient de productdomeinen. Company-beheer blijft in Prostir en MCP vereist OAuth en actief lidmaatschap.Lees
Wat zijn de grootste Orleans-risico's?De risico's zijn te praatgrage grains, één bottleneck-coördinator, blokkerende synchrone calls, te grote messages en verborgen shared state. Prostir houdt dat zichtbaar met verticaal ownership, async grain calls, stateless workers voor fan-out en integratietests via het echte Gateway/API/Orleans-pad.Lees
Wat voegt Aspire toe boven Docker Compose?Aspire verbindt projecten, afhankelijkheden, servicedetectie, gezondheidscontroles en telemetrie voor lokale ontwikkeling en integratietests. Aspire.Hosting.Blazor bedient de lokale WebAssembly-app. Bicep en Azure DevOps-pipelines beheren productieresources en releases.Lees
Hoe gebruikt Prostir Aspire in tests?De AppHost start de resources die integratie- en browsertests nodig hebben, waaronder Cosmos DB, Azure Storage, Orleans, API, Gateway, Landing, de makersinterface en SuperAdmin. Dit test dezelfde servicegrenzen; productie behoudt deploymentspecifieke configuratie en releasecontroles.Lees
Waarom is de runtime gebouwd in C# en .NET 10?De runtime heeft sterke contracten, async IO, dependency injection, options, telemetry, HTTP hosting, background workers, source generation en voorspelbare deployment nodig. .NET 10 levert dat als first-party infrastructure, niet als losse pakketten.Lees
Vergrendelt .NET 10 Prostir op één AI-provider?Nee. Microsoft.Extensions.AI en `IChatClient` geven een stabiele chat/tool-grens. Het model komt uit een geconfigureerde Azure OpenAI-, OpenAI-compatible- of creatorverbinding die aan het runtimecontract voldoet.Lees
Wat maakt MCP moeilijk in productie?Het protocol is alleen de ingang. Een betaalde remote MCP endpoint heeft ook OAuth, access grants, tenant checks, tool schemas, rate limits, quotas, billing, audit trails, betrouwbare errors en een hot path nodig die niet bij elke request de hele productdatabase leest.Lees
Waar past ManagedCode.MCPGateway?ManagedCode.MCPGateway brengt ingeschakelde lokale tools en geselecteerde tools van externe MCP-servers samen in een catalogus voor zoeken en uitvoeren. De officiële MCP C# SDK verzorgt het protocol. Prostir.Gateway voegt productroutering, OAuth, autorisatie, rechten, quota en audit toe vóór uitvoering in Orleans. Een externe verbinding levert pas tools na ontdekking en uitdrukkelijke selectie.Lees
Hoe wordt betaalde toegang een runtime permission?Checkout en webhooks van providers van de verkoper maken access grants aan of trekken ze in. Gateway controleert die grants vóór beschermde MCP calls, zodat payment state een runtime permission wordt en geen spreadsheet.Lees
Hoe voorkomt de knowledge layer prompt stuffing?Bestanden worden Markdown-LD / JSON-LD knowledge artifacts en doorzoekbare graph data. De runtime haalt begrensde, brongekoppelde context op wanneer de index dat ondersteunt; kwaliteit hangt af van bronnen, indexering, configuratie en model.Lees
Welke echte use cases passen bij deze stack?Goede matches zijn paid knowledge agents, support copilots met customer memory, process agents met state machines, channel agents voor Telegram of web widgets, verkoopbare skill passports en workflows die progress, retries en audit nodig hebben.Lees
Wanneer is deze stack te zwaar?Als je alleen een statische site, een eenmalige prompt demo of een privéchatbot zonder auth, tools, billing, state of customer memory nodig hebt, kies iets eenvoudigers. Prostir is bedoeld voor het moment waarop de agent een hosted product wordt waar anderen op rekenen.Lees
Werkt Prostir via API of MCP?Voor gebruik van een Agent in Claude, ChatGPT en andere compatibele AI-clients loopt de levering via het remote MCP-endpoint. Prostir gebruikt ook APIs en webhooks voor webbeheer, betalingen en goedgekeurde integraties. Het platform draait in de cloud op .NET en Azure; een CRM-, database- of privésysteemkoppeling hangt af van het plan en kan maatwerk vereisen.Lees
Techniek
Koppel de techniek aan een concreet productpad.
De gidsen en voorbeelden laten zien hoe kennis, tools, state, memory, betalingen, toegang, quota en beheer samenkomen. Geverifieerde klantcases blijven een afzonderlijke bewijscategorie.