Sealos's homepage doesn't pitch a PaaS anymore. It pitches "The AI-Native Cloud Platform — Deploy Anything with a Prompt," and its GitHub description now reads "AI-native Cloud Operating System" instead of the Kubernetes-distribution language it used a few years ago. Type a description of an app into a chat box, and Sealos claims it lands running on a Kubernetes cluster — no git push, no Dockerfile, no dashboard form. It reads like a new product category, the same way "agentic" reads like a new adjective. It isn't one. Trace what actually happens after that prompt, and Sealos's own architecture gives away the answer: it's the same declarative, controller-reconciled API surface a git-push PaaS already exposes, wearing a chat window instead of a form.
What Actually Runs When You "Deploy With a Prompt"
Sealos didn't build a new deployment engine for its AI pitch. It built sealos-skills — an agent-skill pack that works with Claude Code, Codex, and Gemini CLI — and pointed it at the deployment surface Sealos already had. The skill list is the tell: sealos-deploy (deploy a local or GitHub project), sealos-database (create and connect a managed database), sealos-s3 (create buckets and credentials), sealos-canvas (view what got deployed). Each one maps one-to-one onto a feature the Sealos dashboard has shipped for years — App Store deployment, one-click Postgres/MySQL/Redis/MongoDB, object storage — with the added step of an LLM inspecting the target project first, so it can prepare a Dockerfile or missing config the human dashboard flow would otherwise have made you supply by hand.
Underneath the skill, nothing about the deployment path changed. Sealos is a Kubernetes distribution that extends the API server with custom resources — CRDs for apps, databases, DevBox environments, object storage — and a set of controllers that reconcile those CRDs into standard Kubernetes objects (Deployments, StatefulSets, Services, Ingresses). Whether a DevBox release or an App CRD gets created by a human clicking "Deploy" in the desktop UI or by an agent running sealos-deploy after reading a prompt, the object that lands in etcd is the same object, validated by the same schema, reconciled by the same controller loop. The prompt is a new front door. The house behind it — CRD in, controller reconciles, standard Kubernetes resources out — is the one Sealos already had.
The Same Pattern, Three Platforms
This isn't a Sealos-specific move — it's what "AI-native" means for every PaaS retrofitting agent support onto an existing API, and lining three of them up side by side makes the shared shape obvious:
| Platform | Agent-facing surface | What it actually calls |
|---|---|---|
| Sealos | sealos-skills (agent skill pack for Claude Code / Codex / Gemini CLI) | The same CRDs (App, DevBox, database, object storage) the Sealos Desktop dashboard creates; reconciled by the same controllers |
| Railway | Agent Skills + an MCP server | The same project/service/deploy primitives Railway's CLI and dashboard already call |
| bex | An MCP server (list_services, get_service, restart_service, …) | The same Service methods bex's REST and GraphQL surfaces call — by design, so the three surfaces "cannot drift" |
bex's own MCP implementation states the pattern out loud in its source comments: every MCP tool "delegates to the same Service method REST/GraphQL call" — the tool names track Render's official MCP server verbs (list_services, get_service), and the lifecycle tools are bex extensions named after bex's own REST verbs, not a parallel deployment path invented for agents. Railway did the same thing from the other direction: its docs describe an MCP server and "Agent Skills" sitting in front of the exact project/service/variable primitives its CLI has exposed since before any of this was called agentic. None of the three platforms built a second way to deploy an app. They all built a translation layer between "a prompt" and the declarative object their existing controller already knows how to reconcile.
Why the Rebrand Is Happening Now
Sealos isn't alone, and the timing isn't a coincidence. Through 2026, a run of purpose-built "AI-PaaS" platforms — Sealos among them — has been pitched explicitly against generic, Kubernetes-default infrastructure: the argument is that a team standing up its own cluster and gluing together a CI pipeline, a database operator, and an ingress controller is doing manual integration work a specialized platform now does for a prompt. That's a real competitive threat to any platform, self-hosted or not, whose value proposition used to be "less YAML than raw Kubernetes" — because "less YAML than raw Kubernetes" is table stakes once the AI-PaaS pitch is "no YAML, describe it instead."
It's also where the license fine print matters more than the marketing copy. Sealos publishes its source under a custom "Sustainable Use License" — free for internal business use and personal projects, but explicitly not a standard OSS license (no OSI approval, no unrestricted right to host it as a competing commercial service) — while positioning itself as the self-hostable alternative to renting a closed platform. A team choosing Sealos to escape vendor lock-in is trading one set of restrictions for another, just further from the surface. That's a meaningfully different bet than a platform under Apache-2.0, where "self-hosted" means no license carve-out to read before you redistribute or resell.
What Prompt-to-Deploy Actually Gets Right
None of that makes prompt-to-deploy a wash. Watching sealos-deploy run against a bare Express app with no Dockerfile and no deployment config is instructive, because it does three things a plain git push to a git-push PaaS won't do on its own:
- It writes the missing artifact instead of rejecting the push. A git-push PaaS without a buildpack match, or an MCP
deploytool called against a repo with nobex.yml, fails closed — the human has to go write the Dockerfile or the manifest first.sealos-deployinspects the project, detects it's a Node/Express app with no container definition, and generates one before it ever calls the deploy API. The gap it closes is real: zero pre-existing deployment config, not just zero human clicks. - It provisions multiple resources in one turn. "Deploy this app with a Postgres database and an S3 bucket for uploads" is one conversational ask that fans out to
sealos-deploy+sealos-database+sealos-s3inside a single agent turn. The equivalent on an MCP-driven git-push PaaS today is three separate tool calls the agent (or the human prompting it) has to sequence itself — the CRDs and controllers behind each one are just as declarative, but nothing yet stitches "app plus its dependencies" into a single request the way a prompt naturally does. - It turns catalog discovery into conversation. Picking a database engine and version, or an App Store image, from a dashboard means a human already knows what they want. A prompt can say "I need a Redis cache" and let the agent resolve that to the specific CRD fields — a discovery step a plain API call skips only because the caller was assumed to already know the answer.
Those are legitimate UX wins over a bare git-push flow with no agent layer in front of it. What they are not is evidence of a different deployment architecture — they're exactly the kind of gap-filling a thin, well-designed agent adapter is supposed to close, on top of a substrate that was already declarative.
The Real Dividing Line Isn't Prompt vs. Git Push
The question worth asking about any "AI-native" PaaS claim isn't "does it accept a prompt" — plenty of things accept a prompt and then shell out to terraform apply against hand-typed HCL, or worse, mutate infrastructure imperatively with no record of what changed. The question is: does a declarative object exist behind the interface, so the deployment is idempotent, diffable, and reconstructable from source of truth — regardless of what produced it?
Sealos passes that test. Its CRDs are the backing store; the prompt and the dashboard are two callers writing to the same object. bex passes it too — the App custom resource and a repo's bex.yml are the backing contract, and the MCP server, the REST API, and kubectl get apps.app.bex.co are three read/write paths onto the same state, not three competing definitions of it. A prompt-to-deploy tool with no declarative backing store — one that just runs shell commands an LLM improvised — fails that test regardless of how good its chat UX is, because there's no source of truth to diff against, retry safely, or reconcile after a partial failure.
That's the actual fork in the road, and it has nothing to do with whether the front door is a prompt, a form, or a git push. Judge any "AI-native cloud" claim — Sealos's or anyone else's — by what's reconciling the object behind the interface, not by whether the interface itself is new.
Where This Leaves a Git-Push PaaS
For a self-hosted, git-push-first PaaS, the useful takeaway isn't "add a chat box." It's that the chat box is cheap because the hard part — a declarative object with a stable schema, reconciled by a controller loop an agent can retry and diff against — is a prerequisite bex already ships, not a rebrand it needs to buy. bex's App CR and bex.yml play the same role Sealos's CRDs play; the MCP server sitting on top is the same category of thin adapter sealos-skills is. The gap worth closing isn't "AI-native" positioning — it's the concrete UX wins Sealos's skill pack demonstrates: scaffolding missing deployment config instead of failing closed, and fanning a single request out across app-plus-dependencies instead of making the caller sequence three tool calls by hand.
bex.co is the open-source, AI-native Render alternative — push a git repo, get a running HTTPS service on machines you own, with an MCP server exposing the same declarative App contract as the REST and GraphQL surfaces. Star the repo on GitHub or deploy your first app today.



