May 23

16. Рабочее пространство Hermes: полная функциональность для работы с реальными агентами.

Чат, память, навыки, терминал, файлы, Conductor (параллельная оркестровка) и дашборд — все это было в продуманном интерфейсе рабочего пространства Hermes, но не хватало продуманного уровня.
Целевая страница по адресуhermes-workspace.com
Публичное репозиторий на GitHubhttps://github.com/outsourc-e/hermes-workspace@аутсорсинг_

Большинство пользовательских интерфейсов по-прежнему напоминают чат-приложения, выдающие себя за рабочие пространства.Hermes Workspace работает по-другому.Это не просто красивое текстовое поле.

Это полноценная рабочая среда для Hermes Agent: чат, память, навыки, терминал, файлы, оркестрация и мониторинг в одном месте.

Это различие имеет большее значение, чем может показаться на первый взгляд.Дело в том, что, когда агент начинает выполнять реальную работу, узким местом становится не только модель.

Узким местом становится интерфейс, который вы используете для управления моделью, ее проверки, исправления ошибок и контроля всего, что происходит в чате.

Hermes Workspace — одна из самых удачных, на мой взгляд, попыток решить эту проблему для Hermes.

Целевая страница по адресу hermes-workspace.com

Публичное репозиторий на GitHub https://github.com/outsourc-e/hermes-workspace

Что на самом деле представляет собой Hermes Workspace

Hermes Workspace — это веб-интерфейс с открытым исходным кодом для Hermes Agent, созданный разработчиком @аутсорсинг_

На сайте это описано просто:

Чат, память, навыки, терминал и файлы в одном интерфейсе.

Такая формулировка точна, но все же не раскрывает всей сути того, что здесь интересно.

Это не просто браузерная оболочка для одной ветки обсуждения.

Это рабочий слой для тех частей Hermes, которые обычно разбросаны по разным местам:

  • окна терминала
  • локальные файлы
  • журналы сеансов
  • конфигурационные файлы
  • вывод шлюза
  • навыки и инструменты запоминания
  • отдельные рабочие процессы для мобильных устройств и настольных компьютеров

Вместо того чтобы заставлять вас переключаться между всеми этими элементами, Hermes Workspace пытается собрать все необходимое в одном месте.

Вывод: Hermes Workspace — это не «интерфейс чата для Hermes». Это уровень управления, определяющий, как на самом деле используется Hermes.

Настоящая проблема, которую он решает

Многие считают, что самое сложное в агентских продуктах — это качество моделей.

Это верно лишь наполовину.

Как только вы начинаете серьезно относиться к использованию агента, настоящие трудности возникают в другом месте:

  • Где я могу наглядно увидеть работу инструмента?
  • Где можно проверить память?
  • Где я могу управлять навыками, не обращаясь к исходным файлам?
  • Где можно выполнять команды, не выходя из контекста сеанса?
  • Как использовать одну и ту же настройку на компьютере и мобильном устройстве?
  • Как управлять несколькими агентами, не открывая пять терминалов?

У Hermes уже есть мощный базовый функционал. Многим пользователям не хватает согласованной оболочки, которая позволила бы использовать эти возможности естественным образом.

Hermes Workspace призван устранить этот пробел. Он превращает Hermes из «мощного агента для терминалов» в «полноценную среду для работы с агентами».

Вывод: основная идея продукта заключается не в том, чтобы «сделать Hermes красивее». А в том, чтобы «сделать Hermes понятным и удобным в работе».

Что сразу бросается в глаза

Домашняя страница и репозиторий дают общее представление о проекте.

1. Он разработан с учетом особенностей Hermes, а не обычного чата

Интеграция зависит от конкретного продукта.

Это важно, потому что многие пользовательские интерфейсы заявляют о поддержке «любого бэкенда, совместимого с OpenAI», но как только вам понадобятся более продвинутые функции агента, абстракция перестает работать.

Hermes Workspace поддерживает общие конечные точки, совместимые с OpenAI, но его возможности значительно расширяются при использовании шлюза и API Hermes Agent.

Это правильное решение с точки зрения продукта. Общая совместимость полезна. Но по-настоящему ценной она становится при нативной интеграции.

2. Это явный нуклеарный форк

Это одна из самых сильных сторон позиционирования.

В файле README указано, что проект:

v2 с нулевым форком. Клонируйте, а не форкайте. Работает на стандартной версии NousResearch/hermes-agent, установленной с помощью собственного установщика Nous. Никаких патчей, никакого дрейфа.

Это очень важно.

Многие «дополнительные пользовательские интерфейсы» перестают работать, как только основной проект претерпевает изменения. Если Hermes Workspace действительно будет соответствовать исходному проекту Hermes, а не поддерживать отдельный исправленный стек, это значительно повысит вероятность того, что он останется востребованным в долгосрочной перспективе.

Вывод: «нулевая вилка» — это не просто слоган репозитория. Это один из самых продуманных архитектурных решений во всем проекте.

3. К Hermes относятся как к среде, а не как к набору подсказок

Судя по скриншотам и набору функций, цель очевидна:

  • Чат
  • Проводник
  • Информационная панель
  • Память
  • Терминал
  • Настройки

Этот список говорит о многом.

Это не просто «чат с боковой панелью». Это модель рабочего пространства.

https://www.star-history.com/?type=date&logscale=&legend=top-left&repos=outsourc-e%2Fhermes-workspace

Память и навыки, которые можно проверить на практике

Одно из главных отличий Hermes Agent от других мессенджеров заключается в том, что он не работает без сохранения состояния.

У него есть:

  • постоянная память
  • навыки многократного использования
  • история сеанса
  • рабочие процессы с помощью инструментов

Большинство пользователей не используют их, потому что интерфейс слишком сложный.

Похоже, что Hermes Workspace напрямую нацелен на решение этой проблемы. На сайте в качестве основных функций выделены работа с памятью и навыками, а в файле README говорится, что вы можете просматривать, искать и редактировать данные в памяти, изучая обширный каталог навыков.

Такие вещи кажутся второстепенными, пока вы ими не воспользуетесь.

И тут вы понимаете, что это меняет подход к работе с агентом:

  • Вы помните, что на самом деле помнит система
  • вы проверяете, почему изменилось поведение
  • вы используете рабочие процессы повторно, а не создаете их заново
  • относитесь к агенту как к постоянно действующей системе, а не как к одноразовому средству коммуникации

Вывод: если Hermes со временем станет еще более полезным, то интерфейс для работы с памятью и навыками должен быть первоклассным. Похоже, Hermes Workspace это понимает.

Терминал в рабочей области — это не просто фишка

Один из самых простых способов понять, понимает ли пользовательский интерфейс агента реальное использование, заключается в следующем:

Есть ли у него полноценный терминал или предполагается, что работа начинается и заканчивается в чате?

В Hermes Workspace есть собственный браузерный терминал PTY. На сайте он прямо назван интегрированным терминалом, а в файле README указано, что это часть основного продукта, а не что-то второстепенное.

Это правильный ход. Гермес сильнее всего, когда может:

  • проверять файлы
  • выполнять команды
  • проверка выходных данных
  • работа в условиях реального окружения

Если пользователю постоянно приходится выходить из рабочего пространства, чтобы сделать это вручную, продукт начинает мешать рабочему процессу.

Встроенный терминал обеспечивает непрерывность рабочего процесса:

  1. спрашивай
  2. Осмотр
  3. беги
  4. проверить
  5. продолжать

Вот каким должен быть серьезный агентский инструментарий.

Вывод: терминал — это не дополнительная функция. Он является частью рабочего пространства, а не просто оболочкой для чата.

Дирижёр — самая амбициозная роль

Пожалуй, самый интересный скриншот на сайте — это скриншот с дирижёром.

Это описывается как:

Организатор миссий. Запускайте параллельных агентов и наблюдайте за их работой.

Это один из самых явных сигналов о том, в каком направлении развивается этот продукт.Многие интерфейсы агентов ограничиваются принципом «один пользователь, один агент, один поток».Дирижер предлагает более амбициозную модель:

  • несколько работников
  • параллельное выполнение
  • представление оркестровки
  • Живое осознание происходящего

Если эта функция дозреет, она может стать одной из главных причин, по которым стоит использовать Hermes Workspace.

Чем более автоматизированным становится ваш рабочий процесс, тем менее полезным становится обычный однопоточный интерфейс чата.

Вам нужны координационные поверхности. Вам нужна видимость. Вам нужен оперативный контроль. Именно на это указывает Conductor.

Вывод: в Conductor интерфейс Hermes Workspace становится все меньше похож на пользовательский интерфейс и все больше — на среду для управления агентами.

Приборная панель и операции недооценены

На целевой странице также подчеркивается:

  • Обзорные показатели по сессиям, сообщениям, инструментам и токенам
  • операционная консоль для управления работающими агентами

На это легко не обратить внимания, но это очень важно.

Если вы регулярно используете Hermes, особенно в течение длительных сессий или при работе с несколькими рабочими процессами, вам нужно нечто большее, чем просто «какой был последний ответ?».

Вам нужно:

  • осведомленность о сеансе
  • видимость инструмента
  • токен и контекст действия
  • рабочее состояние

Вот так можно перейти от демонстрационных версий к многократному использованию в повседневной жизни.

Вывод: хороший инструмент для работы с агентами должен обеспечивать наблюдаемость, а не просто сохранять историю разговоров.

История создания проекта впечатляет больше, чем большинство проектов в области искусственного интеллекта с открытым исходным кодом

Одна из самых привлекательных особенностей Hermes Workspace — простота настройки.

Главная страница посвящена процессу установки:

curl -fsSL https://hermes-workspace.com/install.sh | bash

Затем начинает формировать стек:

hermes gateway run
cd ~/hermes-workspace && pnpm dev

Важно не только то, что в нем есть однострочник. Однострочники есть во многих репозиториях.

Важнее всего то, что, по утверждению разработчиков, делает этот однострочник:

  • определяет наличие Node 22+, Python 3.11+ и pnpm
  • устанавливает то, чего не хватает
  • устанавливает hermes-agent из PyPI
  • клонирует рабочее пространство
  • провода .env
  • может быть повторно запущен

Именно такая дисциплина настройки нужна для подобных проектов. Она сокращает разрыв между «это выглядит круто» и «я действительно это запускаю».

Вывод: качество установки — это часть качества продукта. Похоже, Hermes Workspace относится к этому серьезно.

Почему это важно именно для Hermes

Самые качественные продукты не являются универсальными. Они идеально подходят для того, для чего созданы.

Hermes Agent имеет особую форму:

  • использование инструмента
  • память
  • навыки
  • гибкость поставщика услуг
  • собственные рабочие процессы терминала
  • доступ к шлюзу
  • мультиагентные возможности

Hermes Workspace выглядит так, будто его кто-то создал (@аутсорсинг_

) который понимает эту фигуру.

Вот почему это предложение более привлекательное, чем стандартное «рабочее пространство с искусственным интеллектом».

Продукт наиболее эффективен, когда максимально соответствует своей истинной природе.

  • не просто поболтать
  • не просто API-интерфейсы завершения
  • не просто игрушка для программирования на компьютере
  • не просто тематический интерфейс

Лучше всего, когда он выступает в роли интерфейса для постоянной, расширяемой системы агентов, управляемых оператором.

Вывод: лучший пользовательский интерфейс для Hermes — это тот, который не противоречит тому, чем уже является Hermes. Похоже, этот проект соответствует этому требованию.

Простая система оценки Hermes Workspace

Если вы решаете, стоит ли тратить время на Hermes Workspace, воспользуйтесь этим чек-листом:

Тест Hermes Workspace из 5 пунктов

1. Уменьшает ли он трение инструмента?

Можете ли вы проверять чат, память, навыки и активность терминала, не переключаясь между средами?

2. Сохраняет ли он силу Гермеса?

Делает ли это Гермеса сильнее или превращает его в обычный чат?

3. Повышает ли это прозрачность рабочих процессов?

Можете ли вы понять, что именно делает агент, а не просто то, что он сказал?

4. Поддерживает ли он реальные шаблоны развертывания?

Локальные, удаленные, мобильные, Docker, локальные модели, подключение к существующему шлюзу.

5. Сохраняется ли синхронизация с вышестоящим сервисом Hermes?

Здесь важно утверждение о нулевом форке.

Вывод: если пользовательский интерфейс Hermes соответствует этим пяти критериям, он заслуживает серьезного внимания. Похоже, что Hermes Workspace создавался именно с учетом этих критериев.

Итог

Hermes Workspace — один из самых продуманных дополнительных продуктов для среды выполнения агентов.

И не потому, что это добавляет броский брендинг с использованием искусственного интеллекта.

Потому что он, кажется, понимает простую истину:

Агент у вас уже есть.

Этот уровень призван сделать всю систему пригодной для использования в качестве рабочего пространства.

Больше про агентов и нейросети вы можете прочитать на моеём канале

MAX-https://max.ru/id752703975446_biz

Телеграмм-https://t.me/Novopoltsev_Pavel

Подробный разбор Hermes Workspace

Рабочее пространство Hermes

Командный центр вашего ИИ-агента — чат, файлы, память, навыки и терминал в одном месте.

Это не просто оболочка для чата. Это полноценное рабочее пространство — управляйте агентами, просматривайте их историю, управляйте навыками и контролируйте все процессы из одного интерфейса.
v2 — без форка. Клонируйте, не форкайте. Работает на ванильной версии NousResearch/hermes-agent, установленной с помощью собственного установщика Nous. Чат, сеансы, память, навыки, задания, MCP, терминал, панель управления, представление агентов и операции — все это в ванильной версии. Conductor использует API панели управления, если он доступен, и переключается на встроенную в Workspace диспетчеризацию Swarm (mode: native-swarm), если конечная точка панели управления недоступна, сохраняя поведение без форка .

Режим Роя

Hermes Agent Swarm превращает рабочее пространство в динамическую плоскость управления: неограниченное количество агентов Hermes, 1 оркестратор, 0 человек, распределяющих задачи вручную. Постоянные рабочие процессы в tmux сохраняют контекст при выполнении задач, обеспечивают безопасную ротацию и сообщают о контрольных точках с доказательствами. Ролевая система распределения задач направляет разработчиков, рецензентов, специалистов по документации, исследователей, операторов, сортировщиков, тестировщиков и лаборантов по разным путям, не превращая Эрика в диспетчера задач. Проверка на уровне байтов защищает релизные ветки перед отправкой PR. Автономные конвейеры для обработки и выпуска продукции, лабораторные эксперименты и система ремонта позволяют машине работать, пока люди принимают решения.

Начните здесь: docs/swarm/

  • Чат с Orchestrator — запросите у плоскости управления одну задачу, декомпозированную миссию или полную трансляцию.
  • Многоагентная плоскость управления — просматривайте информацию о постоянных агентах Hermes, ролях, состоянии, времени выполнения и маршрутах на одной панели.
  • Канбан-доска задач — планируйте бэклог, отслеживайте готовность, выполнение, проверку, блокировку и завершение задач, не покидая рабочее пространство.
  • Отчеты + почтовый ящик — просматривайте контрольные точки, блокирующие факторы, передачи и решения, готовые к утверждению.
  • Встроенное представление TUI — подключайтесь к рабочим процессам на базе tmux или используйте интерактивную оболочку/поток логов.

✨ Что внутри

  • 💬 Чат — потоковая передача в реальном времени, рендеринг вызовов инструментов, многосессионный режим, подсветка синтаксиса и Markdown
  • 🧠 Память — Просмотр, поиск и редактирование памяти агента; живой редактор markdown
  • 🧩 Навыки — просмотрите более 2000 навыков с помощью значков происхождения, фильтров, путей к источнику, торговой площадки
  • 🔌 MCP — Полная страница / mcp страница (каталог + торговая площадка + исходники) или резервный вариант для локальной конфигурации CRUD
  • 📁 Файлы + терминал — Полнофункциональный файловый браузер рабочего пространства с Monaco; кроссплатформенный PTY-терминал
  • 🎮 Операции — Мультиагентная панель мониторинга с предустановками профиля (Sage / Trader / Builder / Scribe / Ops) и определением "Потребностей в настройке"
  • 📡 Conductor — отправка и декомпозиция миссий с помощью панели управления, если она доступна, и в противном случае с помощью встроенного в Workspace Swarm
  • 👥 Просмотр агента — Живая панель агента в чате с аватаром, очередью, историей, счетчиком использования
  • 🐝 Режим роя — Постоянные работники агента Hermes, поддерживаемые tmux, с ролевой диспетчеризацией
  • 🗄️ Панель управления — сводный обзор: сеансы, набор моделей, книга учета затрат, карточка внимания, оперативная таблица
  • 🎨 Темы — Hermes, Nous, Бронза, Шифер, Моно (светлый + темный)
  • 🔒 Безопасность — Промежуточное программное обеспечение аутентификации на каждом маршруте, CSP, защита от обхода пути, удаленная привязка при сбое
  • 📱 PWA + Tailscale — установка в виде нативного приложения; доступ с любого устройства в вашей сети
  • ⚙️ Ограничения возможностей — функции, для которых требуются конечные точки (Conductor), отображаются в виде чистого плагина, а не прерывают работу в процессе выполнения

🚀 Быстрый старт

Три пути — выберите тот, который подходит именно вам:

Путь

Лучше всего для

Время

🐳 Docker Compose

Самостоятельные хостинги, домашние лаборатории, «дайте мне возможность проявить себя»

~2 мин

🌐 Установка в одну строку

Локальный разработчик на macOS/Linux

~3 мин

🔌 Прикрепить к существующему hermes-agent

Вы уже используете Hermes Agent

~1 мин

Однострочная установка

curl -fsSL https://raw.githubusercontent.com/outsourc-e/hermes-workspace/main/install.sh | bash

Этот скрипт устанавливает hermes-agent с помощью официального установщика Nous, клонирует это репозиторий, настраивает .env и устанавливает зависимости. Затем:

Запуск шлюза Hermes # терминал 1
cd ~/hermes-workspace && pnpm dev # терминал 2

Откройте http://localhost:3000. Вот и всё.


Уже используете hermes-agent? Подключите к нему рабочую область

Если у вас уже установлен hermes-agent (с помощью официального установщика Nous, из исходного кода, через systemd, Docker или другим способом) и он обслуживает шлюз по адресу http://<host>:8642, вам не нужно ничего переустанавливать — просто укажите на него рабочее пространство.

git clone https://github.com/outsourc-e/hermes-workspace.git 
cdhermes-workspace 
установка pnpm 
cp .env.example .env 

# Укажите на существующие службы агента Hermes.
echo 'HERMES_API_URL=http://127.0.0.1:8642' >> .env
# Для установок с нулевым форком также требуется отдельный API панели мониторинга для конфигурации / сессий / навыков / заданий.
echo 'HERMES_DASHBOARD_URL=http://127.0.0.1:9119' >>.env 

# Если ваш шлюз был запущен с помощью API_SERVER_KEY (авторизация включена), установите то же значение:
# echo 'HERMES_API_TOKEN=***' >> .env

pnpm dev # http://localhost:3000 (переопределить с помощью PORT=4000 pnpm dev)

Требования со стороны агента:

  • Шлюз привязан к адресу, по которому можно получить доступ к рабочей области (обычно это API_SERVER_HOST=0.0.0.0 + открытый порт).
  • API_SERVER_ENABLED=true в ~/.hermes/.env (или в среде агента), поэтому шлюз предоставляет доступ к основным API на :8642.
  • hermes dashboard запущен (по умолчанию http://127.0.0.1:9119) для установок без форка. Панель управления предоставляет доступ к API конфигурации, сессий, навыков и заданий.
  • Если задано значение API_SERVER_KEY, рабочая область должна передавать такое же значение через HERMES_API_TOKEN — в противном случае оба значения не заданы.

Перед открытием рабочей области проверьте оба сервиса:

  • curl http://127.0.0.1:8642/healthдолжно вернуться ok.
  • curl http://127.0.0.1:9119/api/statusдолжно вернуться метаданные панели управления.

Затем запустите рабочее пространство и завершите настройку — оно должно автоматически обнаружить пару шлюз + панель управления и разблокировать расширенные панели.

Запуск на удаленном хосте (Tailscale / VPN / LAN)

Если рабочее пространство и браузер находятся на разных компьютерах — например, рабочее пространство работает на Raspberry Pi, Mac или домашнем сервере, а вы подключаетесь к нему с телефона через Tailscale, — укажите HERMES_API_URL на адрес доступного бэкенда, а не 127.0.0.1:

>>'
HERMES_API_URL=http://100.x.y.z:8642 'echo#  На сервере, на котором запущено рабочее пространство + шлюз: .env
echo 'HERMES_DASHBOARD_URL=http://100.x.y.z:9119' >> .env

# Также настройте шлюз на прослушивание всех интерфейсов, чтобы узлы Tailscale могли с ним взаимодействовать.
# В ~/.hermes/.env (или в любом другом месте, где шлюз считывает конфигурацию):
echo 'API_SERVER_HOST=0.0.0.0' >> ~/.hermes/.env

Затем перезапустите шлюз, панель управления и рабочее пространство. Запустите рабочее пространство с удаленного устройства, и проверка подключения будет выполняться с использованием IP-адреса Tailscale вместо localhost. И HERMES_API_URL и HERMES_DASHBOARD_URL должны быть настроены на URL-адреса, доступные через Tailscale/локальную сеть. Если настроить только один из них, проверка 127.0.0.1 завершится ошибкой.

Если вы уже запустили рабочую область, вы можете обновить оба URL-адреса из Settings → Connection без перезапуска. Значения сохраняются в ~/.hermes/workspace-overrides.json и вступают в силу немедленно (при сохранении проверяются возможности шлюза). Редактирование .env по-прежнему работает для предварительной настройки и для CI/контейнеров.


Ручная установка

Hermes Workspace работает с любым бэкендом, совместимым с OpenAI. Если ваш бэкенд также предоставляет API-интерфейсы шлюза Hermes Agent, вам автоматически становятся доступны расширенные функции, такие как сеансы, память, навыки и задания.

Предварительные условия

  • Node.js 22+nodejs.org
  • Серверная часть, совместимая с OpenAI — локальная, размещенная на собственном сервере или удаленная
  • Необязательно: Python 3.11+, если вы хотите запустить шлюз Hermes Agent локально

Шаг 1. Запустите серверную часть

Настройте Hermes Workspace на любой сервер, который поддерживает:

  • POST /v1/chat/completions
  • GET /v1/models Рекомендуемые

Пример настройки шлюза Hermes Agent (с нуля):

# Установите hermes-agent через официальный установщик Nous 
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash 

# Настройте провайдера + запустите шлюз 
настройка hermes 
запуск шлюза hermes

Наш однострочный установщик (ниже) выполняет оба шага автоматически. Если вы используете другой сервер, совместимый с OpenAI, просто запомните его базовый URL.

Шаг 2. Установите и запустите Hermes Workspace

# В новом терминале
git clone https://github.com/outsourc-e/hermes-workspace.git
cd hermes-workspace
pnpm install
cp .env.example .env
printf '\nHERMES_API_URL=http://127.0.0.1:8642\n' >> .env
pnpm dev # Запускается на http://localhost:3000
Проверьте: откройте http://localhost:3000 и завершите процесс регистрации. Сначала подключите серверную часть, затем убедитесь, что чат работает. Если ваш шлюз предоставляет доступ к API Hermes Agent, расширенные функции появятся автоматически.

Переменные среды

# URL-адрес бэкенда, совместимого с OpenAI
HERMES_API_URL=http://127.0.0.1:8642

# Необязательно: ключи провайдера, которые шлюз Hermes Agent может считывать во время выполнения.
# Вам нужны только ключи того провайдера (тех провайдеров), которого (которых) вы используете.
# OPENAI_API_KEY=sk-... # GPT / o-series / совместимо с OpenAI
# OPENROUTER_API_KEY=sk-or-v1-... # OpenRouter (вкл. бесплатные модели)
# GOOGLE_API_KEY=AIza... # Gemini
# (Ollama / LM Studio / локальным серверам ключ не нужен)

# Дополнительно: защитите веб-интерфейс паролем
# HERMES_PASSWORD=ваш_пароль

🧠 Локальные модели (Ollama, Atomic Chat, LM Studio, vLLM)

Hermes Workspace поддерживает два режима работы с локальными моделями:

Портативный режим (самый простой)

Настройте рабочее пространство непосредственно на локальном сервере — шлюз Hermes Agent не требуется.

Атомарный Чат

# Запустите рабочее пространство, настроенное на Atomic Chat
HERMES_API_URL=http://127.0.0.1:1337/v1 pnpm dev

Скачайте Atomic Chat, запустите настольное приложение и убедитесь, что модель загружена, прежде чем запускать Hermes Workspace.

Оллама

# Запускаем Олламу
OLLAMA_ORIGINS=* подача олламы 

# Запустить рабочую область, указанную на Ollama
HERMES_API_URL=http://127.0.0.1:11434 pnpm dev

Чат работает сразу. Сессии, память и навыки отображаются как «Недоступно» — это ожидаемо в портативном режиме.

Расширенный режим (все функции)

Используйте шлюз Hermes Agent для управления сессиями, памятью, навыками, заданиями и инструментами.

Вот два наглядных ~/.hermes/config.yaml примера локальных провайдеров, которых мы поддерживаем непосредственно в рабочей области:

Atomic Chat

провайдер: atomic-chat
модель: название-вашей-модели
пользовательские_провайдеры:
 - название: atomic-chat
    базовый_URL: http://127.0.0.1:1337/v1
    ключ_API: atomic-chat
    режим_API: автодополнение_в_чате

Оллама

провайдер: ollama
модель: qwen3:32b
пользовательские_провайдеры:
 - имя: ollama
    базовый_URL: http://127.0.0.1:11434/v1
    ключ_API: ollama
    режим_API: автодополнение_в_чате

Вы можете адаптировать эту форму для других локальных раннеров, совместимых с OpenAI, но Atomic Chat и Ollama — это два встроенных локальных пути, описанных в пользовательском интерфейсе рабочей области.

2. Включите сервер API в ~/.hermes/.env:

API_SERVER_ENABLED=true

3. Запустите шлюз, панель управления и рабочее пространство.

Запуск шлюза Hermes # Запускает основные API на :8642
 Панель управления Hermes # Запускает API панели управления на :9119
 HERMES_API_URL=http://127.0.0.1:8642 \
 HERMES_DASHBOARD_URL=http://127.0.0.1:9119 \
pnpm dev

Для шлюзов с аутентификацией также установите для HERMES_API_TOKEN в рабочей среде то же значение, что и для API_SERVER_KEY.

Все функции рабочего пространства становятся доступны автоматически, как только обе службы подключаются к сети: сохраняются сеансы, память сохраняется между чатами, становятся доступны навыки, а на панели управления отображаются реальные данные об использовании.

Работает с любым сервером, совместимым с OpenAI — Atomic Chat, Ollama, LM Studio, vLLM, llama.cpp, LocalAI и т. д. Просто измените base_url и model в приведенной выше конфигурации.

🤝 Свяжите агента с рабочим пространством

Workspace — это пользовательский интерфейс. Hermes Agent — это мозг. Они взаимодействуют через два HTTP-сервиса на локальном хосте (или в любой доступной сети).

┌───────────────┐         :8642 gateway          ┌────────────────┐
│   Workspace    │ ─────────────────────▶ │  Hermes Agent  │
│   :3000 (UI)   │ ◀───────────────────── │  CLI / brain   │
└───────────────┘         :9119 dashboard        └────────────────┘

Две службы, три команды

Запуск шлюза Hermes # терминал 1 · :8642 · чат, модели, потоковая передача, задания
Панель управления Hermes # терминал 2 · :9119 · сеансы, навыки, конфигурация, MCP
cd ~/hermes-workspace && pnpm dev # терминал 3 · :3000 · пользовательский интерфейс
Совет: pnpm start:all если вы установили приложение с помощью однострочной команды, то сможете запустить шлюз, панель управления и рабочее пространство одновременно.

Запуск Windows (PowerShell + WSL) одной командой

Если вы используете Hermes Workspace в Windows с агентом, запущенным в WSL, воспользуйтесь вспомогательным скриптом из этого репозитория:

# из корня репозитория
.\scripts\start-hermes-workspace.ps1

Чтобы принудительно перезапустить сеанс tmux:

.\scripts\start-hermes-workspace.ps1 -Restart

Необязательные параметры:

  • -Distro <name>для выбора дистрибутива WSL, отличного от стандартного
  • -WorkspacePath </path/in/wsl>если ваш клон находится не по адресу~/hermes-workspace
  • -SessionName <name>для использования пользовательского имени сеанса tmux

Проверьте сопряжение

curl http://127.0.0.1:8642/health # → {"status":"ok","platform":"hermes-agent"}
curl http://127.0.0.1:9119/api/status # → {"status":"ok", ...}

Оба должны вернуть 200. Если что-то из них не сработает, рабочее пространство вернется в портативный режим (чат будет работать, а сессии/навыки/память будут отображаться как «Недоступно»).

.env настройки, о которых заботится рабочее пространство

# Требуется: где находится шлюз
HERMES_API_URL=http://127.0.0.1:8642 

# Рекомендуется: там, где находится панель управления (разблокирует сеансы / навыки / конфигурацию / MCP / задания)
HERMES_DASHBOARD_URL=http://127.0.0.1:9119

# Только если ваш шлюз был запущен с API_SERVER_KEY=... — вставьте то же значение:
# HERMES_API_TOKEN=***

# Необязательно: защитите паролем сам веб-интерфейс
# ПАРОЛЬ HERMES_PASSWORD=***

Распространенные сценарии сопряжения

Сценарий

Установите это

Рабочее пространство + шлюз на одном компьютере

HERMES_API_URL=http://127.0.0.1:8642, HERMES_DASHBOARD_URL=http://127.0.0.1:9119

Шлюз на удаленном сервере (Tailscale / VPN)

Укажите в обоих URL-адресах доступный IP-адрес (например, http://100.x.y.z:8642) и добавьте API_SERVER_HOST=0.0.0.0 к шлюзу. ~/.hermes/.env

Уже запущен hermes-agent из вышестоящего установщика

Просто установите HERMES_API_URL + HERMES_DASHBOARD_URL и не используйте однострочный установщик

Несколько профилей агентов

Профили находятся в разделе ~/.hermes/profiles/<name> — панель управления переключается между ними во время работы; рабочее пространство переключается автоматически

Повторное сопряжение в режиме реального времени (без перезапуска)

Если вы уже запустили рабочую область, измените любой URL-адрес в разделе «Настройки» → «Подключение» без перезапуска. Значения сохраняются в ~/.hermes/workspace-overrides.json, а возможности шлюза восстанавливаются при сохранении.

Устранение неполадок

  • Could not reach Hermes gateway on 8645, 8642, or 8643 — шлюз не запущен или HERMES_API_URL указывает на недоступный адрес. Запустите hermes gateway run и проверьте еще раз.
  • В рабочей области отображается «портативный режим» / отсутствуют расширенные API — панель управления не запущена. Запустите hermes dashboard в другом терминале и обновите данные.
  • Unauthorizedпри каждом вызове API — у шлюза API_SERVER_KEY установлено значение, но в рабочей области отсутствует HERMES_API_TOKEN. Сопоставьте их.
  • Could not connectс телефона через Tailscale — шлюз привязан к loopback. Установите API_SERVER_HOST=0.0.0.0 в ~/.hermes/.env и перезапустите его.

🐳 Краткое руководство по Docker

В Docker одновременно работают шлюз Hermes Agent и Hermes Workspace.

Предварительные условия

  • Docker
  • Docker Compose
  • Настроенный провайдер моделей Hermes Agent — запустите hermes setup / hermes model или укажите ключ для используемого провайдера. Для этого рабочего пространства не требуется Anthropic.

Шаг 1. Настройка среды

git clone https://github.com/outsourc-e/hermes-workspace.git
cd hermes-workspace
cp .env.example .env

Отредактируйте .env и добавьте хотя бы один ключ поставщика LLM — того поставщика, которого вы хотите использовать в hermes-agent:

# Выберите один (или несколько). Вам НЕ нужны все эти ключи.
# OPENAI_API_KEY=sk-... # GPT / o-series / совместимо с OpenAI
# OPENROUTER_API_KEY=sk-or-v1-... # OpenRouter (доступны бесплатные модели)
# GOOGLE_API_KEY=AIza... # Gemini

Используете Ollama, LM Studio или другой локальный сервер? Ключ не нужен — просто укажите hermes-agent на локальную конечную точку с помощью процесса регистрации.

Внимание: hermes-agent необходимо иметь доступ к какой-либо модели. Если вы не настроите ни один из провайдеров (ключ API или локальный сервер), чат не сможет обработать первое сообщение.

Шаг 2. Запустите службы

создание докера

Это позволяет получить два готовых образа и запустить их:

  • hermes-agentnousresearch/hermes-agent:latest на порту 8642
  • hermes-workspaceghcr.io/outsourc-e/hermes-workspace:latest на порту 3000

Локальная сборка не требуется. Первый запуск занимает минуту, последующие — мгновенный. Состояние агента (конфигурация, сеансы, навыки, память, учетные данные) сохраняется в томе Docker с устаревшим именем claude-data, поэтому контейнеры можно создавать заново без потери данных.

Шаг 3. Откройте рабочее пространство

Откройте http://localhost:3000 и пройдите регистрацию.

Проверьте: проверьте логи Docker на наличие [gateway] Connected to Hermes Agent — это подтвердит, что рабочее пространство успешно подключилось к агенту.

Удаленный доступ (LAN / Tailscale / VPN)

По умолчанию файл compose привязывает порты к 127.0.0.1 (только к localhost). Чтобы получить доступ к рабочей области с других устройств в вашей сети, вам нужно:

1. Публиковать порты без ограничения на использование loopback. Создайте docker-compose.override.yml:

сервисы:
 hermes-agent:
 порты:
 - '8642:8642'
  hermes-workspace:
 порты:
 - '3000:3000'

2. Добавьте эти переменные окружения в .env:

# Требуется: пароль сеанса рабочей области (рабочая область отказывается запускаться в версии 0.0.0.0 без него)
HERMES_PASSWORD=твой-главный-секрет-здесь

# Требуется для доступа к локальной сети по обычному протоколу HTTP (браузеры удаляют защищенные файлы cookie по протоколу http://)
COOKIE_SECURE=0

# Рекомендуется: токен аутентификации шлюза (предотвращает доступ к API без проверки подлинности в вашей локальной сети)
API_SERVER_KEY=***

# Если шлюз отказывается запускаться с надписью "Списки разрешений пользователей не настроены":
GATEWAY_ALLOW_ALL_USERS=верно

3. Перезапустите стек.

docker compose down && docker compose up -d
HTTPS за обратным прокси? Если вы завершаете работу TLS на обратном прокси (Traefik, Nginx, Caddy, Tailscale Funnel), установите COOKIE_SECURE=1 вместо этого и добавьте TRUST_PROXY=1, чтобы классификация IP работала правильно.

Устранение неполадок Docker

Симптом

Исправить

[workspace] refusing to start — HERMES_PASSWORD is unset

Добавить HERMES_PASSWORD=<secret> к .env

Вход в систему не удался (ошибка не отображается, страница перезагружается)

Добавьте COOKIE_SECURE=0 для HTTP или COOKIE_SECURE=1 + HTTPS

[Api_Server] Refusing to start: binding to 0.0.0.0 requires API_SERVER_KEY

Добавить API_SERVER_KEY=*** to .env`

No user allowlists configured. All unauthorized users will be denied.

Добавить GATEWAY_ALLOW_ALL_USERS=true к .env

CLAUDE_DASHBOARD_TOKEN is not set предупреждение

Установите CLAUDE_DASHBOARD_TOKEN в то же значение, что и API_SERVER_KEY

Ошибка 500 «Внутренняя ошибка сервера» при входе в систему после выполнения всех описанных выше действий

Очистите файлы cookie браузера для домена рабочей области и повторите попытку

Построение из исходного кода

Хотите внести изменения в рабочую область и автоматически собрать их в контейнере? Используйте оверлей для разработчиков:

docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build

Базовый docker-compose.yml образ остается без изменений — оверлей добавляет build: блок для hermes-workspace сервиса, поэтому локальное репозиторий компилируется, а не загружается. Сервис Hermes Agent по-прежнему использует канонический nousresearch/hermes-agent:latest образ. Если вам нужна собственная сборка агента, пометьте ее локально и переопределите image: в своем собственном compose.override.yml.

Использование готового образа (Coolify / Easypanel / Dokploy / Unraid)

Развертываете Hermes Workspace в стеке PaaS или домашней лаборатории? Загрузите образ напрямую из GitHub Container Registry:

ghcr.io/outsourc-e/hermes-workspace:latest

Доступные теги:

Тег

Что это такое

latest

Последняя main фиксация (стабильная; рекомендуется)

v2.0.0

Закрепленный тег semver

main-<sha>

Конкретная фиксация

Минимальная конфигурация Coolify / Easypanel:

service: hermes-workspace
image: ghcr.io/outsourc-e/hermes-workspace:latest
port: 3000
env:
 HERMES_API_URL: http://hermes-agent:8642 # укажите свой шлюз
  HERMES_API_TOKEN: ${API_SERVER_KEY} # если включена аутентификация шлюза

Образ создан для linux/amd64 и linux/arm64. Используйте его либо с контейнером nousresearch/hermes-agent:latest (что по умолчанию делает наш docker-compose.yml), либо с существующим шлюзом на другом хосте.


📱 Установите как приложение (рекомендуется)

Hermes Workspace — это прогрессивное веб-приложение (PWA). Установите его, чтобы пользоваться всеми возможностями нативного приложения без браузера, с помощью сочетаний клавиш и в автономном режиме.

🖥️ Настольная версия (macOS / Windows / Linux)

  1. Откройте Hermes Workspace в Chrome или Edge по адресу http://localhost:3000
  2. Нажмите на значок установки (⊕) в адресной строке
  3. Нажмите Установить — Hermes Workspace откроется как отдельное настольное приложение
  4. Закрепите на панели Dock / на панели задач для быстрого доступа
Пользователи macOS: после установки вы также можете добавить его на панель запуска.

📱 iPhone / iPad (iOS Safari)

  1. Откройте Hermes Workspace в Safari на своем iPhone
  2. Нажмите кнопку Поделиться (□↑)
  3. Прокрутите вниз и нажмите «Добавить на главный экран»
  4. Нажмите Добавить — значок Hermes Workspace появится на главном экране
  5. Запустите приложение с главного экрана, чтобы пользоваться всеми его функциями

🤖 Android

  1. Откройте Hermes Workspace в Chrome на своем устройстве Android
  2. Нажмите на трехточечное меню (⋮) → "Добавить на главный экран"
  3. Нажмите Добавить — теперь Hermes Workspace выглядит как обычное приложение на вашем устройстве

📡 Мобильный доступ через Tailscale

Получайте доступ к Hermes Workspace с любых устройств — без переадресации портов и сложностей с VPN.

Настройка

  1. Установите Tailscale на свой Mac и мобильное устройство:
  2. Войдите в одну и ту же учетную запись Tailscale на обоих устройствах
  3. Найдите IP-адрес Tailscale вашего Mac:tailscale ip -4 # Пример вывода: 100.x.x.x
  4. Откройте Hermes Workspace на своем телефоне:http://100.x.x.x:3000
  5. Добавьте на главный экран с помощью описанных выше действий, чтобы пользоваться приложением в полной мере
💡 Tailscale работает в любой сети — домашней Wi-Fi, мобильной сети и даже в разных странах. Ваш трафик надежно зашифрован.

🖥️ Нативное настольное приложение

Статус: в разработке — нативное настольное приложение на базе Electron находится в активной разработке.

Настольное приложение будет предлагать:

  • Собственное управление окнами и значок в трее
  • Системные уведомления о событиях и выполнении задач
  • Автоматический запуск при старте
  • Глубокая интеграция с операционной системой (панель меню macOS, панель задач Windows)

А пока: установите Hermes Workspace как PWA (см. выше), чтобы пользоваться десктопной версией, максимально приближенной к нативной. Она отлично работает.


☁️ Облачная и хостинговая настройка

Статус: Скоро будет

В разработке находится полностью управляемая облачная версия Hermes Workspace:

  • Развертывание в один клик — не требуется самостоятельный хостинг
  • Синхронизация с несколькими устройствами — доступ к агентам с любого устройства
  • Совместная работа в команде — общий контроль над задачами для всей команды
  • Автоматические обновления — всегда последняя версия

Особенности незавершенной облачной инфраструктуры:

  • Синхронизация сеансов на разных устройствах
  • Общая память и рабочие пространства для команд
  • Облачный сервер с управляемым временем безотказной работы
  • Интеграция с вебхуками и внешними триггерами

🔒 Переменные среды для обеспечения безопасности и развертывания

Основные меры предосторожности — большинство из них включены по умолчанию. Переменные окружения, указанные ниже, предназначены для удаленных развертываний и развертываний в Docker, когда вы отказываетесь от использования loopback по умолчанию.

Встроенные средства защиты

  • Промежуточное ПО для аутентификации на каждом маршруте API
  • Заголовки CSP с помощью метатегов
  • Предотвращение обхода пути на файловых маршрутах и маршрутах, связанных с памятью (проверка границ реального пути, а не префикса строки)
  • Ограничение скорости на конечных точках
  • Защита от незапланированного закрытия при запуске: отказ от привязки к нелокальным сетям без HERMES_PASSWORD
  • Сессионных файлов cookie: HttpOnly + SameSite=Strict + Secure (в рабочей среде)
  • Дополнительная защита паролем для веб-интерфейса

Переменные окружения для удаленных развертываний / Docker

  • HERMES_PASSWORD — требуется всякий раз, когда HOST ≠ 127.0.0.1 (legacy CLAUDE_PASSWORD по-прежнему используется как запасной вариант)
  • COOKIE_SECURE=1 — принудительно используйте Secure флаг cookie при завершении HTTPS на прокси
  • COOKIE_SECURE=0 — отключите Secure флаг для развертываний локальной сети с простым HTTP (HOST=0.0.0.0 без HTTPS); без этого браузеры автоматически удаляют файлы cookie сеанса и не удается войти в систему (# 149)
  • TRUST_PROXY=1 — trust x-forwarded-for / x-real-ip (устанавливается только за очищающим обратным прокси-сервером)
  • HERMES_DASHBOARD_TOKEN — явный носитель для dashboard API (предпочтительнее устаревшего варианта очистки от HTML)
  • HERMES_API_TOKEN — носитель для шлюза агента Hermes при запуске с API_SERVER_KEY (устаревший CLAUDE_API_TOKEN по-прежнему поддерживается)
  • HERMES_ALLOW_INSECURE_REMOTE=1 — обход защиты от сбоя (не рекомендуется)

Полный список см. в .env.example . Благодарим @kiosvantra за аудит безопасности, выявивший уязвимости #121–#125.


🔧 Устранение неполадок

«Рабочее пространство загружается, но чат не работает»

При запуске рабочее пространство автоматически определяет возможности вашего шлюза. Проверьте терминал на наличие такой строки:

[gateway] http://127.0.0.1:8642 available: health, models; missing: sessions, skills, memory, config, jobs
[gateway] Missing Hermes Agent APIs detected. Update hermes-agent to the latest version.

Исправление: обновите до последней версии hermes-agent, в которой доступны расширенные конечные точки:

~ cd/hermes-agent && git pull && uv pip install -e .
hermes gateway run

(Если вы устанавливали программу по другому пути, следуйте инструкциям по обновлению, предоставленным установщиком Nous.) Если вы использовали старую outsourc-e/hermes-agent версию, то с выходом версии 2 она больше не нужна — удалите ее и используйте основную версию.

«В соединении отказано» или рабочее пространство зависает при загрузке

Ваш шлюз Hermes Agent не запущен. Запустите его:

запуск шлюза гермеса

Запускаете впервые? Сначала hermes setup выберите поставщика и модель.

Ollama: чат пуст или модель отображается как «офлайн»

Убедитесь, что в вашем ~/.hermes/config.yaml есть раздел custom_providers и API_SERVER_ENABLED=true в ~/.hermes/.env. См. Локальные модели выше.

Также убедитесь, что Ollama работает с включенным CORS:

OLLAMA_ORIGINS=* ollama serve

Используйте http://127.0.0.1:11434/v1 (а не localhost) в качестве базового URL.

Проверьте: curl http://localhost:8642/health должно возвращать {"status": "ok"}.

«Использование вышестоящего репозитория NousResearch/hermes-agent»

Версия 2+ работает на ванильной hermes-agent. Не требует форка. В основной ветке есть все конечные точки, необходимые для чата, сессий, управления памятью, навыками, конфигурацией, заданиями, MCP, терминалом и представлением агента.

Примечание для разработчиков: если API-интерфейс Dashboard Mission доступен, Workspace использует его напрямую. Если эта конечная точка недоступна, Workspace использует собственный резервный вариант Swarm и возвращает mode: native-swarm. Резервный вариант отправляет запросы через рабочие процессы Workspace Swarm, поддерживает статус через /api/conductor-spawn?missionId=... и отменяет запросы через /api/conductor-stop.

Если вы используете более старую hermes-agent версию и у вас отсутствуют основные конечные точки, рабочее пространство будет корректно переведено в портативный режим с базовыми функциями чата. Чтобы восстановить все возможности, обновите версию.

Docker: «Несанкционированный доступ» или «Отказано в соединении» с hermes-agent

Если вы используете Docker Compose и получаете ошибки аутентификации:

  1. Убедитесь, что указан хотя бы один ключ поставщика:grep -E '_API_KEY' .env # Должен показать один из следующих ключей: OPENAI_API_KEY, OPENROUTER_API_KEY, GOOGLE_API_KEY или другой ключ провайдера, который вы используете намеренно.(hermes-agent считывает ключ, соответствующий провайдеру, настроенному в ~/.hermes/config.yaml.)
  2. Просмотрите журналы контейнера агента:docker compose logs hermes-agentПроверьте, нет ли ошибок при запуске или предупреждений об отсутствии ключа API.
  3. Проверьте работоспособность конечной точки агента.curl http://localhost:8642/health # Должно вернуться: {"status": "ok"}
  4. Перезапуск со свежими контейнерами:docker compose down docker compose up --build
  5. Проверьте журналы рабочей области на предмет состояния шлюза:docker compose logs hermes-workspaceИщите: [gateway] http://hermes-agent:8642 mode=... — если отображается mode=disconnected, значит, агент работает некорректно.

Docker: устаревшие claude webapi документы содержат неверную информацию

Команды claude webapi, на которые ссылаются в некоторых документах перед переименованием, не существует. Правильные команды:

Запуск шлюза Hermes # Шлюз FastAPI на :8642
 Панель управления Hermes # Плагин панели управления на :9119 (сессии/навыки/задания/конфигурация)

Настройка Docker выполняется автоматически — никаких дополнительных действий не требуется, если используется docker compose up.


🗺️ Дорожная карта

Поставляются ✅

Особенность

Что он делает

Чат + потоковая передача SSE

Вывод данных в реальном времени с отображением вызова инструмента

Файлы + Терминал

Полнофункциональный файловый браузер для рабочего пространства + кроссплатформенная PTY

Память + Навыки работы с браузерами

Редактируйте воспоминания, просматривайте более 2000 навыков на торговой площадке

Информационная панель

Сеансы, набор моделей, реестр затрат, карточка учета

Операции

Управление несколькими агентами с помощью предустановленных шаблонов

Представление агента

Панель живого агента в чате

Режим Роя

Постоянный пул воркеров на основе tmux с распределением ролей

Страница MCP

Полный каталог + маркетплейс + источники

Мобильное PWA + Tailscale

Установите приложение, которое будет работать как родное на любом устройстве

Темы

Гермес / Ноус / Бронза / Слэйт / Моно (светлый + темный)

Ворота возможностей

Изящные заполнители с пометкой «выше по течению не готово»

Мульти-провайдер

OpenAI/совместимые с OpenAI, OpenRouter, Google, Ollama, LM Studio, vLLM, Atomic Chat и другие провайдеры, поддерживаемые Hermes

В процессе 🔨

Особенность

Статус

Миссии проводника

Пользовательский интерфейс Workspace готов к использованию; при наличии используется API панели управления миссией, в противном случае — резервный вариант Swarm, встроенный в Workspace (см. #262)

Нативное настольное приложение (Electron)

Путь установки PWA, указанный в спецификации, работает

Скоро 🔜

Особенность

Статус

Облачная / Размещенная версия

Ожидающая рассмотрения инфра

Командное сотрудничество

Ожидающая рассмотрения работа в облаке + мультиарендность

💛 Поддержать проект

Hermes Workspace — бесплатный сервис с открытым исходным кодом. Если он экономит ваше время и оптимизирует рабочий процесс, подумайте о том, чтобы поддержать его разработку:

ETH: 0xB332D4C60f6FBd94913e3Fd40d77e3FE901FAe22

Каждый вклад помогает развивать этот проект. Спасибо 🙏


🤝 Войска

Мы приветствуем PR-предложения! См. CONTRIBUTING.md с рекомендациями.

  • Исправления ошибок → сразу открывайте пул-реквест
  • Новые функции → сначала создайте тикет для обсуждения
  • Проблемы с безопасностью → см. SECURITY.md для получения информации об ответственном раскрытии информации

📄 Лицензия

MIT — подробности см. в LICENSE.