{"id":47595552,"url":"https://github.com/itq5/openclaw-admin","last_synced_at":"2026-04-26T20:01:05.792Z","repository":{"id":345084695,"uuid":"1177774359","full_name":"itq5/OpenClaw-Admin","owner":"itq5","description":"OpenClaw Admin 是一个基于 Vue 3 构建的现代化 AI 智能体管理平台，为 OpenClaw Gateway 提供完整的 Web 管理界面。通过直观的可视化操作，用户可以轻松管理 AI 智能体、会话、模型、频道、技能等核心功能。","archived":false,"fork":false,"pushed_at":"2026-04-09T10:33:01.000Z","size":10909,"stargazers_count":361,"open_issues_count":14,"forks_count":99,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-04-09T12:24:49.512Z","etag":null,"topics":["openclaw","web"],"latest_commit_sha":null,"homepage":"https://claw.227727.xyz","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itq5.png","metadata":{"files":{"readme":"README.en.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-10T11:05:32.000Z","updated_at":"2026-04-09T11:55:33.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/itq5/OpenClaw-Admin","commit_stats":null,"previous_names":["itq5/openclaw-admin"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/itq5/OpenClaw-Admin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itq5%2FOpenClaw-Admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itq5%2FOpenClaw-Admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itq5%2FOpenClaw-Admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itq5%2FOpenClaw-Admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itq5","download_url":"https://codeload.github.com/itq5/OpenClaw-Admin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itq5%2FOpenClaw-Admin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32310804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T19:15:34.056Z","status":"ssl_error","status_checked_at":"2026-04-26T19:15:15.467Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["openclaw","web"],"created_at":"2026-04-01T18:02:20.504Z","updated_at":"2026-04-26T20:01:05.785Z","avatar_url":"https://github.com/itq5.png","language":"Vue","readme":"# Claw Admin - AI Agent Management Platform\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eModern AI Agent Gateway Management Console\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/itq5/OpenClaw-Admin\"\u003eGitHub\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#tech-stack\"\u003eTech Stack\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#quick-start\"\u003eQuick Start\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#hermes-agent-integration\"\u003eHermes Agent Integration\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#project-structure\"\u003eProject Structure\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#development-guide\"\u003eDevelopment Guide\u003c/a\u003e \u0026bull;\n  \u003ca href=\"README.md\"\u003e中文\u003c/a\u003e\n\u003c/p\u003e\n\n***\n\n## Introduction\n\nClaw 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.\n\n### Version Compatibility\n\n| OpenClaw Admin | OpenClaw Gateway | Hermes Agent | Status     |\n| -------------- | ---------------- | ------------ | ---------- |\n| 0.2.7          | 2026.4.5         | 2026.4.9     | ✅ Verified |\n\n### Highlights\n\n- 🎯 **Dual Gateway Support**: Manage both OpenClaw Gateway and Hermes Agent from a single platform\n- 🖥️ **Web CLI Terminal**: Real CLI experience powered by xterm.js, with session persistence, reconnection, and launch parameter configuration\n- 🤖 **Multi-Agent Collaboration**: Create and manage multiple AI agents for complex task collaboration\n- 📊 **Real-time Monitoring**: System resources, session status, token usage, and more\n- 🌍 **Internationalization**: Built-in Chinese and English support, seamless switching\n- 🎨 **Modern UI**: Responsive design based on Naive UI, supports light/dark themes\n\n***\n\n## Features\n\n### I. OpenClaw Gateway Module\n\n#### Dashboard\n\n![Dashboard](docs/images/仪表盘.png)\n\n- Runtime overview and key metrics\n- Token usage trend charts\n- Session activity statistics\n- Real-time event stream monitoring\n- Top models/channels/tools distribution\n\n#### Chat\n\n![Chat](docs/images/在线对话.png)\n\n- Real-time chat interface\n- Support for slash commands (`/new`, `/skill`, `/model`, `/status`, `/subagents`)\n- Message filtering and search\n- Quick replies\n- Real-time token usage statistics\n\n#### Sessions\n\n![Sessions](docs/images/会话管理.png)\n\n- Session list and details\n- Create, reset, delete sessions\n- Multi-dimensional filtering and sorting\n- Message history export\n\n#### Memory\n\n![Memory](docs/images/记忆管理.png)\n\n- Agent document management\n- Edit AGENTS, SOUL, IDENTITY, USER, and other core documents\n- Markdown editor\n- Quick template snippets\n\n#### Cron\n\n![Cron](docs/images/计划任务.png)\n\n- Scheduled task creation and management\n- Support for Cron expressions, fixed intervals, specific times\n- Task execution history\n- Quick templates (morning report, health check, etc.)\n\n#### Models\n\n![Models](docs/images/模型管理.png)\n\n- Multi-model channel configuration\n- API Key security management (masked display)\n- Model probing\n- Default model settings\n- Coding package quick configuration\n\n#### Channels\n\n![Channels](docs/images/频道管理.png)\n\n- QQ, Feishu, DingTalk, WeCom channel configuration\n- Channel status monitoring\n- Credential security management\n- One-click installation and configuration\n\n#### Skills\n\n![Skills](docs/images/技能管理.png)\n\n- Skill plugin list\n- Built-in/user skill classification\n- Skill installation and updates\n- Chat visibility control\n\n#### Agents\n\n![Agents](docs/images/多智能体.png)\n\n- Agent creation and management\n- Identity, model, tool permission configuration\n- Session statistics and token usage\n- Workspace file management\n\n#### Office\n\n![Office-1](docs/images/智能体工坊-1.png)\n![Office-2](docs/images/智能体工坊-2.png)\n\n- Multi-agent collaboration space\n- Scene creation wizard\n- Task delegation and execution\n- Inter-agent communication\n- Team management\n\n#### MyWorld\n\n![MyWorld](docs/images/虚拟公司.png)\n\n- Visual office scenes\n- Character movement and interaction\n- Area interaction features\n- Real-time communication\n\n#### Terminal\n\n![Terminal](docs/images/远程终端.png)\n\n- SSE protocol remote terminal\n- Multi-node support\n- Full-screen mode\n- Custom shell and working directory\n\n#### Remote Desktop\n\n![Remote Desktop](docs/images/远程桌面.png)\n\n- Linux/Windows remote desktop\n- Real-time screen transmission\n- Mouse and keyboard operations\n- Clipboard synchronization\n\n#### Files\n\n![Files](docs/images/文件浏览器.png)\n\n- Workspace file browsing\n- File editing and preview\n- File upload and download\n- Directory management\n\n#### System\n\n![System](docs/images/系统监视器.png)\n\n- CPU, memory, disk usage\n- Network connection status\n- Instance online status\n- Runtime statistics\n\n#### Settings\n\n![Settings](docs/images/系统设置.png)\n\n- Connection configuration management\n- Appearance and theme settings\n- Environment variable configuration\n\n***\n\n### II. Hermes Agent Module\n\n#### Hermes Dashboard\n\n- System status overview (version, uptime, active sessions)\n- Token usage and cost analytics (daily / by model)\n- Gateway platform status\n\n#### Hermes Chat\n\n- Real-time chat via OpenAI-compatible API (SSE streaming)\n- 17+ slash commands (`/new`, `/model`, `/skills`, `/commands`, `/help`, etc.)\n- Command panel auto-completion (type `/` to trigger, Tab to complete, arrow keys to navigate)\n- Tool Calls visualization\n- Markdown rendering + code highlighting + LaTeX formulas\n- Real-time token usage statistics\n\n#### Hermes Sessions\n\n- Session list (pagination, search)\n- Session message history\n- Full-text search (FTS5)\n- Session deletion\n\n#### Hermes Models\n\n- Model list (OpenAI-compatible format)\n- Current model switching\n- Model capability tags (vision, function\\_calling, etc.)\n\n#### Hermes Channels\n\n- Messaging platform configuration (Telegram, Discord, Slack, etc.)\n- Platform status monitoring\n- OAuth authentication management\n\n#### Hermes Skills\n\n- Skill list (enable/disable toggle)\n- Skill categories and version info\n- Skill descriptions and status\n\n#### Hermes Cron\n\n- Scheduled task CRUD\n- Task pause/resume/manual trigger\n- Cron expression configuration\n\n#### Hermes Memory\n\n- SOUL.md personality configuration editor\n- AGENTS.md agent instructions editor\n- Markdown editor + template snippets\n\n#### Hermes System\n\n- Configuration management (structured form + raw YAML editor)\n- Environment variable management (masked display, reveal plaintext)\n- Log viewer (filter by level/component/keyword)\n- Toolset list\n\n#### Hermes CLI Terminal 🔥\n\n- **Real CLI Experience**: Spawns Hermes CLI process via node-pty for full terminal emulation\n- **Session Persistence**: Browser disconnect does not terminate the CLI process; supports reconnection with output buffer replay\n- **Launch Configuration Panel**: Visual configuration of CLI parameters (model, provider, skills, toolsets, yolo, etc.)\n- **Multi-Session Management**: Create multiple CLI sessions with reconnect, detach, rename, and destroy\n- **Full CLI Commands**: Supports all CLI-only commands (`/skills`, `/tools`, `/cron`, `/config`, `/browser`, etc.)\n- **No WebSocket**: Pure SSE + HTTP POST dual-channel, compatible with strict network policies\n- **Terminal Features**: Fullscreen mode, right-click paste, selection copy, auto-fit\n\n***\n\n## Tech Stack\n\n### Frontend Framework\n\n| Technology | Version | Description                         |\n| ---------- | ------- | ----------------------------------- |\n| Vue        | 3.5.x   | Progressive JavaScript Framework    |\n| Vue Router | 4.x     | Official Router                     |\n| Pinia      | 3.x     | State Management                    |\n| TypeScript | 5.x     | Type-safe JavaScript Superset       |\n| Vite       | 7.x     | Next-generation Frontend Build Tool |\n\n### UI Components\n\n| Technology        | Version | Description             |\n| ----------------- | ------- | ----------------------- |\n| Naive UI          | 2.43.x  | Vue 3 Component Library |\n| @vicons/ionicons5 | 0.13.x  | Icon Library            |\n| @fortawesome      | 7.x     | Font Awesome Icons      |\n\n### Communication \u0026 Data\n\n| Technology   | Version | Description                                      |\n| ------------ | ------- | ------------------------------------------------ |\n| WebSocket    | -       | Real-time Bidirectional Communication (OpenClaw) |\n| SSE          | -       | Server-Sent Events (Hermes)                      |\n| markdown-it  | 14.x    | Markdown Parser                                  |\n| highlight.js | 11.x    | Code Highlighting                                |\n| KaTeX        | 16.x    | LaTeX Math Formula Rendering                     |\n\n### Backend Services\n\n| Technology     | Version | Description                            |\n| -------------- | ------- | -------------------------------------- |\n| Express        | 5.x     | Node.js Web Framework                  |\n| ws             | 8.x     | WebSocket Implementation               |\n| better-sqlite3 | 12.x    | SQLite Database                        |\n| node-pty       | 1.x     | Pseudo Terminal Support (CLI Terminal) |\n| ssh2           | 1.x     | SSH Client                             |\n\n### Terminal\n\n| Technology             | Version | Description       |\n| ---------------------- | ------- | ----------------- |\n| @xterm/xterm           | 6.x     | Terminal Emulator |\n| @xterm/addon-fit       | 0.11.x  | Terminal Fit      |\n| @xterm/addon-web-links | 0.12.x  | Link Support      |\n\n***\n\n## Quick Start\n\n### Requirements\n\n- Node.js \u003e= 18.0.0\n- npm \u003e= 9.0.0\n- Python \u003e= 3.10 (required for Hermes CLI terminal only)\n\n### Install Dependencies\n\n```bash\nnpm install\n```\n\n### Initialize Environment Variables\n\n```bash\ncp .env.example .env\n```\n\n### Development Mode\n\nStart frontend development server:\n\n```bash\nnpm run dev\n```\n\nStart backend server:\n\n```bash\nnpm run dev:server\n```\n\nStart both frontend and backend:\n\n```bash\nnpm run dev:all\n```\n\nVisit `http://localhost:3001` to access the management interface.\n\n### Production Build\n\n```bash\nnpm run build\n```\n\n### Preview Build\n\n```bash\nnpm run preview\n```\n\n***\n\n## Hermes Agent Integration\n\n### Prerequisites\n\nHermes Agent must be installed and configured separately. OpenClaw Admin communicates with Hermes Agent via HTTP API. The following services need to be running:\n\n| Service           | Default Port | Description                                          |\n| ----------------- | ------------ | ---------------------------------------------------- |\n| Hermes Web UI     | 9119         | Management REST API (sessions, config, skills, etc.) |\n| Hermes API Server | 8642         | OpenAI-compatible API (chat, models, runs)           |\n| Hermes CLI        | -            | Python CLI tool (used by Web terminal)               |\n\n### Installing Hermes Agent\n\n```bash\n# Clone Hermes Agent\ngit clone https://github.com/hermes-agent/hermes-agent.git ~/.hermes\ncd ~/.hermes\n\n# Create virtual environment\npython3 -m venv .venv\nsource .venv/bin/activate\n\n# Install dependencies\npip install -e .\n\n# Run interactive setup wizard\nhermes setup\n```\n\n### Configuring Hermes Agent\n\n#### 1. Set Up AI Model Provider\n\nHermes Agent supports multiple AI providers. Choose one to configure:\n\n**Option A: Via Setup Wizard (Recommended)**\n\n```bash\nhermes setup model\n```\n\n**Option B: Via Environment Variables**\n\nEdit `~/.hermes/.env` file:\n\n```bash\n# OpenRouter (default)\nOPENROUTER_API_KEY=sk-or-v1-xxxxx\n\n# Or use Anthropic\nANTHROPIC_API_KEY=sk-ant-xxxxx\n\n# Or use OpenAI\nOPENAI_API_KEY=sk-xxxxx\n\n# Or use a Custom Provider (e.g., locally deployed models)\nCUSTOM_API_KEY=your-api-key\nCUSTOM_BASE_URL=http://your-server:port/v1\n```\n\n#### 2. Configure Default Model\n\n```bash\n# Interactive selection\nhermes model\n\n# Or set via config file\n# Edit ~/.hermes/config.yaml\n# model: anthropic/claude-sonnet-4\n```\n\n#### 3. Start Hermes Gateway\n\n```bash\n# Foreground (for debugging)\nhermes gateway run -v\n\n# Background (for production)\nhermes gateway start\n\n# Check status\nhermes gateway status\n```\n\n#### 4. Verify Connection\n\n```bash\n# Check API Server\ncurl http://localhost:8642/v1/health\n\n# Check Web UI\ncurl http://localhost:9119/api/status\n```\n\n### Connecting Hermes in OpenClaw Admin\n\n1. Log in to OpenClaw Admin\n2. Go to the **Settings** page\n3. In the **Hermes Agent** section, configure:\n   - **Web UI URL**: `http://localhost:9119` (default)\n   - **API Server URL**: `http://localhost:8642` (default)\n   - **API Key**: Fill in if `API_SERVER_KEY` is configured\n4. Click **Test Connection** to verify\n5. Save the configuration; the sidebar will display the Hermes module entries\n\n### Environment Variables\n\nConfigure Hermes-related parameters in the `.env` file:\n\n```env\n# === Hermes Agent Configuration ===\nHERMES_WEB_URL=http://localhost:9119    # Hermes Web UI URL\nHERMES_API_URL=http://localhost:8642    # Hermes API Server URL\nHERMES_API_KEY=                         # Hermes API key (optional)\nHERMES_CLI_PATH=/path/to/hermes         # Hermes CLI path (optional, auto-detected by default)\n```\n\n### CLI Terminal Usage\n\nThe Hermes CLI terminal supports the following launch parameters:\n\n| Parameter           | Type      | Description                                               |\n| ------------------- | --------- | --------------------------------------------------------- |\n| `-m` / `--model`    | string    | Specify model (e.g., `anthropic/claude-sonnet-4`)         |\n| `--provider`        | string    | Specify provider (auto/openrouter/anthropic/custom, etc.) |\n| `-s` / `--skills`   | string\\[] | Pre-load skills (multiple allowed)                        |\n| `-t` / `--toolsets` | string    | Toolsets (comma-separated)                                |\n| `-r` / `--resume`   | string    | Resume a specific session                                 |\n| `-c` / `--continue` | string    | Continue a named session                                  |\n| `--yolo`            | boolean   | Skip dangerous command confirmations                      |\n| `--checkpoints`     | boolean   | Enable filesystem checkpoints                             |\n| `--max-turns`       | number    | Maximum tool iteration count                              |\n| `-v` / `--verbose`  | boolean   | Verbose output                                            |\n| `-Q` / `--quiet`    | boolean   | Quiet mode                                                |\n\nIn the Web interface, expand the **Launch Config** panel to visually configure these parameters.\n\n***\n\n## Project Structure\n\n```\nopenclaw-admin/\n├── src/\n│   ├── api/                        # API Layer\n│   │   ├── hermes/                 # Hermes API Client\n│   │   │   └── client.ts           # HermesApiClient class\n│   │   ├── types/                  # TypeScript Type Definitions\n│   │   ├── connect.ts              # Connection Management\n│   │   ├── rpc-client.ts           # RPC Client\n│   │   └── websocket.ts            # WebSocket Wrapper\n│   │\n│   ├── assets/                     # Static Assets\n│   │   └── styles/\n│   │       └── main.css            # Global Styles\n│   │\n│   ├── components/                 # Components\n│   │   ├── common/                 # Common Components\n│   │   ├── layout/                 # Layout Components\n│   │   └── office/                 # Office Scene Components\n│   │\n│   ├── composables/                # Composables\n│   │   ├── useEventStream.ts       # Event Stream\n│   │   ├── useResizable.ts         # Resize Handling\n│   │   └── useTheme.ts             # Theme Management\n│   │\n│   ├── i18n/                       # Internationalization\n│   │   ├── messages/\n│   │   │   ├── zh-CN.ts            # Chinese\n│   │   │   └── en-US.ts            # English\n│   │   └── index.ts\n│   │\n│   ├── layouts/                    # Layouts\n│   │   └── DefaultLayout.vue\n│   │\n│   ├── router/                     # Router\n│   │   ├── index.ts\n│   │   └── routes.ts\n│   │\n│   ├── stores/                     # Pinia State Management\n│   │   ├── hermes/                 # Hermes State Management\n│   │   │   ├── connection.ts       # Connection Management\n│   │   │   ├── config.ts           # Configuration\n│   │   │   ├── chat.ts             # Chat\n│   │   │   ├── session.ts          # Session Management\n│   │   │   ├── model.ts            # Model Management\n│   │   │   ├── channel.ts          # Channel Management\n│   │   │   ├── skill.ts            # Skill Management\n│   │   │   ├── cron.ts             # Scheduled Tasks\n│   │   │   └── memory.ts           # Memory\n│   │   ├── hermes-cli.ts           # Hermes CLI Terminal\n│   │   ├── agent.ts                # Agent\n│   │   ├── auth.ts                 # Authentication\n│   │   ├── channel.ts              # Channel\n│   │   ├── chat.ts                 # Chat\n│   │   ├── config.ts               # Configuration\n│   │   ├── cron.ts                 # Scheduled Tasks\n│   │   ├── memory.ts               # Memory\n│   │   ├── model.ts                # Model\n│   │   ├── session.ts              # Session\n│   │   ├── skill.ts                # Skill\n│   │   ├── terminal.ts             # Terminal\n│   │   ├── theme.ts                # Theme\n│   │   └── websocket.ts            # WebSocket\n│   │\n│   ├── utils/                      # Utilities\n│   │   ├── channel-config.ts\n│   │   ├── format.ts\n│   │   ├── markdown.ts\n│   │   └── secret-mask.ts\n│   │\n│   ├── views/                      # Page Views\n│   │   ├── hermes/                 # Hermes Module Pages\n│   │   │   ├── HermesDashboard.vue # Dashboard\n│   │   │   ├── HermesChatPage.vue  # Chat\n│   │   │   ├── HermesSessionsPage.vue  # Sessions\n│   │   │   ├── HermesModelsPage.vue    # Models\n│   │   │   ├── HermesChannelsPage.vue  # Channels\n│   │   │   ├── HermesSkillsPage.vue    # Skills\n│   │   │   ├── HermesCronPage.vue      # Cron\n│   │   │   ├── HermesMemoryPage.vue    # Memory\n│   │   │   ├── HermesSystemPage.vue    # System\n│   │   │   └── HermesCliPage.vue       # CLI Terminal\n│   │   ├── agents/                 # Multi-Agent\n│   │   ├── channels/               # Channel Management\n│   │   ├── chat/                   # Online Chat\n│   │   ├── cron/                   # Scheduled Tasks\n│   │   ├── memory/                 # Memory Management\n│   │   ├── models/                 # Model Management\n│   │   ├── sessions/               # Session Management\n│   │   ├── skills/                 # Skill Management\n│   │   ├── system/                 # System Monitoring\n│   │   ├── terminal/               # Remote Terminal\n│   │   ├── remote-desktop/         # Remote Desktop\n│   │   ├── files/                  # File Browser\n│   │   ├── office/                 # Agent Workshop\n│   │   ├── myworld/                # Virtual Company\n│   │   ├── monitor/                # Operations Center\n│   │   ├── settings/               # System Settings\n│   │   ├── Dashboard.vue           # Dashboard\n│   │   └── Login.vue               # Login Page\n│   │\n│   ├── App.vue                     # Root Component\n│   ├── main.ts                     # Entry File\n│   └── env.d.ts                    # Environment Type Declarations\n│\n├── server/                         # Backend Services\n│   ├── index.js                    # Server Entry (includes Hermes CLI proxy)\n│   ├── hermes-proxy.js             # Hermes API Proxy\n│   ├── gateway.js                  # Gateway Connection\n│   └── database.js                 # Database Operations\n│\n├── public/                         # Public Static Assets\n├── dist/                           # Build Output\n├── data/                           # Data Storage\n│\n├── vite.config.ts                  # Vite Configuration\n├── tsconfig.json                   # TypeScript Configuration\n├── package.json                    # Project Configuration\n├── .env.example                    # Environment Variables Example\n└── .env                            # Local Environment Variables (copied from .env.example)\n```\n\n***\n\n## Development Guide\n\n### Code Style\n\n- Use Vue 3 Composition API + `\u003cscript setup lang=\"ts\"\u003e`\n- Follow 2-space indentation, single quotes, trailing commas, no semicolons\n- Use `@/` alias for `src` path imports\n\n### Naming Conventions\n\n| Type        | Convention     | Example                |\n| ----------- | -------------- | ---------------------- |\n| Components  | PascalCase.vue | `ConnectionStatus.vue` |\n| Route Pages | \\*Page.vue     | `HermesChatPage.vue`   |\n| Store       | camelCase.ts   | `hermes-cli.ts`        |\n| Composable  | use\\*.ts       | `useTheme.ts`          |\n\n### Build Verification\n\nBefore submitting, ensure:\n\n```bash\nnpm run build\n```\n\nBuild passes with no type errors.\n\n### Environment Variables\n\nFirst copy the example file, then fill in according to your local environment:\n\n```bash\ncp .env.example .env\n```\n\nThen configure in `.env` file:\n\n```env\n# === Application ===\nVITE_APP_TITLE=OpenClaw Admin\nPORT=3000\nDEV_PORT=3001\n\n# === Authentication ===\nAUTH_USERNAME=admin\nAUTH_PASSWORD=admin\n\n# === OpenClaw Gateway ===\nOPENCLAW_WS_URL=ws://localhost:18789\nOPENCLAW_AUTH_TOKEN=\nOPENCLAW_AUTH_PASSWORD=        # Gateway password, either one with Token is enough\n\n# === Hermes Agent ===\nHERMES_WEB_URL=http://localhost:9119\nHERMES_API_URL=http://localhost:8642\nHERMES_API_KEY=\nHERMES_CLI_PATH=               # Hermes CLI path (optional, auto-detected by default)\n\n# === Other ===\nLOG_LEVEL=INFO\nMEDIA_DIR=\n```\n\n***\n\n## API Reference\n\n### OpenClaw WebSocket RPC Methods\n\nThe project communicates with OpenClaw Gateway via WebSocket, supporting the following RPC methods:\n\n#### Configuration Management\n\n- `config.get` - Get configuration\n- `config.patch` - Update configuration\n- `config.set` - Set configuration\n- `config.apply` - Apply configuration\n\n#### Session Management\n\n- `sessions.list` - List sessions\n- `sessions.get` - Get session details\n- `sessions.reset` - Reset session\n- `sessions.delete` - Delete session\n- `sessions.spawn` - Create session\n- `sessions.history` - Get history\n- `sessions.usage` - Get usage statistics\n\n#### Channel Management\n\n- `channels.status` - Get channel status\n- `channel.auth` - Channel authentication\n- `channel.pair` - Channel pairing\n\n#### Agent Management\n\n- `agents.list` - List agents\n- `agents.create` - Create agent\n- `agents.update` - Update agent\n- `agents.delete` - Delete agent\n- `agents.files.list` - List files\n- `agents.files.get` - Get file\n- `agents.files.set` - Set file\n\n#### Model Management\n\n- `models.list` - List models\n\n#### Scheduled Tasks\n\n- `cron.list` - List tasks\n- `cron.add` - Add task\n- `cron.update` - Update task\n- `cron.delete` - Delete task\n- `cron.run` - Execute task\n\n#### System Monitoring\n\n- `health` - Health check\n- `status` - Status query\n- `system-presence` - Instance status\n- `logs.tail` - View logs\n\n### Hermes REST API Proxy\n\nThe backend proxies requests to two Hermes Agent services via `hermes-proxy.js`:\n\n| Target Service    | Default Port | Proxy Prefix      | Description                                     |\n| ----------------- | ------------ | ----------------- | ----------------------------------------------- |\n| Hermes Web UI     | 9119         | `/api/hermes/`    | Management API (sessions, config, skills, etc.) |\n| Hermes API Server | 8642         | `/api/hermes/v1/` | OpenAI-compatible API (chat, models, runs)      |\n\n### Hermes CLI Terminal API\n\n| Method | Path                              | Description                               |\n| ------ | --------------------------------- | ----------------------------------------- |\n| GET    | `/api/hermes-cli/stream`          | Create/reconnect CLI session (SSE stream) |\n| POST   | `/api/hermes-cli/input`           | Send keyboard input to CLI process        |\n| POST   | `/api/hermes-cli/resize`          | Resize terminal                           |\n| POST   | `/api/hermes-cli/destroy`         | Destroy CLI session                       |\n| POST   | `/api/hermes-cli/heartbeat`       | Heartbeat keep-alive                      |\n| GET    | `/api/hermes-cli/sessions`        | List all CLI sessions                     |\n| POST   | `/api/hermes-cli/sessions/rename` | Rename a session                          |\n\n***\n\n## Security Notes\n\n- ⚠️ **Never commit** real Gateway tokens, API keys, or other sensitive information\n- Credential fields use masked display, plain text is never echoed\n- API Keys are only submitted when a new value is entered, otherwise the original value is kept\n- Hermes CLI sessions have a 2-hour orphan timeout for automatic cleanup\n\n***\n\n## License\n\n[MIT License](LICENSE)\n\n***\n\n## Contributing\n\nIssues and Pull Requests are welcome!\n\n**GitHub Repository**: \u003chttps://github.com/itq5/OpenClaw-Admin\u003e\n\n1. Fork this repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'feat: add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Create a Pull Request\n\n***\n\n## Contact\n\n### Author Email\n\n📧 \u003croot@itq5.com\u003e\n\n### WeChat Group\n\nWelcome to join our WeChat group for latest updates and technical support:\n\n![WeChat Group](docs/images/微信群.png)\n![WeChat Group-2](docs/images/微信群-2.png)\n![WeChat Group-3](docs/images/微信群-3.png)\n![WeChat Group-4](docs/images/微信群-4.png)\n\n***\n\n\u003cp align=\"center\"\u003e\n  Made with ❤️ by \u003ca href=\"https://github.com/itq5/OpenClaw-Admin\"\u003eClaw Admin\u003c/a\u003e Team\n\u003c/p\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitq5%2Fopenclaw-admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitq5%2Fopenclaw-admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitq5%2Fopenclaw-admin/lists"}