Bridge the gap between you and AI agents.
A minimal, task-focused client for OpenClaw Gateway
Built entirely with AI assistance (Claude, Codex & Kimi)
BridgeTalk is a modern client for OpenClaw Gateway, communicating via WebSocket protocol.
Core Features: Task-first mode · Multi-agent management · Local data persistence · Mobile-first design · Pure black & white minimalist UI
| Feature | OpenClaw Default UI | BridgeTalk |
|---|---|---|
| Conversation Mode | Simple chat history | Task-first, conversations organized around tasks |
| Agent Management | Single session | Multi-agent simultaneous management |
| Data Persistence | Temporary | SQLite permanent storage |
| Mobile Experience | Basic | PWA, installable to home screen |
| Collaboration | None | Subtask collaboration, multi-agent coordination |
| UI Style | Standard | Minimalist B&W, zero distractions |
- ✅ OpenClaw Gateway installed and running (default
ws://127.0.0.1:18789) - ✅ Node.js 18+ and pnpm 8+ (recommended: Node 20/22 LTS)
Windows note (
better-sqlite3): Node 24 may not have matching prebuilt binaries, which can triggernode-gyp rebuild. If install fails, switch to Node 22 LTS and reinstall:nvm install 22 nvm use 22 pnpm install
# 1. Clone and install
git clone https://github.com/zhuamber370/bridgetalk.git
cd bridgetalk
pnpm install
# 2. Configure (copy and edit .env)
cp .env.example .env
# Edit .env and fill in your OpenClaw Gateway Token
# 3. Start
pnpm devVisit http://localhost:5173 to use.
- Click "+ New Agent"
- Enter name (e.g. "Assistant") and select model (e.g.
claude-opus-4-6) - After creation, click the agent card to enter Inbox
- Type a message to start conversation
- Agent List
/- Manage all agents - Agent Inbox
/agents/:id- Task list + conversation window - Task Detail
/agents/:id/tasks/:taskId- View single task
# Start dev servers (frontend + backend)
pnpm dev
# Start separately
pnpm --filter @bridgetalk/client dev # Frontend :5173
pnpm --filter @bridgetalk/server dev # Backend :3001
# Build for production
pnpm build
# Type check
pnpm lintData Locations:
- Tasks and messages:
packages/server/agent_channel_v2.db - Agent config:
~/.openclaw/openclaw.json(shared with OpenClaw Gateway)
# 1. Build
pnpm build
# 2. Start backend (using PM2)
cd packages/server
pm2 start dist/index.js --name bridgetalk
pm2 save
# 3. Configure Nginx (see nginx.conf.example)
sudo cp nginx.conf.example /etc/nginx/sites-available/bridgetalk
# Edit config, modify domain and paths
sudo ln -s /etc/nginx/sites-available/bridgetalk /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginxSee DEPLOYMENT.md for detailed deployment guide.
Q: Can't see any agents in the list?
A: BridgeTalk reads agents from ~/.openclaw/openclaw.json. If the list is empty:
- Check if OpenClaw Gateway is properly configured
- OpenClaw should have at least a
mainagent inopenclaw.json - You can manually create agents in BridgeTalk using the "+ New Agent" button
- Check backend logs:
pnpm --filter @bridgetalk/server dev
Q: Frontend stays on "Loading..." after pnpm dev?
A: Check in this order:
- Confirm backend is running:
pnpm --filter @bridgetalk/server devand checkhttp://localhost:3001/health - Confirm frontend is running on
http://localhost:5173 - Open browser DevTools Network tab and verify
/api/v1/agentsis200 - If
/api/v1/agentsfails, verify OpenClaw config file exists:~/.openclaw/openclaw.json(or setOPENCLAW_HOME) - On Windows, if you previously installed with Node 24, switch to Node 22 and reinstall dependencies
Q: "No available models" error?
A: Check:
- OpenClaw Gateway is running (
ws://127.0.0.1:18789) OPENCLAW_GATEWAY_TOKENin.envis correct- View backend logs:
pnpm --filter @bridgetalk/server dev
Q: No response after sending message?
A: Possible causes:
- Gateway connection lost - check backend logs
- Token expired - regenerate and update
.env - Network issue - check browser console
Q: Sending message fails with missing scope: operator.write?
A: This is a Gateway device scope issue (not frontend UI):
- Run
openclaw devices list --json - Find the device with
clientId: "gateway-client"andclientMode: "backend" - Rotate that device token with full operator scopes (example):
openclaw devices rotate --device <DEVICE_ID> --role operator --scope operator.read --scope operator.write --scope operator.pairing --scope operator.approvals --scope operator.admin - Delete local cache files (
~/.openclaw-inbox/device-token.jsonand~/.openclaw-inbox/device-keypair.json) - Restart Gateway and
pnpm dev
Q: Sending message fails with HTTP 401 authentication_error: API Key invalid/expired?
A: This means the upstream model provider key used by OpenClaw Gateway is invalid/expired:
- Confirm which model your agent is using
- Update the corresponding provider API key in Gateway configuration/environment
- Restart Gateway
- Restart BridgeTalk (
pnpm dev) and retry
Note: This is different from OPENCLAW_GATEWAY_TOKEN in BridgeTalk .env.
Q: How to backup data?
A: Backup these two files:
cp packages/server/agent_channel_v2.db ~/backup/
cp ~/.openclaw/openclaw.json ~/backup/- Quick Start - README.md (this file)
- Architecture - docs/ARCHITECTURE.md
- API Reference - docs/API.md
- Deployment Guide - DEPLOYMENT.md
- Contributing - CONTRIBUTING.md
- Security - SECURITY.md
We welcome all forms of contributions!
See CONTRIBUTING.md for details.
This project is licensed under the MIT License.
- Built with OpenClaw Gateway
- Inspired by minimalist design principles
All code and documentation in this project were created with the assistance of AI:
- Claude (Anthropic) - Architecture design, core implementation, and documentation
- Codex (OpenAI) - Code generation and optimization
- Kimi (Moonshot AI) - Additional development support
Made with ⚫⚪ by zhuamber370
If you find this useful, please give it a ⭐️