On this page

Agent product model

MIOSA lets builders create products where agents do real work in cloud devices. The product model is deliberately small:

Agent + Device + Tools + Run stream + Artifacts + Credits

That model supports simple one-shot commands, generated app builders, browser automation, artifact workspaces, 24/7 company operators, white-label SaaS backends, and multi-agent fleets.

Use this page as the canonical vocabulary for products built on MIOSA.


Core primitives

PrimitiveMeaningOwned by
AgentThe worker identity: instructions, runtime, model, tools, memory, policyYour product or MIOSA
RuntimeThe implementation that reasons and acts: OSA, Codex, Claude Code, Hermes, Pi, customAgent configuration
DeviceThe machine where work happens: sandbox, computer, or local deviceMIOSA
RunA prompt dispatched to an agent on a deviceYour product and MIOSA
SessionA long-lived run that can receive more tasksAgent runtime
ToolA capability: files, exec, browser, connector, deploy, artifact, MCPRuntime and policy
EventA streamed record of work: tool call, command output, file change, screenshotMIOSA stream
ArtifactA durable output: file, image, PDF, DOCX, report, preview, app URLMIOSA storage
SnapshotSaved filesystem/device state for resume, fork, or rollbackMIOSA
CreditsThe metering unit for model usage, device runtime, tools, storage, and hostingBilling ledger

Boundary

Your product backend decides:

  • who the user is
  • what workspace, project, and budget apply
  • which agent should run
  • which runtime should power the agent
  • which device the agent can use
  • which tools and connectors are allowed
  • which actions require approval
  • how events appear in your UI

MIOSA provides:

  • sandbox lifecycle
  • computer lifecycle
  • local-device pairing
  • filesystem and exec APIs
  • browser/desktop execution
  • previews and routing
  • snapshots and persistence
  • artifacts and downloads
  • deploy and App Engine
  • event streaming
  • credit metering hooks

Product categories

App builder

The agent writes code inside a persistent sandbox, starts a preview, fixes errors, creates artifacts, and publishes the finished app.

Artifact workspace

The agent creates PDFs, DOCX files, diagrams, images, reports, ZIPs, and HTML previews, then stores each output with version history.

Browser operator

The agent uses a computer to click, type, log in, fill forms, inspect pages, capture screenshots, and verify workflows.

Virtual device product

Users and agents share persistent devices with files, browser state, jobs, previews, connected apps, and recoverable sessions.

Agent-company platform

An orchestrator delegates work to department agents across sandboxes, computers, connectors, and scheduled jobs.

White-label SaaS backend

Your platform routes prompts from your users into MIOSA resources while preserving your own workspace, project, and billing model.


Product stack

Most MIOSA-powered products have the same layers:

LayerResponsibility
Product UIChat, tasks, files, artifacts, preview, approvals, usage
Product APIAuth, tenancy, workspace/project mapping, budgets, policies
OrchestratorAgent selection, runtime routing, device assignment, queues
MIOSA devicesSandboxes, computers, local devices, previews, snapshots
Tool layerFiles, exec, browser, connectors, egress, deploy, MCP
Event streamLive progress, stdout, screenshots, artifacts, errors
Billing ledgerCredits by model, device, connector, storage, deployment

The product UI should make the run visible. Users should see what the agent is doing, not only a final chat answer.

Recommended panes:

  • chat or task input
  • current plan
  • live tool calls
  • command output
  • file tree or artifact list
  • preview/browser panel
  • approvals
  • credits used
  • final outputs

Canonical run shape

type AgentRun = {
  id: string;
  tenantId: string;
  workspaceId: string;
  projectId?: string;
  userId: string;
  agentId: string;
  runtime: "osa" | "codex" | "claude-code" | "pi" | "hermes" | "custom";
  device: {
    type: "sandbox" | "computer" | "local";
    id: string;
  };
  prompt: string;
  status: "queued" | "running" | "waiting_for_approval" | "failed" | "completed";
  approvalPolicy: "auto" | "confirm-risky" | "manual";
  idempotencyKey: string;
};

Every run should have:

  • one owner workspace
  • one initiating user or service account
  • one selected agent
  • one primary device
  • one idempotency key
  • a typed event stream
  • a credit ledger record
  • a recovery path if it fails after creating resources

Event stream

The event stream is what makes the product feel alive.

EventPurpose
run.queuedRequest accepted and waiting for execution
run.startedRuntime and device assigned
agent.message.deltaAssistant text streaming to the UI
plan.updatedAgent created or changed the task plan
tool.startedTool, MCP, connector, or device action started
tool.completedTool completed with result metadata
command.outputstdout/stderr chunks from exec
file.changedFile create/update/delete/rename
preview.readyLive server URL passed readiness
browser.screenshotComputer/browser image captured
artifact.createdDurable output available
approval.requiredHuman approval needed
credits.estimatedExpected cost for a risky action
credits.chargedMetering entry committed
deployment.readyPublic URL live
run.failedTyped failure with recovery instruction
run.completedFinal answer and outputs are ready

Do not build a product that hides all of this until the end. The visible stream is how users trust that the agent is working.


What gets billed

Credits should be metered by resource category:

CategoryExamples
ModelOSA/model tokens, external model calls, hosted agent runtime
Device runtimeSandbox CPU/RAM time, computer time, local-device relay
ToolingBrowser actions, connector token requests, Refero design research, web search
StorageArtifacts, snapshots, persistent workspace storage, logs
DeploymentMIOSA Deploy, App Engine, domains, always-on apps

This means the user does not need to understand every infrastructure detail. They buy credits; credits power agents doing real work on devices.


See also

Was this helpful?