Skip to content

Latest commit

 

History

History
54 lines (35 loc) · 3.38 KB

File metadata and controls

54 lines (35 loc) · 3.38 KB

The agent computer

OpenMuse combines a persistent browser with an optional Linux workspace for commands and files. The app and CopilotKit tools use the same authenticated computer service, so you can inspect what the agent ran and continue working with its results.

Start the Linux workspace

The API host needs Docker CLI access to a running Docker engine. Build the image from this repository:

docker build -t openmuse-computer:local apps/computer

Enable it on the API and any separate task worker, then restart them:

COMPUTER_ENABLED=true
COMPUTER_IMAGE=openmuse-computer:local

Open Computer → Terminal → Start computer. Run pwd or python3 --version. Commands execute inside the Linux container with /workspace as their default working directory. Their output, exit code, and status appear in command history.

If Docker is unavailable, the app reports the connection error. There is no fallback that executes commands on the API host.

Optional isolated runtime on macOS

Colima is an open-source way to run Docker in a Linux VM. A separate profile keeps OpenMuse independent of other Docker workloads:

brew install colima
colima start openmuse --cpus 2 --memory 3 --disk 12 --root-disk 12 \
  --vm-type vz --activate=false --mount none --ssh-config=false
DOCKER_CONTEXT=colima-openmuse docker build -t openmuse-computer:local apps/computer
DOCKER_CONTEXT=colima-openmuse COMPUTER_ENABLED=true pnpm dev

The explicit context applies to that command and its child processes. It does not change the default Docker context. Stop this VM with colima stop openmuse when you no longer need it.

Work with files

  • Computer → Files lists the persistent /workspace directory. Create folders, add text files, edit them, and save.
  • Copy a document here copies an owned PDF from OpenMuse into the current folder. A matching filename is replaced.
  • Open a PDF in the workspace to save a copy to OpenMuse Documents and view it in the native/web reader.
  • Browser downloads first enter Documents through Import PDF downloads, then can be copied into the Linux workspace.
  • Stopping the computer ends its running commands and keeps the named workspace volume. Starting it again restores those files.

The terminal runs bounded commands and displays their saved results. It is not an interactive PTY: full-screen terminal apps and prompts that require ongoing keyboard input are not supported. Write noninteractive scripts or edit files through the Files tab.

Isolation and scope

The workspace is a Docker container running as a nonroot user, with a read-only root filesystem, limited temporary storage and resources, dropped capabilities, and no added privileges. It receives no host directory mounts, Docker socket, model keys, Google tokens, or API access key. A named volume provides persistent /workspace storage.

Terminal networking is disabled. The existing browser worker handles public web access through its own destination checks; see its network boundary. Browser profiles and workspace files have separate storage and lifecycle controls.

This is a self-hosted, single-owner computer environment. Docker isolation does not provide a dedicated operating-system VM or a hostile-tenant security guarantee. The optional Colima VM provides the Linux host on macOS; the application still manages a Docker container within it.