Agent, Skill, Flow, Team en Store hebben elk een eigen identiteit en levenscyclus.
Techniek
Een cloud-native AI-platform, vanaf het begin gebouwd op zakelijke .NET-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# 14 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.
03De lokale koppeling
Aspire: één AppHost voor integratie.
Prostir.AppHost verbindt Cosmos DB, Azure Storage, Orleans, API, Gateway, WebApp, 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.
05De MCP-grens
ManagedCode.MCPGateway: remote MCP met productcontroles.
MCP beschrijft het protocol, maar niet aanmelding voor meerdere tenants, audit, kostenlimieten of rate limits. ManagedCode.MCPGateway staat voor de Orleans-runtime en regelt transport, toegang per klant, grenzen per tool en duidelijke foutmeldingen voor het gepubliceerde endpoint.
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.
Creators werken in een Blazor-workspace en beheerders in een Blazor Server-console. Stateless modelleert gesprekstoestanden, Jint voert begrensde JavaScript-tools uit in een sandbox en Stripe- en Rozetka Pay-integraties koppelen checkout en webhooks aan toegangsbeslissingen. Elke functie blijft afhankelijk van configuratie 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
Drie bruikbare stacks en één gedocumenteerde keuze van Prostir.
Node.js, Python en .NET 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 10 |
| Gedistribueerde state per identiteit | Choose a state framework | Choose a state framework | Orleans 10.2.2 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 1.15 |
| MCP SDK | Official MCP TypeScript SDK | Official MCP Python SDK | Official MCP C# SDK 1.4.1 |
| Validatie van toolschema's | Library-selected validation | Library-selected validation | JsonSchema.Net 9.3 |
| Contractmodel | TypeScript contracts | Python typing tools | C# 14 + 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 team | .NET, 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 team achter Prostir en de backendcomponenten die we zelf gebruiken.
- ManagedCode on GitHubMCPGateway, MarkdownLd.Kb, Storage, Communication, Orleans-extensies en meer.
- ManagedCode.MCPGatewayGateway voor remote MCP met OAuth, meerdere tenants, audit en quota per tool.
- 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.
De .NET-basis
.NET 10, ASP.NET Core en Aspire leveren de getypeerde contracten, hosting, telemetrie en resourcecompositie die Prostir gebruikt.
- .NET 10Gecompileerde runtime, C# 14 en source generators.
- ASP.NET Core 10HTTP, auth, OpenAPI, Minimal APIs, JsonPatch en hosted services.
- AspireAppHost-orkestratie, service defaults en deploymentresources.
- Microsoft Orleans 10Virtual-actor-runtime met grains, persistentie, placement, stateless workers en dashboardtelemetrie.
- EF Core 10 (Cosmos)Getypeerde persistentie en querymodel boven Azure Cosmos DB.
- MudBlazorMaterial Design-componenten voor de creator-workspace.
AI, MCP en de libraries erbovenop
Prostir gebruikt Microsoft.Extensions.AI als IChatClient-grens en Microsoft Agent Framework 1.15 voor Agent-uitvoering, samen met MCP C# SDK 1.4.1, Jint, Stateless en ondersteunde betalingsintegraties.
- Microsoft.Extensions.AIEén interface voor chat, embeddings, tool calls en telemetrie.
- Microsoft Agent FrameworkMicrosoft Agent Framework 1.15 voor promptgestuurde en declaratieve Agents.
- Model Context Protocol C# SDKDe officiële C# SDK voor MCP-servers en -clients.
- JintEen JavaScript-engine in .NET voor begrensde toolscripts van creators.
- StatelessState machines die de toegestane volgende stap van een Agent modelleren.
- Stripe and Rozetka Pay integrationClients voor betaalde toegang, checkout en webhooks.
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.
Technische FAQ
Vragen die teams 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?State wordt gesleuteld op owner, agent, customer of run identity, waardoor werk in geïsoleerde grains terechtkomt en niet in gedeeld procesgeheugen. Een falende sessie wordt geen globale mutable state voor andere tenants.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 geeft de .NET-oplossing één AppHost die projecten, dependencies, service discovery, configuratie, health, telemetry en cloud resources kent. Het is niet alleen processen starten; het is de resource graph voor lokaal werk, CI en Azure.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, WebApp en SuperAdmin. Dit test dezelfde servicegrenzen; productie behoudt deploymentspecifieke configuratie en releasecontroles.Lees
Waarom is de runtime gebouwd in C# en .NET?De runtime heeft sterke contracten, async IO, dependency injection, options, telemetry, HTTP hosting, background workers, source generation en voorspelbare deployment nodig. .NET levert dat als first-party infrastructure, niet als losse pakketten.Lees
Vergrendelt .NET 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 is de protocol edge voor de Orleans runtime. Het publiceert de remote MCP endpoint, routeert tool calls, handhaaft zichtbare tool boundaries en houdt protocol concerns buiten de product-state API.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.