Agent, Skill, Flow, Team i Store zachowują odrębne tożsamości i cykle życia.
Tech
Cloud-native platforma AI. Na korporacyjnym .NET, 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# 14 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.
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.
05Granica MCP
ManagedCode.MCPGateway: zdalny MCP, który skaluje się produkcyjnie.
Specyfikacja MCP opisuje protokół. Nie opisuje logowań dla wielu klientów, dzienników audytu, limitów kosztów ani limitów użycia, czyli dokładnie tego, czego potrzebuje realne wdrożenie. ManagedCode.MCPGateway to warstwa brzegowa, którą Managed Code napisało, żeby Prostir nie musiał. Zajmuje się bezpiecznym transportem, dostępem na klienta, limitami na narzędzie i czystymi odpowiedziami o błędach, wszystko przed runtime'em Orleans, do którego kieruje wywołania. Jeden czysty, chroniony URL patrzy w świat.
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órca nigdy nie widzi bramy. Widzi workspace w Blazor. Operator nigdy nie widzi mapy grainów. Widzi konsolę w Blazor Server. Stateless nadaje rozmowie szyny. Agent jest zawsze w jakimś stanie, a stan decyduje, co może się stać dalej. Ustaw ją w stanie „zebrać szczegóły”, a nie przeskoczy do „dać odpowiedź”, dopóki szczegółów nie ma, tak samo jak nie wysłałbyś wyceny, zanim usłyszysz, czego klient potrzebuje. Jint uruchamia małe fragmenty JavaScriptu w sandboxie, kiedy narzędzie potrzebuje dokładnej liczby. Stripe and Rozetka Pay integration zamienia płatny dostęp w prawdziwe uprawnienia, z webhookami, checkoutem i limitami użycia. Ta nudna warstwa produktu to właśnie to, co trzyma AI używalną, i sprzedawalną.
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
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 10 |
| Model rozproszonego stanu | Choose a state framework | Choose a state framework | Orleans 10.2.2 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 1.15 |
| SDK MCP | Official MCP TypeScript SDK | Official MCP Python SDK | Official MCP C# SDK 1.4.1 |
| Walidacja schematów narzędzi | Library-selected validation | Library-selected validation | JsonSchema.Net 9.3 |
| Kontrakty typów | TypeScript contracts | Python typing tools | C# 14 + 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 team | .NET, 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.MCPGatewayZdalna brama MCP z OAuth, wielodostępem, audytem i limitami na narzędzie.
- 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.
Fundament .NET
.NET 10, ASP.NET Core i Aspire dostarczają typowane kontrakty, hosting, telemetry i kompozycję zasobów używaną przez Prostir.
- .NET 10Skompilowany runtime, C# 14 i source generatory.
- ASP.NET Core 10HTTP, auth, OpenAPI, SignalR, JsonPatch, hosted services.
- AspireOrkiestracja AppHost, service defaults, zasoby wdrożeniowe.
- Microsoft Orleans 10Runtime wirtualnych aktorów dla rozproszonego .NET: grainy, persystencja, placement, stateless workers i telemetria dashboardu.
- EF Core 10 (Cosmos)Typowana persystencja i model zapytań nad Azure Cosmos DB.
- MudBlazorKomponenty Material Design dla workspace'u twórcy.
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. Uruchamia narzędziowe skrypty, które pisze twórca.
- StatelessMaszyny stanowe, które decydują, co agent może zrobić dalej.
- Stripe and Rozetka Pay integrationKlient Stripe and Rozetka Pay do płatnego dostępu, checkoutu i webhooków.
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ę.
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?Stan jest kluczowany przez owner, agent, customer albo run identity, więc praca trafia do izolowanych grainów, nie do współdzielonej pamięci procesu. Zepsuta sesja nie staje się globalnym mutable state dla innych tenantów.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 daje rozwiązaniu .NET jeden AppHost, który zna projekty, zależności, service discovery, konfigurację, health, telemetrię i kształt zasobów cloud. To nie tylko start procesów, ale graf zasobów dla local, CI i Azure.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?Runtime potrzebuje mocnych kontraktów, async IO, dependency injection, options, telemetrii, HTTP hosting, background workers, source generation i przewidywalnego deploymentu. .NET daje to jako first-party infrastructure, nie jako sklejkę przypadkowych paczek.Czytaj
Czy .NET 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 to krawędź protokołu przed runtime'em Orleans. Wystawia remote MCP endpoint, routuje tool calls, egzekwuje widoczne granice narzędzi i trzyma protokół poza API od stanu produktu.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.