Prostir

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.

5zelfstandige productoppervlakken

Agent, Skill, Flow, Team en Store hebben elk een eigen identiteit en levenscyclus.

14ondersteunde talen

De statische landing publiceert aparte routes en metadata voor elke ondersteunde taal.

10architectuurlagen

Van de gecompileerde runtime en cloudresources tot de openbare statische site.

1MCP-endpoint per gepubliceerde Agent

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.

  1. 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.

    • net10.0
    • ASP.NET Core 10
    • C# 14
    • Source generators
    • Typed contracts
  2. 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.

    • Azure Container Apps
    • Cosmos DB Serverless
    • Azure Blob Storage
    • Azure Monitor
    • Managed identity + RBAC
  3. 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.

    • Aspire AppHost SDK
    • Aspire.Hosting.Azure.CosmosDB
    • Aspire.Hosting.Azure.Storage
    • Aspire.Hosting.Orleans
    • TUnit.Aspire
  4. 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.

    • Microsoft.Orleans.Server 10.2.2
    • ManagedCode.Orleans.Identity
    • ManagedCode.Orleans.RateLimiting
    • Cosmos persistence
    • Grain-owned state
  5. 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.

    • ManagedCode.MCPGateway 0.4.5
    • ModelContextProtocol 1.4.1
    • Streamable HTTP
    • OAuth + PKCE
    • Bounded quotas
  6. 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.

    • ManagedCode.MarkdownLd.Kb 0.2.7
    • ManagedCode.Storage.Azure
    • JsonSchema.Net 9.3
    • PdfPig + OpenXml
    • Graph-backed retrieval
  7. 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.

    • Microsoft.Extensions.AI
    • Microsoft.Agents.AI 1.15
    • Azure OpenAI + OpenAI-compatible
    • Prompt + declarative workflows
    • IChatClient middleware
  8. 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 Codex
    • AI-assisted delivery
    • AGENTS.md rules
    • Vertical slices
    • Human-reviewed changes
    • Integration test gates
  9. 09Het 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.

    • Blazor WebAssembly 10
    • MudBlazor 9.7
    • Stripe and Rozetka Pay integration + webhooks
    • Stateless state machines
    • Jint 4 sandbox
  10. 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.

    • Astro static landing
    • JSON-LD + sitemap
    • IndexNow + llms.txt
    • Local Lighthouse checks
    • Localized hreflang

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.

  • Remote MCP endpoint
  • OAuth 2.1 + entitlements
  • Per-agent quotas + audit
  • Live operator visibility

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.

MogelijkheidNode.js / ExpressPython / FastAPIProstir (.NET 10)
HTTP-runtimeNode.js runtimePython ASGI runtimeASP.NET Core 10
Gedistribueerde state per identiteitChoose a state frameworkChoose a state frameworkOrleans 10.2.2 virtual actors
Dependency injection, options en telemetrieFramework or library choiceFramework or library choiceMicrosoft.Extensions.*
AI-abstractieProvider libraries or abstractionProvider libraries or abstractionMicrosoft.Extensions.AI + Agent Framework 1.15
MCP SDKOfficial MCP TypeScript SDKOfficial MCP Python SDKOfficial MCP C# SDK 1.4.1
Validatie van toolschema'sLibrary-selected validationLibrary-selected validationJsonSchema.Net 9.3
ContractmodelTypeScript contractsPython typing toolsC# 14 + source generation
Lokale compositieLocal process toolingLocal process toolingdotnet 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 teltOp AWSProstir op Azure
Bewijs voor compliance en controlesService-specific controls and certificationsAzure service controls; Prostir deployment assessed separately
BeschikbaarheidsvoorwaardenPer-service and per-region termsNo blanket Prostir SLA is claimed here
Regionale plaatsingRegion configured per workloadOperator-provisioned regional resources
Netwerk en ingressOptional global networking servicesConfigured Gateway and static-site routing
Routes naar modelprovidersBedrock and partner model routesAzure OpenAI, OpenAI-compatible, and creator BYOK routes
KlanttoegangCognito or custom identityProstir access and OAuth policy above the hosting layer
ApplicatieruntimeRuntime selected by the team.NET, Orleans, Aspire, and Managed Code libraries
Hosting van de statische landingS3 + CloudFront or AmplifyAzure 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.

01

Gebouwd door Managed Code

De MCP-gateway, kennispijplijn, storage en Orleans-integraties onder een gepubliceerde Agent zijn componenten die Managed Code onderhoudt en uitbrengt.

02

De .NET-basis

.NET 10, ASP.NET Core en Aspire leveren de getypeerde contracten, hosting, telemetrie en resourcecompositie die Prostir gebruikt.

03

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.

04

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.