Files
crabwalk/README.md
T
Jamie Taylor 7e75a12614 feat(workspace): add workspace file browser and markdown viewer
Add comprehensive workspace exploration functionality allowing users to browse and view files from the host filesystem. This feature enables inspection of AI agent workspace contents directly through the web interface.

- Add workspace-fs library for safe file system operations with path validation
- Create tRPC workspace router with directory listing and file reading endpoints
- Implement workspace UI components with directory tree navigation
- Add markdown file viewer with syntax highlighting
- Configure Docker volume mounting for ~/.openclaw/workspace access
- Update navigation with tab-based switching between Monitor and Workspace views
2026-01-31 17:27:22 +00:00

3.4 KiB

🦀 Crabwalk

Real-time companion monitor for Moltbot (Clawdbot) agents by @luccasveg.

Watch your AI agents work across WhatsApp, Telegram, Discord, and Slack in a live node graph. See thinking states, tool calls, and response chains as they happen.

Crabwalk Home

Crabwalk Monitor

Features

  • Live activity graph - ReactFlow visualization of agent sessions and action chains
  • Multi-platform - Monitor agents across all messaging platforms simultaneously
  • Real-time streaming - WebSocket connection to clawdbot gateway
  • Action tracing - Expand nodes to inspect tool args and payloads
  • Session filtering - Filter by platform, search by recipient

Installation

docker run -d \
  -p 3000:3000 \
  -e CLAWDBOT_API_TOKEN=your-token \
  -e CLAWDBOT_URL=ws://host.docker.internal:18789 \
  -v ~/.openclaw/workspace:/root/.openclaw/workspace \
  ghcr.io/luccast/crabwalk:latest

Note: When running Crabwalk in Docker, the Moltbot gateway typically runs on the host. Use CLAWDBOT_URL=ws://host.docker.internal:18789 so the container can connect. If you're running Moltbot with bind: loopback and tailscale serve for secure tailnet-only access, you'll need to run the crabwalk container with host networking - replace p:3000:3000 with --network host This allows the container to reach 127.0.0.1:18789 while maintaining the security benefits of loopback-only binding.

Workspace Access

The workspace explorer needs access to your local files. By default, it looks for files at ~/.openclaw/workspace. In Docker, mount your host workspace to the same path in the container:

# Default workspace path (recommended)
docker run -d \
  -p 3000:3000 \
  -e CLAWDBOT_API_TOKEN=your-token \
  -v ~/.openclaw/workspace:/root/.openclaw/workspace \
  ghcr.io/luccast/crabwalk:latest

# Custom workspace path on host
docker run -d \
  -p 3000:3000 \
  -e CLAWDBOT_API_TOKEN=your-token \
  -v /path/to/your/workspace:/root/.openclaw/workspace \
  ghcr.io/luccast/crabwalk:latest

Or with docker-compose:

curl -O https://raw.githubusercontent.com/luccast/crabwalk/master/docker-compose.yml
CLAWDBOT_API_TOKEN=your-token docker-compose up -d

To use a custom workspace path with docker-compose, set the WORKSPACE_HOST_PATH environment variable:

WORKSPACE_HOST_PATH=/path/to/your/workspace CLAWDBOT_API_TOKEN=your-token docker-compose up -d

If gateway is bind: loopback only, you will need to edit the docker-compose.yml to add network_mode: host

From source

git clone https://github.com/luccast/crabwalk.git
cd crabwalk
npm install
CLAWDBOT_API_TOKEN=your-token npm run dev

Open http://localhost:3000/monitor

Configuration

Requires clawdbot gateway running on the same machine.

Gateway Token

Find your token in the clawdbot config file:

# Look for gateway.auth.token
cat ~/.clawdbot/clawdbot.json | rg "gateway\.auth\.token"

Or with jq:

jq '.gateway.auth.token' ~/.clawdbot/clawdbot.json

Or copy it directly:

export CLAWDBOT_API_TOKEN=$(python3 -c "import json,os; print(json.load(open(os.path.expanduser('~/.clawdbot/clawdbot.json')))['gateway']['auth']['token'])")

Stack

TanStack Start, ReactFlow, Framer Motion, tRPC, TanStack DB