🦞 OpenClaw Manager

High-performance cross-platform AI assistant management tool, built with Tauri 2.0 + React + TypeScript + Rust.

Platform Tauri React Rust

📸 Interface Preview

📊 Dashboard Overview

Real-time monitoring of service status, one-click management of AI assistant services.

Dashboard

  • Real-time service status monitoring (port, process ID, memory, uptime)
  • Quick actions: Start / Stop / Restart / Diagnose
  • Real-time log viewing with auto-refresh support

🤖 AI Model Configuration

Flexible configuration of multiple AI providers, supports custom API addresses.

AI Configuration

  • Supports 14+ AI providers (Anthropic, OpenAI, DeepSeek, Moonshot, Gemini, etc.)
  • Custom API endpoints, compatible with third-party services using OpenAI format
  • One-click primary model setup, quick switching

📱 Message Channel Configuration

Connect to multiple instant messaging platforms to create an omnichannel AI assistant.

Telegram Configuration

Telegram Bot

Feishu Configuration

Feishu Bot

  • Telegram - Bot Token configuration, private chat/group policies
  • Feishu - App ID/Secret, WebSocket connection, multiple deployment regions
  • More Channels - Discord, Slack, WhatsApp, iMessage, WeChat, DingTalk

Features

Module Features
📊 Dashboard Real-time service status monitoring, process memory statistics, one-click start/stop/restart
🤖 AI Configuration 14+ AI providers, custom API addresses, quick model switching
📱 Message Channels Telegram, Discord, Slack, Feishu, WeChat, iMessage, DingTalk
Service Management Background service control, real-time logs, launch on startup
🧪 Testing & Diagnostics System environment check, AI connection test, channel connectivity test

🍎 macOS Common Issues

"Damaged, cannot be opened" Error

macOS Gatekeeper security mechanism may prevent running unsigned applications. Solutions:

Method 1: Remove Quarantine Attribute (Recommended)

# For .app file
xattr -cr /Applications/OpenClaw\ Manager.app

# Or for .dmg file (before installation)
xattr -cr ~/Downloads/OpenClaw-Manager.dmg

Method 2: Allow via System Preferences

  1. Open System Preferences > Privacy & Security
  2. Find the blocked application in the "Security" section
  3. Click Open Anyway

Method 3: Temporarily Disable Gatekeeper (Not Recommended)

# Disable (requires administrator password)
sudo spctl --master-disable

# Re-enable after installation
sudo spctl --master-enable

Permission Issues

If the application cannot properly access files or perform operations:

Grant Full Disk Access

  1. Open System Preferences > Privacy & Security > Full Disk Access
  2. Click the lock icon to unlock, add OpenClaw Manager

Reset Permissions

If permission settings become abnormal, you can try resetting:

# Reset Accessibility permissions database
sudo tccutil reset Accessibility

# Reset Full Disk Access permissions
sudo tccutil reset SystemPolicyAllFiles

🚀 Quick Start

Requirements

  • Node.js >= 18.0
  • Rust >= 1.70
  • pnpm (recommended) or npm

macOS Additional Dependencies

xcode-select --install

Windows Additional Dependencies

Linux Additional Dependencies

# Ubuntu/Debian
sudo apt update
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev

# Fedora
sudo dnf install webkit2gtk4.1-devel openssl-devel curl wget file libxdo-devel

Installation and Running

# Clone the project
git clone https://github.com/miaoxworld/openclaw-manager.git
cd openclaw-manager

# Install dependencies
npm install

# Run in development mode
npm run tauri:dev

# Build release version
npm run tauri:build

📁 Project Structure

openclaw-manager/
├── src-tauri/                 # Rust Backend
│   ├── src/
│   │   ├── main.rs            # Entry point
│   │   ├── commands/          # Tauri Commands
│   │   │   ├── service.rs     # Service management
│   │   │   ├── config.rs      # Configuration management
│   │   │   ├── process.rs     # Process management
│   │   │   └── diagnostics.rs # Diagnostics features
│   │   ├── models/            # Data models
│   │   └── utils/             # Utility functions
│   ├── Cargo.toml
│   └── tauri.conf.json
│
├── src/                       # React Frontend
│   ├── App.tsx
│   ├── components/
│   │   ├── Layout/            # Layout components
│   │   ├── Dashboard/         # Dashboard
│   │   ├── AIConfig/          # AI configuration
│   │   ├── Channels/          # Channel configuration
│   │   ├── Service/           # Service management
│   │   ├── Testing/           # Testing & diagnostics
│   │   └── Settings/          # Settings
│   └── styles/
│       └── globals.css
│
├── package.json
├── vite.config.ts
└── tailwind.config.js

🛠️ Tech Stack

Layer Technology Description
Frontend Framework React 18 User Interface
State Management Zustand Lightweight state management
Styling TailwindCSS Atomic CSS
Animation Framer Motion Smooth animations
Icons Lucide React Beautiful icons
Backend Rust High-performance system calls
Cross-platform Tauri 2.0 Native application wrapper

📦 Build Artifacts

After running npm run tauri:build, artifacts will be generated in src-tauri/target/release/bundle/:

Platform Format
macOS .dmg, .app
Windows .msi, .exe
Linux .deb, .AppImage

🎨 Design Philosophy

  • Dark Theme: Eye-friendly, suitable for extended use
  • Modern UI: Frosted glass effects, smooth animations
  • Responsive: Adapts to different screen sizes
  • High Performance: Rust backend, minimal memory footprint

🔧 Development Commands

# Development mode (hot reload)
npm run tauri:dev

# Run frontend only
npm run dev

# Build frontend
npm run build

# Build complete application
npm run tauri:build

# Check Rust code
cd src-tauri && cargo check

# Run Rust tests
cd src-tauri && cargo test

📝 Configuration Notes

Tauri Configuration (tauri.conf.json)

  • app.windows - Window configuration
  • bundle - Packaging configuration
  • plugins.shell.scope - Shell command whitelist
  • plugins.fs.scope - File access whitelist

Environment Variables

The application reads environment variable configuration from ~/.openclaw/env.

🤝 Contributing Guide

  1. Fork the project
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Create a Pull Request

📄 License

MIT License - See LICENSE for details


Made with ❤️ by OpenClaw Team

S
Description
No description provided
Readme
3.4 MiB
Languages
TypeScript 55.2%
Rust 43.8%
CSS 0.5%
JavaScript 0.4%
HTML 0.1%