feat: custom instance name/title for multi-instance deployments

Author: ligongfuCreated Sep 16, 2026Updated Sep 17, 2026
Labelsenhancementux

Summary

When deploying multiple Hermes WebUI instances (e.g., Production, Staging, Development), all browser tabs show the same generic title "Hermes WebUI", making it difficult to distinguish between instances at a glance.

Problem

  • Multiple WebUI deployments share identical browser tab titles
  • No configuration option to set a custom instance name/display name
  • Users must rely on URL or manual tracking to identify which instance they are using

Proposed Solution

Add a configurable instance name/title that appears in:

  1. Browser tab title (document.title) — e.g., "Production • Hermes WebUI" or "Hermes WebUI • Staging"
  2. Topbar/Control Center — visible instance identifier
  3. Desktop app window title (when using the Tauri wrapper)

Configuration Options

Could be implemented via:

  • Environment variable: HERMES_WEBUI_INSTANCE_NAME=Production
  • Config file (settings.json or config.yaml): instance_name: "Production"
  • Profile-specific: Allow per-profile instance names for multi-profile deployments

Implementation Notes

  • Should integrate with existing applyBotName() / syncTopbar() title pipeline (see related issues #4086, #4039)
  • Guard: only apply instance name prefix/suffix when configured; default behavior unchanged
  • Should work for both browser tabs and desktop app (Tauri mirrors document.title)

Use Cases

  • Production / Staging / Dev environments
  • Team / Personal instances
  • Client-specific deployments
  • Multi-region deployments (e.g., "US-East • Hermes WebUI")

Related Issues

  • #4086 — document.title clobbered by applyBotName() while a session is active
  • #4039 — Desktop window title (document.title) stays stale on non-chat panels
  • #2235 — WebUI title generation does not use configured title_generation model

This is a UX enhancement for multi-instance operators — low complexity, high daily value.