Hermes Studio

A self-hosted workspace for running Hermes Agent chats, workflows, channels, and local runtime operations.

Stars
★ 12k
Last updated
today
License
NOASSERTION
Primary language
TypeScript

At a glance

How it runs
Desktop appCLISelf-hosted service
Works with
Universal · cross-platformCodex · Claude Code · OpenAI API
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
Hermes Agent runtimeNode.jsDocker (for Docker Compose deployment)Shell / CLINetwork accessLocal filesystemMCP Server
Typical use
A local Hermes Agent user who needs persistent chat sessions, tool-call traces, and previews of generated files can run those conversations from one desktop or browser workspace.
Not a fit if
  • Users who want a browser-only tool with no desktop install or self-hosting
  • Anyone needing telephony or always-on wake-word voice assistance

What does this agent do, and when should you use it?

Hermes Studio combines a desktop app, local runtime integration, and web console for Hermes Agent, with a Vue 3 frontend and Koa BFF server. Its Socket.IO /chat-run path streams conversations through the Hermes agent bridge into the Hermes Agent runtime. The dashboard manages local sessions, profiles, providers, models, credentials, files, logs, and runtime settings alongside agent chat. It also includes visual workflows, scheduled jobs, Kanban, group chat, a web terminal, voice features, and runners for Claude Code and Codex. It is distributed for Windows, macOS, and Linux, and can also be self-hosted through the hermes-web-ui npm CLI or Docker Compose. This is a fit for users who want a local control plane around Hermes profiles while operating multiple models and messaging channels.

A browser connects to the Koa BFF through Socket.IO /chat-run; the BFF starts or connects to the Hermes agent bridge, which invokes the Hermes Agent runtime, Hermes CLI, and selected profile. The dashboard manages profile config.yaml, auth.json, a local Web UI SQLite session database, and upload storage; it can discover provider models at /v1/models and manage OpenAI-compatible providers, model visibility, and OAuth/device flows. It browses and operates on local, Docker, SSH, and Singularity filesystems, downloads artifacts by resolved path, and previews generated HTML, PDF, DOCX, PPTX, XLSX, CSV, images, Markdown, and source files. It can execute Vue Flow workflows, cron jobs, Kanban tasks, and Socket.IO group-chat rooms. The desktop package also exposes managed MCP toolsets through hermes-studio-mcp [api|browser|devices|use] and includes a node-pty/@xterm/xterm web terminal.

  1. A local Hermes Agent user who needs persistent chat sessions, tool-call traces, and previews of generated files can run those conversations from one desktop or browser workspace.
  2. An administrator maintaining Telegram, Discord, Slack, WhatsApp, and other channel integrations can configure channel behavior and credentials per Hermes profile in one console.
  3. A team that needs Hermes, Codex, and Claude Code to follow approval gates, loops, and success/failure branches can build and replay those executions on the Vue Flow canvas.
  4. A developer retrieving agent artifacts from local, Docker, SSH, or Singularity workspaces can browse, edit supported text files, download path-resolved outputs, and attach workspace files to chat.
  5. An operator tracking local agent activity can review input/output tokens, estimated cost, cache-hit rate, model distribution, and a 30-day usage trend.

How do you install or deploy this agent?

Install and start the npm package:

npm install -g hermes-web-ui
hermes-web-ui start

Open http://localhost:8648. The first run generates an auth token unless AUTH_TOKEN is supplied. For username/password login, the bootstrap account is admin / 123456; change it after signing in. For Docker, run WEBUI_IMAGE=ekkoye8888/hermes-web-ui docker compose up -d and open http://localhost:6060. Backend chat requires a discoverable Hermes Agent source checkout containing run_agent.py; otherwise it falls back to the Python environment behind the installed hermes command, then system Python.

How do you use this agent?

Start the server, choose an authorized Hermes profile, and configure or discover providers and models under Models; complete the relevant OAuth/device flow when required. Create a session and send a message to receive streamed output and tool details over /chat-run, with uploads or workspace files attached as needed. For automation, add Hermes, Codex, or Claude Code nodes to a workflow canvas, configure edges, conditions, and approvals, then run or rerun it; cron schedules are configured under Scheduled Jobs. To expose a focused managed MCP surface, invoke hermes-studio-mcp api, browser, devices, or use.

What are this agent's strengths and limitations?

Pros
  • It unifies chat, profiles, models, channels, sessions, file handling, and runtime logs in one local control plane rather than providing chat alone.
  • Its file operations cover local, Docker, SSH, and Singularity backends, with path-based artifact downloads and previews for many generated document types.
  • Visual workflows retain frozen run snapshots, node conversations, edge decisions, and evidence playback—not just a graph definition.
  • It offers desktop, npm CLI, Docker Compose, and managed MCP delivery modes for local and self-hosted use.
Limitations
  • Chat execution depends on the Hermes Agent runtime and bridge; without a source checkout, it relies on the installed hermes command's Python environment or system Python.
  • The documented bootstrap login is admin / 123456, so operators must change it and protect tokens, JWT secrets, and provider credentials.
  • Model discovery, OAuth/device authorization, and /v1/models retrieval depend on each provider's endpoint, credentials, and compatibility.
  • The real-time voice stage explicitly does not provide simultaneous full-duplex listening and speaking, telephony, or always-on wake-word listening.

How does this agent compare with similar options?

Compared with using the Hermes Agent CLI directly, Hermes Studio adds web/desktop chat, a session database, visual workflows, channel configuration, file UI, and runtime monitoring on top of the same Hermes profiles and runtime; it does not replace the underlying Hermes Agent runtime.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Hermes Studio This agent 44 · Major gaps Desktop appFree + model costs ★ 12k today TypeScript Codex · Claude Code · OpenAI API
Hermes Web UI 51 · Major gaps Web appFree + model costs ★ 19k today Python Codex · Claude Code · OpenAI API · Claude API
Presenton – Open-Source AI Presentation Generator & API 56 · Major gaps Self-hosted serviceFreemium ★ 12k 1d ago TypeScript —
AgentRQ 64 · Some gaps Self-hosted serviceFree + model costs ★ 1.2k 1d ago Go Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
44/ 100 5-point scale 2.2 / 5
This review covers the source as of Aug 09, 2026. The project has shipped 30 stable release(s) since, which have not been re-reviewed. The score and verdict describe the reviewed version only. Recent releases ↓
Trust 10/29
Reliability 6/14
Adaptability 10/18
Convention 8/18
Effectiveness 7/13
Verifiability 3/8
Why each dimension lost points
Trust10 / 29 · 1.7/5

Evidence shows: README describes authentication mechanisms (token, username/password, default credentials admin/123456) and prompts users to change default password; sensitive data (e.g., API keys) stored in ~/.hermes/.env, and claims keys remain server-side. However, no code-level evidence for least privilege, user confirmation, or data flow transparency. Dependency security: package.json lists dependencies but no vulnerability scanning or audit evidence. External effects: README mentions auto-update, MCP injection, but no user confirmation. Rollback: update commands exist but no rollback mechanism. Source attribution: repository has clear author and license, but publisher unverified. Thus, most criteria score 1 because evidence is present but thin or asserted.

Reliability6 / 14 · 2.1/5

Evidence shows: README and package.json descriptions are consistent, test files exist, indicating some consistency. Dependency availability: broad dependency list but no lockfile or integrity checks. Failure messages: tests cover error handling but no user-friendly error message evidence. Thus, self-consistency scores 2, others 1.

Adaptability10 / 18 · 2.8/5

Evidence shows: README describes multiple usage scenarios (desktop, npm, Docker) and provides environment variables and CLI commands, indicating adaptability to various environments. Capability boundaries: README lists features and non-goals (e.g., voice dialogue doc) but not detailed limitations. Trigger precision: no specific trigger conditions. Thus, audience and scenarios, capability boundaries, environment fit score 2, trigger precision 1.

Convention8 / 18 · 2.2/5

Evidence shows: README is well-structured, provides installation instructions (desktop, npm, Docker), license is BSL-1.1, version in package.json. Naming stability: project renamed from Hermes Web UI to Hermes Studio, may affect stability. Examples and FAQ: README provides quick start but no FAQ. Known limitations: only mentioned in voice dialogue doc. Versioning changelog: no CHANGELOG. Maintenance responsibility: GitHub Actions workflows exist but no explicit maintainers. Thus, information architecture, install notes, license score 2, others 1.

Effectiveness7 / 13 · 2.7/5

Evidence shows: README describes rich features, output usability: provides various output formats (e.g., file previews). Marginal value: multi-platform integration and automation may add value. Cost-benefit: no performance or resource usage data. Thus, output usability and marginal value score 2, cost-benefit 1.

Verifiability3 / 8 · 1.9/5

Evidence shows: Some claims in README are supported by tests (e.g., API tests), but not all claims are traceable. Cross-source corroboration: only internal repository evidence. Fact-inference separation: not clearly distinguished. Thus, all criteria score 1.

Risks and how to mitigate them
  • Default credentials admin/123456 pose a security risk; users must change them immediately.
  • Dependency security lacks audit evidence; recommend checking for vulnerabilities.
  • Publisher is unverified; assess supply chain risks carefully.
  • Project rename may affect stability of documentation and commands.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 34378354a042 New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v0.8.17 Ekko Studio v0.8.17
    Release notes excerpt
    更新内容 1. 修复 Bot 派发后台任务后没有回复并误报“Agent returned no output”的问题;等待前正常生成、流式发送并保存回复,后台结果仍自动回传,任务与协作阶段保持进行中,达到步骤上限也能完成本轮收尾 (#3699) 2. 等待后台任务时不再误触发完成铃声、完成通知或 App 完成推送,直接发送与恢复会话保持一致;保留防重复查询和结果回传去重,供应商返回空正文或违规工具调用时仍明确报错 (#3699) 3. 个人 Bot 消息标题优先显示用户自定义名称,重命名后已有消息和新回复同步更新,重载后保留;未命名时使用本地化预设名称,头像与动画继续对应所选 Bot 外观 (#3700) 涉及 PR:#3699、#3700;发版准备 PR:#3702。
    View on GitHub ↗
  2. v0.8.16 Ekko Studio v0.8.16
    Release notes excerpt
    Ekko Studio 0.8.16 更新日志 日期:2026-11-05 1. 群聊页面新增一次性停用与迁移提示,建议将现有工作转到 Bot;确认后在同源浏览器或桌面端记住并同步到其他标签页,不指定停用日期,也不自动迁移数据 (#3693) 2. Bot 等待后台任务时由宿主暂停当前回合,减少重复查询耗尽模型步数;无浏览器连接时仍处理结果回传,并恢复中断、启动前停止及重启后的终态通知 (#3690) 3. 任务详情中的人工续聊直接在原任务追加,无需先等待协调模型判断;结果回传携带本轮人工指令和附件,帮助 Bot 按最新要求理解结果,关联验收也保留该上下文 (#3691) 4. 完善多轮 Bot 协作、阶段完成确认与停止状态恢复,保留原始结果并限制状态确认重试;允许当前协作 Bot 继续未完成任务,同时保留已完成同伴、路由、轮次和过期回调隔离 (#3675, #3680) 5. 独立验收期间活动胶囊仅显示当前执行者;验收通过后同时展示开发与验收任务卡,各自打开对应执行,实时消息与重载历史保持一致 (#3682) 6. 切换 Bot 或 Agent 对话时保留面板、宽度、工具页签及各 Bot 的 Agent 选择,工作区按用户显式开关保持;统一面板顺序、任务 Agent 身份和浏览器定位,并防止过期读取覆盖当前内容 (#3676) …
    View on GitHub ↗
  3. v0.8.15 Ekko Studio v0.8.15
    Release notes excerpt
    Ekko Studio 0.8.15 更新日志 日期:2026-11-04 1. 修复工作流新节点选择 Agent 或编辑标题后消失的问题,避免旧尺寸覆盖画布状态,并保持连线新建与撤销行为一致 (#3670) 2. 定时任务展示账户内所有 BOT 的计划,不再截断为 50 条;增加所属 BOT 头像、名称、目标预览及完整指令、时间表达式、时区、状态和下次执行详情,跨 BOT 编辑保留原归属和后台任务名称 (#3663) 3. 修复 OpenAI 兼容接口流式工具调用续传空 id 或函数名时丢失已知身份、误报 invalid_tool_call 的问题,保留参数拼接与缺失身份校验 (#3647) 4. 群聊路由未选择目标 Agent 时不再误报“交接信息可能不完整”;已选择 Agent 的交接提醒保持原有规则 (#3626) 5. 前端更新日志仅保留最近三个版本,同步精简全部 12 种语言的旧日志条目 (#3662) 6. 更新中英文 README 产品截图,展示实际运行界面的新建对话 Agent 轮播、可视化工作流和完整 Agent 管理器,移除过期示例图 (#3661) 7. 开发与 CI 的任务报告及测试产物改为存放在仓库 worktree 之外,新增目录管理命令和只读位置检查,并同步覆盖率、浏览器报告及上传路径;检查不会自动删除文件 (#3657) …
    View on GitHub ↗

FAQ

Where does it keep local data?
Web UI authentication, credentials, logs, databases, and default uploads live under HERMES_WEB_UI_HOME (default ~/.hermes-web-ui). Hermes data uses the platform-specific HERMES_HOME location.
Can it use a custom model service?
It manages preset and custom OpenAI-compatible providers and can fetch models from /v1/models; actual availability depends on that provider's endpoint and credentials.
How does first-run Docker authentication work?
With authentication enabled, the initial Web UI token is printed in container logs and stored at ./hermes_data/hermes-web-ui/.token.
Can another service manage the Hermes gateway?
Yes. Set HERMES_WEB_UI_MANAGED_GATEWAY=0 and use hermes gateway start, or set HERMES_WEB_UI_DISABLE_GATEWAY_AUTOSTART to skip automatic gateway checks and startup.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents