selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

my-virtual-office logo

Self-host my-virtual-office

v0.7.4

2D visual workspace for AI agents

BetaOpen CoreAGPL-3.0
Updated8 hours ago
LanguagePython
Setup difficultyModerate
MobileResponsive
Stars
357
Ports
8090 (HTTP server), 8091 (WebSocket proxy)
Docker
ghcr.io/eliautobot/my-virtual-office
Install with Docker
my-virtual-office screenshot 1

What is my-virtual-office?

My Virtual Office is a self-hosted 2D AI workspace that visualizes agent activity in a retro-style office. Instead of watching logs, you see agents move between desks, sit in meetings, grab coffee, and interact with an office pet. It connects to agent platforms including OpenClaw (default), Hermes, Codex CLI, and Claude Code through a built-in Provider SDK. The office canvas includes a full drag-and-drop editor with 25+ furniture items, interior walls, floor tiles, and a layout marketplace. Agents can be customized with appearance options, costumes, and held items. A dashboard shows live CPU/RAM, API usage, branch management, and an activity log. Premium features (unlocked via a $9.99 one-time license key) add an embedded Agent Browser, Twilio SMS panel, Cron Job Manager, per-agent model switching, and Whisper voice input. The app runs via Docker Compose on ports 8090 (HTTP) and 8091 (WebSocket), stores all data in a Docker volume, and is licensed under AGPL-3.0-or-later. Demo mode allows up to 3 agents with a watermark.

Should you self-host my-virtual-office?

my-virtual-office scores 47/100 on selfhost.directory (how scoring works) and ranks #123 of 209 in AI Agents. It has 357 GitHub stars.

It shipped 21 stable releases in the past year. The latest, v0.7.4, came out on 15 August 2026. New versions land roughly every 1 days.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is AGPL-3.0-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is Orca (91/100, 108 642 stars). It scores higher overall, so compare the two before you pick. See my-virtual-office vs Orca side by side.

Features

  • Agent BrowserPremium feature, requires license key
  • Agent ChatVoice input (Whisper STT) is premium-only
  • Agent Customization
  • Branch System
  • Cron Job ManagerPremium feature, requires license key
  • Dashboard Panel
  • Dynamic Environment
  • Full Office Editor
  • Live Office Canvas
  • Meeting System
  • Models PanelPremium feature, requires license key
  • Office Pet
  • SMS PanelPremium feature, requires license key
  • Whisper STTPremium feature, requires license key

my-virtual-office README

How to install my-virtual-office

Install my-virtual-office with Docker

Docker installed

docker pull ghcr.io/eliautobot/my-virtual-office:latest docker run -d -p 8090:8090 -p 8091:8091 -v vo-data:/data ghcr.io/eliautobot/my-virtual-office:latest

Direct Docker run; ports and volumes must be configured manually.

How to configure my-virtual-office

  • VO_ANTIGRAVITY_BINagyAntigravity executable visible inside the container

    Antigravity executable visible inside the container

  • VO_ANTIGRAVITY_ENABLEDfalseEnable the Antigravity adapter

    Enable the Antigravity adapter

  • VO_ANTIGRAVITY_HOME/data/antigravity-configAntigravity native config directory

    Antigravity native config directory

  • VO_CLAUDE_CODE_BINclaudeClaude Code executable visible inside the container

    Claude Code executable visible inside the container

  • VO_CLAUDE_CODE_ENABLEDtrueEnable the Claude Code adapter

    Enable the Claude Code adapter

  • VO_CLAUDE_CODE_HOME/data/claude-code-homeClaude Code native config directory

    Claude Code native config directory

  • VO_CODEX_BINcodexStandalone Codex executable visible inside the container

    Standalone Codex executable visible inside the container

  • VO_CODEX_ENABLEDtrueEnable the Codex CLI adapter

    Enable the Codex CLI adapter

  • VO_CODEX_HOME/data/codex-homeStandalone Codex home visible inside the container

    Standalone Codex home visible inside the container

  • VO_GATEWAY_HTTPhttp://127.0.0.1:18789OpenClaw gateway HTTP URL

    OpenClaw gateway HTTP URL

  • VO_GATEWAY_URLws://127.0.0.1:18789OpenClaw gateway WebSocket URL

    OpenClaw gateway WebSocket URL

  • VO_HERMES_BINhermesHermes executable visible inside the container

    Hermes executable visible inside the container

  • VO_HERMES_CONTEXT_MAX_CHARS120000Total replayed Hermes context characters

    Total replayed Hermes context characters

  • VO_HERMES_CONTEXT_MAX_MESSAGE_CHARS32000Per-message replay limit

    Per-message replay limit

  • VO_HERMES_CONTEXT_MAX_MESSAGES120Maximum recent user/assistant rows replayed to a continuing run

    Maximum recent user/assistant rows replayed to a continuing run

  • VO_HERMES_ENABLEDtrueEnable native Hermes API connections

    Enable native Hermes API connections

  • VO_HERMES_HOME/data/hermes-homeHermes native home visible inside the container

    Hermes native home visible inside the container

  • VO_HERMES_HOST_DATA~/.hermesHost Hermes data/profile root mounted only for declared resources

    Host Hermes data/profile root mounted only for declared resources

  • VO_HERMES_IMAGEnousresearch/hermes-agent:v2026.8.3Deliberately pinned optional Hermes sidecar image

    Deliberately pinned optional Hermes sidecar image

  • VO_HERMES_LOCAL_PROFILES_ENABLEDfalseDiscover local Hermes profiles in VO_HERMES_HOME

    Discover local Hermes profiles in VO_HERMES_HOME

  • VO_HERMES_PLATFORM_AGENT_IDhermes-gatewayOffice agent ID for the Hermes Messaging Gateway platform

    Office agent ID for the Hermes Messaging Gateway platform

  • VO_HERMES_PLATFORM_ENABLEDfalse unless token is setEnable the separate Hermes Messaging Gateway platform bridge

    Enable the separate Hermes Messaging Gateway platform bridge

  • VO_HERMES_PLATFORM_TOKEN(none)Shared token required by the Hermes my_virtual_office platform plugin

    Shared token required by the Hermes my_virtual_office platform plugin

  • VO_HERMES_RESOURCE_ACCESSread-writeMounted resource policy

    Mounted resource policy

    values: read-write, read-only, disabled

  • VO_HERMES_RESOURCE_ROOT/data/hermesHermes data root as visible inside Virtual Office

    Hermes data root as visible inside Virtual Office

  • VO_HERMES_RESOURCE_VOLUME_MODErwDocker bind mode; use ro for Docker-enforced read-only access

    Docker bind mode; use ro for Docker-enforced read-only access

    values: rw, ro

  • VO_HERMES_TIMEOUT_SEC600Timeout for Hermes API runs

    Timeout for Hermes API runs

  • VO_OFFICE_NAMEVirtual OfficeOffice display name

    Office display name

  • VO_OPENCLAW_GATEWAY_PATHauto-detectedOpenClaw home path in the external Gateway's filesystem namespace

    OpenClaw home path in the external Gateway's filesystem namespace

  • VO_OPENCLAW_PATH~/.openclawPath to OpenClaw home directory

    Path to OpenClaw home directory

  • VO_OPENCODE_BINopencodeOpenCode executable visible inside the container

    OpenCode executable visible inside the container

  • VO_OPENCODE_CONFIG_DIR/data/opencode-configOpenCode native config directory

    OpenCode native config directory

  • VO_OPENCODE_ENABLEDfalseEnable the OpenCode adapter

    Enable the OpenCode adapter

  • VO_PORT8090HTTP server port

    HTTP server port

  • VO_STATUS_DIR/dataDirectory for presence/status data inside the container

    Directory for presence/status data inside the container

  • VO_WEATHER_LOCATION(none)Weather location for window display

    Weather location for window display

  • VO_WS_PORT8091WebSocket proxy port

    WebSocket proxy port

my-virtual-office releases & version history

More in Self-hosting

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…