Agent, Skill, Flow, Team og Store har egne identiteter og livsløp.
Teknologi
En skybasert AI-plattform bygget på .NET for virksomhetsdrift fra starten.
Prompten er den enkle delen. Identitet, state, tilgang, drift og et stabilt offentlig endepunkt krever mer. Prostir bygger disse grensene med .NET 10, Orleans, Aspire og Microsoft Agent Framework.
Den statiske landingen publiserer egne ruter og metadata for hvert støttet språk.
Fra kompilert runtime og skyressurser til den offentlige statiske flaten.
Hver publiserte Agent får sitt eget Streamable HTTP-endepunkt bundet til sluggen.
Fra idé til drift
Ideen din kan begynne som én prompt. Et produkt krever ti tydelige lag.
En AI-demo viser sjelden alt som må fungere når andre skal logge inn, betale og stole på tjenesten. Her er Prostirs vei fra kompilert kode til en offentlig URL. Hvert lag har et avgrenset ansvar.
01Grunnlaget
.NET 10 og C#: kompilert og sterkt typet.
Prostir bruker .NET 10 og C# 14 til typede kontrakter, asynkron I/O, dependency injection, options, telemetri, HTTP-hosting, bakgrunnstjenester og source generation. Språkvalget garanterer ikke alene pris, ytelse, energibruk eller supply-chain-sikkerhet; det avhenger av workload, dependencies, deployment og drift.
02Skyen
Azure: administrerte tjenester med tydelige deploymentgrenser.
Azure Container Apps, Cosmos DB Serverless, Blob Storage, Monitor, managed identity og RBAC er skykomponentene Prostir bruker. Azure dokumenterer vilkår og kontroller per tjeneste, men det sertifiserer ikke automatisk Prostir og gir ikke ett samlet Prostir-SLA. Regioner og ressurser bestemmes av det konkrete driftsmiljøet.
03Den lokale broen
Aspire: én AppHost for integrasjonsflyten.
Prostir.AppHost setter sammen Cosmos DB, Azure Storage, Orleans, API, Gateway, WebApp, Landing og SuperAdmin for lokale og automatiserte integrasjonsløp. Det gjør konfigurasjonsforskjeller synlige, mens produksjonsklarhet fortsatt krever deploymentspesifikk validering, overvåking og releasekontroller.
04Distribuert runtime
Orleans: tydelige eiere av varig state.
Microsoft Orleans gir Prostir identitetsnøklede virtuelle aktører for Agents, sesjoner, access grants, workflow runs og annen langvarig state. Hver grain eier et avgrenset ansvar. Orleans leverer activation, placement, persistensintegrasjoner, reminders og messaging; Prostir definerer authorization, produktgrenser og feilhåndtering.
05MCP-grensen
ManagedCode.MCPGateway: remote MCP med produktkontroll.
MCP beskriver protokollen, men ikke innlogging for flere tenants, audit, kostnadstak eller rate limits. ManagedCode.MCPGateway ligger foran Orleans-runtime og håndterer transport, tilgang per kunde, grenser per verktøy og tydelige feilsvar for det publiserte endepunktet.
06Kunnskapslaget
ManagedCode.MarkdownLd.Kb: søkbar kildekontekst.
ManagedCode.MarkdownLd.Kb gjør støttede kilder om til Markdown-LD- eller JSON-LD-artefakter og søkbare grafdata. ManagedCode.Storage eier filgrensen, og JsonSchema.Net validerer argumentene til MCP-verktøy. Retrieval kan gi kildekoblet kontekst når indeksen støtter det; kvalitet og kildehenvisninger avhenger fortsatt av kilder, indeksering, konfigurasjon og modell.
07AI-laget
Én applikasjonsgrense for konfigurerte modeller.
Microsoft.Extensions.AI leverer IChatClient-grensen, og Microsoft Agent Framework kjører promptbaserte og deklarative Agents. Aktuelle forbindelser bruker Azure OpenAI, OpenAI-kompatible tilkoblinger eller creator-owned connections. Tilgjengelighet og bytte avhenger av konfigurasjon, modellkapasitet, credentials og produktpolicy.
08Utviklingsløpet
Agentassistert utvikling med synlige regler.
Prostir bruker repository-eide AGENTS.md-regler, vertical slices, code review, fokuserte kontroller, integrasjonstester og release gates. Coding agents hjelper til, men erstatter ikke produkteierskap, menneskelig vurdering eller verifisering.
Claude CodeOpenAI Codex09Produktflaten
Blazor, betalinger, Stateless og Jint.
Creators arbeider i et Blazor-workspace, og operatører bruker en Blazor Server-konsoll. Stateless modellerer samtalestate, Jint kjører avgrensede JavaScript-verktøy i en sandbox, og Stripe- samt Rozetka Pay-integrasjoner kobler checkout og webhooks til tilgangsbeslutninger. Hver funksjon styres av konfigurasjon og rettigheter.
10Den statiske flaten
Astro med tydelige discovery-metadata.
Siden genereres som statisk Astro-HTML. Canonical, hreflang, strukturerte data, sitemap, IndexNow og llms.txt beskriver de tiltenkte offentlige rutene. Lokale kontroller dekker HTML, crawlability, accessibility og Lighthouse-maler; søkemotorene avgjør crawl, indeksering og ranking.
Resultatet
Ett hostet og observerbart MCP-endepunkt per publisert Agent.
Lagene samles i en slug-eid MCP-URL for hver publiserte Agent. Støttede klienter kobler til via Streamable HTTP, mens tilgang, betaling, kunnskap, verktøy, state, memory, audit og grenser forblir eksplisitt konfigurerte funksjoner.
Hvorfor .NET
Tre brukbare stacks og ett dokumentert Prostir-valg.
Node.js, Python og .NET kan alle hoste MCP-servere. Tabellen beskriver implementasjonsvalgene Prostir faktisk bruker, ikke en universell rangering av ytelse, pris, energi eller sikkerhet.
| Egenskap | Node.js / Express | Python / FastAPI | Prostir (.NET 10) |
|---|---|---|---|
| HTTP-runtime | Node.js runtime | Python ASGI runtime | ASP.NET Core 10 |
| Distribuert state per identitet | Choose a state framework | Choose a state framework | Orleans 10.2.2 virtual actors |
| Dependency injection, options og telemetri | Framework or library choice | Framework or library choice | Microsoft.Extensions.* |
| AI-abstraksjon | 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 |
| Validering av verktøyskjemaer | Library-selected validation | Library-selected validation | JsonSchema.Net 9.3 |
| Kontraktmodell | TypeScript contracts | Python typing tools | C# 14 + source generation |
| Lokal komposisjon | Local process tooling | Local process tooling | dotnet watch + Aspire AppHost |
Kolonnene for Node.js og Python viser vanlige valg, ikke begrensninger. Prostirs kolonne følger de nåværende pakke- og prosjektfilene i repositoryet.
Hvorfor Azure
Samme MCP-backend med tydelige skygrenser.
Sammenligningen skiller leverandørens tjenesteegenskaper fra konfigurasjonen og forpliktelsene i en bestemt Prostir-deployment.
| Det som betyr noe | På AWS | Prostir på Azure |
|---|---|---|
| Dokumentasjon for compliance og kontroller | Service-specific controls and certifications | Azure service controls; Prostir deployment assessed separately |
| Tilgjengelighetsvilkår | Per-service and per-region terms | No blanket Prostir SLA is claimed here |
| Regional plassering | Region configured per workload | Operator-provisioned regional resources |
| Nettverk og ingress | Optional global networking services | Configured Gateway and static-site routing |
| Forbindelser til modelltilbydere | Bedrock and partner model routes | Azure OpenAI, OpenAI-compatible, and creator BYOK routes |
| Kundetilgang | Cognito or custom identity | Prostir access and OAuth policy above the hosting layer |
| Applikasjonsruntime | Runtime selected by the team | .NET, Orleans, Aspire, and Managed Code libraries |
| Hosting av statisk landing | S3 + CloudFront or Amplify | Azure Static Web Apps for this landing |
Skyleverandører dokumenterer sine egne tjenester. Prostirs sertifisering, SLA, deploymentregioner og driftskontroller må verifiseres separat for det konkrete miljøet.
Åpen kildekode
Den åpne kildekoden vi publiserer og bruker.
Managed Code bygger Prostir på åpen kildekode fra Microsoft og communityet. Pakkene nedenfor kommer fra faktiske prosjektfiler, ikke fra en ønskeliste for markedsføring.
Bygget av Managed Code
MCP-gatewayen, kunnskapspipelinen, lagringen og Orleans-integrasjonene under en publisert Agent er komponenter Managed Code vedlikeholder og publiserer.
- Managed CodeTeamet bak Prostir og backendkomponentene vi selv bruker.
- ManagedCode on GitHubMCPGateway, MarkdownLd.Kb, Storage, Communication, Orleans-utvidelser og mer.
- ManagedCode.MCPGatewayGateway for remote MCP med OAuth, flere tenants, audit og kvoter per verktøy.
- ManagedCode.MarkdownLd.KbKunnskapspipeline for Markdown-LD og JSON-LD med grafsøk.
- ManagedCode.Storage.AzureLagringsabstraksjon for filer, memory og runtimeartefakter i Azure Blob.
- ManagedCode.CommunicationResult-, Command- og CollectionResult-kontrakter på tvers av API- og Orleansgrenser.
.NET-grunnlaget
.NET 10, ASP.NET Core og Aspire gir Prostir typede kontrakter, hosting, telemetri og ressurskomposisjon.
- .NET 10Kompilert runtime, C# 14 og source generators.
- ASP.NET Core 10HTTP, auth, OpenAPI, Minimal APIs, JsonPatch og hosted services.
- AspireAppHost-orkestrering, service defaults og deploymentressurser.
- Microsoft Orleans 10Virtuell aktørruntime med grains, persistens, placement, stateless workers og dashboardtelemetri.
- EF Core 10 (Cosmos)Typet persistens og spørringer over Azure Cosmos DB.
- MudBlazorMaterial Design-komponenter for creator-workspacet.
AI, MCP og bibliotekene på toppen
Prostir bruker Microsoft.Extensions.AI som IChatClient-grense og Microsoft Agent Framework 1.15 for Agent-kjøring sammen med MCP C# SDK 1.4.1, Jint, Stateless og støttede betalingsintegrasjoner.
- Microsoft.Extensions.AIEtt grensesnitt for chat, embeddings, tool calls og telemetri.
- Microsoft Agent FrameworkMicrosoft Agent Framework 1.15 for promptbaserte og deklarative Agents.
- Model Context Protocol C# SDKDet offisielle C# SDK-et for MCP-servere og -klienter.
- JintEn JavaScript-motor i .NET for creators avgrensede verktøyskript.
- StatelessState machines som modellerer Agentens tillatte neste trinn.
- Stripe and Rozetka Pay integrationKlienter for betalt tilgang, checkout og webhooks.
Slik bygges og publiseres nettstedet
Prostir kombinerer agentassistert utvikling med repositoryregler, code review, automatiske kontroller og menneskelig eierskap. AGENTS.md beskriver leveransekontrakten, og Astro bygger den statiske lokaliserte siden.
Teknisk FAQ
Spørsmål team stiller før de bygger på denne stacken.
Svarene kobler stacken til ekte produksjonsvalg: Orleans, Aspire, C#, MCP, betaling, tilgang, kunnskap og driftsinnsyn.
Hva gjør Orleans faktisk i Prostir?Orleans eier langlivede runtime-identiteter: agenter, sesjoner, kunder, access grants, kanaltråder, wallet holds og workflow runs. Hver del har stabil id, tilstand og oppførsel i stedet for å gjemme state i en singleton, cache eller bakgrunnsprosess.Les
Når er Orleans bedre enn kø pluss CRUD API?Når du har mange små, ganske uavhengige enheter som trenger request-response, start-monitor-complete-flyter eller state per identitet. Microsoft nevner user profiles, purchase orders, sessions, stocks og social pub/sub; Prostir bruker samme mønster for agenter, kundesesjoner og workflow runs.Les
Hva er en grain i produktspråk?En grain er en virtual actor: et logisk objekt med identitet, oppførsel og valgfri persistent state. I Prostir kan det være en publisert agent, en kundesamtale, et access grant eller en workflow run.Les
Hvordan hjelper Orleans med tenant-isolering?State nøkkeles etter owner, agent, customer eller run identity, så arbeidet havner i isolerte grains i stedet for delt prosessminne. En ødelagt sesjon blir ikke global mutable state for andre tenants.Les
Hva er de største Orleans-risikoene?Risikoene er for pratsomme grains, én koordinator som blir flaskehals, blokkerende synkrone kall, for store messages og skjult shared state. Prostir holder dette synlig med vertikalt ownership, async grain calls, stateless workers for fan-out og integrasjonstester gjennom ekte Gateway/API/Orleans-flyt.Les
Hva gir Aspire som Docker Compose ikke gir?Aspire gir .NET-løsningen en AppHost som kjenner prosjekter, avhengigheter, service discovery, konfigurasjon, health, telemetry og cloud resources. Det er ikke bare prosessstart; det er resource graph for lokal utvikling, CI og Azure.Les
Hvordan bruker Prostir Aspire i tester?AppHost starter ressursene som integrasjons- og browsertester trenger, blant annet Cosmos DB, Azure Storage, Orleans, API, Gateway, Landing, WebApp og SuperAdmin. Det tester de samme tjenestegrensene; produksjon har fortsatt deployment-spesifikk konfigurasjon og releasekontroller.Les
Hvorfor er runtime bygget i C# og .NET?Runtime trenger sterke kontrakter, async IO, dependency injection, options, telemetry, HTTP hosting, background workers, source generation og forutsigbar deploy. .NET gir dette som first-party infrastructure, ikke som en bunke løse pakker.Les
Låser .NET Prostir til én AI-provider?Nei. Microsoft.Extensions.AI og `IChatClient` gir en stabil chat/tool-grense. Modellen kommer fra en konfigurert Azure OpenAI-, OpenAI-compatible- eller creator-tilkobling som oppfyller runtime-kontrakten.Les
Hva gjør MCP vanskelig i produksjon?Protokollen er bare inngangen. En betalt remote MCP endpoint trenger også OAuth, access grants, tenant checks, tool schemas, rate limits, quotas, billing, audit trails, pålitelige errors og en hot path som ikke leser hele produktdatabasen ved hvert request.Les
Hvor passer ManagedCode.MCPGateway inn?ManagedCode.MCPGateway er protocol edge foran Orleans runtime. Den eksponerer remote MCP endpoint, ruter tool calls, håndhever synlige tool boundaries og holder protocol concerns utenfor product-state API.Les
Hvordan blir betalt tilgang til runtime permission?Checkout og webhooks fra selgerens providers oppretter eller tilbakekaller access grants. Gateway sjekker dem før beskyttede MCP calls, så payment state blir runtime permission og ikke et regneark.Les
Hvordan unngår knowledge layer prompt stuffing?Filer blir Markdown-LD / JSON-LD knowledge artifacts og søkbare graph data. Runtime henter avgrenset, kildekoblet context når indeksen støtter det; kvaliteten avhenger av kilder, indeksering, konfigurasjon og modell.Les
Hvilke ekte use cases passer stacken?Gode treff er paid knowledge agents, support copilots med customer memory, process agents med state machines, channel agents for Telegram eller web widgets, salgbare skill passports og workflows som trenger progress, retries og audit.Les
Når er denne stacken for mye?Hvis du bare trenger et statisk nettsted, en engangs prompt demo eller en privat chatbot uten auth, tools, billing, state eller customer memory, bruk noe enklere. Prostir trengs når agenten blir en hosted product andre er avhengige av.Les
Fungerer Prostir via API eller MCP?For bruk av en Agent i Claude, ChatGPT og andre kompatible AI-klienter går leveringen via det eksterne MCP-endepunktet. Prostir bruker også APIs og webhooks til nettstyring, betalinger og godkjente integrasjoner. Plattformen kjører i skyen på .NET og Azure; CRM-, database- eller privatsystemtilkoblinger avhenger av planen og kan kreve tilpasset omfang.Les
Teknologi
Se hvordan teknologien blir en konkret produktvei.
Guidene og eksemplene viser hvordan kunnskap, verktøy, state, memory, betaling, tilgang, kvoter og drift henger sammen. Verifiserte kundecaser behandles som en egen type dokumentasjon.