Skip to content

AgentVM: add reproducible image build process #5355

@beastoin

Description

@beastoin

Problem

The omi-agent GCE base image (omi-agent-base-v3) was manually built — there's no build script, no CI workflow, and no documentation for how to reproduce it. This causes issues:

  1. No dev imagebased-hardware-dev had no omi-agent image at all. Had to manually build one today to unblock desktop backend dev testing.
  2. No reproducibility — if the image needs updating (Node version bump, new system deps), someone has to SSH into a VM and hand-configure it again.
  3. No version tracking — unclear what's installed on omi-agent-base-v3 vs previous versions.

The image itself is simple: Ubuntu 22.04 + Node 22 + npm deps (@anthropic-ai/claude-agent-sdk, better-sqlite3, ws, zod, @playwright/mcp) + omi user with /home/omi/omi-agent/ directory. All runtime code (agent.mjs, env-shared.sh) is pulled from GCS on boot.

Suggested fix

Add a build script (e.g. desktop/agent-cloud/build-image.sh) that:

  1. Creates a temporary GCE VM
  2. Runs the setup (install Node, create user, npm install)
  3. Creates a new image in the omi-agent family
  4. Deletes the temporary VM

Could also be a GitHub Actions workflow that builds the image on demand or when desktop/agent-cloud/package.json changes.

Both based-hardware (prod) and based-hardware-dev should have their own image, built from the same script.

@m13v — could you review? The current prod image was built manually and there's no way to reproduce or update it without SSH access and tribal knowledge.

Metadata

Metadata

Assignees

Labels

p2Priority: Important (score 14-21)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions