使用 Web GUI

Web GUI 就装在 daemon 里:启动 daemon,打开浏览器,就可以不碰终端地操作 Agent、 工作项、Skill 和文件。本页讲第一次使用和几个主要界面。

快速开始

# 启动 daemon(Web GUI 默认启用)
holon daemon start

然后在浏览器中打开 http://127.0.0.1:7878/。

Web GUI 由编译进 holon 二进制的内嵌资源提供。默认 CORS 配置允许 localhost 来源,因此在本机上开箱即用。

注意: 如果你配置了自定义监听地址或端口,请相应调整 URL。

身份认证与登录

在远程访问或启用了认证的环境下,浏览器访问控制台需要先在 /login 完成认证:

有关 IdP 接入与会话超时策略的完整配置,请参阅配置 OIDC 身份认证。

页面

仪表盘

仪表盘提供运行时总览:

Agent 会话

从仪表盘选择 Agent 即可打开它的会话页面:

搜索

在浏览器中搜索 Agent 记忆。

结果包含:

Agent 模板

可以直接在 Web GUI 中浏览、安装模板并据此创建 Agent。页面位于 /templates:

命令行管理模板见 Agent 模板指南。

Skill 管理

在浏览器中管理 Skill Library 和 Agent skills:

Skill 管理页面位于 Web GUI 的 /skills。daemon 运行内嵌 GUI 时,也可以从导航侧栏进入。

通过 Web GUI 安装 skill 是非阻塞的:在浏览器中添加 skill 后,安装会作为后台任务运行(见 Job API)。进度指示器显示当前状态,任务状态存在 localStorage 中,刷新页面也能继续跟踪。

Skills 页面还支持更新已安装的 skill。远程来源中发布了新版本的 skill 会显示更新按钮,点击后会创建一个拉取最新版本的目录更新任务。任务完成后就地显示成功或错误反馈,更新任务同样以后台任务运行(见 Job API)。Skill 目录更新也作为任务运行。

命令行管理 skill 见 Skills 指南。

Workspace 文件浏览器

从右侧面板的 文件 标签进入,或点击会话中的文件引用。选中文件后直接显示正文;Markdown 支持“预览 / 源码”切换,文本文件支持语法高亮。

文件定位保留工作区和执行根身份。路径穿越与符号链接越界会被拦截;文本预览上限为 1 MB,下载可获取完整文件。

可选的 Finder 集成(macOS)

当 Holon 直接运行在浏览器所在的 Mac 上时,可以在启动时明确开启:

holon daemon start --access local --desktop-integration
# 对已经运行的本机实例,有意重启后启用:
holon daemon restart --access local --desktop-integration

Holon macOS 菜单应用启动或重启它管理的 daemon 时,会自动添加 --desktop-integration。文件操作菜单会出现 在 Finder 中显示,用于定位文件,不会打开或执行文件内容。其他平台仍支持预览、复制和下载。

直接使用 CLI 启动时,此选项默认关闭,需要手动指定;菜单应用每次启动或重启都会开启。CLI 重启会继承设置,也可以用 --desktop-integration=false 覆盖。运行时只允许回环地址监听。不要对端口转发、反向代理或容器实例启用:localhost 并不能证明文件属于当前电脑。因此界面显示“本机地址”,不据此断言“本机运行”。

设置

在浏览器中配置 Holon:

国际化(i18n)

Web GUI 使用 react-i18next 做完整国际化。设置页的语言选择器可在英文和简体中文之间切换。所有界面文案(导航项、按钮标签、表单提示、状态消息和错误页)都会在选中后立即切换。翻译资源与 UI 资源一起编译进内嵌构建,无需外部文件或网络访问。

设置页还包含 search provider 区块,可在浏览器中配置网页搜索和原生搜索提供商。

UI 图标

Web GUI 的状态指示、导航图标和文件浏览器图标现在统一使用 lucide 图标(通过 lucide-react),取代了之前的 Unicode 符号方案。工具提示经过精简以更清晰,面板标题统一使用 label(N) 格式。

检查器(右侧面板)

查看 Agent 或仪表盘时,右侧面板显示:

右侧面板也承载上下文详情视图。例如,在仪表盘中点击任务会在主视图旁打开任务详情面板,显示状态、类型、命令、workdir 和输出。

右侧面板支持展开为全屏模式;模型菜单通过固定定位 portal 渲染,不会被布局溢出裁剪。

远程访问

Web GUI 兼容 Holon 的远程访问模式。daemon 配置为远程访问(tunnel、tailnet 或 LAN)后,通过同一端点打开 GUI URL:

# 示例:从同一网络中的另一台机器经 LAN 访问
http://<daemon-host>:7878/

从不同来源访问时需要配置 CORS。详见远程访问和配置。

内嵌构建与开发构建

模式访问方式适用场景
内嵌(默认)holon daemon start → /日常使用
开发服务器cd web-gui/app && npm run devUI 开发

内嵌构建在发布时通过 rust-embed 编译进 holon 二进制。生产使用无需单独执行 npm 安装或构建。

做 UI 开发时启动开发服务器:

cd web-gui/app
npm install
npm run dev

开发服务器支持热重载,没有 Holon 服务端在运行时使用 fixture 数据。可设置 HOLON_API_PROXY_TARGET 把开发服务器的 /api 代理指向运行中的 Holon daemon(默认 http://127.0.0.1:7878)。

性能诊断

Web GUI 通过 /api/control/runtime/performance 暴露运行时性能指标。该端点返回按阶段分组的细粒度计时数据:

分组指标
turn.*总轮次时间、上下文构建、provider 轮次、工具执行、清理
provider.*请求构建、轮次总计、重试延迟
tool.execution工具执行累计计时
storage.*事件追加和状态持久化计时
projection.*Agent 状态投影子步骤(任务、定时器、工作项等)
http.*按路由的 HTTP 响应计时
scheduler.*按结果的轮询延迟

每个指标包含 count、total_ms、max_ms 和 avg_ms。可用来诊断慢轮次、找出耗时的工具,或长期跟踪 provider 延迟。

Job 监控

skill 安装这类长时间操作会作为可跟踪的任务运行,而不是阻塞请求:

另请参阅