Getting Started

Install Uplink and have your local AI chat running in under 5 minutes.

What is Uplink?

Uplink is a chat interface built specifically for OpenClaw. It runs as a Node.js web server on your machine and connects to the OpenClaw gateway — giving you a polished, feature-rich frontend for your AI assistant.

Think of it this way: OpenClaw is the brain, Uplink is the face. OpenClaw handles the AI sessions, model routing, memory, and tool execution. Uplink gives you a beautiful interface to interact with all of that — text chat, voice chat, themes, encryption, multi-device access — all self-hosted on your hardware.

🔗 OpenClaw Features Uplink Uses
  • Gateway API — OpenClaw's OpenAI-compatible API powers all chat and streaming
  • Session management — Conversations persist through OpenClaw's session store
  • Multi-model routing — Switch between AI providers (OpenAI, Anthropic, local models) via OpenClaw's satellite system
  • WebSocket streaming — Real-time token streaming through OpenClaw's gateway proxy

System Requirements

ComponentMinimumRecommended
Node.jsv18+v20 LTS or later
OSWindows 10 / macOS 12 / Ubuntu 20.04Latest stable release
RAM4 GB8 GB+
GPUNot requiredNVIDIA GPU (for local TTS with Coqui XTTS). Piper TTS runs on CPU.
NetworkLAN accessTailscale for remote access

Installation

Quick Start with npx (Recommended)

The fastest way to run Uplink is with npx — no clone or install step needed:

bash
npx @mooncompany/uplink-chat

That's it — Uplink downloads and starts automatically. No build tools, no Docker, no complex setup. Open http://localhost:3456 in your browser and you're ready to go.

💡 Global Install

If you want the uplink-chat command available everywhere without npx:

npm install -g @mooncompany/uplink-chat

Then just run uplink-chat from anywhere.

Alternative: Install from Source

If you prefer to clone the repository and run from source:

bash
git clone https://github.com/mooncompany/uplink.git
cd uplink
npm install
npm start

All dependencies are pulled in by npm. No native compilation required for the core app.

📦 Optional: Image Compression

Uplink can use Sharp to automatically compress uploaded images before sending them to the AI. Sharp is optional — if it's not installed, images are sent at their original size. To enable compression:

npm install sharp

If Sharp fails to install (common on some systems without build tools), don't worry — everything else works fine without it.

You'll see output like:

output
✓ Uplink running at http://localhost:3456
✓ WebSocket server ready
✓ OpenClaw gateway connected

Open http://localhost:3456 in your browser and you're in.

First Run Setup

On first launch, Uplink will prompt you to configure a few things in this order:

  1. Your Name — Enter your display name for the chat.
  2. Assistant Name — Choose a name for your AI assistant.
  3. Gateway URL — Enter your OpenClaw gateway URL. If OpenClaw is running on the same machine, Uplink will detect it automatically. You can change this later in Settings → Connection.
  4. Gateway Token — Enter the gateway token found in your OpenClaw config.yaml.
  5. Voice toggle — Enable or disable voice responses.
  6. Encryption toggle — Optional. If enabled, all conversations are encrypted with AES-256. You can skip this and enable it later in Settings → Privacy.

Theme selection is available after setup — go to Settings to choose from 5 built-in themes (Midnight, Daylight, Ember, Forest, Phantom). Default is Midnight (dark with cyan accents).

💡 Tip Uplink is a PWA (Progressive Web App). On mobile browsers, use "Add to Home Screen" from the share menu for an app-like experience. Works on both iOS and Android.

Quick Verify

To verify everything is working, open the app in your browser, type a message, and confirm you get a response from the AI. If you see an error about the gateway connection, check that OpenClaw is running and accessible.

⚠ Common Issue If the page loads but messages fail, make sure the OpenClaw gateway is running and the API endpoint is reachable from your machine. Check Settings → Connection for the gateway URL.

Next Steps