Prostir

Teknik

En molnbaserad AI-plattform byggd på .NET 10 för företagsbruk från start.

Prompten är den enkla delen. Identitet, tillstånd, åtkomst, drift och en stabil publik endpoint kräver mer. Prostir bygger de gränserna med .NET 10, Orleans, Aspire och Microsoft Agent Framework.

5förstklassiga produktytor

Agent, Skill, Flow, Company och Store har egna identiteter och livscykler.

14språk som stöds

Den statiska landningen publicerar egna rutter och metadata för varje språk som stöds.

10arkitekturlager

Från kompilerad runtime och molnresurser till den publika statiska ytan.

1MCP-endpoint per publicerad Agent

Varje publicerad Agent får en egen Streamable HTTP-endpoint som ägs av dess slug.

Från idé till drift

Din idé kan börja som en prompt. En produkt kräver tio tydliga lager.

En AI-demo visar sällan allt som krävs när andra ska kunna logga in, betala och lita på tjänsten. Här är Prostirs väg från kompilerad kod till en publik URL. Varje lager har ett avgränsat ansvar och kan granskas för sig.

  1. 01Grunden

    .NET 10 och C#: kompilerat och starkt typat.

    Prostir använder .NET 10 och C# för typade kontrakt, asynkron I/O, dependency injection, options, telemetri, HTTP-hosting, bakgrundstjänster och source generation. Språkvalet garanterar inte i sig kostnad, prestanda, energiförbrukning eller supply-chain-säkerhet; det beror på workload, beroenden, deployment och drift.

    • .NET 10
    • ASP.NET Core
    • C#
    • Source generators
    • Typed contracts
  2. 02Molnet

    Azure: hanterade tjänster med tydliga deploymentgränser.

    Azure Container Apps, Cosmos DB Serverless, Blob Storage, Monitor, managed identity och RBAC är molnbyggstenarna som Prostir använder. Azure dokumenterar villkor och kontroller per tjänst, men det certifierar inte automatiskt Prostir och skapar inte ett generellt Prostir-SLA. Regioner och resurser bestäms av den faktiska driftmiljön. Company-data och Stores frågeprojektioner använder separata regionala Cosmos-konton och shardpooler. Tenant- och produktbehörigheter kontrolleras uttryckligen; en grain-nyckel ger inte åtkomst i sig. En Gateway-installation betjänar produktdomänerna. Company hanteras i Prostir och dess MCP kräver OAuth och aktivt medlemskap.

    • Azure Container Apps
    • Cosmos DB Serverless
    • Azure Blob + Table Storage
    • Azure Monitor
    • Managed identity + RBAC
  3. 03Den lokala bryggan

    Aspire: en AppHost för integrationsflödet.

    Prostir.AppHost kopplar ihop Cosmos DB, Azure Storage, Orleans, API, Gateway, skapargränssnittet, Landing och SuperAdmin för lokala och automatiserade integrationsflöden. Det gör konfigurationsskillnader synliga, medan produktionsberedskap fortfarande kräver deploymentspecifik validering, övervakning och releasekontroller.

    • Aspire AppHost SDK
    • Aspire.Hosting.Azure.CosmosDB
    • Aspire.Hosting.Azure.Storage
    • Aspire.Hosting.Orleans
    • TUnit.Aspire
  4. 04Distribuerad runtime

    Orleans: tydliga ägare för beständigt tillstånd.

    Microsoft Orleans ger Prostir identitetsnycklade virtuella aktörer för Agents, sessioner, access grants, workflow runs och annat långlivat tillstånd. Varje grain äger ett avgränsat ansvar. Orleans hanterar aktivering, placement, persistensintegrationer, reminders och meddelanden; Prostir definierar behörighet, produktgränser och felhantering. Orleans använder Azure Tables för tillstånd, klusterdata och påminnelser samt Azure Blob Storage för beständiga jobb. Produktdata lagras också genom EF Core i Cosmos DB. Flow är en separat automationsprodukt: Orleans äger tillstånd, körningar och utlösare medan en privat körningskärna kör Flow-blocken inne i processen. Deklarativa Agent Framework-flöden tillhör Agent.

    • Microsoft.Orleans.Server
    • ManagedCode.Orleans.Identity
    • ManagedCode.Orleans.RateLimiting
    • Azure Tables + Blob
    • Elsa.Workflows.Core
  5. 05MCP-gränsen

    ManagedCode.MCPGateway: fjärr-MCP med produktkontroller.

    ManagedCode.MCPGateway samlar aktiverade lokala verktyg och valda verktyg från externa MCP-servrar i en katalog för sökning och anrop. Det officiella MCP C# SDK hanterar protokollet. Prostir.Gateway lägger till produktroutning, OAuth, behörighetskontroller, kvoter och granskning före körning i Orleans. En extern anslutning ger verktyg först efter upptäckt och uttryckligt val.

    • ManagedCode.MCPGateway
    • ModelContextProtocol
    • Streamable HTTP
    • OAuth + PKCE
    • Bounded quotas
  6. 06Kunskapslagret

    ManagedCode.MarkdownLd.Kb: sökbar källkontext.

    ManagedCode.MarkdownLd.Kb gör stödda källor till Markdown-LD- eller JSON-LD-artefakter och sökbar grafdata. ManagedCode.Storage äger filgränsen och JsonSchema.Net validerar MCP-verktygens argument. Retrieval kan ge källkopplad kontext när indexet stöder det; kvalitet och hänvisningar beror fortfarande på källor, indexering, konfiguration och modell.

    • ManagedCode.MarkdownLd.Kb
    • ManagedCode.Storage.Azure
    • JsonSchema.Net
    • PdfPig + OpenXml
    • Graph-backed retrieval
  7. 07AI-lagret

    En applikationsgräns för konfigurerade modeller.

    Microsoft.Extensions.AI tillhandahåller IChatClient-gränsen och Microsoft Agent Framework kör promptbaserade och deklarativa Agents. Aktuella vägar använder Azure OpenAI, OpenAI-kompatibla anslutningar eller creator-owned connections. Tillgänglighet och byte beror på konfiguration, modellkapacitet, credentials och produktpolicy.

    • Microsoft.Extensions.AI
    • Microsoft.Agents.AI
    • Azure OpenAI + OpenAI-compatible
    • Prompt + declarative workflows
    • IChatClient middleware
  8. 08Utvecklingsloopen

    Agentstödd utveckling med synliga regler.

    Prostir använder repository-ägda AGENTS.md-regler, vertical slices, code review, fokuserade kontroller, integrationstester och release gates. Coding agents hjälper till men ersätter inte produktägarskap, mänsklig bedömning eller verifiering.

    Claude CodeOpenAI Codex
    • AI-assisted delivery
    • AGENTS.md rules
    • Vertical slices
    • Human-reviewed changes
    • Integration test gates
    • TUnit
    • Microsoft.Testing.Platform
  9. 09Produktytan

    Blazor, betalningar, Stateless och Jint.

    Skapare hanterar produkter i Blazor WebAssembly med MudBlazor; operatörer använder en Blazor Server-konsol. När skaparen aktiverar en tillståndsmaskin kontrollerar Stateless de konfigurerade övergångarna. Jint kör JavaScript-verktyg med gränser för instruktioner, minne, rekursion och tid samt begränsad .NET 10-åtkomst. Stripe.net och Rozetka Pays HTTP-integration stöder säljarbetalningar, checkout och webhooks; plattformsabonnemang använder Stripe. Funktionerna beror på produktens inställningar och behörigheter.

    • Blazor WebAssembly
    • MudBlazor
    • Stripe.net + Rozetka Pay API
    • Stateless
    • Jint
  10. 10Den statiska ytan

    Astro med tydlig discovery-metadata.

    Sidan genereras som statisk Astro-HTML. Canonical, hreflang, strukturerad data, sitemap, IndexNow och llms.txt beskriver de avsedda publika rutterna. Lokala kontroller täcker HTML, crawlability, accessibility och Lighthouse-mallar; sökmotorerna avgör crawl, indexering och ranking.

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

Resultatet

En hostad och observerbar MCP-endpoint per publicerad Agent.

Lagren möts i en slugägd MCP-URL för varje publicerad Agent. Klienter som stöds ansluter via Streamable HTTP, medan åtkomst, betalning, kunskap, verktyg, tillstånd, minne, audit och gränser förblir uttryckligen konfigurerade funktioner.

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

Varför .NET 10

Tre möjliga stackar och ett dokumenterat Prostir-val.

Node.js, Python och .NET 10 kan alla hosta MCP-servrar. Tabellen beskriver de implementationsval som Prostir faktiskt använder, inte en universell ranking av prestanda, kostnad, energi eller säkerhet.

EgenskapNode.js / ExpressPython / FastAPIProstir (.NET 10)
HTTP-runtimeNode.js runtimePython ASGI runtimeASP.NET Core
Distribuerat tillstånd per identitetChoose a state frameworkChoose a state frameworkOrleans virtual actors
Dependency injection, options och telemetriFramework or library choiceFramework or library choiceMicrosoft.Extensions.*
AI-abstraktionProvider libraries or abstractionProvider libraries or abstractionMicrosoft.Extensions.AI + Agent Framework
MCP SDKOfficial MCP TypeScript SDKOfficial MCP Python SDKOfficial MCP C# SDK
Validering av verktygsschemanLibrary-selected validationLibrary-selected validationJsonSchema.Net
KontraktsmodellTypeScript contractsPython typing toolsC# + source generation
Lokal kompositionLocal process toolingLocal process toolingdotnet watch + Aspire AppHost

Kolumnerna för Node.js och Python visar vanliga val, inte begränsningar. Prostirs kolumn följer aktuella paket- och projektfiler i repositoryt.

Varför Azure

Samma MCP-backend med tydliga molngränser.

Jämförelsen skiljer leverantörens tjänstekapacitet från konfigurationen och åtagandena i en viss Prostir-deployment.

Det som spelar rollPå AWSProstir på Azure
Underlag för compliance och kontrollerService-specific controls and certificationsAzure service controls; Prostir deployment assessed separately
TillgänglighetsvillkorPer-service and per-region termsNo blanket Prostir SLA is claimed here
Regional placeringRegion configured per workloadOperator-provisioned regional resources
Nätverk och ingressOptional global networking servicesConfigured Gateway and static-site routing
Vägar till modellproviderBedrock and partner model routesAzure OpenAI, OpenAI-compatible, and creator BYOK routes
KundåtkomstCognito or custom identityProstir access and OAuth policy above the hosting layer
ApplikationsruntimeRuntime selected by the company.NET 10, Orleans, Aspire, and Managed Code libraries
Hosting av statisk landingS3 + CloudFront or AmplifyAzure Static Web Apps for this landing

Molnleverantörer dokumenterar sina egna tjänster. Prostirs certifiering, SLA, deploymentregioner och driftkontroller måste verifieras separat för den faktiska miljön.

Öppen källkod

Öppen källkod vi ger ut och använder.

Managed Code bygger Prostir på öppen källkod från Microsoft och communityn. Paketen nedan kommer från projektets faktiska filer, inte från en önskelista.

01

Byggt av Managed Code

MCP-gatewayen, kunskapspipelinen, lagringen och Orleans-integrationerna under en publicerad Agent är komponenter som Managed Code underhåller och ger ut.

02

.NET 10-grunden

.NET 10, ASP.NET Core och Aspire ger Prostir typade kontrakt, hosting, telemetri och resurskomposition.

03

AI, MCP och biblioteken ovanpå

Prostir använder Microsoft.Extensions.AI som IChatClient-gräns och Microsoft Agent Framework för Agent-körning, tillsammans med MCP C# SDK, Jint, Stateless och stödda betalningsintegrationer.

04

Så byggs och levereras webbplatsen

Prostir kombinerar agentstödd utveckling med repositoryregler, code review, automatiska kontroller och mänskligt ägarskap. AGENTS.md beskriver leveranskontraktet och Astro bygger den statiska lokaliserade sidan.

Teknisk FAQ

Frågor company ställer innan de bygger på den här stacken.

Svar som kopplar stacken till riktiga produktionsval: Orleans, Aspire, C#, MCP, betalning, åtkomst, kunskap och driftinsyn.

Vilket jobb gör Orleans i Prostir?Orleans äger långlivade runtime-identiteter: agenter, sessioner, kunder, access grants, kanaltrådar, wallet holds och workflow runs. Varje del har stabilt id, tillstånd och beteende i stället för att gömma state i en singleton, cache eller bakgrundsprocess.Läs
När är Orleans bättre än kö plus CRUD API?När du har många små, ganska fristående entiteter som behöver request-response, start-monitor-complete-flöden eller state per identitet. Microsoft nämner user profiles, purchase orders, sessions, stocks och social pub/sub; Prostir använder samma mönster för agenter, kundsessioner och workflow runs.Läs
Vad är en grain i produktspråk?En grain är en virtual actor: ett logiskt objekt med identitet, beteende och ibland persistent state. I Prostir kan det vara en publicerad agent, en kundkonversation, ett access grant eller en workflow run.Läs
Hur hjälper Orleans med tenant-isolering?Company-data och Stores frågeprojektioner använder separata regionala Cosmos-konton och shardpooler. Tenant- och produktbehörigheter kontrolleras uttryckligen; en grain-nyckel ger inte åtkomst i sig. En Gateway-installation betjänar produktdomänerna. Company hanteras i Prostir och dess MCP kräver OAuth och aktivt medlemskap.Läs
Vilka är de största Orleans-riskerna?Riskerna är för pratiga grains, en flaskhals som koordinator, blockerande synkrona anrop, för stora messages och dolt shared state. Prostir håller det synligt med vertikalt ownership, async grain calls, stateless workers för fan-out och integrationstester genom riktig Gateway/API/Orleans-väg.Läs
Vad ger Aspire som Docker Compose inte ger?Aspire kopplar ihop projekt, beroenden, tjänsteupptäckt, hälsokontroller och telemetri för lokal utveckling och integrationstester. Aspire.Hosting.Blazor betjänar den lokala WebAssembly-appen. Bicep och Azure DevOps-pipelines hanterar produktionsresurser och releaser.Läs
Hur använder Prostir Aspire i tester?AppHost startar de resurser som integrations- och browsertester behöver, inklusive Cosmos DB, Azure Storage, Orleans, API, Gateway, Landing, skapargränssnittet och SuperAdmin. Det testar samma servicegränser; produktion har fortfarande deploymentspecifik konfiguration och releasekontroller.Läs
Varför är runtime byggd i C# och .NET 10?Runtime behöver starka kontrakt, async IO, dependency injection, options, telemetry, HTTP hosting, background workers, source generation och förutsägbar deploy. .NET 10 ger det som first-party infrastructure i stället för en bunt lösa paket.Läs
Låser .NET 10 Prostir till en AI-provider?Nej. Microsoft.Extensions.AI och `IChatClient` ger en stabil chat/tool-gräns. Modellen kommer från en konfigurerad Azure OpenAI-, OpenAI-compatible- eller creator-anslutning som uppfyller runtime-kontraktet.Läs
Vad gör MCP svårt i produktion?Protokollet är bara ingången. En betald remote MCP endpoint behöver också OAuth, access grants, tenant checks, tool schemas, rate limits, quotas, billing, audit trails, pålitliga errors och en hot path som inte läser hela produktdatabasen vid varje request.Läs
Var passar ManagedCode.MCPGateway in?ManagedCode.MCPGateway samlar aktiverade lokala verktyg och valda verktyg från externa MCP-servrar i en katalog för sökning och anrop. Det officiella MCP C# SDK hanterar protokollet. Prostir.Gateway lägger till produktroutning, OAuth, behörighetskontroller, kvoter och granskning före körning i Orleans. En extern anslutning ger verktyg först efter upptäckt och uttryckligt val.Läs
Hur blir betald åtkomst runtime permission?Checkout och webhooks från säljarens providers skapar eller återkallar access grants. Gateway kontrollerar dem före skyddade MCP calls, så payment state blir runtime permission och inte ett kalkylblad.Läs
Hur undviker knowledge layer prompt stuffing?Filer blir Markdown-LD / JSON-LD knowledge artifacts och sökbar graph data. Runtime hämtar avgränsad, källkopplad context när indexet stöder det; kvaliteten beror på källor, indexering, konfiguration och modell.Läs
Vilka riktiga use cases passar stacken?Bra fall är paid knowledge agents, support copilots med customer memory, process agents med state machines, channel agents för Telegram eller web widgets, säljbara skill passports och workflows som behöver progress, retries och audit.Läs
När är den här stacken för mycket?Om du bara behöver en statisk sida, en engångs prompt demo eller en privat chatbot utan auth, tools, billing, state eller customer memory, välj något enklare. Prostir behövs när agenten blir en hosted product som andra förlitar sig på.Läs
Fungerar Prostir via API eller MCP?För en Agent i Claude, ChatGPT och andra kompatibla AI-klienter går leveransen via dess fjärr-MCP-endpoint. Prostir använder också APIs och webhooks för webbhantering, betalningar och godkända integrationer. Plattformen körs i molnet på .NET och Azure; anslutning till CRM, databas eller privata system beror på planen och kan kräva anpassad omfattning.Läs

Teknik

Se hur tekniken blir en konkret produkt.

Guiderna och exemplen visar hur kunskap, verktyg, tillstånd, minne, betalning, åtkomst, kvoter och drift hänger ihop. Verifierade kundfall redovisas separat.