agentlytics
Comprehensive analytics dashboard for AI coding agents — Cursor, Windsurf, Claude Code, VS Code Copilot, Zed, Antigravi…
Claw-Admin 是一个基于 Vue 3 构建的现代化 AI 智能体管理平台,同时支持 OpenClaw Gateway 和 Hermes Agent 两大 AI 智能体网关提供完整的 Web 管理界面。通过直观的可视化操作,用户可以…
现代化的 AI 智能体网关管理控制台
GitHub • 功能特性 • 技术栈 • 快速开始 • Hermes Agent 集成 • 项目结构 • 开发指南 • English
Claw Admin 是一个基于 Vue 3 构建的现代化 AI 智能体管理平台,同时支持 OpenClaw Gateway 和 Hermes Agent 两大 AI 智能体网关。通过直观的可视化操作,用户可以轻松管理 AI 智能体、会话、模型、频道、技能等核心功能,并提供完整的 Web CLI 终端体验。
| OpenClaw Admin | OpenClaw Gateway | Hermes Agent | 状态 |
|---|---|---|---|
| 0.2.7 | 2026.4.5 | 2026.4.9 | ✅ 已验证 |
/new, /skill, /model, /status, /subagents)/new, /model, /skills, /commands, /help 等)/ 触发,Tab 补全,方向键选择)/skills、/tools、/cron、/config、/browser 等)| 技术 | 版本 | 说明 |
|---|---|---|
| Vue | 3.5.x | 渐进式 JavaScript 框架 |
| Vue Router | 4.x | 官方路由管理器 |
| Pinia | 3.x | 状态管理库 |
| TypeScript | 5.x | 类型安全的 JavaScript 超集 |
| Vite | 7.x | 下一代前端构建工具 |
| 技术 | 版本 | 说明 |
|---|---|---|
| Naive UI | 2.43.x | Vue 3 组件库 |
| @vicons/ionicons5 | 0.13.x | 图标库 |
| @fortawesome | 7.x | Font Awesome 图标 |
| 技术 | 版本 | 说明 |
|---|---|---|
| WebSocket | - | 实时双向通信(OpenClaw) |
| SSE | - | 服务器推送事件(Hermes) |
| markdown-it | 14.x | Markdown 解析器 |
| highlight.js | 11.x | 代码高亮 |
| KaTeX | 16.x | LaTeX 数学公式渲染 |
| 技术 | 版本 | 说明 |
|---|---|---|
| Express | 5.x | Node.js Web 框架 |
| ws | 8.x | WebSocket 实现 |
| better-sqlite3 | 12.x | SQLite 数据库 |
| node-pty | 1.x | 伪终端支持(CLI 终端) |
| ssh2 | 1.x | SSH 客户端 |
| 技术 | 版本 | 说明 |
|---|---|---|
| @xterm/xterm | 6.x | 终端模拟器 |
| @xterm/addon-fit | 0.11.x | 终端自适应 |
| @xterm/addon-web-links | 0.12.x | 链接支持 |
npm install
cp .env.example .env
启动前端开发服务器:
npm run dev
启动后端服务:
npm run dev:server
同时启动前后端:
npm run dev:all
访问 http://localhost:3001 进入管理界面。
npm run build
npm run start
Hermes Agent 需要单独安装和配置。OpenClaw Admin 通过 HTTP API 与 Hermes Agent 通信,需要以下服务运行:
| 服务 | 默认端口 | 说明 |
|---|---|---|
| Hermes Web UI | 9119 | 管理 REST API(会话、配置、技能等) |
| Hermes API Server | 8642 | OpenAI 兼容 API(聊天、模型、Runs) |
| Hermes CLI | - | Python CLI 工具(Web 终端使用) |
# 官方一键安装脚本 curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash # 运行交互式配置向导 hermes setup
Hermes Agent 支持多种 AI 供应商。选择一种进行配置:
方式一:通过配置向导(推荐)
hermes setup model
方式二:通过环境变量
编辑 ~/.hermes/.env 文件:
# OpenRouter(默认) OPENROUTER_API_KEY=sk-or-v1-xxxxx # 或使用 Anthropic ANTHROPIC_API_KEY=sk-ant-xxxxx # 或使用 OpenAI OPENAI_API_KEY=sk-xxxxx # 或使用自定义 Provider(如本地部署的模型) CUSTOM_API_KEY=your-api-key CUSTOM_BASE_URL=http://your-server:port/v1
# 交互式选择 hermes model # 或通过配置文件设置 # 编辑 ~/.hermes/config.yaml # model: anthropic/claude-sonnet-4
vim ./.hermes/.env API_SERVER_ENABLED=true GATEWAY_ALLOW_ALL_USERS=true API_SERVER_KEY=1212
# 安装 hermes gateway install # 前台运行(调试用) hermes gateway run -v # 后台运行(生产用) hermes gateway start # 查看状态 hermes gateway status # Web UI API服务启动 hermes dashboard
# 检查 API Server curl http://localhost:8642/v1/health # 检查 Web UI curl http://localhost:9119/api/status
http://localhost:9119(默认)http://localhost:8642(默认)API_SERVER_KEY 则填写在 .env 文件中配置 Hermes 相关参数:
# === Hermes Agent 配置 === HERMES_WEB_URL=http://localhost:9119 # Hermes Web UI 地址 HERMES_API_URL=http://localhost:8642 # Hermes API Server 地址 HERMES_API_KEY=1212 # Hermes API 密钥(可选) HERMES_CLI_PATH=/path/to/hermes # Hermes CLI 路径(可选,默认自动检测)
Hermes CLI 终端支持以下启动参数:
| 参数 | 类型 | 说明 |
|---|---|---|
-m / --model |
string | 指定模型(如 anthropic/claude-sonnet-4) |
--provider |
string | 指定供应商(auto/openrouter/anthropic/custom 等) |
-s / --skills |
string[] | 预加载技能(可多个) |
-t / --toolsets |
string | 工具集(逗号分隔) |
-r / --resume |
string | 恢复指定会话 |
-c / --continue |
string | 继续命名会话 |
--yolo |
boolean | 跳过危险命令确认 |
--checkpoints |
boolean | 启用文件系统检查点 |
--max-turns |
number | 最大工具迭代次数 |
-v / --verbose |
boolean | 详细输出 |
-Q / --quiet |
boolean | 安静模式 |
在 Web 界面中,展开 启动配置 面板即可可视化配置这些参数。
openclaw-admin/
├── src/
│ ├── api/ # API 层
│ │ ├── hermes/ # Hermes API 客户端
│ │ │ └── client.ts # HermesApiClient 类
│ │ ├── types/ # TypeScript 类型定义
│ │ ├── connect.ts # 连接管理
│ │ ├── rpc-client.ts # RPC 客户端
│ │ └── websocket.ts # WebSocket 封装
│ │
│ ├── assets/ # 静态资源
│ │ └── styles/
│ │ └── main.css # 全局样式
│ │
│ ├── components/ # 组件
│ │ ├── common/ # 通用组件
│ │ ├── layout/ # 布局组件
│ │ └── office/ # 办公场景组件
│ │
│ ├── composables/ # 组合式函数
│ │ ├── useEventStream.ts # 事件流
│ │ ├── useResizable.ts # 尺寸调整
│ │ └── useTheme.ts # 主题管理
│ │
│ ├── i18n/ # 国际化
│ │ ├── messages/
│ │ │ ├── zh-CN.ts # 中文
│ │ │ └── en-US.ts # 英文
│ │ └── index.ts
│ │
│ ├── layouts/ # 布局
│ │ └── DefaultLayout.vue
│ │
│ ├── router/ # 路由
│ │ ├── index.ts
│ │ └── routes.ts
│ │
│ ├── stores/ # Pinia 状态管理
│ │ ├── hermes/ # Hermes 状态管理
│ │ │ ├── connection.ts # 连接管理
│ │ │ ├── config.ts # 配置管理
│ │ │ ├── chat.ts # 聊天
│ │ │ ├── session.ts # 会话管理
│ │ │ ├── model.ts # 模型管理
│ │ │ ├── channel.ts # 频道管理
│ │ │ ├── skill.ts # 技能管理
│ │ │ ├── cron.ts # 定时任务
│ │ │ └── memory.ts # 记忆管理
│ │ ├── hermes-cli.ts # Hermes CLI 终端
│ │ ├── agent.ts # 智能体
│ │ ├── auth.ts # 认证
│ │ ├── channel.ts # 频道
│ │ ├── chat.ts # 聊天
│ │ ├── config.ts # 配置
│ │ ├── cron.ts # 定时任务
│ │ ├── memory.ts # 记忆
│ │ ├── model.ts # 模型
│ │ ├── session.ts # 会话
│ │ ├── skill.ts # 技能
│ │ ├── terminal.ts # 终端
│ │ ├── theme.ts # 主题
│ │ └── websocket.ts # WebSocket
│ │
│ ├── utils/ # 工具函数
│ │ ├── channel-config.ts
│ │ ├── format.ts
│ │ ├── markdown.ts
│ │ └── secret-mask.ts
│ │
│ ├── views/ # 页面视图
│ │ ├── hermes/ # Hermes 模块页面
│ │ │ ├── HermesDashboard.vue # 仪表盘
│ │ │ ├── HermesChatPage.vue # 在线对话
│ │ │ ├── HermesSessionsPage.vue # 会话管理
│ │ │ ├── HermesModelsPage.vue # 模型管理
│ │ │ ├── HermesChannelsPage.vue # 频道管理
│ │ │ ├── HermesSkillsPage.vue # 技能管理
│ │ │ ├── HermesCronPage.vue # 任务计划
│ │ │ ├── HermesMemoryPage.vue # 记忆管理
│ │ │ ├── HermesSystemPage.vue # 系统管理
│ │ │ └── HermesCliPage.vue # CLI 终端
│ │ ├── agents/ # 多智能体
│ │ ├── channels/ # 频道管理
│ │ ├── chat/ # 在线对话
│ │ ├── cron/ # 任务计划
│ │ ├── memory/ # 记忆管理
│ │ ├── models/ # 模型管理
│ │ ├── sessions/ # 会话管理
│ │ ├── skills/ # 技能管理
│ │ ├── system/ # 系统监控
│ │ ├── terminal/ # 远程终端
│ │ ├── remote-desktop/ # 远程桌面
│ │ ├── files/ # 文件浏览
│ │ ├── office/ # 智能体工坊
│ │ ├── myworld/ # 虚拟公司
│ │ ├── monitor/ # 运维中心
│ │ ├── settings/ # 系统设置
│ │ ├── Dashboard.vue # 仪表盘
│ │ └── Login.vue # 登录页
│ │
│ ├── App.vue # 根组件
│ ├── main.ts # 入口文件
│ └── env.d.ts # 环境类型声明
│
├── server/ # 后端服务
│ ├── index.js # 服务入口(含 Hermes CLI 代理)
│ ├── hermes-proxy.js # Hermes API 代理
│ ├── gateway.js # Gateway 连接
│ └── database.js # 数据库操作
│
├── public/ # 公共静态资源
├── dist/ # 构建输出
├── data/ # 数据存储
│
├── vite.config.ts # Vite 配置
├── tsconfig.json # TypeScript 配置
├── package.json # 项目配置
├── .env.example # 环境变量示例
└── .env # 本地环境变量(由 .env.example 复制)
<script setup lang="ts">@/ 别名导入 src 路径| 类型 | 命名规范 | 示例 |
|---|---|---|
| 组件 | PascalCase.vue | ConnectionStatus.vue |
| 路由页面 | *Page.vue | HermesChatPage.vue |
| Store | camelCase.ts | hermes-cli.ts |
| Composable | use*.ts | useTheme.ts |
提交前请确保:
npm run build
构建通过,无类型错误。
先复制示例文件,再按本地环境填写:
cp .env.example .env
然后在 .env 文件中配置:
# === 应用配置 === VITE_APP_TITLE=OpenClaw Admin PORT=3000 DEV_PORT=3001 # === 认证配置 === AUTH_USERNAME=admin AUTH_PASSWORD=admin # === OpenClaw Gateway 配置 === OPENCLAW_WS_URL=ws://localhost:18789 OPENCLAW_AUTH_TOKEN=1212 OPENCLAW_AUTH_PASSWORD= # Gateway 密码,与 Token 二选一即可 # === Hermes Agent 配置 === HERMES_WEB_URL=http://localhost:9119 HERMES_API_URL=http://localhost:8642 HERMES_API_KEY=1212 HERMES_CLI_PATH= # Hermes CLI 路径(可选,默认自动检测) # === 其他 === LOG_LEVEL=INFO MEDIA_DIR=
启动环境
## 正式环境 npm run start ## 开发环境 npm run dev:all
项目通过 WebSocket 与 OpenClaw Gateway 通信,支持以下 RPC 方法:
config.get - 获取配置config.patch - 更新配置config.set - 设置配置config.apply - 应用配置sessions.list - 列出会话sessions.get - 获取会话详情sessions.reset - 重置会话sessions.delete - 删除会话sessions.spawn - 创建会话sessions.history - 获取历史记录sessions.usage - 获取用量统计channels.status - 获取频道状态channel.auth - 频道认证channel.pair - 频道配对agents.list - 列出智能体agents.create - 创建智能体agents.update - 更新智能体agents.delete - 删除智能体agents.files.list - 列出文件agents.files.get - 获取文件agents.files.set - 设置文件models.list - 列出模型cron.list - 列出任务cron.add - 添加任务cron.update - 更新任务cron.delete - 删除任务cron.run - 执行任务health - 健康检查status - 状态查询system-presence - 实例状态logs.tail - 日志查看后端通过 hermes-proxy.js 代理到 Hermes Agent 的两个服务:
| 目标服务 | 默认端口 | 代理前缀 | 说明 |
|---|---|---|---|
| Hermes Web UI | 9119 | /api/hermes/ |
管理 API(会话、配置、技能、定时任务等) |
| Hermes API Server | 8642 | /api/hermes/v1/ |
OpenAI 兼容 API(聊天、模型、Runs) |
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/hermes-cli/stream |
创建/重连 CLI 会话(SSE 流) |
| POST | /api/hermes-cli/input |
发送键盘输入到 CLI 进程 |
| POST | /api/hermes-cli/resize |
调整终端大小 |
| POST | /api/hermes-cli/destroy |
销毁 CLI 会话 |
| POST | /api/hermes-cli/heartbeat |
心跳保活 |
| GET | /api/hermes-cli/sessions |
列出所有 CLI 会话 |
| POST | /api/hermes-cli/sessions/rename |
重命名会话 |
欢迎提交 Issue 和 Pull Request!
GitHub 仓库: https://github.com/itq5/OpenClaw-Admin
git checkout -b feature/amazing-feature)git commit -m 'feat: add amazing feature')git push origin feature/amazing-feature)欢迎加入微信交流群,获取最新动态和技术支持:
Made with ❤️ by Claw Admin Team
more like this
Comprehensive analytics dashboard for AI coding agents — Cursor, Windsurf, Claude Code, VS Code Copilot, Zed, Antigravi…
an efficient and user friendly OTA server equipped with a powerful WEB UI, designed to effortlessly manage both your ES…
PlexWatch is a Discord bot that provides a real-time dashboard for your Plex media server, featuring active stream moni…
search projects, people, and tags