Agent, Skill, Flow, Team e Store mantêm identidades e ciclos de vida distintos.
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.
A landing estática publica rotas e metadados explícitos para cada locale não russo suportado.
Do runtime compilado e recursos cloud até à superfície pública estática.
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.
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.
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.
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.
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.
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.
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.
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.
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 Codex09A 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.
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.
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.
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.
| Capacidade | Node.js / Express | Python / FastAPI | Prostir (.NET 10) |
|---|---|---|---|
| Runtime HTTP | Node.js runtime | Python ASGI runtime | ASP.NET Core 10 |
| Estado distribuído por identidade | Choose a state framework | Choose a state framework | Orleans 10.2.2 virtual actors |
| Dependency injection, options e telemetria | Framework or library choice | Framework or library choice | Microsoft.Extensions.* |
| Abstração de IA | 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 |
| Validação de schemas de ferramentas | Library-selected validation | Library-selected validation | JsonSchema.Net 9.3 |
| Modelo de contratos | TypeScript contracts | Python typing tools | C# 14 + source generation |
| Composição local | Local process tooling | Local process tooling | dotnet 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 importa | Na AWS | Prostir na Azure |
|---|---|---|
| Evidência de controlos e conformidade | Service-specific controls and certifications | Azure service controls; Prostir deployment assessed separately |
| Condições de disponibilidade | Per-service and per-region terms | No blanket Prostir SLA is claimed here |
| Colocação regional | Region configured per workload | Operator-provisioned regional resources |
| Rede e ingress | Optional global networking services | Configured Gateway and static-site routing |
| Rotas de fornecedores de modelos | Bedrock and partner model routes | Azure OpenAI, OpenAI-compatible, and creator BYOK routes |
| Acesso de clientes | Cognito or custom identity | Prostir access and OAuth policy above the hosting layer |
| Runtime da aplicação | Runtime selected by the team | .NET, Orleans, Aspire, and Managed Code libraries |
| Hosting da landing estática | S3 + CloudFront or Amplify | Azure 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.
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.
- Managed CodeA equipa por trás do Prostir. Abrimos os primitivos de backend que nós próprios usamos.
- ManagedCode on GitHubMCPGateway, MarkdownLd.Kb, Storage, Communication, extensões Orleans e mais.
- ManagedCode.MCPGatewayGateway MCP remoto com OAuth, multi-cliente, auditoria e quotas por ferramenta.
- ManagedCode.MarkdownLd.KbPipeline de conhecimento Markdown-LD / JSON-LD com pesquisa por grafo.
- ManagedCode.Storage.AzureAbstração de storage para ficheiros, memória e artefactos de runtime em Azure Blob.
- ManagedCode.CommunicationContratos Result, Command e CollectionResult nas fronteiras de API e Orleans.
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.
- .NET 10Runtime compilado, C# 14 e source generators.
- ASP.NET Core 10HTTP, autenticação, OpenAPI, SignalR, JsonPatch e hosted services.
- AspireOrquestração do AppHost, service defaults e recursos de deployment.
- Microsoft Orleans 10Runtime de atores virtuais para .NET distribuído: grains, persistência, placement, stateless workers e telemetria de dashboard.
- EF Core 10 (Cosmos)Persistência tipada e modelo de query sobre Azure Cosmos DB.
- MudBlazorComponentes Material Design para o workspace do criador.
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.
- Microsoft.Extensions.AIUma única interface para chat, embeddings, chamadas a ferramentas e telemetria.
- Microsoft Agent FrameworkMicrosoft Agent Framework 1.15 para Agents prompt e declarativos.
- Model Context Protocol C# SDKO SDK oficial em C# para servidores e clientes MCP.
- JintUm motor de JavaScript dentro do .NET. Corre os scripts de ferramenta que o criador escreve.
- StatelessMáquinas de estados que decidem o que o agente pode fazer a seguir.
- Stripe and Rozetka Pay integrationO cliente Stripe and Rozetka Pay para acesso pago, checkout e webhooks.
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.
- Agent-assisted developmentO AGENTS.md e os testes de integração mantêm previsível o ciclo de construção assistido por agentes.
- Repository delivery rulesO desenvolvimento assistido por agentes segue as mesmas regras do repositório e de revisão que as outras alterações.
- AstroAs regras de entrega descrevem ownership, verificação e limites de release.
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.