# Claw Admin - AI Agent Management Platform

Modern AI Agent Gateway Management Console

GitHubFeaturesTech StackQuick StartHermes Agent IntegrationProject StructureDevelopment Guideไธญๆ–‡

*** ## Introduction Claw Admin is a modern AI agent management platform built with Vue 3, supporting both **OpenClaw Gateway** and **Hermes Agent**. Through intuitive visual operations, users can easily manage AI agents, sessions, models, channels, skills, and other core features, with a full-featured Web CLI terminal experience. ### Version Compatibility | OpenClaw Admin | OpenClaw Gateway | Hermes Agent | Status | | -------------- | ---------------- | ------------ | ---------- | | 0.2.7 | 2026.4.5 | 2026.4.9 | โœ… Verified | ### Highlights - ๐ŸŽฏ **Dual Gateway Support**: Manage both OpenClaw Gateway and Hermes Agent from a single platform - ๐Ÿ–ฅ๏ธ **Web CLI Terminal**: Real CLI experience powered by xterm.js, with session persistence, reconnection, and launch parameter configuration - ๐Ÿค– **Multi-Agent Collaboration**: Create and manage multiple AI agents for complex task collaboration - ๐Ÿ“Š **Real-time Monitoring**: System resources, session status, token usage, and more - ๐ŸŒ **Internationalization**: Built-in Chinese and English support, seamless switching - ๐ŸŽจ **Modern UI**: Responsive design based on Naive UI, supports light/dark themes *** ## Features ### I. OpenClaw Gateway Module #### Dashboard ![Dashboard](docs/images/ไปช่กจ็›˜.png) - Runtime overview and key metrics - Token usage trend charts - Session activity statistics - Real-time event stream monitoring - Top models/channels/tools distribution #### Chat ![Chat](docs/images/ๅœจ็บฟๅฏน่ฏ.png) - Real-time chat interface - Support for slash commands (`/new`, `/skill`, `/model`, `/status`, `/subagents`) - Message filtering and search - Quick replies - Real-time token usage statistics #### Sessions ![Sessions](docs/images/ไผš่ฏ็ฎก็†.png) - Session list and details - Create, reset, delete sessions - Multi-dimensional filtering and sorting - Message history export #### Memory ![Memory](docs/images/่ฎฐๅฟ†็ฎก็†.png) - Agent document management - Edit AGENTS, SOUL, IDENTITY, USER, and other core documents - Markdown editor - Quick template snippets #### Cron ![Cron](docs/images/่ฎกๅˆ’ไปปๅŠก.png) - Scheduled task creation and management - Support for Cron expressions, fixed intervals, specific times - Task execution history - Quick templates (morning report, health check, etc.) #### Models ![Models](docs/images/ๆจกๅž‹็ฎก็†.png) - Multi-model channel configuration - API Key security management (masked display) - Model probing - Default model settings - Coding package quick configuration #### Channels ![Channels](docs/images/้ข‘้“็ฎก็†.png) - QQ, Feishu, DingTalk, WeCom channel configuration - Channel status monitoring - Credential security management - One-click installation and configuration #### Skills ![Skills](docs/images/ๆŠ€่ƒฝ็ฎก็†.png) - Skill plugin list - Built-in/user skill classification - Skill installation and updates - Chat visibility control #### Agents ![Agents](docs/images/ๅคšๆ™บ่ƒฝไฝ“.png) - Agent creation and management - Identity, model, tool permission configuration - Session statistics and token usage - Workspace file management #### Office ![Office-1](docs/images/ๆ™บ่ƒฝไฝ“ๅทฅๅŠ-1.png) ![Office-2](docs/images/ๆ™บ่ƒฝไฝ“ๅทฅๅŠ-2.png) - Multi-agent collaboration space - Scene creation wizard - Task delegation and execution - Inter-agent communication - Team management #### MyWorld ![MyWorld](docs/images/่™šๆ‹Ÿๅ…ฌๅธ.png) - Visual office scenes - Character movement and interaction - Area interaction features - Real-time communication #### Terminal ![Terminal](docs/images/่ฟœ็จ‹็ปˆ็ซฏ.png) - SSE protocol remote terminal - Multi-node support - Full-screen mode - Custom shell and working directory #### Remote Desktop ![Remote Desktop](docs/images/่ฟœ็จ‹ๆกŒ้ข.png) - Linux/Windows remote desktop - Real-time screen transmission - Mouse and keyboard operations - Clipboard synchronization #### Files ![Files](docs/images/ๆ–‡ไปถๆต่งˆๅ™จ.png) - Workspace file browsing - File editing and preview - File upload and download - Directory management #### System ![System](docs/images/็ณป็ปŸ็›‘่ง†ๅ™จ.png) - CPU, memory, disk usage - Network connection status - Instance online status - Runtime statistics #### Settings ![Settings](docs/images/็ณป็ปŸ่ฎพ็ฝฎ.png) - Connection configuration management - Appearance and theme settings - Environment variable configuration *** ### II. Hermes Agent Module #### Hermes Dashboard - System status overview (version, uptime, active sessions) - Token usage and cost analytics (daily / by model) - Gateway platform status #### Hermes Chat - Real-time chat via OpenAI-compatible API (SSE streaming) - 17+ slash commands (`/new`, `/model`, `/skills`, `/commands`, `/help`, etc.) - Command panel auto-completion (type `/` to trigger, Tab to complete, arrow keys to navigate) - Tool Calls visualization - Markdown rendering + code highlighting + LaTeX formulas - Real-time token usage statistics #### Hermes Sessions - Session list (pagination, search) - Session message history - Full-text search (FTS5) - Session deletion #### Hermes Models - Model list (OpenAI-compatible format) - Current model switching - Model capability tags (vision, function\_calling, etc.) #### Hermes Channels - Messaging platform configuration (Telegram, Discord, Slack, etc.) - Platform status monitoring - OAuth authentication management #### Hermes Skills - Skill list (enable/disable toggle) - Skill categories and version info - Skill descriptions and status #### Hermes Cron - Scheduled task CRUD - Task pause/resume/manual trigger - Cron expression configuration #### Hermes Memory - SOUL.md personality configuration editor - AGENTS.md agent instructions editor - Markdown editor + template snippets #### Hermes System - Configuration management (structured form + raw YAML editor) - Environment variable management (masked display, reveal plaintext) - Log viewer (filter by level/component/keyword) - Toolset list #### Hermes CLI Terminal ๐Ÿ”ฅ - **Real CLI Experience**: Spawns Hermes CLI process via node-pty for full terminal emulation - **Session Persistence**: Browser disconnect does not terminate the CLI process; supports reconnection with output buffer replay - **Launch Configuration Panel**: Visual configuration of CLI parameters (model, provider, skills, toolsets, yolo, etc.) - **Multi-Session Management**: Create multiple CLI sessions with reconnect, detach, rename, and destroy - **Full CLI Commands**: Supports all CLI-only commands (`/skills`, `/tools`, `/cron`, `/config`, `/browser`, etc.) - **No WebSocket**: Pure SSE + HTTP POST dual-channel, compatible with strict network policies - **Terminal Features**: Fullscreen mode, right-click paste, selection copy, auto-fit *** ## Tech Stack ### Frontend Framework | Technology | Version | Description | | ---------- | ------- | ----------------------------------- | | Vue | 3.5.x | Progressive JavaScript Framework | | Vue Router | 4.x | Official Router | | Pinia | 3.x | State Management | | TypeScript | 5.x | Type-safe JavaScript Superset | | Vite | 7.x | Next-generation Frontend Build Tool | ### UI Components | Technology | Version | Description | | ----------------- | ------- | ----------------------- | | Naive UI | 2.43.x | Vue 3 Component Library | | @vicons/ionicons5 | 0.13.x | Icon Library | | @fortawesome | 7.x | Font Awesome Icons | ### Communication & Data | Technology | Version | Description | | ------------ | ------- | ------------------------------------------------ | | WebSocket | - | Real-time Bidirectional Communication (OpenClaw) | | SSE | - | Server-Sent Events (Hermes) | | markdown-it | 14.x | Markdown Parser | | highlight.js | 11.x | Code Highlighting | | KaTeX | 16.x | LaTeX Math Formula Rendering | ### Backend Services | Technology | Version | Description | | -------------- | ------- | -------------------------------------- | | Express | 5.x | Node.js Web Framework | | ws | 8.x | WebSocket Implementation | | better-sqlite3 | 12.x | SQLite Database | | node-pty | 1.x | Pseudo Terminal Support (CLI Terminal) | | ssh2 | 1.x | SSH Client | ### Terminal | Technology | Version | Description | | ---------------------- | ------- | ----------------- | | @xterm/xterm | 6.x | Terminal Emulator | | @xterm/addon-fit | 0.11.x | Terminal Fit | | @xterm/addon-web-links | 0.12.x | Link Support | *** ## Quick Start ### Requirements - Node.js >= 18.0.0 - npm >= 9.0.0 - Python >= 3.10 (required for Hermes CLI terminal only) ### Install Dependencies ```bash npm install ``` ### Initialize Environment Variables ```bash cp .env.example .env ``` ### Development Mode Start frontend development server: ```bash npm run dev ``` Start backend server: ```bash npm run dev:server ``` Start both frontend and backend: ```bash npm run dev:all ``` Visit `http://localhost:3001` to access the management interface. ### Production Build ```bash npm run build ``` ### Preview Build ```bash npm run preview ``` *** ## Hermes Agent Integration ### Prerequisites Hermes Agent must be installed and configured separately. OpenClaw Admin communicates with Hermes Agent via HTTP API. The following services need to be running: | Service | Default Port | Description | | ----------------- | ------------ | ---------------------------------------------------- | | Hermes Web UI | 9119 | Management REST API (sessions, config, skills, etc.) | | Hermes API Server | 8642 | OpenAI-compatible API (chat, models, runs) | | Hermes CLI | - | Python CLI tool (used by Web terminal) | ### Installing Hermes Agent ```bash # Clone Hermes Agent git clone https://github.com/hermes-agent/hermes-agent.git ~/.hermes cd ~/.hermes # Create virtual environment python3 -m venv .venv source .venv/bin/activate # Install dependencies pip install -e . # Run interactive setup wizard hermes setup ``` ### Configuring Hermes Agent #### 1. Set Up AI Model Provider Hermes Agent supports multiple AI providers. Choose one to configure: **Option A: Via Setup Wizard (Recommended)** ```bash hermes setup model ``` **Option B: Via Environment Variables** Edit `~/.hermes/.env` file: ```bash # OpenRouter (default) OPENROUTER_API_KEY=sk-or-v1-xxxxx # Or use Anthropic ANTHROPIC_API_KEY=sk-ant-xxxxx # Or use OpenAI OPENAI_API_KEY=sk-xxxxx # Or use a Custom Provider (e.g., locally deployed models) CUSTOM_API_KEY=your-api-key CUSTOM_BASE_URL=http://your-server:port/v1 ``` #### 2. Configure Default Model ```bash # Interactive selection hermes model # Or set via config file # Edit ~/.hermes/config.yaml # model: anthropic/claude-sonnet-4 ``` #### 3. Start Hermes Gateway ```bash # Foreground (for debugging) hermes gateway run -v # Background (for production) hermes gateway start # Check status hermes gateway status ``` #### 4. Verify Connection ```bash # Check API Server curl http://localhost:8642/v1/health # Check Web UI curl http://localhost:9119/api/status ``` ### Connecting Hermes in OpenClaw Admin 1. Log in to OpenClaw Admin 2. Go to the **Settings** page 3. In the **Hermes Agent** section, configure: - **Web UI URL**: `http://localhost:9119` (default) - **API Server URL**: `http://localhost:8642` (default) - **API Key**: Fill in if `API_SERVER_KEY` is configured 4. Click **Test Connection** to verify 5. Save the configuration; the sidebar will display the Hermes module entries ### Environment Variables Configure Hermes-related parameters in the `.env` file: ```env # === Hermes Agent Configuration === HERMES_WEB_URL=http://localhost:9119 # Hermes Web UI URL HERMES_API_URL=http://localhost:8642 # Hermes API Server URL HERMES_API_KEY= # Hermes API key (optional) HERMES_CLI_PATH=/path/to/hermes # Hermes CLI path (optional, auto-detected by default) ``` ### CLI Terminal Usage The Hermes CLI terminal supports the following launch parameters: | Parameter | Type | Description | | ------------------- | --------- | --------------------------------------------------------- | | `-m` / `--model` | string | Specify model (e.g., `anthropic/claude-sonnet-4`) | | `--provider` | string | Specify provider (auto/openrouter/anthropic/custom, etc.) | | `-s` / `--skills` | string\[] | Pre-load skills (multiple allowed) | | `-t` / `--toolsets` | string | Toolsets (comma-separated) | | `-r` / `--resume` | string | Resume a specific session | | `-c` / `--continue` | string | Continue a named session | | `--yolo` | boolean | Skip dangerous command confirmations | | `--checkpoints` | boolean | Enable filesystem checkpoints | | `--max-turns` | number | Maximum tool iteration count | | `-v` / `--verbose` | boolean | Verbose output | | `-Q` / `--quiet` | boolean | Quiet mode | In the Web interface, expand the **Launch Config** panel to visually configure these parameters. *** ## Project Structure ``` openclaw-admin/ โ”œโ”€โ”€ src/ โ”‚ โ”œโ”€โ”€ api/ # API Layer โ”‚ โ”‚ โ”œโ”€โ”€ hermes/ # Hermes API Client โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ client.ts # HermesApiClient class โ”‚ โ”‚ โ”œโ”€โ”€ types/ # TypeScript Type Definitions โ”‚ โ”‚ โ”œโ”€โ”€ connect.ts # Connection Management โ”‚ โ”‚ โ”œโ”€โ”€ rpc-client.ts # RPC Client โ”‚ โ”‚ โ””โ”€โ”€ websocket.ts # WebSocket Wrapper โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ assets/ # Static Assets โ”‚ โ”‚ โ””โ”€โ”€ styles/ โ”‚ โ”‚ โ””โ”€โ”€ main.css # Global Styles โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ components/ # Components โ”‚ โ”‚ โ”œโ”€โ”€ common/ # Common Components โ”‚ โ”‚ โ”œโ”€โ”€ layout/ # Layout Components โ”‚ โ”‚ โ””โ”€โ”€ office/ # Office Scene Components โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ composables/ # Composables โ”‚ โ”‚ โ”œโ”€โ”€ useEventStream.ts # Event Stream โ”‚ โ”‚ โ”œโ”€โ”€ useResizable.ts # Resize Handling โ”‚ โ”‚ โ””โ”€โ”€ useTheme.ts # Theme Management โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ i18n/ # Internationalization โ”‚ โ”‚ โ”œโ”€โ”€ messages/ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ zh-CN.ts # Chinese โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ en-US.ts # English โ”‚ โ”‚ โ””โ”€โ”€ index.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ layouts/ # Layouts โ”‚ โ”‚ โ””โ”€โ”€ DefaultLayout.vue โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ router/ # Router โ”‚ โ”‚ โ”œโ”€โ”€ index.ts โ”‚ โ”‚ โ””โ”€โ”€ routes.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ stores/ # Pinia State Management โ”‚ โ”‚ โ”œโ”€โ”€ hermes/ # Hermes State Management โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ connection.ts # Connection Management โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ config.ts # Configuration โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ chat.ts # Chat โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ session.ts # Session Management โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ model.ts # Model Management โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ channel.ts # Channel Management โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ skill.ts # Skill Management โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ cron.ts # Scheduled Tasks โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ memory.ts # Memory โ”‚ โ”‚ โ”œโ”€โ”€ hermes-cli.ts # Hermes CLI Terminal โ”‚ โ”‚ โ”œโ”€โ”€ agent.ts # Agent โ”‚ โ”‚ โ”œโ”€โ”€ auth.ts # Authentication โ”‚ โ”‚ โ”œโ”€โ”€ channel.ts # Channel โ”‚ โ”‚ โ”œโ”€โ”€ chat.ts # Chat โ”‚ โ”‚ โ”œโ”€โ”€ config.ts # Configuration โ”‚ โ”‚ โ”œโ”€โ”€ cron.ts # Scheduled Tasks โ”‚ โ”‚ โ”œโ”€โ”€ memory.ts # Memory โ”‚ โ”‚ โ”œโ”€โ”€ model.ts # Model โ”‚ โ”‚ โ”œโ”€โ”€ session.ts # Session โ”‚ โ”‚ โ”œโ”€โ”€ skill.ts # Skill โ”‚ โ”‚ โ”œโ”€โ”€ terminal.ts # Terminal โ”‚ โ”‚ โ”œโ”€โ”€ theme.ts # Theme โ”‚ โ”‚ โ””โ”€โ”€ websocket.ts # WebSocket โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ utils/ # Utilities โ”‚ โ”‚ โ”œโ”€โ”€ channel-config.ts โ”‚ โ”‚ โ”œโ”€โ”€ format.ts โ”‚ โ”‚ โ”œโ”€โ”€ markdown.ts โ”‚ โ”‚ โ””โ”€โ”€ secret-mask.ts โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ views/ # Page Views โ”‚ โ”‚ โ”œโ”€โ”€ hermes/ # Hermes Module Pages โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ HermesDashboard.vue # Dashboard โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ HermesChatPage.vue # Chat โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ HermesSessionsPage.vue # Sessions โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ HermesModelsPage.vue # Models โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ HermesChannelsPage.vue # Channels โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ HermesSkillsPage.vue # Skills โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ HermesCronPage.vue # Cron โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ HermesMemoryPage.vue # Memory โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ HermesSystemPage.vue # System โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ HermesCliPage.vue # CLI Terminal โ”‚ โ”‚ โ”œโ”€โ”€ agents/ # Multi-Agent โ”‚ โ”‚ โ”œโ”€โ”€ channels/ # Channel Management โ”‚ โ”‚ โ”œโ”€โ”€ chat/ # Online Chat โ”‚ โ”‚ โ”œโ”€โ”€ cron/ # Scheduled Tasks โ”‚ โ”‚ โ”œโ”€โ”€ memory/ # Memory Management โ”‚ โ”‚ โ”œโ”€โ”€ models/ # Model Management โ”‚ โ”‚ โ”œโ”€โ”€ sessions/ # Session Management โ”‚ โ”‚ โ”œโ”€โ”€ skills/ # Skill Management โ”‚ โ”‚ โ”œโ”€โ”€ system/ # System Monitoring โ”‚ โ”‚ โ”œโ”€โ”€ terminal/ # Remote Terminal โ”‚ โ”‚ โ”œโ”€โ”€ remote-desktop/ # Remote Desktop โ”‚ โ”‚ โ”œโ”€โ”€ files/ # File Browser โ”‚ โ”‚ โ”œโ”€โ”€ office/ # Agent Workshop โ”‚ โ”‚ โ”œโ”€โ”€ myworld/ # Virtual Company โ”‚ โ”‚ โ”œโ”€โ”€ monitor/ # Operations Center โ”‚ โ”‚ โ”œโ”€โ”€ settings/ # System Settings โ”‚ โ”‚ โ”œโ”€โ”€ Dashboard.vue # Dashboard โ”‚ โ”‚ โ””โ”€โ”€ Login.vue # Login Page โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ App.vue # Root Component โ”‚ โ”œโ”€โ”€ main.ts # Entry File โ”‚ โ””โ”€โ”€ env.d.ts # Environment Type Declarations โ”‚ โ”œโ”€โ”€ server/ # Backend Services โ”‚ โ”œโ”€โ”€ index.js # Server Entry (includes Hermes CLI proxy) โ”‚ โ”œโ”€โ”€ hermes-proxy.js # Hermes API Proxy โ”‚ โ”œโ”€โ”€ gateway.js # Gateway Connection โ”‚ โ””โ”€โ”€ database.js # Database Operations โ”‚ โ”œโ”€โ”€ public/ # Public Static Assets โ”œโ”€โ”€ dist/ # Build Output โ”œโ”€โ”€ data/ # Data Storage โ”‚ โ”œโ”€โ”€ vite.config.ts # Vite Configuration โ”œโ”€โ”€ tsconfig.json # TypeScript Configuration โ”œโ”€โ”€ package.json # Project Configuration โ”œโ”€โ”€ .env.example # Environment Variables Example โ””โ”€โ”€ .env # Local Environment Variables (copied from .env.example) ``` *** ## Development Guide ### Code Style - Use Vue 3 Composition API + `