# Claw Admin - AI Agent Management Platform
Modern AI Agent Gateway Management Console
GitHub • Features • Tech Stack • Quick Start • Hermes Agent Integration • Project Structure • Development 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  - Runtime overview and key metrics - Token usage trend charts - Session activity statistics - Real-time event stream monitoring - Top models/channels/tools distribution #### Chat  - 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  - Session list and details - Create, reset, delete sessions - Multi-dimensional filtering and sorting - Message history export #### Memory  - Agent document management - Edit AGENTS, SOUL, IDENTITY, USER, and other core documents - Markdown editor - Quick template snippets #### Cron  - Scheduled task creation and management - Support for Cron expressions, fixed intervals, specific times - Task execution history - Quick templates (morning report, health check, etc.) #### Models  - Multi-model channel configuration - API Key security management (masked display) - Model probing - Default model settings - Coding package quick configuration #### Channels  - QQ, Feishu, DingTalk, WeCom channel configuration - Channel status monitoring - Credential security management - One-click installation and configuration #### Skills  - Skill plugin list - Built-in/user skill classification - Skill installation and updates - Chat visibility control #### Agents  - Agent creation and management - Identity, model, tool permission configuration - Session statistics and token usage - Workspace file management #### Office   - Multi-agent collaboration space - Scene creation wizard - Task delegation and execution - Inter-agent communication - Team management #### MyWorld  - Visual office scenes - Character movement and interaction - Area interaction features - Real-time communication #### Terminal  - SSE protocol remote terminal - Multi-node support - Full-screen mode - Custom shell and working directory #### Remote Desktop  - Linux/Windows remote desktop - Real-time screen transmission - Mouse and keyboard operations - Clipboard synchronization #### Files  - Workspace file browsing - File editing and preview - File upload and download - Directory management #### System  - CPU, memory, disk usage - Network connection status - Instance online status - Runtime statistics #### Settings  - 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 + `