Web

Using OpenABCode in your browser.

Getting Started

OpenABCode can run as a web application in your browser, providing the same AI coding experience without needing a terminal.

Start the web interface by running this command. OpenABCode starts a local server on 127.0.0.1 with a random available port and automatically opens the Web UI in your default browser.

If OPENCODE_SERVER_PASSWORD is not set, the server is unsecured. This is fine for local use, but set a password before enabling network access.

openabcode web

Windows Users

For the best experience, run openabcode web from WSL rather than PowerShell. This ensures proper file system access and terminal integration.

openabcode web

Port

By default, OpenABCode picks an available port. You can specify a port when you want a stable URL or want to attach another client.

openabcode web --port 4096

Hostname

By default, the server binds to 127.0.0.1, which is localhost only. To make OpenABCode accessible on your network, bind to all interfaces.

When using 0.0.0.0, OpenABCode displays both local and network addresses.

openabcode web --hostname 0.0.0.0

Local access:       http://localhost:4096
Network access:     http://192.168.1.100:4096

mDNS Discovery

Enable mDNS to make your server discoverable on the local network. This automatically sets the hostname to 0.0.0.0 and advertises the server as openabcode.local.

You can customize the mDNS domain name to run multiple instances on the same network.

openabcode web --mdns
openabcode web --mdns --mdns-domain myproject.local

CORS

Allow additional domains for CORS when using custom frontends or browser clients from explicit origins.

openabcode web --cors https://example.com

Authentication

To protect access, set a password using the OPENCODE_SERVER_PASSWORD environment variable. The username defaults to opencode and can be changed with OPENCODE_SERVER_USERNAME.

OPENCODE_SERVER_PASSWORD=secret openabcode web

Sessions

Once started, the web interface provides access to your OpenABCode sessions. You can view active sessions, start new ones, and continue work using the same providers, models, rules, permissions, and session state as the CLI runtime.

Server Status

Use the server status view to inspect connected servers and their current status.

Attaching a Terminal

You can attach a terminal TUI to a running web server. This lets you use both the web interface and terminal simultaneously while sharing the same sessions and state.

# Start the web server
openabcode web --port 4096

# In another terminal, attach the TUI
openabcode attach http://localhost:4096

Config File

You can also configure server settings in your opencode.json config file. Command line flags take precedence over config file settings.

{
  "server": {
    "port": 4096,
    "hostname": "0.0.0.0",
    "mdns": true,
    "cors": ["https://example.com"]
  }
}