Koder Personal Computer (KPC) — persistent per-user VM for Kode agents 24/7
RFC: Koder Personal Computer (KPC)
Status
*atified*— 20260512 pelo owner (@rpm). Decisões D1–D5 abaixo.
Motivação
Manus lançou em 20260430 o "Cloud Computer" — uma VM Ubuntu 24.04 persistente per-usuário onde o agente Manus roda 24/7 entre conversas, com cron, filesystem persistente, Chromium controlável, e shell com sudo. Pricing $10–50/mês, headless (sem GUI).
O Koder Stack tem *odas as primitivas*pra fazer o equivalente — mas espalhadas em sectors separados sem produto unificador:
services/ai/sandbox— isolamento FirecrackergVisorDocker(v0.0.1 bootstrapping; spec já lista "persistent session state")
services/ai/agents— agent loop com tools + MCPservices/ai/kode— Kode CLI/app (agente Koder canônico, combuilds
.deb.aab.apkshipados)services/ai/runtime— model inference backend (vantagem vs Manus:Koder não depende de Anthropic externo)
services/ai/workflow— DAG/state machine multi-stepservices/ai/hub— dashboard web + playgroundinfra/net/cloud— Koder Cloud (Proxmox-style infra mgmt, GPUsupport) — substrato natural pra hospedar as VMs KPC
services/foundation/billing— billing tieredservices/foundation/id— ownership via Koder ID
O que falta é o *undle consumer-facing* o produto que empacota "VM persistente + Kode agent pré-instalado + dashboard + billing" como SKU única, igual o Manus Cloud Computer empacotou.
KPC é esse produto.
Diferenciação vs Manus Cloud Computer
| Eixo | Manus Cloud Computer | KPC (proposto) |
|---|---|---|
| Framing | "Cloud Computer" — location-focused | "Personal Computer" — ownership |
| Inference | Bundled (Anthropic externo) | Self-hosted via services/ai/runtime (sem dependência externa) |
| Sandbox | E2B / Firecracker | services/ai/sandbox (Firecracker) sobre infra/net/cloud |
| Agent | Manus agent (proprietary) | Kode agent (services/ai/kode, open via Koder Cloud) |
| Hosting | Cloud da Manus | Auto-hospedável no Koder Cloud do usuário OU SaaS hospedado pela Koder |
| Identidade | Manus account | Koder ID (OIDC) |
| GPU | Não documentado | First-class via infra/net/cloud |
| Persistência | 24/7, files + processes + cron | Idem |
A frase de venda: "Manus Cloud Computer, mas seu". A diferenciação não é técnica — é de ownership posture. Selfhostedfirst.
Decisões ratificadas (20260512)
- *1 — Hosting model. Decisão: ambos*— SaaS (Koder hospeda VMs)
**bring
yourown (usuário roda no próprio Koder Cloud). MVP ship SaaS primeiro (per § Não-goals MVP); BYO entra em v0.2. Justifica: SaaS pra adoção rápida, BYO pra selfhostedfirst puro.
- *2 — Pricing tiers. Decisão: SaaS espelha Manus*($10 Basic /
\(30 Pro / \)80 Max / \(50 Family / \)200 Team), *YO grátis*(usuário paga compute Koder Cloud direto). Parity facilita benchmarking versus Manus; BYO grátis tira friction pra self-hosters.
- *3 — Default agent persona. Decisão: Kode default + MCP plug*
pra trazer agentes externos (Claude / GPT / modelo próprio). Match com
services/ai/mcp-registry. Kode é o canônico Koder perservices/ai/kode; MCP abre flexibilidade sem comprometer default.
- *4 — Sandbox semantics. Decisão: Hub Web Terminal default + SSH
opt-in*(via Koder ID SSH key). "Personal" justifica acesso direto pra power-users; Hub é o caminho mainstream. Match com
engines/sdk/koder_kit(KoderApp embarca Kode agent UI).
- *5 — Multi-tenancy. Decisão: Personal1 user; FamilyN users com
mesmo
workspace_id; Team=N users + RBAC* Aplicapolicies/multi-tenant-by-default.kmd.workspace_idé o eixo natural pra "household sharing"; RBAC entra só em Team.
Arquitetura de alto nível
┌────────────────────────┐
│ Web Dashboard (Hub) │ ← user UI: lifecycle, terminal, billing
│ kpc.koder.dev │
└──────────┬─────────────┘
│ REST/WebSocket
┌──────────▼─────────────┐
│ KPC Control Plane │ ← services/ai/kpc/backend
│ (Go, on Koder Cloud) │
└──────────┬─────────────┘
│ provision/lifecycle calls
┌──────────────────────┼──────────────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────────┐ ┌──────────────┐
│ services │ │ services/ai/ │ │ infra/net/ │
│ /ai/ │ ↔ uses │ kode │ ↔ │ cloud │
│ sandbox │ │ (agent) │ │ (hypervisor) │
└──────────┘ └──────────────┘ └──────────────┘Cada KPC instance =
- 1 Firecracker microVM (Ubuntu 24.04 base)
- Kode agent pré
instalado (systemd unit, sempreligado) - Filesystem persistente (mount BTRFS / ZFS subvolume no Koder Cloud)
- Cron + scheduler herdados do Linux base
- Headless: shell + Chromium controlável (sem GUI)
- Exposed: SSH (opt
in), Hub Web Terminal (default), Public HTTPS ingress (optin via Jet) - Identity: bound a
koder_user_id(+ optionalworkspace_id) - Billing:
services/foundation/billingcharge mensal por tier
Tiers (esboço — D2 ratifica valores)
| Tier | Resources | Use case | Pricing (SaaS) | BYO |
|---|---|---|---|---|
| *PC Basic* | 2 vCPU / 1 GB RAM / 10 GB disk | Discord bot, lightweight scraper | $10/mo | grátis + compute Koder Cloud do usuário |
| *PC Pro* | 2 vCPU / 4 GB RAM / 50 GB disk | Self-host WordPress/Plausible | $30/mo | idem |
| *PC Max* | 4 vCPU / 16 GB RAM / 200 GB disk + GPU opt | Fine-tune model + 24/7 serve | $80/mo (Manus não tem GPU) | idem |
| *PC Family* | Pro + N users (até 5) | Casa toda compartilha 1 VM | $50/mo flat | idem |
| *PC Team* | Max + N users + RBAC | Time pequeno + repo CI | $200/mo flat | idem |
Plano de implementação (escopo MVP)
| Ticket | Componente | Esforço |
|---|---|---|
| #001 | RFC ratificada + sector skeleton (este ticket) | 0.5d |
| #002 | Control plane API skeleton — provisão / lifecycle / billing hooks | 3d |
| #003 | Integração com services/ai/sandbox pra spawn Firecracker |
2d |
| #004 | Kode agent pré-install hook (systemd unit + bootstrap script) | 1d |
| #005 | Web Terminal no Hub dashboard | 2d |
| #006 | Landing kpc.koder.dev (spec: landing-pages/products.kmd) |
1d |
| #007 | Pricing + billing wiring com services/foundation/billing |
2d |
| #008 | E2E test: provision Basic tier + Kode bootstraps + persiste filesystem entre sessões | 2d |
| *otal MVP* | *13.5d*= 2-3 sprints |
Critério de aceite v0.1
- 1 usuário consegue criar uma KPC Basic via dashboard
- Kode agent inicia automaticamente após bootstrap
- Filesystem persiste entre paradas e starts
- Billing cobra $10/mo correto
- SSH funciona (opcional, via SSH key Koder ID)
- Audit log de comandos executados na VM (link com
services/ai/trace)
Não-goals MVP
- GPU support (deferred — KPC Max tier)
- Multi-user / RBAC (deferred — KPC Family/Team tiers)
- Custom AMI / templates customizados (deferred — Ubuntu base only no MVP)
- Inter-KPC networking (deferred — cada VM isolada)
- BYO Koder Cloud (deferred — SaaS only no MVP, BYO em v0.2)
Referências
- Manus Cloud Computer announcement (2026
0430): https:/anus.imblogmanuscloudcomputer - E2B integration (sandbox underlying): https:/2b.devbloghow
manususese2btoprovideagentswithvirtual-computers services/ai/sandboxREADME — Firecracker spec + persistenceservices/ai/kode— agent canônico Koderinfra/net/cloud/README.kmd— hypervisor management layerpolicies/self-hosted-first.kmd— ownership posturepolicies/multi-tenant-by-default.kmd— koderuserid / workspace_id