OpenClaw-Admin Web CLI终端完全指南:浏览器内的真实终端、会话持久化与断线重连

发布时间:2026/10/25 1:23:06
OpenClaw-Admin Web CLI终端完全指南:浏览器内的真实终端、会话持久化与断线重连
  • 前端
  • 后端
  • 人工智能
  • AI Agent

【免费下载链接】OpenClaw-Admin

Claw-Admin 是一个基于 Vue 3 构建的现代化 AI 智能体管理平台,同时支持 OpenClaw Gateway 和 Hermes Agent 两大 AI 智能体网关提供完整的 Web 管理界面。通过直观的可视化操作,用户可以轻松管理 AI 智能体、会话、模型、频道、技能等核心功能。

项目地址:https://gitcode.com/gh_mirrors/op/OpenClaw-Admin
点击查看免费下载

OpenClaw-Admin 是一个基于 Vue 3 构建的 AI 智能体管理平台,支持 OpenClaw Gateway 与 Hermes Agent 双网关。其内置的 Web CLI 终端让你无需 SSH 客户端,直接在浏览器里获得真实终端体验:基于 xterm.js 与 SSE 协议实现,支持会话持久化、断线自动重连、全屏模式与启动参数可视化配置,即使关闭浏览器,后台进程依然存活。

本文带你从零开始掌握 OpenClaw-Admin 的 Web CLI 终端,覆盖两大终端形态、常用配置项、会话持久化与断线重连原理,以及新手常见问题的解决方法。

Web CLI 终端是什么?

简单说,OpenClaw-Admin 的 Web CLI 终端 =浏览器里的 xterm.js 前端+服务端 node-pty 伪终端+SSE 单向输出流。

它有三个核心特点:

  • 🖥️真实终端仿真:服务端通过 node-pty 启动真实的 Shell 或 CLI 进程,支持 256 色、ANSI 转义序列,vim、htop等全屏程序都能正常显示
  • 📡纯 SSE + HTTP 双通道,无 WebSocket:输出走 Server-Sent Events 长连接,键盘输入走 HTTP POST,兼容严格的企业网络策略与反向代理
  • 🔄会话不随浏览器消失:终端进程托管在服务端,断开连接只是"分离",进程继续运行;重新连接后还能回放输出缓冲区

OpenClaw-Admin 中提供了两种终端,分别服务于两大网关:

对比项远程终端(OpenClaw 模块)Hermes CLI 终端(Hermes 模块)
启动对象系统 Shell(bash/powershell)Hermes CLI 进程
会话持久化断开即清理,侧重实时操作✅ 关闭浏览器进程不中断,支持重连回放
多会话管理单会话多会话:重连、分离、重命名、销毁
启动参数Shell、工作目录、尺寸、超时可视化配置 model、skills、yolo 等 10+ 参数
前端页面src/views/terminal/TerminalPage.vuesrc/views/hermes/HermesCliPage.vue

快速上手:3 步进入浏览器内终端

第 1 步:登录管理后台。打开 OpenClaw-Admin 的 Web 界面,使用管理员账号登录。

第 2 步:进入终端页面。在左侧菜单选择"远程终端"(OpenClaw 模块)或 Hermes 模块下的 CLI 终端。路由定义见 src/router/routes.ts,对应路径分别为terminal与hermes/terminal。

第 3 步:点击"连接"按钮。页面顶部的状态标签会从"已断开"变为"已连接",同时显示当前会话 ID 前缀,例如:

✓ Connected to terminal Session: a3f9c2b1...

连接成功后,直接在终端窗口里输入命令即可,就像操作本地终端一样。

远程终端配置项速查

点击工具栏的"设置"按钮,可以展开配置面板。注意:修改设置后需重新连接才能生效。

配置项默认值范围说明
目标节点本地 Gateway-留空连接本地,也可选择远程节点
Shell 路径自动检测-Linux/macOS 默认$SHELL或/bin/bash,Windows 默认powershell.exe
工作目录 (cwd)用户主目录-例如/home/user/projects
列数 (cols)12020 ~ 300终端宽度
行数 (rows)365 ~ 100终端高度
超时时间 (timeout)60 秒10 ~ 600 秒影响心跳间隔与进程闲置策略

配置参数的 TypeScript 类型定义在 src/api/types/terminal.ts,服务端按这些参数创建 PTY 的完整逻辑位于 server/index.js。

连接成功后,终端会自动根据浏览器窗口大小自适应(基于@xterm/addon-fit插件),窗口缩放无需手动刷新。

深入理解:会话持久化与断线重连原理

这是 Web CLI 终端最容易被低估的能力,也是它与"普通网页版终端"的最大区别。

会话持久化:关闭浏览器,进程不中断

以 Hermes CLI 终端为例,服务端为每个会话维护一块64KB 环形输出缓冲区(见 server/index.js):

  1. CLI 进程输出持续写入缓冲区,与浏览器是否在线无关
  2. 浏览器关闭或网络中断时,只是 SSE 长连接断开,PTY 进程继续运行
  3. 重新连接时,服务端先把缓冲区中的历史输出回放给你,再无缝衔接实时流

前端通过 30 秒一次的心跳机制(/api/hermes-cli/heartbeat)告知服务端"我还在",实现见 src/stores/hermes-cli.ts。

服务端每 5 分钟执行一次孤儿会话清理:心跳超过30 分钟无更新的会话、或响应流已损坏的会话会被回收,防止资源泄漏(清理逻辑见 server/index.js)。

断线重连:指数退避自动恢复

浏览器端的EventSource本身具备自动重连能力,OpenClaw-Admin 在其上又加了一层指数退避策略(见 src/stores/terminal.ts):

  • 首次重连延迟 1 秒
  • 每次失败延迟乘以 1.5(1s → 1.5s → 2.25s → …)
  • 最多尝试10 次,避免对服务端造成压力
  • 重连成功后计数器自动清零

状态标签会实时反映四种状态:已连接(绿色)、连接中...(黄色)、已断开(灰色)、连接错误(红色),排障时一眼可辨。

如果终端长时间"连接错误",建议先到"系统监视器"页面确认 Gateway 实例在线状态,再检查网络是否允许 SSE 长连接(text/event-stream)。

常用终端操作与快捷键

操作方式提示
粘贴文本终端内右键自动读取剪贴板并发送,提示"已粘贴"
复制文本鼠标选中即可选中后自动复制到剪贴板,提示"已复制到剪贴板"
进入全屏点击"全屏"按钮终端铺满整个浏览器窗口
退出全屏按Esc键也可点击"退出全屏"按钮
清空屏幕点击"清空"按钮仅清屏,不影响会话历史
断开连接点击"断开"按钮按钮变为红色"停止"态时可用

这些交互细节实现于 src/views/terminal/TerminalPage.vue,例如选中自动复制、右键粘贴与Esc退出全屏等。

Hermes CLI 终端:真实 CLI 体验

Hermes CLI 终端是 OpenClaw-Admin 的招牌功能之一,通过 node-pty 启动真实 Hermes CLI 进程,支持全部 CLI 专用命令(/skills、/tools、/cron、/config等)。

展开启动配置面板,即可可视化配置以下参数,无需手敲命令行:

参数说明
-m/--model指定模型,如anthropic/claude-sonnet-4
--provider指定供应商(auto / openrouter / anthropic / custom 等)
-s/--skills预加载技能(可多个)
-t/--toolsets工具集(逗号分隔)
-r/--resume恢复指定会话
--yolo跳过危险命令确认
--checkpoints启用文件系统检查点
--max-turns最大工具迭代次数
-v/-Q详细输出 / 安静模式

多会话管理方面,你可以创建多个 CLI 会话,并对每个会话执行重连、分离(detach,仅断开 SSE 连接但进程保活)、重命名与销毁操作,状态定义见 src/stores/hermes-cli.ts。

关键源码与资料路径

想进一步了解实现细节,可以从这些文件入手:

  • 终端前端页面:src/views/terminal/TerminalPage.vue
  • 终端状态管理(连接、心跳、退避重连):src/stores/terminal.ts
  • Hermes CLI 状态管理(多会话、分离、重命名):src/stores/hermes-cli.ts
  • 服务端 SSE 流与 PTY 管理:server/index.js
  • 终端相关类型定义:src/api/types/terminal.ts
  • 路由注册:src/router/routes.ts

常见问题解答

Q:终端连接上后输入没有反应?先确认状态标签为"已连接"。若显示"连接中..."说明 SSE 通道尚未建立,通常 1 秒内会自动完成重连。

Q:修改 cols/rows 为什么不生效?设置面板底部有明确提示:修改设置后需重新连接才能生效。

Q:关闭浏览器标签页,正在运行的任务会中断吗?Hermes CLI 终端不会中断——进程托管在服务端,重新打开页面后选择对应会话重连,还能看到缓冲区的历史输出。远程终端(Shell)则会随连接断开而清理,长任务请使用 Hermes CLI 终端或先设置更大的超时时间。

Q:为什么提示"Connection closed"?这是 SSE 通道被服务器或网络中断后的提示,前端会按指数退避策略自动重试;若 10 次均失败,请检查网关进程是否存活(可在系统监视器页面确认)。

总结

OpenClaw-Admin 的 Web CLI 终端把"真实终端"装进了浏览器:xterm.js 提供仿真体验,SSE 保证网络兼容性,node-pty 保证进程真实,而会话持久化与断线重连机制则让长任务不再惧怕网络波动。无论是日常运维、远程排查,还是运行 Hermes CLI 复杂工作流,打开浏览器就能开始工作,无需再记 SSH 地址、装客户端或开堡垒机。

  • 前端
  • 后端
  • 人工智能
  • AI Agent

【免费下载链接】OpenClaw-Admin

Claw-Admin 是一个基于 Vue 3 构建的现代化 AI 智能体管理平台,同时支持 OpenClaw Gateway 和 Hermes Agent 两大 AI 智能体网关提供完整的 Web 管理界面。通过直观的可视化操作,用户可以轻松管理 AI 智能体、会话、模型、频道、技能等核心功能。

项目地址:https://gitcode.com/gh_mirrors/op/OpenClaw-Admin
点击查看免费下载

相关推荐

上一篇:Qwen3-8B-WMXFP4FP8-AMXFP4FP8-AMP-KVFP8的未来展望:AMD量化技术的发展路线图
下一篇:Vim测试集成指南:vim-galore教你在编辑器中运行与调试测试

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考