Modern dashboard for OpenClaw Gateway monitoring and management.
- Home - Overview with stats cards and activity timeline
- Gateway - Real-time gateway status and health monitoring
- Sessions - Active agent sessions with token usage tracking
- Agents - Agent management with configuration editor
- Channels - Communication channels monitoring (iMessage, Feishu, Telegram)
- Logs - Real-time log streaming with filtering
- Memory - LanceDB memory browser with semantic search
- Chat - Direct agent interaction interface
- Settings - Gateway and agent configuration management
- π¨ Modern UI - Built with shadcn/ui components
- π Dark Mode - System-aware theme switching
- π± Responsive Design - Works on desktop, tablet, and mobile
- β‘ Real-time Updates - Auto-refreshing data with pause/resume
- π Search & Filter - Find what you need quickly
- πΎ API Integration - Complete OpenClaw Gateway API client
- π Error Handling - Graceful error boundaries and recovery
- π― Type-Safe - Full TypeScript coverage
- Node.js 24+
- OpenClaw Gateway running (default:
http://127.0.0.1:18789)
# Clone or navigate to the project
cd openclaw-dashboard
# Install dependencies
npm install
# Start development server
npm run devVisit http://localhost:3000 to see the dashboard.
The dashboard will automatically connect to your local OpenClaw Gateway. To configure a different gateway:
- Go to Settings
- Update Gateway URL
- Optionally add an Auth Token
openclaw-dashboard/
βββ src/
β βββ app/
β β βββ (dashboard)/ # Dashboard pages with shared layout
β β β βββ layout.tsx # Sidebar layout with navigation
β β β βββ page.tsx # Home dashboard
β β β βββ gateway/ # Gateway status page
β β β βββ sessions/ # Sessions management
β β β βββ agents/ # Agent management
β β β βββ channels/ # Channel monitoring
β β β βββ logs/ # Logs viewer
β β β βββ memory/ # Memory browser
β β β βββ chat/ # Chat interface
β β β βββ settings/ # Settings page
β β βββ layout.tsx # Root layout with providers
β β βββ globals.css # Global styles
β βββ components/
β β βββ ui/ # shadcn/ui components
β β βββ theme-provider.tsx
β β βββ theme-toggle.tsx
β β βββ error-boundary.tsx
β βββ lib/
β βββ openclaw/ # OpenClaw API integration
β βββ types.ts # TypeScript types
β βββ api-client.ts # REST API client
β βββ ws-client.ts # WebSocket client
β βββ react-hooks.tsx # React hooks
β βββ index.ts
βββ public/ # Static assets
βββ feature_list.json # Feature tracking
βββ claude-progress.txt # Development progress
βββ init.sh # Development setup script
# Start development server
npm run dev
# Build for production
npm run build
# Run production server
npm start
# Run linting
npm run lint
# Or use the init script
./init.sh start
./init.sh build
./init.sh cleanThe project uses shadcn/ui for UI components:
npx shadcn@latest add [component-name]Available components: button, card, input, badge, table, dialog, dropdown-menu, sidebar, tabs, select, switch, textarea, scroll-area, separator, label, tooltip, and more.
The dashboard includes a complete API client for OpenClaw Gateway:
import { getAPIClient, useGatewayHealth, useSessions } from "@/lib/openclaw"
// Use the API client
const client = getAPIClient();
const health = await client.getHealth();
// Use React hooks for automatic updates
function MyComponent() {
const { data, loading, error } = useGatewayHealth();
// Component will auto-refresh every 30s
}npm run build
npm startThe optimized production build will be in the .next folder.
Create a .env.local file:
NEXT_PUBLIC_OPENCLAW_GATEWAY_URL=http://127.0.0.1:18789
NEXT_PUBLIC_OPENCLAW_AUTH_TOKEN=your-token-hereFROM node:24-alpine AS base
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]- Project setup with Next.js 15 + TypeScript
- shadcn/ui component library
- Layout with sidebar navigation
- Home dashboard with stats
- OpenClaw API integration layer
- Gateway status page
- Sessions list and detail view
- Agents management page
- Channels monitoring page
- Logs viewer with real-time streaming
- Memory browser for LanceDB
- Chat interface for agent interaction
- Settings configuration page
- Dark mode with theme provider
- Error boundaries and handling
- Responsive design
- Performance optimization
- Error boundary components
- Comprehensive documentation
- WebSocket real-time updates
- Advanced analytics charts
- Custom agent configuration
- Plugin system
- Multi-gateway support
- Export functionality
- Notifications system
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License.
- Built with Next.js
- UI components from shadcn/ui
- Icons from Lucide
- Inspired by Anthropic's long-running agent research
For OpenClaw documentation, visit docs.openclaw.ai
For issues and questions, please open an issue on the GitHub repository.