Prostir

Tecnologia

Plataforma de IA cloud-native. Em .NET empresarial, desde o primeiro dia.

A prompt é a parte fácil. Mais difícil é tratar identidade, estado, acesso, operações e um endpoint público estável. O Prostir constrói esses limites em .NET 10, Orleans, Aspire e Microsoft Agent Framework.

5superfícies principais de produto

Agent, Skill, Flow, Team e Store mantêm identidades e ciclos de vida distintos.

14idiomas suportados

A landing estática publica rotas e metadados explícitos para cada locale não russo suportado.

10camadas de arquitetura

Do runtime compilado e recursos cloud até à superfície pública estática.

1endpoint MCP por Agent publicado

Cada Agent publicado expõe o seu endpoint Streamable HTTP ligado ao slug.

O percurso

A sua ideia é uma prompt. Produção são dez camadas empresariais.

Qualquer demo de IA parece igual dentro do ChatGPT. A distância real está entre essa demo e um cliente que continua a pagar, e é aí que a maioria das equipas encalha. Por isso, aqui está a nossa, do chão compilado até ao URL público. Dez camadas. Cada uma é a escolha aborrecida e de confiança. Cada uma é uma razão para alguém sem código conseguir lançar um produto a sério.

  1. 01A Fundação

    .NET 10 e C#: uma base compilada e tipada.

    O Prostir usa .NET 10 e C# 14 para contratos tipados, I/O assíncrono, dependency injection, options, telemetria, HTTP hosting, serviços em background e source generation. Estas capacidades servem um produto com APIs, proprietários de runtime duradouros, endpoints de protocolo e aplicações de browser. A linguagem, por si só, não garante custo, desempenho, consumo de energia nem segurança da cadeia de fornecimento; isso depende da carga, das dependências, do deployment e da operação.

    • net10.0
    • ASP.NET Core 10
    • C# 14
    • Source generators
    • Typed contracts
  2. 02A Cloud

    Azure: serviços geridos com limites de deployment explícitos.

    O Prostir usa Azure Container Apps, Cosmos DB Serverless, Blob Storage, Monitor, managed identity e RBAC como primitivas cloud. A Azure publica documentação de conformidade e condições de disponibilidade por serviço, mas isso não certifica automaticamente o Prostir nem cria um SLA geral do produto. As regiões e os recursos são aprovisionados pelo ambiente operacional, não escolhidos por quem visita esta página.

    • Azure Container Apps
    • Cosmos DB Serverless
    • Azure Blob Storage
    • Azure Monitor
    • Managed identity + RBAC
  3. 03A Ponte Local

    Aspire: um AppHost e wiring de integração.

    O Prostir.AppHost compõe Cosmos DB, Azure Storage, Orleans, API, Gateway, WebApp, Landing e SuperAdmin para fluxos locais e testes de integração automatizados. O harness de testes é dono dessas dependências e percorre limites reais quando o cenário o exige. Isto ajuda a encontrar diferenças de configuração, mas a prontidão de produção ainda exige validação do deployment, monitorização e verificações de release.

    • Aspire AppHost SDK
    • Aspire.Hosting.Azure.CosmosDB
    • Aspire.Hosting.Azure.Storage
    • Aspire.Hosting.Orleans
    • TUnit.Aspire
  4. 04O Runtime Distribuído

    Orleans: proprietários duradouros do estado.

    O Microsoft Orleans dá ao Prostir atores virtuais ligados a uma identidade para Agents, sessões, access grants, workflow runs e outro estado duradouro. Cada grain possui uma responsabilidade limitada e coordena o próprio estado em vez de depender de memória partilhada do processo. O Orleans fornece activation, placement, integrações de persistência, reminders e mensagens; o Prostir continua a definir autorização, limites de produto, falhas e política operacional.

    • Microsoft.Orleans.Server 10.2.2
    • ManagedCode.Orleans.SignalR
    • ManagedCode.Orleans.Identity
    • Cosmos persistence
    • Grain-owned state
  5. 05A Fronteira MCP

    ManagedCode.MCPGateway: MCP remoto que escala.

    A especificação MCP descreve um protocolo. Não descreve logins multi-cliente, registos de auditoria, tetos de custo nem limites de uso, que é precisamente o que um deploy real precisa. O ManagedCode.MCPGateway é a camada de borda que a Managed Code escreveu para o Prostir não ter de o fazer. Trata do transporte seguro, do acesso por cliente, dos limites por ferramenta e das respostas de erro limpas, tudo à frente do runtime Orleans para o qual encaminha as chamadas. Um único URL limpo e protegido encara o mundo.

    • ManagedCode.MCPGateway 0.4.5
    • ModelContextProtocol 1.4.1
    • Streamable HTTP
    • OAuth + PKCE
    • Bounded quotas
  6. 06A Camada de Conhecimento

    ManagedCode.MarkdownLd.Kb: contexto pesquisável das fontes.

    O ManagedCode.MarkdownLd.Kb transforma fontes suportadas em artefactos Markdown-LD ou JSON-LD e dados de grafo pesquisáveis. O ManagedCode.Storage possui a fronteira dos ficheiros e o JsonSchema.Net valida argumentos das ferramentas MCP contra o schema declarado. A pesquisa pode devolver contexto ligado à fonte quando o material indexado o permite; a qualidade das respostas e citações continua a depender das fontes, indexação, configuração e modelo.

    • ManagedCode.MarkdownLd.Kb 0.2.7
    • ManagedCode.Storage.Azure
    • JsonSchema.Net 9.3
    • PdfPig + OpenXml
    • Graph-backed retrieval
  7. 07O Cérebro de IA

    Uma fronteira de aplicação para modelos configurados.

    O Microsoft.Extensions.AI fornece a abstração IChatClient usada pelo Prostir, e o Microsoft Agent Framework executa Agents prompt e declarativos. As rotas atuais usam Azure OpenAI, fornecedores OpenAI-compatible ou ligações do criador expostas por essa fronteira. Disponibilidade e troca de modelo dependem da configuração, das capacidades compatíveis, das credenciais e da política do produto.

    • Microsoft.Extensions.AI
    • Microsoft.Agents.AI 1.15
    • Azure OpenAI + OpenAI-compatible
    • Prompt + declarative workflows
    • IChatClient middleware
  8. 08O Ciclo de Desenvolvimento

    Entrega assistida por agentes com regras de engenharia visíveis.

    O Prostir usa regras AGENTS.md do repositório, fatias verticais, code review, verificações focadas, testes de integração e gates de release. Os coding agents ajudam na investigação, implementação e revisão, mas não substituem o ownership de produto, o critério humano nem a verificação de cada alteração.

    Claude CodeOpenAI Codex
    • AI-assisted delivery
    • AGENTS.md rules
    • Vertical slices
    • Human-reviewed changes
    • Integration test gates
  9. 09A Borda do Produto

    Blazor, Stripe and Rozetka Pay, Stateless, Jint: a superfície virada ao criador.

    O criador nunca vê o gateway. Vê um workspace Blazor. O operador nunca vê o mapa de grains. Vê uma consola em Blazor Server. O Stateless dá carris a uma conversa. O agente está sempre nalgum estado, e o estado decide o que pode acontecer a seguir. Ponha-a num estado de «reunir os detalhes» e ela não salta para «dar a resposta» enquanto os detalhes não estiverem lá, tal como não enviaria um orçamento antes de ouvir o que o cliente precisa. O Jint corre pequenos pedaços de JavaScript numa sandbox quando uma ferramenta precisa de um número exato. O Stripe and Rozetka Pay integration transforma o acesso pago em permissões reais, com webhooks, checkout e limites de uso. Esta camada de produto sem brilho é o que torna a IA utilizável, e vendável.

    • Blazor WebAssembly 10
    • MudBlazor 9.7
    • Stripe and Rozetka Pay integration + webhooks
    • Stateless state machines
    • Jint 4 sandbox
  10. 10A Story Estática

    Landing Astro com metadados de descoberta explícitos.

    A página que está a ler é gerada como HTML estático pelo Astro. Canonical links, hreflang localizado, dados estruturados, sitemap, suporte IndexNow e llms.txt descrevem as rotas públicas pretendidas para máquinas. As verificações locais cobrem HTML, crawlability, acessibilidade e templates Lighthouse; os motores de busca decidem crawl, indexação e ranking.

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

O Resultado

Um endpoint MCP por agente, alojado, observável e vendável.

As camadas encontram-se num URL MCP ligado ao slug de cada Agent publicado. Clientes compatíveis ligam-se a esse endpoint Streamable HTTP, enquanto acesso, faturação, conhecimento, ferramentas, estado, memória, auditoria e limites permanecem capacidades explícitas ativadas pela configuração e pelos entitlements do Agent. O runtime usa ASP.NET Core, Aspire, Orleans, ManagedCode.MCPGateway e Microsoft.Extensions.AI.

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

Porquê .NET

Três stacks válidos e uma escolha documentada do Prostir.

Node.js, Python e .NET podem alojar servidores MCP. A tabela descreve as escolhas de implementação do Prostir; não é um ranking universal de desempenho, custo, energia ou segurança.

CapacidadeNode.js / ExpressPython / FastAPIProstir (.NET 10)
Runtime HTTPNode.js runtimePython ASGI runtimeASP.NET Core 10
Estado distribuído por identidadeChoose a state frameworkChoose a state frameworkOrleans 10.2.2 virtual actors
Dependency injection, options e telemetriaFramework or library choiceFramework or library choiceMicrosoft.Extensions.*
Abstração de IAProvider libraries or abstractionProvider libraries or abstractionMicrosoft.Extensions.AI + Agent Framework 1.15
SDK MCPOfficial MCP TypeScript SDKOfficial MCP Python SDKOfficial MCP C# SDK 1.4.1
Validação de schemas de ferramentasLibrary-selected validationLibrary-selected validationJsonSchema.Net 9.3
Modelo de contratosTypeScript contractsPython typing toolsC# 14 + source generation
Composição localLocal process toolingLocal process toolingdotnet watch + Aspire AppHost

As colunas Node.js e Python indicam escolhas comuns, não limitações. A coluna Prostir foi verificada nos package e project files atuais.

Porquê Azure

Mesmo backend MCP. Feito para a cloud onde corre.

Não é uma folha de preços, é de adequação. É aquilo de que um backend MCP pago e multi-cliente precisa mesmo, e onde cada coisa assenta melhor na Azure. A AWS é excelente. Isto é, simplesmente, onde o produto assenta.

O que importaNa AWSProstir na Azure
Evidência de controlos e conformidadeService-specific controls and certificationsAzure service controls; Prostir deployment assessed separately
Condições de disponibilidadePer-service and per-region termsNo blanket Prostir SLA is claimed here
Colocação regionalRegion configured per workloadOperator-provisioned regional resources
Rede e ingressOptional global networking servicesConfigured Gateway and static-site routing
Rotas de fornecedores de modelosBedrock and partner model routesAzure OpenAI, OpenAI-compatible, and creator BYOK routes
Acesso de clientesCognito or custom identityProstir access and OAuth policy above the hosting layer
Runtime da aplicaçãoRuntime selected by the team.NET, Orleans, Aspire, and Managed Code libraries
Hosting da landing estáticaS3 + CloudFront or AmplifyAzure Static Web Apps for this landing

Os fornecedores cloud documentam as capacidades dos seus serviços. Certificação, SLA, regiões de deployment e controlos operacionais do Prostir devem ser verificados separadamente para o ambiente real.

Open source

O open source que entregamos. O open source que usamos.

O Prostir é construído pela Managed Code sobre open source da Microsoft e da comunidade. Cada pacote em baixo é real, dos ficheiros do nosso projeto, não uma lista de desejos de marketing.

01

Feito pela Managed Code

Managed Code não é só o crédito do rodapé. O gateway MCP, o pipeline de conhecimento, o storage e as integrações Orleans por baixo da seu agente publicado são open source da Managed Code que mantemos e entregamos.

02

A fundação .NET

Tudo o que a Microsoft tem levado a GA desde o .NET 6 juntou-se em .NET 10 e Aspire. É a canalização aborrecida e de confiança por baixo de cada página do Prostir.

03

IA, MCP e as bibliotecas por cima

O Prostir usa Microsoft.Extensions.AI como fronteira de chat e Microsoft Agent Framework 1.15 para executar Agents. O runtime também usa o SDK MCP oficial para C# 1.4.1, Jint para ferramentas JavaScript limitadas, Stateless para máquinas de estados e integrações Stripe e Rozetka Pay para fluxos de pagamento suportados.

04

Como este site é construído e publicado

O Prostir usa desenvolvimento assistido por agentes com regras do repositório, code review, verificações automatizadas e ownership humano. O AGENTS.md mantém o contrato de entrega visível e o Astro gera a página estática e localizada que está a ler.

FAQ técnica

Perguntas que as equipas fazem antes de construir neste stack.

Estas respostas ligam o stack a decisões reais de produção: Orleans, Aspire, C#, MCP, faturação, acesso, conhecimento e visibilidade operacional.

Que trabalho real o Orleans faz no Prostir?O Orleans gere identidades de runtime que vivem muito tempo: agentes, sessões, clientes, access grants, conversas de canais, reservas de wallet e execuções de workflow. Cada uma tem id estável, estado e comportamento, em vez de esconder estado num singleton, cache ou processo de fundo.Ler
Quando o Orleans é melhor que uma fila mais uma API CRUD?Quando há muitas entidades pequenas e quase independentes que precisam de request-response, fluxos start-monitor-complete ou estado por identidade. A Microsoft cita user profiles, purchase orders, sessions, stocks e social pub/sub; o Prostir aplica o padrão a agentes, sessões de cliente e workflow runs.Ler
O que é um grain em termos de produto?Um grain é um ator virtual: um objeto lógico com identidade, comportamento e estado persistente opcional. No Prostir pode ser um agente publicado, uma conversa de cliente, um access grant ou uma execução de workflow.Ler
Como o Orleans ajuda no isolamento entre clientes?O estado é chaveado por owner, agent, customer ou run identity, por isso o trabalho cai em grains isolados e não em memória partilhada do processo. Uma sessão com falha não vira estado global mutável para todos os outros tenants.Ler
Quais são os principais riscos do Orleans?Os riscos são grains demasiado faladores, um coordenador que vira gargalo, chamadas síncronas bloqueantes, mensagens grandes e estado partilhado escondido. O Prostir controla isso com ownership vertical, chamadas async, stateless workers para fan-out e testes de integração pelo caminho real Gateway/API/Orleans.Ler
O que o Aspire acrescenta além do Docker Compose?O Aspire dá à solução .NET um AppHost que conhece projetos, dependências, service discovery, configuração, health, telemetria e recursos cloud. Não é só iniciar processos; é o grafo de recursos para local, CI e Azure.Ler
Como o Prostir usa Aspire nos testes?O AppHost inicia os recursos necessários aos testes de integração e browser, incluindo Cosmos DB, Azure Storage, Orleans, API, Gateway, Landing, WebApp e SuperAdmin. Isto exercita os mesmos limites de serviço; produção mantém configuração e controlos de release próprios do deployment.Ler
Por que o runtime é em C# e .NET?O runtime precisa de contratos fortes, async IO, dependency injection, options, telemetria, HTTP hosting, background workers, source generation e deployments previsíveis. O .NET entrega isso como infraestrutura first-party, não como pacotes soltos.Ler
O .NET prende o Prostir a um só provider de IA?Não. Microsoft.Extensions.AI e `IChatClient` dão uma fronteira estável para chat e tools. O modelo concreto vem de uma ligação Azure OpenAI, OpenAI-compatible ou do creator que cumpra o contrato de runtime.Ler
O que torna MCP difícil em produção?O protocolo é só a entrada. Um endpoint MCP remoto e pago também precisa de OAuth, access grants, tenant checks, tool schemas, rate limits, quotas, faturação, auditoria, erros confiáveis e um hot path que não leia a base de dados inteira a cada request.Ler
Onde entra o ManagedCode.MCPGateway?ManagedCode.MCPGateway é a borda de protocolo à frente do runtime Orleans. Expõe o endpoint MCP remoto, encaminha tool calls, aplica limites visíveis de ferramentas e mantém o protocolo fora da API de estado do produto.Ler
Como o acesso pago vira permissão de runtime?Checkout e webhooks dos providers do vendedor criam ou revogam access grants. O Gateway verifica esses grants antes de chamadas MCP protegidas, então o estado de pagamento vira permissão de runtime, não uma folha de cálculo.Ler
Como a camada de conhecimento evita prompt stuffing?Os ficheiros viram artefactos Markdown-LD / JSON-LD e dados de grafo pesquisáveis. O runtime recupera contexto limitado e ligado à fonte quando o índice o suporta; a qualidade depende das fontes, indexação, configuração e modelo.Ler
Que casos reais encaixam neste stack?Encaixam agentes de conhecimento pagos, copilotos de suporte com memória de cliente, process agents com state machines, agentes de canal para Telegram ou web widgets, skill passports vendáveis e workflows que precisam de progresso, retries e audit.Ler
Quando este stack é demais?Se só precisa de um site estático, uma demo de prompt ou um chatbot privado sem auth, tools, billing, state nem customer memory, use algo mais simples. O Prostir existe quando o agente vira um produto hospedado de que outras pessoas dependem.Ler
O Prostir funciona por API ou por MCP?Para usar um Agent no Claude, ChatGPT e noutros clientes compatíveis, a entrega acontece pelo endpoint MCP remoto. O Prostir também usa APIs e webhooks para gestão no browser, pagamentos e integrações aprovadas. A plataforma corre na cloud com .NET e Azure; ligar um CRM, base de dados ou sistema privado depende do plano e pode exigir um âmbito personalizado.Ler

Tecnologia

Ligue a tecnologia a um percurso de produto concreto.

Os guias e exemplos mostram onde entram conhecimento, ferramentas, estado, memória, faturação, acesso, quotas e visibilidade operacional. Casos de clientes verificados continuam a ser uma categoria de evidência separada.