Hermes Studio(npm名 hermes-web-ui)は、Hermes Agentを中心にEkko・Claude Code・Codex・Piという5つのランタイムを1つのローカルワークスペースから操作するためのWebダッシュボードです。チャット・グループチャット・ワークフロー・ファイル・音声・デバイス管理など、複数エージェントに共通する機能をStudio側で一括提供します。npm CLI・Dockerイメージ・デスクトップアプリの3形態で配布されます。
packages/client(Vue3+TypeScript)がフロントエンドで、Socket.IOの `/chat-run` チャンネルでリアルタイムにチャットをストリーミングします。api/hermes配下とapi/studio配下でAPIの責務が分かれており、READMEにも明記されている通り `/api/hermes/*` はHermesのプロファイル・モデル・スキル・ジョブなどの制御プレーンAPI、`/api/studio/*` はチャット・グループチャット・ファイル・音声・デバイスなどStudio独自の共有機能APIです。Studioはセッション管理用に独自のSQLiteデータベースを持ち、Hermes側のstate.dbは読み取り専用のソースとして履歴取得にのみ使われます。DockerfileはNousResearchのhermes-agentイメージをベースにNode.js 24を組み込み、`npm run build` でサーバーとクライアントをビルドし `dist/server/index.js` を起動する構成です。docker-compose.ymlではポート6060番でWebUIを公開し、`.hermes` ディレクトリをホストにマウントしてHermes側の状態を共有します。client.tsを見るとAPIキーはlocalStorageに保存され、JWTペイロードからロール(super_admin/admin)やユーザー名を復号して権限判定に使う構造です。
- STEP 01
`npm install -g hermes-web-ui && hermes-web-ui start` を実行すると、Node.js 23以上が要求され、ローカルサーバーがポート6060前後で起動する様子を見ることになります。
- STEP 02
初回アクセス時にDefaultCredentialPrompt.vueに相当するログイン画面が出て、APIキーまたはデフォルト資格情報の入力を求められます。
- STEP 03
チャット画面を開くと、モデル選択ドロップダウンでHermesプロファイルに紐づくモデル一覧が表示され、対応するエージェント(Hermes・Ekko・Claude Code・Codex・Pi)がインストール済みかどうかで利用可否が変わります。
- STEP 04
Docker利用時はdocker-compose.ymlに従い `.hermes` フォルダがホストにマウントされるため、コンテナ再起動後もセッションや設定が保持される挙動を確認できます。
- STEP 05
Platform Channels設定ページでTelegramやDiscordなどのBotトークンを入力すると、外部プラットフォーム経由のセッションがチャット画面のアコーディオンにソース別にグルーピングされて表示されます。
- STEP 06
ファイルアップロードや生成ファイルのプレビュー(HTML・PDF・DOCX・XLSXなど)を試すと、FilesPanel.vueやxlsx-preview.workerを通じてブラウザ内で直接プレビューが開く体験になります。
実行後に得られるのは、Hermes AgentをはじめとしたAIエージェント群を一元管理できるWebダッシュボードそのものです。セッション履歴・ファイル・ワークフロー・プラットフォーム連携設定が1つのローカルSQLiteとHermesのstate.dbに保存され、ブラウザやデスクトップアプリから継続的にアクセスできる状態になります。
ライセンスがBSL-1.1(Business Source License)であるため、MIT等の完全にオープンな利用条件ではなく、商用利用の制約を事前に確認する必要があります。
Dockerfileのベースイメージがnousresearch/hermes-agentであるため、Hermes Agent本体が別途正しく動作している前提でStudioが機能します。単体のWeb UIだけでは完結しません。
READMEの機能一覧はHermes・Ekko・Claude Code・Codex・Piなど5ランタイムを前提にしており、実際に使うには各エージェントのインストールや認証設定(anthropic-auth、codex-auth、xai-authなど多数のAPIファイルが存在)が個別に必要です。
docker-compose.ymlでは `HERMES_ALLOW_ROOT_GATEWAY=1` のようにroot権限での起動を許容する設定が既定で入っており、本番運用前にセキュリティ設定の見直しが要ります。
すでに Hermes Agent や Ekko、Claude Code、Codex、Pi のいずれかを運用していて、それらを1つのダッシュボードでまとめて管理したいセルフホスト志向のチームや個人開発者に向いています。README・Dockerfile・package.json・実際のVueソースコードの構造が一致しており、API層の責務分離(`/api/hermes/*` と `/api/studio/*`)やSQLiteセッション管理、Socket.IOストリーミングという主張は具体的なファイル(client.ts、agent-status.ts、docker-compose.yml)から裏付けが取れます。したがって、実際に導入しなくても、この機能範囲と構成についてはある程度信頼して判断できます。ただしBSL-1.1ライセンスと外部Hermes Agent依存という前提条件は、導入前に必ず確認すべき点です。