ekko-studio README

The project's README from github.com/EKKOLearnAI/ekko-studio. As one markdown file: README.md.

Ekko Studio 中文

A local-first AI workspace for multi-agent chat, coding, and visual workflows.
Available as a desktop app and self-hosted web console, with support for
Hermes Agent, Ekko Agent, Claude Code, Codex, Pi, Grok, and OpenCode.
Bring conversations, group collaboration, voice, files, and devices together in one place.

Download Ekko Studio Desktop · Documentation · npm install -g hermes-web-ui && hermes-web-ui start

Ekko Studio workspace with an example conversation

npm version license stars

Ekko Studio was previously named Hermes Studio / Hermes Web UI. The GitHub repository remains EKKOLearnAI/hermes-studio, and the npm package and server CLI remain hermes-web-ui; use these names in clone and installation commands.

Screenshots

Captured in Ekko Studio v0.7.18 on 2026-09-10. Chat and workflow screens use demo data.

Visual workflows Agent Manager
Visual workflow connecting research, coding, and review Seven agent runtimes in Agent Manager
Connect agent steps and add a human approval gate. Manage agent installations, settings, and updates in one place.
Explore the Skills interface

Browse installed skills, read their instructions, and enable them as needed.

Ekko Agent Skills browser showing the GitHub skill

Core Capabilities

Area What Ekko Studio does
Multi-agent runtime Runs Hermes, Ekko, Claude Code, Codex, Pi, Grok, and OpenCode with streaming responses, tool traces, generated-file previews, persistent sessions, and standalone desktop chat windows.
Studio workspace Provides shared chats, group chat, global-agent runs, workflows, files, voice, media, devices, themes, logs, usage, and App connectivity across agent runtimes.
Agent control planes Keeps Hermes profiles, providers, models, memory, skills, plugins, jobs, Kanban, channels, and runtime management in their owning agent module.
Automation Builds executable visual workflows and connects the supported runtimes through schedules, approval gates, group-chat rooms, platform channels, and MCP servers.
Workspace tools Provides a file browser, web terminal, Desktop Agent Browser, voice input/output, coding-agent runners, device discovery, Journey graph, and performance views.
Distribution Ships as a desktop app for Windows/macOS/Linux, an npm CLI package, and a Docker image.

Agent and Platform Boundaries

Ekko Studio provides a shared workspace for its supported agent runtimes, grouped into three agent families:

Agent family Runtime Owned behavior
Hermes Hermes Profiles, providers, models, skills, plugins, memory, jobs, Kanban, channels, MCP, terminal, and Hermes runtime integration.
Ekko Ekko Ekko execution, approvals, clarifications, memory, MCP, and provider runtime behavior.
Coding Claude Code, Codex, Pi, Grok, OpenCode Coding-agent installation, configuration, proxies, sessions, and process execution.

Studio owns capabilities shared by those families: single chat, group chat, global-agent orchestration, workflows, webhooks, sessions, files and uploads, TTS/STT, media, pets, themes, devices, networking, logs, usage, authentication, and App connectivity. Studio-owned HTTP APIs use /api/studio/*; Hermes-owned control-plane APIs use /api/hermes/*. Already-released mobile App paths are handled by one centralized compatibility layer instead of duplicate legacy controllers.

Features

AI Chat

Platform Channels

Unified configuration for 10 platforms in one page:

Platform Features
Telegram Bot token, mention control, reactions, free-response chats
Discord Bot token, mention, auto-thread, reactions, channel allow/ignore lists
Slack Bot token, mention control, bot message handling
WhatsApp Enable/disable, mention control, mention patterns
Matrix Access token, homeserver, auto-thread, DM mention threads
Feishu (Lark) App ID / Secret, mention control
DingTalk Client ID / Secret, mention control
QQBot App ID / Secret, mention control
WeChat QR code login (scan in browser, auto-save credentials)
WeCom Bot ID / Secret

Usage Analytics

Scheduled Jobs

Kanban

Visual Workflows

Model Management

Multi-Profile

File Browser

Group Chat

Coding Agents

Desktop Agent Browser

Skills & Memory

Theme Customization

Logs

Admin & Runtime Management

Authentication

CLI maintenance commands:

# Delete persisted login IP lock records
hermes-web-ui clear-login-locks

# Delete login locks and restart the running Studio server
hermes-web-ui clear-login-locks --restart

# Create or reset the default super administrator login to admin / 123456
hermes-web-ui reset-default-login

clear-login-locks removes ${HERMES_WEB_UI_HOME:-~/.hermes-web-ui}/.login-lock.json. If the server is running, restart it to clear in-memory lock state. reset-default-login updates the Studio account database; if an admin user already exists, its password is reset to 123456 and the account is enabled as a super administrator.

Settings

Voice / TTS / STT

Web Terminal

Desktop App & Updates


Quick Start

Download the latest Ekko Studio desktop installer from GitHub Releases.

Desktop builds are published for macOS, Windows, and Linux, with separate architecture assets where applicable. The desktop app bundles the Studio runtime and stores Hermes Agent data in ~/.hermes on Windows, macOS, and Linux.

The desktop wrapper stores its own Studio state separately in ~/.hermes-web-ui unless HERMES_WEB_UI_HOME is set.

After the packaged desktop app starts, it installs managed command shims so the desktop app, bundled Hermes Agent CLI, and bundled server CLI do not conflict:

Command Description
ekko-studio Open the Ekko Studio desktop app
ekko-studio cli ... Run the bundled Hermes Agent CLI
ekko-studio web ... Run the bundled hermes-web-ui command
ekko-studio -h Show wrapper help
ekko-studio-mcp [api|browser|devices|use] Run one managed Studio MCP toolset

The desktop command is ekko-studio; the previous managed hermes-studio command is removed when the new shim is installed. No compatibility alias is created.

Use ekko-studio cli -h for Hermes Agent CLI help and ekko-studio web -h for server CLI help. ekko-studio-mcp defaults to the api toolset; choose browser, devices, or use to keep the exposed MCP surface focused on the current task.

Desktop auto-updates read the latest feed from https://download.ekkolearnai.com/latest first. If that endpoint is unavailable, the updater falls back to https://github.com/EKKOLearnAI/hermes-studio/releases/latest/download.

npm

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

Open http://localhost:8648

Docker Compose

Single-container deployment with integrated Hermes Agent:

# Use pre-built image (Recommended)
WEBUI_IMAGE=ekkoye8888/hermes-web-ui docker compose up -d

# Or build from source
docker compose up -d --build

docker compose logs -f hermes-webui

Open http://localhost:6060

For detailed notes and troubleshooting, see docs/docker.md.

Hermes Agent Runtime Discovery

When Studio starts backend chat features, it prefers a source checkout that contains run_agent.py such as ~/.hermes/hermes-agent. If no source checkout is found, it falls back to the Python environment used by the installed hermes command, then the system Python. This supports both source installs and package installs such as pip install hermes-agent.

Studio Environment Variables

These variables configure Ekko Studio, its local Hermes runtime integration, and development/preview helpers. Provider API keys and Hermes Agent settings are normally managed through Hermes profiles; environment variables here are process-level overrides.

Variable Default Description
PORT 8648 Studio server listen port.
BIND_HOST 0.0.0.0 Studio server bind host. Set :: explicitly for IPv6.
HERMES_LAN_ADVERTISE_URL unset Reachable Studio origin used in App LAN QR codes. Set this to the Docker host's LAN URL when Studio is opened through localhost, for example http://192.168.1.20:6060.
HERMES_APP_ENTITLEMENT_REQUIRED true Require a valid cloud-signed App entitlement before accepting a LAN App relay connection. Set false only for temporary compatibility diagnostics.
HERMES_APP_ENTITLEMENT_PUBLIC_KEY built in Optional PEM public-key override for RS256 App entitlements. The expected issuer is hermes-studio-server and audience is ekko-studio.
HERMES_WEB_UI_HOME ~/.hermes-web-ui Studio data home for auth token, credentials, logs, DB, and default uploads. HERMES_WEBUI_STATE_DIR is also supported as a compatibility alias.
HERMES_WEBUI_STATE_DIR unset Compatibility alias for HERMES_WEB_UI_HOME.
HERMES_WEB_UI_DISABLE_MCP_AUTOINJECT unset Disable startup injection of the managed ekko-studio-* MCP servers into Hermes profile configs.
HERMES_WEB_UI_ALLOW_TRANSIENT_MCP_AUTOINJECT unset Allow managed MCP injection when HERMES_WEB_UI_HOME is under a temporary directory, such as Version Preview runtimes.
UPLOAD_DIR $HERMES_WEB_UI_HOME/upload Upload root override. Files are stored below profile-scoped subdirectories.
`CORS

ekko-studio (EKKOLearnAI/ekko-studio)

vue3
Searching Database…

What is this?Ekko Studio is a local-first AI workspace for multi-agent chat, coding, and visual workflows, available as a desktop app and a self-hosted web console.
Is this a standalone chat app or a control plane for other agents?It's a shared control plane that runs and orchestrates several separate agent runtimes (Hermes, Ekko Agent, Claude Code, Codex, Pi, Grok, OpenCode) in one UI rather than being an agent on its own.
How do I install and run Ekko Studio?Install the CLI globally with npm and start it, or use the desktop app or the Docker image instead.
Do I need the coding agents installed separately, and what Node version is required?Studio needs Node.js 23 or newer to run, and for coding-agent support it installs, configures, and launches Claude Code, Codex, Pi, Grok, and OpenCode from its own dashboard rather than requiring you to run them beforehand.
Any setup pitfalls I should fix right away?The server bootstraps with default admin / 123456 credentials that you're prompted to change after first login, and the repo's GitHub license field is marked NOASSERTION so licensing terms aren't spelled out.
Does it only run as a CLI, or is there a real desktop app too?It ships three ways: a desktop app for Windows, macOS, and Linux, an npm CLI package, and a Docker image.
Where does my chat history actually get stored?Studio keeps its own sessions in a local SQLite database on your machine, while Hermes's state.db is only read as a history source — nothing is pushed to a third-party server by default.
What's the difference between the Hermes and Ekko agent families in Studio?Hermes owns providers, models, skills, plugins, memory, jobs, and MCP/channel integrations, while Ekko Agent owns its own execution, approvals, clarifications, and memory; Studio provides the shared chat, workflow, and file layers both plug into.
Why does the repo and npm package still say 'Hermes'?Ekko Studio was renamed from Hermes Studio / Hermes Web UI; the GitHub repo (EKKOLearnAI/hermes-studio) and the npm package/CLI (hermes-web-ui) keep the old names for clone and install commands.
What can the visual workflow builder actually do?It's a Vue Flow canvas where you wire up agent steps with conditions, success/failure routes, loops, and human approval gates, then run, pause, rerun, and replay the workflow with persisted execution history.
Which chat platforms can agents be connected to?Telegram, Discord, Slack, WhatsApp, Matrix, Feishu, DingTalk, QQBot, WeChat, and WeCom can all be configured and connected from one unified Platform Channels page.
What are similar projects?brigade, 1code, hermes-agent, Raven, ordewell, tinyagi, starnet, holaOS
Size
151.8 MB
Stars
11.5K
Age
6mo
Commits · 90 Days