외부 메시저(Telegram, Discord 등) 연동 없이 100% 완전 오프라인 폐쇄망 환경에서 Nous Research의 Hermes Agent를 사용하는 가장 최적의 방법은 CLI TUI(터미널 UI) 모드 또는 최근 출시된 Hermes Desktop(네이티브 앱)을 활용하는 것입니다.
Hermes Agent는 단순한 챗봇 래퍼가 아니라 내부에 자체 CLI 런타임과 보안 컨테이너 샌드박스를 갖추고 있으므로, 외부 통신 게이트웨이를 켜지 않고 로컬에서 개발 및 자동화 에이전트로 완벽히 구동할 수 있습니다.
폐쇄망에서 메시저 없이 구축하고 활용하는 흐름을 정리해 드립니다.
💻 1. 폐쇄망 핵심 구동 아키텍처
메시저 없이 구성할 때의 데이터 및 제어 흐름은 아래 그림과 같이 단순화됩니다. 모든 연동은 오프라인 로컬 루프백(localhost) 내에서만 처리됩니다.
[ 사용자 (Terminal UI / Desktop 앱) ]
│ (명령어 입력 / 프롬프트)
▼
[ Hermes Agent Core (로컬 프로세스) ]
│
├─► [ Local LLM 서버 ] (Ollama / LM Studio: http://localhost:11434)
├─► [ 로컬 샌드박스 ] (Docker / Local Terminal로 파일 편집 및 코드 실행)
└─► [ 로컬 SQLite DB ] (~/.hermes/ 에 대화 기억 및 생성된 Skills 저장)
🛠️ 2. 폐쇄망 설치 및 무선망 배포 (Air-Gapped Setup)
인터넷이 되는 PC에서 패키지를 다운로드한 뒤, USB나 사내 망분리 전송 시스템을 통해 폐쇄망 서버/PC로 반입합니다.
① 의존성 패키지 통합 다운로드 (인터넷 PC)
Hermes Agent는 내부적으로 파이썬 환경 제어를 위해 uv 패키지 매니저와 Python 3.11, Node.js 환경을 요구합니다. 소스코드와 휠(whl) 파일을 미리 빌드 및 아카이브합니다.
# 1. 소스 클론
git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
# 2. 필수 의존 패키지 다운로드 (오프라인 설치용)
pip download -d ./offline_pkgs -r requirements.txt
② 폐쇄망 설치 실행 (폐쇄망 PC)
반입한 폴더로 이동하여 외부 네트워크 연결 없이 로컬 설치를 진행합니다.
# 가상환경 생성 후 로컬 패키지 기반 설치
python -m venv venv
source venv/bin/activate
pip install --no-index --find-links=./offline_pkgs -e .
# 설치 검증 (연동 상태 점검 도구)
hermes doctor
⚙️ 3. 오프라인 로컬 CLI 진입 및 설정
메시저 연동(Gateway 세팅) 단계를 완전히 건너뛰고, 오프라인 LLM 서버에만 연동하도록 설정을 고정합니다.
① 로컬 LLM 프로바이더 연동
~/.hermes/config.yaml 파일을 열어 외부 API를 일절 호출하지 않고 로컬 Ollama나 vLLM을 바라보도록 셋팅합니다.
provider: "custom"
base_url: "http://localhost:11434/v1" # Ollama 또는 LM Studio 주소
model: "qwen3.6-plus" # 로컬에 로드된 GGUF/오프라인 모델명
api_key: "not-needed"
embedding_provider: "local" # 임베딩(기억 장치용)도 로컬에서 처리
② 전용 CLI TUI 실행 (메시저 대체)
설정이 끝난 후 터미널에 hermes 단독 명령어를 입력하면 멀티라인 편집, 슬래시(/) 명령어 자동완성, 스트리밍 툴 출력을 지원하는 강력한 터미널 유저 인터페이스(TUI) 모드로 진입합니다.
hermes
🚀 4. 메시저 없이 폐쇄망에서 핵심 기능 활용하기
메시저가 없어도 Hermes Agent의 고유 강점인 장기 기억(Persistent Memory)과 스킬 자동 생성(Autonomous Skill Creation), 백그라운드 자동화를 100% 쓸 수 있습니다.
① 터미널 내 독립 백그라운드 에이전트 구동 (/background)
대화창을 점유하지 않고 무거운 스크립트 작성이나 폐쇄망 내부 로그 분석을 백그라운드로 던질 수 있습니다.
/background "src/ 폴더 내부의 모든 Java 코드를 분석해서 아키텍처 다이어그램용 마크다운을 생성해줘"
-
위 명령을 내리면 백그라운드 데몬 스레드에서 완전히 독립된 서브 에이전트 session이 생성되어 작업을 수행하며, 사용자는 TUI에서 다른 작업을 계속 이어갈 수 있습니다.
hermes status로 진행 상황을 체크합니다.
② 로컬 보안 샌드박스 연동 (코드 실행 보호)
Hermes가 코드를 직접 실행하고 검증할 때 시스템을 보호하기 위해, 폐쇄망 내부의 로컬 Docker 또는 Singularity 컨테이너 백엔드와 연결하여 격리된 환경(Read-only root, Namespace isolation)에서 에이전트가 코드를 안전하게 실행하도록 제한할 수 있습니다.
③ 로컬 전용 자동화 스케줄러 (Cron) 활용
텔레그램 알림 대신 로컬 파일 저장 혹은 사내 인트라넷 메일(SMTP) 전송 방식을 사용해 주기적 업무를 자동화합니다.
# 매일 새벽 2시에 폐쇄망 서버 백업 상태를 점검하고 리포트 파일로 남기도록 스케줄링
hermes schedule "Every day at 2am check backup logs in /var/log/backup/ and write a summary to ~/reports/"
④ 생성된 로컬 스킬 관리
Hermes가 복잡한 폐쇄망 트러블슈팅을 해결하고 나면 자동으로 복고풍 지식 템플릿인 SKILL.md 포맷으로 노하우를 로컬에 저장합니다. 이 스킬들은 인터넷 연결 없이 ~/.hermes/skills/에 축적되며 다음 세션에서 자동으로 재사용됩니다.
💡 대안: Hermes Desktop 앱 활용 (GUI 환경)
터미널 환경이 낯설거나 로컬 서버 호스팅 아키텍처가 번잡하다면, Nous Research에서 오픈소스로 배포한 Hermes Desktop 네이티브 앱을 폐쇄망 PC에 설치하는 방법도 있습니다. 앱 자체에 UI와 로컬 런타임이 패키징되어 있어 외부 메시저 플러그인을 활성화하지 않고 로컬 단독 앱(마치 단독 구동되는 로컬 ChatGPT처럼) 형태로 깔끔하게 쓸 수 있습니다.