#Source or Release

1 messages · Page 1 of 1 (latest)

tawny pumiceBOT
#

If you’re planning to rebuild the Control UI (and add features), go from source. The “normal download/install” path is great for using OpenClaw, but it’s the wrong workflow for making big UI/product changes.

What I’d do (practical dev setup)

UI-only work (fastest loop):

  • Run a normal Gateway (can even be a release install)
  • In the repo, run the UI dev server:
    • pnpm ui:dev
    • then open the dev UI and point it at your Gateway WS URL (docs show the exact URL format)

Docs: https://docs.openclaw.ai/web/control-ui (see “Building the UI” + “dev server + remote Gateway”)

If you’re changing Gateway/backend too:

  • Clone repo + run from source:
    • pnpm install
    • pnpm ui:build
    • pnpm build
    • pnpm gateway:watch (dev loop)
#

(That’s straight from the repo README’s “From source (development)” section.)

Rule of thumb

  • Just running OpenClaw → install normally (stable/beta/dev channel)
  • Building/customizing OpenClaw → from source (and optionally keep a separate “stable” install as your daily-driver)

If you tell me what “UI” you mean (the Gateway Control UI vs macOS app UI vs something else) + your OS, I can point you at the exact package/entrypoint to start hacking.

terse ravine
#

The localhost web ui

tawny pumiceBOT
#

For the localhost web UI you mean the Gateway Control UI (served by the gateway, usually at / / /openclaw). That UI lives in the repo under ui/ and is meant to be hacked on from source.

Best workflow for rebuilding the Control UI

  1. Clone the repo + install deps:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
  1. Run the UI dev server (fast iteration):
pnpm ui:dev

This starts Vite at http://localhost:5173.

  1. Point it at your running Gateway:
#
  • Open something like:
http://localhost:5173/?gatewayUrl=ws://127.0.0.1:18789
  • If your gateway uses a token, you can import it once via fragment:
http://localhost:5173/?gatewayUrl=ws://127.0.0.1:18789#token=<your-token>

Docs (this exact flow): https://docs.openclaw.ai/web/control-ui

When you want the gateway to serve your rebuilt UI

Build static files:

pnpm ui:build

That outputs to dist/control-ui (repo root). The gateway serves static files from there by default when running from source, and you can also point a release gateway at a custom folder via gateway.controlUi.root if you want.

#

If you tell me whether you’re changing only UI or also gateway/backend APIs, I can suggest the cleanest “two installs” setup (stable gateway + dev UI vs everything from source).

terse ravine
#

How do i connect litellm? Its asking for a api key but i dont know exactly where to get it from

tawny pumiceBOT
#

That “API key” is not an OpenAI/Anthropic key — it’s a LiteLLM Proxy key.

So the answer is basically: you get it from your LiteLLM instance (or whoever is hosting LiteLLM for you).

If you’re running LiteLLM yourself (common case)

  1. Start LiteLLM Proxy (default is http://localhost:4000):
pip install 'litellm[proxy]'
litellm --model claude-opus-4-6
  1. (Recommended) Set a master key and generate a “virtual key” for OpenClaw:
  • LiteLLM master key is LITELLM_MASTER_KEY (you choose it)
  • Then generate a key via:
curl -X POST "http://localhost:4000/key/generate" \