Fix bridge history, profile models, and Windows gateway handling (#845)

* feat: support profile-aware group chat bridge flows

* feat: route cron jobs through hermes cli

* Fix group chat routing and isolate bridge tests

* Add Grok image-to-video media skill

* Default Grok videos to media directory

* Fix bridge profile fallback and cron repeat clearing

* Refine bridge chat and gateway platform handling

* Filter bridge tool-call text deltas

* Preserve structured bridge chat history

* Prepare beta release build artifacts

* Fix Windows run profile resolution

* Fix Windows path compatibility checks

* Fix profile-scoped model page display

* Hide Windows subprocess windows for jobs and updates

* Hide Windows file backend subprocess windows

* Avoid Windows gateway restart lock conflicts

* Treat Windows gateway lock as running on startup

* Force release Windows gateway lock on restart

* Tighten Windows gateway lock cleanup

* Update chat e2e source expectation

* Bump package version to 0.5.30

---------

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
ekko
2026-05-19 16:09:59 +08:00
committed by GitHub
parent 3d74d78698
commit 9a9416c99c
129 changed files with 7017 additions and 1838 deletions
+10 -10
View File
@@ -40,7 +40,7 @@ export default {
},
profiles: {
title: 'Multi-Profile',
desc: 'Isolated profiles with independent configs. Clone, import/export profiles, run multiple gateways.',
desc: 'Isolated profiles with independent configs. Clone, import/export profiles, and run chats through the agent bridge.',
},
files: {
title: 'File Browser',
@@ -52,7 +52,7 @@ export default {
},
quickInstall: {
title: 'One Command',
desc: 'Install and start with a single command. Auto-detects config, resolves ports, opens the browser.',
desc: 'Install and start with a single command. Initializes Web UI data, starts the bridge, and opens the browser.',
},
i18n: {
title: '8 Languages',
@@ -120,7 +120,7 @@ export default {
},
firstRun: {
title: 'First Run',
content: 'On first start, Hermes Web UI will automatically generate an auth token, validate configuration files, start the Hermes gateway, and open the dashboard in your browser.',
content: 'On first start, Hermes Web UI will automatically generate an auth token, initialize local data, start the Hermes agent bridge, and open the dashboard in your browser.',
},
login: {
title: 'Login',
@@ -143,12 +143,12 @@ export default {
],
},
gateway: {
title: 'Gateway Management',
content: 'The gateway is the Hermes Agent process that handles AI conversations. Hermes Web UI manages the gateway lifecycle — start, stop, and monitor from the Gateways page. Multiple gateways can run with different profiles, and each profile resolves its own gateway host/port from its Hermes config.',
title: 'Agent Bridge Runtime',
content: 'Chat runs are handled through the Hermes agent bridge, which runs alongside the Web UI server and talks directly to the Hermes Agent runtime. The Web UI no longer starts or manages separate gateway processes.',
},
profiles: {
title: 'Profiles',
content: 'Profiles provide isolated configurations for different use cases. Each profile has its own Hermes config, cache, and gateway. Create, clone, import, or export profiles from the Profiles page.',
content: 'Profiles provide isolated configurations for different use cases. Each profile has its own Hermes config and cache. Create, clone, import, or export profiles from the Profiles page.',
},
},
features: {
@@ -229,14 +229,14 @@ export default {
},
api: {
title: 'API Reference',
intro: 'Hermes Web UI provides both a local BFF API and proxies requests to the upstream Hermes gateway.',
intro: 'Hermes Web UI provides a local BFF API for the dashboard and Socket.IO endpoints for streaming chat.',
local: {
title: 'Local BFF Endpoints',
content: 'The Koa server handles session management, profile CRUD, config read/write, log access, skill listing, and memory operations. These endpoints call the Hermes CLI directly.',
content: 'The Koa server handles session management, profile CRUD, config read/write, log access, skill listing, memory operations, and static assets.',
},
proxy: {
title: 'Gateway Proxy',
content: 'Requests to /api/hermes/v1/* are forwarded to the Hermes gateway. This includes AI model interactions, run management, and streaming events.',
title: 'Chat Streaming',
content: 'Chat runs use the /chat-run Socket.IO namespace and the Hermes agent bridge. Legacy gateway proxy routes are kept only for compatibility where applicable.',
},
auth: {
title: 'Authentication',
+10 -10
View File
@@ -40,7 +40,7 @@ export default {
},
profiles: {
title: '多配置',
desc: '隔离的多配置文件,独立配置。支持克隆、导入/导出、多网关运行。',
desc: '隔离的多配置文件,独立配置。支持克隆、导入/导出,并通过 agent bridge 运行聊天。',
},
files: {
title: '文件管理',
@@ -52,7 +52,7 @@ export default {
},
quickInstall: {
title: '一键安装',
desc: '一条命令安装启动。自动检测配置、解析端口、打开浏览器。',
desc: '一条命令安装启动。初始化 Web UI 数据、启动 bridge 并打开浏览器。',
},
i18n: {
title: '8 种语言',
@@ -120,7 +120,7 @@ export default {
},
firstRun: {
title: '首次运行',
content: '首次启动时,Hermes Web UI 会自动生成认证令牌、验证配置文件、启动 Hermes 网关并在浏览器中打开仪表板。',
content: '首次启动时,Hermes Web UI 会自动生成认证令牌、初始化本地数据、启动 Hermes agent bridge 并在浏览器中打开仪表板。',
},
login: {
title: '登录',
@@ -143,12 +143,12 @@ export default {
],
},
gateway: {
title: '网关管理',
content: '网关是处理 AI 对话的 Hermes Agent 进程。Hermes Web UI 管理网关生命周期——在网关页面启动、停止和监控。不同配置可运行多个网关,且每个 profile 都会从各自的 Hermes 配置中解析网关 host/port。',
title: 'Agent Bridge 运行时',
content: '聊天运行通过 Hermes agent bridge 处理。它随 Web UI 服务一起运行,并直接连接 Hermes Agent runtime。Web UI 不再启动或管理独立的 gateway 进程。',
},
profiles: {
title: '配置文件',
content: '配置文件为不同场景提供隔离的配置。每个配置文件拥有独立的 Hermes 配置缓存和网关。可在配置页面创建、克隆、导入或导出配置文件。',
content: '配置文件为不同场景提供隔离的配置。每个配置文件拥有独立的 Hermes 配置缓存。可在配置页面创建、克隆、导入或导出配置文件。',
},
},
features: {
@@ -229,14 +229,14 @@ export default {
},
api: {
title: 'API 参考',
intro: 'Hermes Web UI 提供本地 BFF API 并代理请求到上游 Hermes 网关。',
intro: 'Hermes Web UI 提供本地 BFF API,并通过 Socket.IO 端点进行聊天流式通信。',
local: {
title: '本地 BFF 端点',
content: 'Koa 服务器处理会话管理、配置文件 CRUD、配置读写、日志访问、技能列表记忆操作。这些端点直接调用 Hermes CLI。',
content: 'Koa 服务器处理会话管理、配置文件 CRUD、配置读写、日志访问、技能列表记忆操作和静态资源。',
},
proxy: {
title: '网关代理',
content: '对 /api/hermes/v1/* 的请求会转发到 Hermes 网关。包括 AI 模型交互、运行管理和流式事件。',
title: '聊天流式通信',
content: '聊天运行使用 /chat-run Socket.IO 命名空间和 Hermes agent bridge。旧 gateway proxy 路由仅在兼容场景下保留。',
},
auth: {
title: '认证',