One Host
A Host is VibeX’s execution plane: the process that owns one data directory and serves the remote protocol. Agent processes, worktrees, plugin workers, the automation engine, official MCP, and chat-channel adapters run on that Host.
Who can be the Host
Opening the desktop app on this machine makes that process the Local Host. For a long-lived process, a machine without a GUI, or browser access on a LAN, run vibex-server. Server shares the data directory, agents, conversations, automations, and plugins with desktop. Server has no Tauri window. WebUI ships as web/ in the distro; a browser opens the address the Host publishes.
One data directory is occupied by one Host at a time. If vibex-server already holds the directory, this machine’s desktop attaches as a workstation. That constraint keeps a single scheduler for the automation engine, conversation events, and plugin workers.
Data directory and native config
Projects, conversation events, plugin installs and activation generations, automation specs and run history live in the Host data directory. Each agent’s official config stays in its own directory, for example Claude Code in ~/.claude. The Host reads those directories and offers official login and declared fields in Settings. The Agent Runtime remains the authority for native files.
Where remote work executes
Remote edits, terminals, and plugin workers act on files and processes on the Host machine. Paths the client shows belong to the Host. The embedded browser and Office preview also run on the Host. Remote clients use them through capability negotiation and the preview proxy.
Clients identify a machine by Host identity. A URL is only a reachability origin. See Remote connection model.
Single scheduler
The automation engine lease, conversation event append, plugin activation-generation switch, and chat-channel inbound all require one scheduler at a time. Two desktops, or desktop plus Server, claiming the same data directory would duplicate due claims and sequence numbers. Occupancy check either demotes the second process to a client or refuses Host start.
The Host console and paired-device presets are separate: operations stay on the machine running the Host; a workstation receives the coding loop.

