AI & integration

Guest messaging

Call a program inside a VM like a web service, or message it on a topic, with no network card.

What it is

Call a program inside a VM like a web service, with no network card.

Send HTTP requests straight to a workload inside a FlashVM. Or deliver messages on named topics and read its replies as they arrive. No network card, no exposed port.

Why it matters

AI tools inside a sandbox need a way to talk. Guest messaging gives them one with the network sealed shut.

  • Zero network surface. The VM needs no NIC and opens no port.
  • Topic allowlist. Each VM decides which topics it sees.
  • Streaming replies. What the guest publishes arrives live.

Runs on

  • Linux x86_64
  • Linux arm64
  • macOS
  • Windows x64
  • Windows arm64

How it works

Name the port and topics at launch, then talk to the VM.

CLI

flash run --bundle BUNDLE --id worker --vcpus 1 --mem-mib 256 --http-port 8080 --messaging-topics jobs,results --detach
flash guest http worker /hello
flash guest send worker jobs '{"job":"resize photo"}'
flash guest recv worker --for 5

MCP

flash_api(vm_id: "worker", method: "POST", path: "/v1/flashvm/guest/messages", body: {"topic": "jobs", "payload": "{\"job\":\"resize photo\"}"})

API

POST /v1/flashvm/guest/requests {"method": "GET", "path": "/hello"}
POST /v1/flashvm/guest/messages {"topic": "jobs", "payload": "{\"job\":\"resize photo\"}"}
GET  /v1/flashvm/guest/messages

The result

The message goes in, and the program's reply comes back.

A sealed VM answers web requests and works a job queue, with nothing exposed to the network.

How it works

Related

See it live: flash demo run 9