Noureddine RAMDI / OpenClaw Client: a self-hosted multi-agent AI chat interface with streaming "thinking" separation

Created Mon, 04 May 2026 10:23:02 +0000 Modified Sat, 23 May 2026 20:41:27 +0000

lotsoftick/openclaw_client

OpenClaw Client tackles a common pain point in local AI agent management: providing a rich, real-time chat interface that supports multiple agents while giving users clear visibility into what an agent is “thinking” versus what it outputs. Unlike many chat UIs that blur the border between agent reasoning and response, OpenClaw Client streams and displays these phases separately. It also supports file uploads directly into the agent’s workspace, enabling context-aware interactions that go beyond simple text prompts.

What the OpenClaw Client project is and how it’s built

OpenClaw Client is a self-hosted web interface for managing OpenClaw AI agents locally. Under the hood, it combines a modern frontend stack with a lightweight backend server to offer multi-agent management, conversation history, and real-time streaming responses.

The frontend uses React 19 with Vite for fast bundling, Material UI for consistent styling, and Redux Toolkit Query for state management and API interactions. This choice provides a solid DX with good performance and maintainability. The architecture follows Feature-Sliced Design, which emphasizes modular, feature-oriented separation of concerns to keep the codebase organized as it scales.

On the backend, a single Express server handles both the API and communication with the OpenClaw Gateway CLI, relying on TypeORM with SQLite for local data persistence. This choice balances minimal dependencies with sufficient structure for managing users, conversations, and agent state. JWT authentication is implemented to secure access.

Key features include:

  • Management of multiple AI agents concurrently
  • Real-time streaming of AI responses with separate “thinking” and “output” displays
  • File upload support that places files directly into the agent’s workspace for contextual use
  • Conversation management with history and pinning
  • Fourteen color themes for UI customization
  • Progressive Web App installation for native-like experience

The project’s architecture leverages a local-first approach, emphasizing privacy and control by keeping all data and agent execution on the user’s machine.

What sets OpenClaw Client apart: streaming separation and workspace uploads

The standout UX detail is the streaming of AI responses split into two phases: the “thinking” or reasoning process, and the final output. This separation gives users insight into the agent’s internal deliberation, which is often hidden in other chat interfaces. It allows developers and users to better understand agent behavior and debug or refine prompts and workflows.

The file upload mechanism is another significant feature. Uploaded files are sent directly to the agent’s workspace directory, making them immediately available as contextual data for AI reasoning. This tight integration between file management and agent context is not common in open-source AI chat clients and enables richer, more practical use cases.

The choice of Feature-Sliced Design on the frontend ensures that these complex features are implemented cleanly without resulting in tangled code. Redux Toolkit Query optimizes API state handling, reducing boilerplate and improving responsiveness.

On the backend, the single Express server approach simplifies deployment and local setup, avoiding the complexity of microservices while still supporting the necessary API and CLI communication. SQLite is a pragmatic choice for local storage, easy to manage and sufficient for the scale of data.

Tradeoffs include the reliance on native modules like better-sqlite3 and node-pty which require additional build tools on Windows, making the setup a bit heavier for that platform. Also, while the system is designed for local self-hosting, users still need to install and authenticate the OpenClaw CLI separately, adding a step that might deter less technical users.

Quick start with OpenClaw Client

The README provides clear and tested commands to get started quickly. Here’s the exact setup flow:

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

This command sequence clones the repo, installs dependencies, builds the app, deploys it to a user directory, sets up an OS-appropriate auto-start (LaunchAgent on macOS, Startup shortcut on Windows), and installs a global CLI shim called openclaw_client.

After startup, the client UI is available at http://localhost:18800, and the API server runs on port 18802 with Swagger docs accessible at /api/docs in development mode.

Platform-specific notes:

  • On Windows, additional dependencies like Git for Windows and Visual Studio Build Tools are required for native modules. The first run of npm start should be done in an Administrator PowerShell to set up global shims and auto-start.
  • macOS and Linux work out of the box.

The app can also be installed as a Progressive Web App (PWA) from Chromium-based browsers, providing a native-like experience.

Verdict: who should use OpenClaw Client

OpenClaw Client is relevant for developers and enthusiasts who want a self-hosted, multi-agent AI chat interface with a richer UX than typical chat UIs. Its streaming separation of reasoning and output and workspace file uploads provide useful insights and capabilities for building and experimenting with AI agents locally.

The technical stack and architecture reflect a production-minded approach, but the setup complexity—especially on Windows—and dependency on the OpenClaw CLI might be barriers for casual users or those looking for a plug-and-play solution.

In production terms, this client is well-suited for developers building AI workflows, researchers exploring multi-agent interactions, or hobbyists who want tight control over their AI agent environment.

The codebase is clean and modern, making it a good reference for building similar local-first AI applications with React and TypeScript. Just be prepared for some upfront setup and dependency management.

Overall, OpenClaw Client is a solid example of how local AI interfaces can push beyond simple chat boxes to deliver more transparent and context-rich agent interactions.


→ GitHub Repo: lotsoftick/openclaw_client ⭐ 213 · TypeScript