outsourc-e/hermes-workspace

Native web workspace for Hermes Agent — chat, terminal, memory, skills, inspector.

GitHub에서 열기 ↗ agent-uiai-workspacehackathonhermes-agentnous-researchreacttypescript
6,012
GitHub 스타
953
포크
JavaScript
언어
MIT
라이선스
2026.07.05
최근 푸시
2026.05.09
별표한 날

AI 분석

설치 난이도: 보통
큐레이터 노트
Hermes Workspace는 AI 에이전트 개발 및 운영을 위한 강력한 워크스페이스로, 특히 멀티 에이전트 시스템과 Swarm 모드가 인상적입니다. 제로 포크 철학과 다양한 설치 옵션은 실용적이며, 프로젝트 참고 및 채택 가치가 높습니다.

강점

  • 완전한 AI 에이전트 작업 공간으로 채팅, 파일, 메모리, 스킬, 터미널을 하나의 인터페이스에서 제공합니다.
  • Swarm 모드를 통해 여러 에이전트를 오케스트레이션하고 역할 기반 디스패치를 지원합니다.
  • 제로 포크 접근 방식으로 기존 Hermes Agent 설치와 쉽게 통합됩니다.
  • 다양한 설치 옵션(Docker, 한 줄 설치, 기존 에이전트 연결)을 제공하여 유연성이 높습니다.

약점

  • README가 매우 길고 상세하여 초보자가 압도될 수 있습니다.
  • 일부 기능(Conductor, Swarm 모드)은 특정 백엔드 엔드포인트에 의존하여 설정이 복잡할 수 있습니다.
  • 로컬 모델 지원은 있지만, Hermes Agent 게이트웨이 없이 사용할 경우 일부 고급 기능이 제한됩니다.

주의사항

  • 설치 전 Node.js 22+ 및 OpenAI 호환 백엔드가 필요합니다.
  • 원격 호스트에서 실행 시 Tailscale/VPN 설정이 필요하며, 환경 변수 설정에 주의해야 합니다.
  • 보안을 위해 인증 미들웨어와 CSP가 적용되므로, 비밀번호 설정을 권장합니다.

시작 가이드

  • README의 빠른 시작 가이드에 따라 Hermes Workspace를 설치하고 기본 채팅 기능을 테스트합니다.
  • Swarm 모드 문서를 읽고 멀티 에이전트 오케스트레이션을 설정합니다.
  • 로컬 모델(Ollama, LM Studio 등)과의 통합을 시도하여 휴대용 모드를 경험합니다.
  • 보안 설정(HERMES_PASSWORD)을 구성하고 Tailscale을 통해 원격 접근을 테스트합니다.

README 한국어 번역

이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.

<div align="center">

<img src="./public/claude-avatar.webp" alt="Hermes Workspace" width="80" style="border-radius: 16px" />

Hermes Workspace

AI 에이전트의 명령 센터 — 채팅, 파일, 메모리, 스킬, 터미널을 한 곳에서.

단순한 채팅 래퍼가 아닙니다. 완전한 작업 공간 — 에이전트를 조율하고, 메모리를 탐색하고, 스킬을 관리하며, 모든 것을 하나의 인터페이스에서 제어하세요.

v2 — 제로 포크. 포크하지 말고 클론하세요. Nous의 공식 설치 프로그램을 통해 설치된 바닐라 NousResearch/hermes-agent에서 실행됩니다. 채팅, 세션, 메모리, 스킬, 작업, MCP, 터미널, 대시보드, 에이전트 뷰, 운영 모두 바닐라와 동일합니다. Conductor는 대시보드 미션 API를 사용할 수 있을 때 사용하고, 대시보드 엔드포인트가 없을 때는 Workspace 네이티브 Swarm 디스패치(mode: native-swarm)로 폴백하여 제로 포크 동작을 유지합니다 (#262).

!Hermes Workspace

</div>


Swarm 모드

Hermes Agent Swarm은 작업 공간을 실시간 제어 평면으로 전환합니다: 무제한 Hermes 에이전트, 1개의 오케스트레이터, 수동 디스패치하는 인간 0명. 지속적인 tmux 워커는 컨텍스트를 작업 간에 유지하고, 안전하게 순환하며, 증명을 포함한 체크포인트를 보고합니다. 역할 기반 디스패치는 빌더, 리뷰어, 문서, 연구, 운영, 트라이지, QA, 연구소 레인을 라우팅하여 Eric을 작업 라우터로 만들지 않습니다. 바이트 검증 리뷰 게이트는 PR이 배송되기 전에 릴리스 브랜치를 보호합니다. 자율 PR/이슈 레인, 실험실 실험, 수리 플레이북은 인간이 판단을 내리는 동안 기계가 계속 움직이도록 합니다.

시작하기: docs/swarm/

  • 오케스트레이터 채팅 — 제어 평면에 단일 작업, 분해된 미션, 또는 전체 브로드캐스트를 요청하세요.
  • 멀티 에이전트 제어 평면 — 하나의 화면에서 지속적인 Hermes 에이전트, 역할, 상태, 런타임, 라우팅 와이어를 확인하세요.
  • 칸반 작업 보드 — 작업 공간을 떠나지 않고 백로그, 준비, 실행 중, 리뷰, 차단됨, 완료 레인을 계획하세요.
  • 보고서 + 받은 편지함 — 체크포인트, 차단 요소, 인계, 인간 결정 대기 항목을 검토하세요.
  • TUI 뷰 내장 — tmux 기반 워커에 연결하거나 라이브 셸/로그 스트림으로 폴백하세요.

✨ 포함된 기능

  • 💬 채팅 — 실시간 SSE 스트리밍, 도구 호출 렌더링, 멀티 세션, 마크다운 + 구문 강조
  • 🧠 메모리 — 에이전트 메모리 탐색, 검색, 편집; 마크다운 라이브 편집기
  • 🧩 스킬 — 2,000개 이상의 스킬을 원본 배지, 필터, 소스 경로, 마켓플레이스와 함께 탐색
  • 🔌 MCP — 전체 /mcp 페이지 (카탈로그 + 마켓플레이스 + 소스), 또는 로컬 설정 CRUD로 폴백
  • 📁 파일 + 터미널 — Monaco를 사용한 전체 작업 공간 파일 브라우저; 크로스 플랫폼 PTY 터미널
  • 🎮 운영 — 프로필 프리셋(Sage/Trader/Builder/Scribe/Ops) 및 '설정 필요' 감지 기능이 있는 멀티 에이전트 대시보드
  • 📡 Conductor — 사용 가능할 때 대시보드 기반 미션, 그렇지 않으면 Workspace 네이티브 Swarm 폴백을 사용한 미션 디스패치 + 분해
  • 👥 에이전트 뷰 — 아바타, 대기열, 기록, 사용량 미터가 있는 채팅 내 라이브 에이전트 패널
  • 🐝 Swarm 모드 — 역할 기반 디스패치가 있는 지속적인 tmux 기반 Hermes 에이전트 워커
  • 🗄️ 대시보드 — 통합 개요: 세션, 모델 혼합, 비용 원장, 주의 카드, 운영 스트립
  • 🎨 테마 — Hermes, Nous, Bronze, Slate, Mono (라이트 + 다크)
  • 🔒 보안 — 모든 경로에 인증 미들웨어, CSP, 경로 탐색 방지, 실패 시 닫힘 원격 바인드
  • 📱 PWA + Tailscale — 네이티브 느낌의 앱으로 설치; 테일넷의 모든 장치에서 접근
  • ⚙️ 기능 게이트 — 업스트림 엔드포인트(Conductor)가 필요한 기능은 작업 중간에 실패하는 대신 깔끔한 플레이스홀더를 표시

📸 스크린샷

채팅 Conductor
!Chat !Conductor
대시보드 메모리
!Dashboard !Memory
터미널 설정
!Terminal !Settings
작업 작업
!Tasks !Jobs

🚀 빠른 시작

세 가지 경로 — 자신에게 맞는 것을 선택하세요:

경로 적합한 대상 시간
🐳 Docker Compose 자체 호스터, 홈 랩, "compose 파일 주세요" ~2분
🌐 한 줄 설치 macOS/Linux에서 로컬 개발 ~3분
🔌 기존 hermes-agent에 연결 이미 Hermes Agent를 실행 중인 경우 ~1분

한 줄 설치

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

이 명령은 Nous의 공식 설치 프로그램을 통해 hermes-agent를 설치하고, 이 저장소를 클론하며, .env를 설정하고, 의존성을 설치합니다. 그런 다음:

hermes gateway run                  # 터미널 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
cd hermes-workspace
pnpm install
cp.env.example.env

# 기존 Hermes Agent 서비스를 가리킵니다.
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로 재정의 가능)

에이전트 측 요구 사항:

  • 게이트웨이가 작업 공간에서 접근 가능한 주소에 바인딩되어 있어야 합니다(일반적으로 APISERVERHOST=0.0.0.0 + 노출된 포트).
  • ~/.hermes/.env(또는 에이전트의 env)에 APISERVERENABLED=true가 설정되어 게이트웨이가 :8642에서 핵심 API를 제공해야 합니다.
  • 제로 포크 설치의 경우 hermes dashboard가 실행 중이어야 합니다(기본값 http://127.0.0.1:9119). 대시보드는 설정, 세션, 스킬, 작업 API를 제공합니다.
  • APISERVERKEY가 설정된 경우, 작업 공간은 HERMESAPITOKEN을 통해 동일한 값을 전달해야 합니다. 그렇지 않으면 둘 다 설정하지 않은 상태로 두세요.

작업 공간을 열기 전에 두 서비스를 확인하세요:

  • curl http://127.0.0.1:8642/health가 ok를 반환해야 합니다.
  • curl http://127.0.0.1:9119/api/status가 대시보드 메타데이터를 반환해야 합니다.
  • curl http://127.0.0.1:3000/api/sessions(작업 공간 부팅 후)가 세션 페이로드 또는 빈 목록을 반환해야 합니다.

/api/sessions가 이미 데이터를 반환하고 있다면, UI가 여전히 오프라인이라고 표시한다고 해서 다른 게이트웨이를 시작하지 마세요 — 먼저 Workspace UI를 새로 고치거나 다시 프로브하세요.

기본 모델이 gpt-5.4 / openai-codex인 경우, 채팅을 테스트하기 전에 Codex CLI 인증이 활성화되어 있는지 확인하세요:

codex login

그런 다음 작업 공간을 시작하고 온보딩을 완료하세요. 게이트웨이 + 대시보드 쌍을 감지하고 향상된 창을 자동으로 잠금 해제합니다.

원격 호스트에서 실행 (Tailscale / VPN / LAN)

작업 공간과 브라우저가 다른 머신에 있는 경우(예: 작업 공간이 Pi/Mac/홈 서버에서 실행되고 Tailscale을 통해 휴대폰에서 접근), HERMESAPIURL127.0.0.1이 아닌 접근 가능한 백엔드 주소로 설정하세요:

# 작업 공간 + 게이트웨이를 실행하는 서버에서:
echo 'HERMES_API_URL=http://100.x.y.z:8642' >>.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

그런 다음 게이트웨이, 대시보드, 작업 공간을 다시 시작하세요. 원격 장치에서 작업 공간에 접속하면 연결 프로브가 localhost 대신 Tailscale IP를 사용합니다. HERMESAPIURLHERMESDASHBOARDURL 모두 Tailscale/LAN에서 접근 가능한 URL로 설정되어야 합니다. 하나만 설정하면 다른 하나는 127.0.0.1을 프로브하여 실패합니다.

이미 작업 공간을 시작한 경우, 다시 시작하지 않고 설정 → 연결에서 두 URL을 업데이트할 수 있습니다. 값은 ~/.hermes/workspace-overrides.json에 저장되며 즉시 적용됩니다(저장 시 게이트웨이 기능이 다시 프로브됨). .env 편집은 시작 전 설정 및 CI/컨테이너에서 여전히 작동합니다.


수동 설치

Hermes Workspace는 모든 OpenAI 호환 백엔드에서 작동합니다. 백엔드가 Hermes Agent 게이트웨이 API도 노출하는 경우, 세션, 메모리, 스킬, 작업과 같은 향상된 기능이 자동으로 잠금 해제됩니다.

사전 요구 사항

  • Node.js 22+nodejs.org
  • OpenAI 호환 백엔드 — 로컬, 자체 호스팅 또는 원격
  • 선택 사항: 로컬에서 Hermes Agent 게이트웨이를 실행하려면 Python 3.11+

1단계: 백엔드 시작

Hermes Workspace를 다음을 지원하는 모든 백엔드에 연결하세요:

  • POST /v1/chat/completions
  • GET /v1/models 권장

Hermes Agent 게이트웨이 설정 예시 (처음부터):

# Nous의 공식 설치 프로그램을 통해 hermes-agent 설치
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

# 공급자 구성 + 게이트웨이 시작
hermes setup
hermes gateway run

아래의 한 줄 설치 프로그램은 두 단계를 자동으로 수행합니다. 다른 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을 열고 온보딩 흐름을 완료하세요. 먼저 백엔드를 연결한 다음 채팅이 작동하는지 확인하세요. 게이트웨이가 Hermes Agent API를 노출하면 고급 기능이 자동으로 나타납니다.

터미널을 열지 않고 실행

pnpm build 후, Workspace를 사용자 수준의 launchd/systemd 서비스로 설치하세요:

chmod +x scripts/install-dashboard-service.sh
scripts/install-dashboard-service.sh

macOS launchd, Linux systemd, 로그, 재정의, 제거 단계는 docs/dashboard-service.md를 참조하세요.

환경 변수

# OpenAI 호환 백엔드 URL
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 / 로컬 서버는 키가 필요 없음)

# 선택 사항: 웹 UI를 비밀번호로 보호
# HERMES_PASSWORD=your_password

🧠 로컬 모델 (Ollama, Atomic Chat, LM Studio, vLLM)

Hermes Workspace는 로컬 모델에서 두 가지 모드를 지원합니다:

휴대용 모드 (가장 쉬움)

작업 공간을 로컬 서버에 직접 연결하세요 — Hermes Agent 게이트웨이가 필요 없습니다.

Atomic Chat

# Atomic Chat을 가리키는 작업 공간 시작
HERMES_API_URL=http://127.0.0.1:1337/v1 pnpm dev

[Atomic Chat](https://atomic

원본 저장소: outsourc-e/hermes-workspace

라이선스: MIT

게재 제외를 원하시면 삭제 요청을 보내주세요.