Skip to content

lotsoftick/openclaw_client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenClaw Client

A web-based chat interface for OpenClaw AI agents. Create multiple agents, manage conversations, upload files, and stream AI responses in real time — all through a clean, modern UI.

OpenClaw Client

Features

  • Multi-agent support — Create and manage multiple OpenClaw agents, each with their own identity and conversation history.
  • Streaming chat — Real-time streamed responses with separate display for thinking process and output.
  • File uploads — Attach files to messages; files are saved directly to the agent's workspace for context-aware responses.
  • Conversation management — Multiple conversations per agent, editable titles, searchable sidebar.
  • User authentication — JWT-based auth with a default admin account created on first run.

Architecture

┌─── Docker ─────────────────────────────┐
│  Client (React)       → localhost:18800│
│  API (Express/Node)   → localhost:18802│
│  MongoDB              → localhost:27017│
└─────────────────────────┬──────────────┘
                          │
              ┌───────────▼───────────┐
              │  Proxy (host:18801)   │
              │  spawns openclaw CLI  │
              └───────────────────────┘
  • Client — React 19 + Vite + Material UI + Redux Toolkit Query
  • API — Express + TypeScript + Mongoose
  • MongoDB — Data store for users, agents, conversations, and messages
  • Proxy — Lightweight Express server that runs on the host and executes OpenClaw CLI commands

The proxy runs on the host (not in Docker) so it can access the locally installed OpenClaw CLI and your ~/.openclaw configuration.

Prerequisites

Verify OpenClaw is set up:

openclaw --version
openclaw auth status

Quick Start

git clone https://github.com/lotsoftick/openclaw_client.git
cd openclaw_client
npm start

That's it. On first run it will automatically:

  1. Generate environment files (.env, api/.env) with random secrets
  2. Install proxy dependencies
  3. Start Docker containers (client, API, MongoDB)
  4. Start the OpenClaw proxy on the host

Once running:

Service URL
Client http://localhost:18800
API http://localhost:18802
API Docs http://localhost:18802/api/docs
Proxy http://localhost:18801

Default Login

On first startup, a default admin user is created:

  • Email: admin@admin.com
  • Password: 123456

Stopping

npm stop

This stops all Docker containers and kills the proxy process.

Configuration

Environment Variables

Generated automatically on first run:

api/.env

Variable Description
NODE_ENV Environment mode (development)
JWT_SECRET Random secret for JWT signing
MONGO_LINK MongoDB connection string with auth

.env (project root — used by Docker Compose)

Variable Description
MONGO_USER MongoDB root username
MONGO_PASSWORD MongoDB root password

To regenerate secrets, delete both env files and run npm start again.

Proxy Environment Variables

Optional — set before running proxy.js:

Variable Default Description
PROXY_PORT 18801 Port the proxy listens on
OPENCLAW_HOME ~/.openclaw Path to OpenClaw config directory

npm Scripts

Command Description
npm start Build images + run containers + proxy (fast after first build)
npm stop Stop all containers + proxy
npm run setup Only generate env files (no start)

About

OpenClaw web client

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors