Agent, Skill, Flow, Company i Store zachowują odrębne tożsamości i cykle życia.
Tech
Cloud-native platforma AI. Na korporacyjnym .NET 10, od pierwszego dnia.
Prompt to łatwa część. Tożsamość, stan, dostęp, operacje i stabilny publiczny endpoint są trudniejsze. Prostir buduje te granice na .NET 10, Orleans, Aspire i Microsoft Agent Framework.
Statyczny landing publikuje jawne trasy i metadane dla każdej obsługiwanej nierosyjskiej lokalizacji.
Od skompilowanego runtime'u i zasobów chmurowych do statycznej powierzchni publicznej.
Każdy opublikowany Agent ma własny endpoint Streamable HTTP związany ze slugiem.
Podróż
Twój pomysł to jeden prompt. Produkcja to dziesięć korporacyjnych warstw.
Każde demo AI wygląda tak samo w ChatGPT. Prawdziwy dystans jest między tym demem a klientem, który płaci dalej, i właśnie tu zatrzymuje się większość zespołów. Więc oto nasza, od skompilowanego fundamentu aż po publiczny URL. Dziesięć warstw. Każda to nudny, niezawodny wybór. Każda to powód, dla którego nawet ktoś bez kodu może wypuścić prawdziwy produkt.
01Fundament
.NET 10 i C#: skompilowana, silnie typowana baza.
Prostir używa .NET 10 i C# do typowanych kontraktów, asynchronicznego I/O, dependency injection, options, telemetrii, HTTP hosting, usług w tle i source generation. Sam język nie gwarantuje kosztu, wydajności, energii ani bezpieczeństwa supply chain; zależy to od obciążenia, zależności, deploymentu i operacji.
02Chmura
Azure: usługi zarządzane z jawnymi granicami deploymentu.
Prostir używa Azure Container Apps, Cosmos DB Serverless, Blob Storage, Monitor, managed identity i RBAC. Azure dokumentuje zgodność i dostępność poszczególnych usług; nie certyfikuje to automatycznie Prostir ani nie tworzy jednego SLA produktu. Regiony i zasoby określa środowisko operacyjne. Dane Company i projekcje zapytań Store używają osobnych regionalnych kont Cosmos i pul shardów. Uprawnienia Tenant i produktu są sprawdzane jawnie; sam klucz grain nie daje dostępu. Jedno wdrożenie Gateway obsługuje domeny produktów. Zarządzanie Company odbywa się w głównym WebApp, a MCP wymaga OAuth i aktywnego członkostwa.
03Pomost lokalny
Aspire: jeden AppHost i integracyjne wiring.
Prostir.AppHost składa Cosmos DB, Azure Storage, Orleans, API, Gateway, WebApp, Landing i SuperAdmin dla lokalnych oraz automatycznych przepływów integracyjnych. Pomaga to wykrywać różnice konfiguracji; gotowość produkcyjna nadal wymaga walidacji deploymentu, monitoringu i kontroli release.
04Runtime rozproszony
Orleans: każdy agent dostaje cyfrowego bliźniaka.
Oto jedna idea, która całą resztę robi prostą. Orleans daje każdemu agentowi wirtualnego aktora. Pomyśl o nim jak o cyfrowym bliźniaku: programowej kopii czegoś realnego, agenta, klienta, która trzyma własną pamięć i wykonuje własną pracę we własnym zamkniętym pokoju, nietknięta przez nikogo innego. Kiedy wszystko jest bliźniakiem, praca przestaje dotyczyć serwerów, a zaczyna dotyczyć obiektów, które rozmawiają ze sobą. Opisujesz tylko, kto wysyła jaką wiadomość do kogo: człowiek do bliźniaka, bliźniak do innego bliźniaka. To cały model. Jest stary i sprawdzony. Erlang prowadził tak sieci telefoniczne przez dekady niemal bez przerw. Orleans bierze na siebie trudne części, jak to, gdzie żyje każdy bliźniak i jak jego pamięć jest zapisywana i przenoszona między maszynami. Dlatego skalowanie nigdy nie jest kruchą sztuczką z cache. To jeden bezpieczny, izolowany bliźniak na każdą rzecz, która się liczy. Orleans używa Azure Tables do stanu, danych klastra i przypomnień, a Azure Blob Storage do trwałych zadań. Dane produktów są też zapisywane przez EF Core w Cosmos DB. Flow to osobny produkt automatyzacji: Orleans zarządza jego stanem, uruchomieniami i wyzwalaczami, a Elsa.Workflows.Core wykonuje graf wewnątrz procesu. Deklaratywne workflow Agent Framework należą do Agent.
05Granica MCP
ManagedCode.MCPGateway: zdalny MCP, który skaluje się produkcyjnie.
ManagedCode.MCPGateway łączy włączone narzędzia lokalne i wybrane narzędzia zewnętrznych serwerów MCP w katalog do wyszukiwania i wywoływania. Oficjalny MCP C# SDK obsługuje protokół. Prostir.Gateway dodaje routing produktów, OAuth, autoryzację, uprawnienia, limity i audyt przed wykonaniem w Orleans. Połączenie zewnętrzne udostępnia narzędzia dopiero po ich wykryciu i jawnym wyborze.
06Warstwa wiedzy
ManagedCode.MarkdownLd.Kb: przeszukiwalny kontekst źródeł.
ManagedCode.MarkdownLd.Kb tworzy z obsługiwanych źródeł artefakty Markdown-LD lub JSON-LD i przeszukiwalne dane grafowe. JsonSchema.Net waliduje argumenty narzędzi MCP. Wyszukiwanie może zwracać kontekst powiązany ze źródłem, jeśli indeks go wspiera; jakość i cytowania nadal zależą od źródeł, indeksowania, konfiguracji i modelu.
07Mózg AI
Jedna granica aplikacji dla skonfigurowanych modeli.
Microsoft.Extensions.AI dostarcza IChatClient, a Microsoft Agent Framework wykonuje prompt i declarative Agents. Aktualne trasy używają Azure OpenAI, dostawców OpenAI-compatible albo połączeń twórcy. Dostępność i zmiana modelu zależą od konfiguracji, możliwości, danych dostępu i polityki produktu.
08Pętla rozwoju
Rozwój wspomagany agentami z widocznymi regułami.
Prostir używa reguł AGENTS.md, vertical slices, code review, skupionych kontroli, testów integracyjnych i bramek release. Coding agents pomagają, ale nie zastępują ownershipu, ludzkiej oceny ani weryfikacji.
Claude CodeOpenAI Codex09Krawędź produktu
Blazor, Stripe and Rozetka Pay, Stateless, Jint: to, co widzi twórca.
Twórcy zarządzają produktami w Blazor WebAssembly z MudBlazor, a operatorzy korzystają z konsoli Blazor Server. Gdy twórca włączy maszynę stanów, Stateless pilnuje skonfigurowanych przejść. Jint uruchamia narzędzia JavaScript z limitami instrukcji, pamięci, rekurencji i czasu oraz ograniczonym dostępem do .NET 10. Stripe.net i integracja HTTP Rozetka Pay obsługują płatności dla sprzedawców, checkout i webhooki; subskrypcje platformy korzystają ze Stripe. Dostępne funkcje zależą od konfiguracji i uprawnień produktu.
10Statyczna historia
Astro landing z jawnymi metadanymi discovery.
Strona powstaje jako statyczny HTML Astro. Canonical, hreflang, dane strukturalne, sitemap, IndexNow i llms.txt opisują zamierzone publiczne trasy. Lokalne kontrole obejmują HTML, crawlability, accessibility i szablony Lighthouse; o crawlu, indeksowaniu i rankingu decydują wyszukiwarki.
Rezultat
Jeden hostowany i obserwowalny endpoint MCP na opublikowanego Agenta.
Warstwy spotykają się w URL MCP związanym ze slugiem każdego opublikowanego Agenta. Obsługiwani klienci łączą się przez Streamable HTTP; dostęp, rozliczenia, wiedza, narzędzia, stan, pamięć, audyt i limity pozostają jawnie konfigurowanymi możliwościami.
Dlaczego .NET 10
Ten sam serwer MCP. Trzy różne podejścia do implementacji.
To porównanie opisuje wybory runtime'u i bibliotek, a nie obiecuje uniwersalnego wyniku wydajności, kosztu ani zużycia energii.
| Możliwość | Node.js / Express | Python / FastAPI | Prostir (.NET 10) |
|---|---|---|---|
| Runtime webowy | Node.js runtime | Python ASGI runtime | ASP.NET Core |
| Model rozproszonego stanu | Choose a state framework | Choose a state framework | Orleans virtual actors |
| DI, konfiguracja i telemetria | Framework or library choice | Framework or library choice | Microsoft.Extensions.* |
| Abstrakcja AI | Provider libraries or abstraction | Provider libraries or abstraction | Microsoft.Extensions.AI + Agent Framework |
| SDK MCP | Official MCP TypeScript SDK | Official MCP Python SDK | Official MCP C# SDK |
| Walidacja schematów narzędzi | Library-selected validation | Library-selected validation | JsonSchema.Net |
| Kontrakty typów | TypeScript contracts | Python typing tools | C# + source generation |
| Lokalny workflow | Local process tooling | Local process tooling | dotnet watch + Aspire AppHost |
Rzeczywisty koszt, opóźnienie, przepustowość i zużycie energii zależą od workloadu, implementacji, zależności, hostingu i profilu ruchu.
Dlaczego Azure
Ten sam backend MCP. Jawne granice usług chmurowych.
Tabela rozdziela możliwości usług dostawcy od konfiguracji i zobowiązań konkretnego wdrożenia Prostir.
| Co się liczy | Na AWS | Prostir na Azure |
|---|---|---|
| Szerokość zgodności | Service-specific controls and certifications | Azure service controls; Prostir deployment assessed separately |
| SLA dostępności | Per-service and per-region terms | No blanket Prostir SLA is claimed here |
| Rezydencja danych | Region configured per workload | Operator-provisioned regional resources |
| Globalna dystrybucja | Optional global networking services | Configured Gateway and static-site routing |
| Bliskość natywnego AI | Bedrock and partner model routes | Azure OpenAI, OpenAI-compatible, and creator BYOK routes |
| Tożsamość użytkowników końcowych | Cognito or custom identity | Prostir access and OAuth policy above the hosting layer |
| Spójność z runtime'em open-source | Runtime selected by the company | .NET 10, Orleans, Aspire, and Managed Code libraries |
| Hosting statycznego serwisu z własną domeną | S3 + CloudFront or Amplify | Azure Static Web Apps for this landing |
Dostawcy chmury dokumentują możliwości własnych usług. Certyfikację Prostir, SLA, regiony wdrożenia i kontrole operacyjne trzeba sprawdzać osobno dla konkretnego środowiska.
Open source
Open source, który wypuszczamy, i open source, którego używamy.
Prostir powstał w Managed Code na bazie open source od Microsoftu i społeczności. Każdy pakiet poniżej jest prawdziwy, z plików naszego projektu, nie marketingowa lista życzeń.
Zrobione przez Managed Code
Managed Code to nie tylko podpis w stopce. Brama MCP, pipeline wiedzy, storage i integracje Orleans pod twoim opublikowanym agentem to nasz open source, który utrzymujemy i wypuszczamy sami.
- Managed CodeZespół stojący za Prostir. Otwieramy backendowe prymitywy, których sami używamy.
- ManagedCode on GitHubMCPGateway, MarkdownLd.Kb, Storage, Communication, rozszerzenia Orleans i więcej.
- ManagedCode.MCPGatewayWyszukiwanie i wywoływanie włączonych narzędzi lokalnych oraz wybranych narzędzi MCP.
- ManagedCode.MarkdownLd.KbPipeline wiedzy Markdown-LD / JSON-LD z wyszukiwaniem w grafie.
- ManagedCode.Storage.AzureAbstrakcja storage'u dla plików, pamięci i artefaktów runtime'u na Azure Blob.
- ManagedCode.CommunicationKontrakty Result, Command i CollectionResult przez granice API i Orleans.
- ManagedCode.Orleans.IdentityGitHub · managedcode/Orleans.Identity
- ManagedCode.Orleans.RateLimitingGitHub · managedcode/Orleans.RateLimiting
Fundament .NET 10
.NET 10, ASP.NET Core i Aspire dostarczają typowane kontrakty, hosting, telemetry i kompozycję zasobów używaną przez Prostir.
- .NET 10Skompilowany runtime, C# i source generatory.
- ASP.NET CoreHTTP, auth, OpenAPI, Minimal APIs, JsonPatch, hosted services.
- AspireOrkiestracja AppHost, service defaults, zasoby wdrożeniowe.
- Microsoft OrleansRuntime wirtualnych aktorów dla rozproszonego .NET 10: grainy, persystencja, placement, stateless workers i telemetria dashboardu.
- EF Core (Cosmos)Typowana persystencja i model zapytań nad Azure Cosmos DB.
- MudBlazorKomponenty Material Design dla workspace'u twórcy.
- C# / RoslynGitHub · dotnet/roslyn
- BlazorMicrosoft · Blazor
- AzureMicrosoft Learn · Azure
- OpenTelemetryOpenTelemetry
AI, MCP i biblioteki na wierzchu
Prostir używa Microsoft.Extensions.AI jako granicy IChatClient oraz Microsoft Agent Framework do prompt i declarative Agents. Dostępne modele zależą od skonfigurowanych, zgodnych połączeń. Jint, Stateless oraz integracje Stripe i Rozetka Pay obsługują wyspecjalizowane części runtime'u.
- Microsoft.Extensions.AIJeden interfejs do czatu, embeddingów, wywołań narzędzi i telemetrii.
- Microsoft Agent FrameworkMicrosoft Agent Framework dla prompt i declarative Agents.
- Model Context Protocol C# SDKOficjalne C# SDK do serwerów i klientów MCP.
- JintSilnik JavaScript wewnątrz .NET 10. Uruchamia narzędziowe skrypty, które pisze twórca.
- StatelessMaszyny stanowe, które decydują, co agent może zrobić dalej.
- Stripe.netStripe.net — Klient Stripe and Rozetka Pay do płatnego dostępu, checkoutu i webhooków.
- Rozetka Pay APIRozetka Pay — Klient Stripe and Rozetka Pay do płatnego dostępu, checkoutu i webhooków.
- Elsa WorkflowsGitHub · elsa-workflows/elsa-core
- JsonSchema.NetGitHub · json-everything/json-everything
- PdfPigGitHub · UglyToad/PdfPig
- Open XML SDKGitHub · dotnet/Open-XML-SDK
Jak ta strona jest budowana i wypuszczana
Prostir korzysta z rozwoju wspomaganego agentami razem z regułami repozytorium, code review, automatycznymi kontrolami i ludzkim ownershipem. AGENTS.md opisuje kontrakt delivery, a Astro buduje tę statyczną, zlokalizowaną stronę.
- Agent-assisted developmentAGENTS.md i testy integracyjne utrzymują przewidywalną pętlę budowy wspieraną przez agentów.
- Repository delivery rulesRozwój wspomagany agentami podlega tym samym regułom repozytorium i review.
- AstroStatyczny, zlokalizowany landing, zrobiony pod silniki wyszukiwania i odpowiedzi.
- TUnitTesty jednostkowe, integracyjne i przeglądarkowe na Microsoft.Testing.Platform z Aspire i Playwright.
- Microsoft.Testing.PlatformGitHub · microsoft/testfx
- PlaywrightGitHub · microsoft/playwright-dotnet
- LighthouseGitHub · GoogleChrome/lighthouse
- IndexNowIndexNow
- llms.txtllms.txt
- JSON-LDJSON-LD
FAQ techniczne
Pytania, które zespoły zadają przed budową na tym stosie.
Te odpowiedzi łączą stos z realnymi decyzjami produkcyjnymi: Orleans, Aspire, C#, MCP, rozliczenia, dostęp, wiedza i widoczność dla operatora.
Jaką realną pracę robi Orleans w Prostir?Orleans zarządza długowiecznymi tożsamościami runtime'u: agentami, sesjami, klientami, access grants, rozmowami kanałów, blokadami wallet i workflow runs. Każda ma stabilne id, stan i zachowanie, zamiast chować stan w singletonie, cache'u albo procesie w tle.Czytaj
Kiedy Orleans jest lepszy niż kolejka plus CRUD API?Gdy masz wiele małych, w większości niezależnych bytów, które potrzebują request-response, flow start-monitor-complete albo stanu per identity. Microsoft podaje user profiles, purchase orders, sessions, stocks i social pub/sub; Prostir przenosi to na agentów, sesje klientów i workflow runs.Czytaj
Czym jest grain w języku produktu?Grain to wirtualny aktor: logiczny obiekt z tożsamością, zachowaniem i opcjonalnym stanem trwałym. W Prostir może to być opublikowany agent, rozmowa klienta, access grant albo workflow run.Czytaj
Jak Orleans pomaga w izolacji tenantów?Dane Company i projekcje zapytań Store używają osobnych regionalnych kont Cosmos i pul shardów. Uprawnienia Tenant i produktu są sprawdzane jawnie; sam klucz grain nie daje dostępu. Jedno wdrożenie Gateway obsługuje domeny produktów. Zarządzanie Company odbywa się w głównym WebApp, a MCP wymaga OAuth i aktywnego członkostwa.Czytaj
Jakie są główne ryzyka Orleans?Ryzykowne są zbyt gadatliwe grainy, jeden koordynator-wąskie gardło, blokujące wywołania synchroniczne, zbyt duże messages i ukryty shared state. Prostir trzyma to pod kontrolą przez pionowy ownership, async grain calls, stateless workers do fan-out i testy integracyjne po realnej ścieżce Gateway/API/Orleans.Czytaj
Co Aspire daje ponad Docker Compose?Aspire łączy projekty, zależności, wykrywanie usług, kontrole stanu i telemetrię dla lokalnego rozwoju i testów integracyjnych. Aspire.Hosting.Blazor obsługuje lokalną aplikację WebAssembly. Zasobami i wydaniami produkcyjnymi zarządzają Bicep oraz pipeline’y Azure DevOps.Czytaj
Jak Prostir używa Aspire w testach?AppHost uruchamia zasoby potrzebne testom integracyjnym i browser, w tym Cosmos DB, Azure Storage, Orleans, API, Gateway, Landing, WebApp i SuperAdmin. Sprawdza to te same granice usług; produkcja zachowuje konfigurację i kontrole release właściwe dla deploymentu.Czytaj
Dlaczego runtime jest w C# i .NET 10?Runtime potrzebuje mocnych kontraktów, async IO, dependency injection, options, telemetrii, HTTP hosting, background workers, source generation i przewidywalnego deploymentu. .NET 10 daje to jako first-party infrastructure, nie jako sklejkę przypadkowych paczek.Czytaj
Czy .NET 10 zamyka Prostir na jednego providera AI?Nie. Microsoft.Extensions.AI i `IChatClient` tworzą stabilną granicę chat/tool. Konkretny model pochodzi ze skonfigurowanego połączenia Azure OpenAI, OpenAI-compatible albo połączenia twórcy zgodnego z kontraktem runtime.Czytaj
Co jest trudne w MCP na produkcji?Protokół to tylko wejście. Płatny remote MCP endpoint potrzebuje też OAuth, access grants, tenant checks, tool schemas, rate limits, quotas, billing, audit trails, przewidywalnych błędów i hot path, który nie czyta całej bazy produktu przy każdym request.Czytaj
Gdzie pasuje ManagedCode.MCPGateway?ManagedCode.MCPGateway łączy włączone narzędzia lokalne i wybrane narzędzia zewnętrznych serwerów MCP w katalog do wyszukiwania i wywoływania. Oficjalny MCP C# SDK obsługuje protokół. Prostir.Gateway dodaje routing produktów, OAuth, autoryzację, uprawnienia, limity i audyt przed wykonaniem w Orleans. Połączenie zewnętrzne udostępnia narzędzia dopiero po ich wykryciu i jawnym wyborze.Czytaj
Jak płatny dostęp staje się uprawnieniem runtime?Checkout i webhooks od providerów sprzedawcy tworzą albo cofają access grants. Gateway sprawdza te grants przed chronionymi MCP calls, więc payment state staje się uprawnieniem runtime, nie arkuszem ani ręczną listą.Czytaj
Jak warstwa wiedzy unika prompt stuffing?Pliki stają się artefaktami Markdown-LD / JSON-LD i przeszukiwalnymi danymi grafu. Runtime pobiera ograniczony kontekst powiązany ze źródłem, gdy indeks go obsługuje; jakość zależy od źródeł, indeksowania, konfiguracji i modelu.Czytaj
Jakie realne przypadki pasują do tego stosu?Pasują płatne knowledge agents, copiloci supportu z pamięcią klienta, process agents ze state machines, channel agents dla Telegrama albo web widgetów, sprzedawalne skill passports i workflow products, które potrzebują progress, retries i audit.Czytaj
Kiedy ten stack jest za duży?Jeśli potrzebujesz tylko statycznej strony, jednorazowej prompt demo albo prywatnego chatbota bez auth, tools, billing, state i customer memory, wybierz coś prostszego. Prostir jest na moment, gdy agent staje się hostowanym produktem, od którego zależą inni.Czytaj
Czy Prostir działa przez API czy przez MCP?Dla osób używających Agent w Claude, ChatGPT i innych zgodnych klientach dostarczenie odbywa się przez zdalny endpoint MCP. Prostir używa też APIs i webhooks do zarządzania w przeglądarce, płatności oraz zatwierdzonych integracji. Platforma działa w chmurze na .NET i Azure; połączenie CRM, bazy danych lub systemu prywatnego zależy od planu i może wymagać indywidualnego zakresu.Czytaj
Tech
Powiąż technologię z konkretną ścieżką produktu.
Poradniki i przykłady pokazują, gdzie liczą się wiedza, narzędzia, stan, pamięć, rozliczenia, dostęp, limity i widoczność operatora. Zweryfikowane przypadki klientów pozostają osobną kategorią dowodów.