본문으로 건너뛰기

TUI

anchor alias

TUI

TUI는 Hermes의 최신 터미널 프런트엔드입니다. Classic CLI와 같은 Python 런타임을 사용하므로 동일한 에이전트, 세션, 슬래시 명령을 더 깔끔하고 빠르게 반응하는 화면에서 사용할 수 있습니다.

Hermes를 대화형으로 사용할 때 권장되는 실행 방식입니다.

실행

# TUI 실행
hermes --tui

# 최신 TUI 세션 재개. 없으면 최신 classic 세션으로 fallback
hermes --tui -c
hermes --tui --continue

# 세션 ID 또는 제목으로 특정 세션 재개
hermes --tui -r 20260409_000000_aa11bb
hermes --tui --resume "my t0p session"

# 소스에서 직접 실행. TUI 기여자를 위한 prebuild 생략 모드
hermes --tui --dev

env var를 통해 활성화할 수 있습니다.

export HERMES_TUI=1
hermes # now uses the TUI
hermes chat # same

Classic CLI도 계속 사용할 수 있습니다. CLI 인터페이스에 설명된 슬래시 명령, quick command, 스킬 사전 로드, personality, 여러 줄 입력, interrupt는 TUI에서도 동일하게 작동합니다.

왜 TUI

  • 즉시 표시되는 첫 화면 - 앱 로딩이 끝나기 전에도 배너가 먼저 그려져 시작 중 터미널이 멈춘 것처럼 보이지 않습니다.
  • 논블로킹 입력 - 세션이 준비되기 전에도 메시지를 입력하고 큐에 넣을 수 있습니다. 첫 프롬프트는 에이전트가 온라인이 되는 즉시 전송됩니다.
  • 풍부한 오버레이 - 모델 선택, 세션 선택, 승인, clarification 프롬프트가 inline 흐름 대신 모달 패널로 표시됩니다.
  • 라이브 세션 패널 - 도구와 스킬 초기화 상태를 확인할 수 있습니다.
  • 마우스 친화적 선택 - SGR inverse 대신 균일한 배경으로 강조해 터미널의 일반 복사 gesture로 복사할 수 있습니다.
  • Alternate-screen 렌더링 - 스트리밍 중 깜박임을 줄이고 종료 후 scrollback이 지저분해지는 것을 막습니다.
  • 작성기 편의 기능 - 긴 snippet, Cmd+V / Ctrl+V 텍스트 붙여넣기, 클립보드 이미지 paste, bracketed paste 안전 처리, 이미지/파일 경로 첨부 정규화를 지원합니다.

동일 skinspersonalities 적용. /skin ares, /personality pirate 및 UI 리페인트를 사용하여 중간 세션을 전환합니다. Skins & Themes customizable 키의 전체 목록에 대해 하나가 TUI를 클래식에 적용하는 TUI - TUI는 배너 팔레트, UI 색상, 신속한 glyph / 색상, 세션 디스플레이, 완료 메뉴, 선택 bg, tool_prefixhelp_header를 영광.

요구 사항

  • Node.js ≥ 20 - TUI는 Python CLI에서 시작된 하위 프로세스로 실행됩니다. hermes doctor는 이것을 검증합니다.
  • TTY - 고전적인 CLI, piping stdin 또는 비동기 환경에서 실행하면 단일 채권 모드로 돌아갑니다.

첫 출시 Hermes는 ui-tui/node_modules (일회, 몇 초)에 TUI의 노드 의존성을 설치합니다. 초기 출시가 빠릅니다. 새로운 헤르메스 버전을 당하면 TUI 번들은 소스가 dist보다 더 새로운 때 자동으로 재건됩니다.

외부 prebuild

미리 구축 된 번들 (Nix, 시스템 패키지)를 발송하는 배포는 Hermes를 다음과 같이 할 수 있습니다.

사이트맵

디렉토리는 dist/entry.js를 포함해야합니다.

키빈딩

Keybindings는 Classic CLI 정확히 일치합니다. 유일한 행동 다름:

  • **Mouse 드래그 ** 획일한 선택 배경으로 텍스트를 강조합니다.
  • ** Cmd+V / Ctrl+V** 첫 번째는 정상적인 텍스트 페이스트를 트리밍하고, OSC52/native 클립보드에 다시 떨어졌고, 클립보드 또는 붙여진 페이로드가 이미지로 해결할 때 이미지 첨부 파일을 마지막으로 이미지 첨부합니다.
  • ** /terminal-setup**는 로컬 VS Code / Cursor / Windsurf 터미널 바인딩을 설치하여 Cmd+Enter 및 macOS의 undo/redo parity를 더 잘 처리합니다.
  • Slash autocompletion는 설명이있는 플로팅 패널로 열리고 인라인 드롭 다운이 아닙니다.
  • Ctrl+X- 누적된 메시지가 강조될 때 (이제가 여전히 실행되었는 동안), 큐에서 삭제.Esc 삭제 없이 편집 및 불쾌한 취소.
  • ** Ctrl+G / Ctrl+X Ctrl+E** - 멀티 라인 / 롱 프롬프트 구성을위한 $EDITOR의 현재 입력 버퍼를 엽니 다. 저장 및 내보내기로 콘텐츠를 다시 프롬프트로 보냅니다.

슬래시 명령

모든 슬래시 명령은 변경되지 않습니다. 몇 가지는 TUI 소유 - 그들은 부유 한 출력을 생산하거나 인라인 패널보다 오버레이로 렌더링합니다.

사령TUI 행동
/help분류된 명령, arrow-key navigable으로 오버레이
/sessions모달 세션 피커 - 미리보기, 제목, 토큰 총, 이력서 인라인
/model모달 모델 피커 제공 업체, 비용 힌트 포함
/skin라이브 미리보기 - 테마 변경은 검색으로 적용합니다
/details토글동스툴콜 상세
/usage리치 토큰 / 비용 / 컨텍스트 패널
/agents (alias /tasks)관찰력 오버레이 - kill/pause controls, per-branch cost / token / file rollups, turn-by-turn history
/reload재읽는 ~/.hermes/.env를 실행하는 TUI 프로세스로 새로 추가된 API 키는 다시 시작 없이 효과를 가져다 줍니다
/mouseconfig.yamldisplay.mouse_tracking에 대한 런타임 추적/오프 토글 마우스 트래킹

다른 모든 슬래시 명령 (설치된 스킬, 빠른 명령, 그리고 성격 견인 포함)은 클래식 CLI와 동일하게 작동합니다. 슬래시 명령 참조를 참조하세요.

LaTeX 수학 렌더링

TUI의 Markdown 파이프라인은 LaTeX 수학 인라인을 렌더링합니다. $E = mc^2$$$\frac{a}{b}$$는 Raw TeX 소스 대신 Unicode-formatted math로 렌더링됩니다. 인라인 및 블록 수학을 위해 작동; 지원되지 않은 구문은 코드 스팬에 감싸이는 리터럴 TeX를 보여주기 위해 돌아갑니다.

이것은 항상-에 - 구성 할 아무것도. Classic CLI는 익지않는 TeX를 지킵니다.

가벼운 터미널 탐지

TUI 자동 감지 라이트 터미널과 빛 테마에 따라 교환합니다. 3개의 층에 있는 탐지 일:

  1. HERMES_TUI_THEME env var - 가장 높은 우선 순위. 가치: light, dark, 또는 원료 6-char 배경 육 (예: ffffff, 1a1a2e).
  2. COLORFGBG env var - 고전적인 "내 배경 색상은 무엇입니까?" xterm-derived 터미널에 의해 사용되는 힌트.
  3. OSC 11을 통해 터미널 배경 조사 - COLORFGBG를 설정하지 않는 현대 터미널 (Ghostty, Warp, iTerm2, WezTerm, Kitty)에서 작동합니다.

터미널에 영구적으로 빛 테마를 원한다면:

사이트맵

Busy 지표 스타일

상태 막대기 바쁜 지시자는 pluggable 입니다 — 과태는 에이전트 일 도중 Hermes' kawaii 얼굴 팔레트를 매 2.5 초 자전합니다. 구성 또는 /indicator 슬래시 명령을 통해 다른 스타일을 선택합니다.

display:
tui_status_indicator: kaomoji # kaomoji | emoji | unicode | ascii

또는 불소: /indicator emoji (등). 일치한 glyph 폭을 가진 작풍 배 그래서 상태 막대기의 나머지는 교체에 지터가 아닙니다.

자동 이력서

기본적으로 hermes --tui는 신선한 세션을 시작합니다. 가장 최근의 TUI 세션에 다시 참여하려면 (단말 또는 SSH 연결이 예상대로 떨어지면 사용), 선택:

export HERMES_TUI_RESUME=1          # most-recent TUI session
# or:
export HERMES_TUI_RESUME=<session-id> # specific session

변수를 설정하거나 --resume &lt;id&gt;를 명시적으로 per-launch 기초에 삭제합니다.

상태 선

TUI의 상태 선은 즉시 에이전트 국가를 추적합니다:

현황의미
starting agent…세션 ID는 라이브; 도구와 스킬은 여전히 온라인에 올린다. 입력 할 수 있습니다 - 메시지 큐 및 준비가되면 전송. ·
ready요원은 요원, 입수입니다.
thinking… / running…에이전트는 도구가 아닌 이유입니다.
interrupted현재가 취소되었습니다.
forging session… / resuming…처음 연결 또는 --resume 핸디케이크.

per-skin status-bar 색상과 임계 값은 고전적인 CLI와 공유됩니다. - Skins를 사용자 정의합니다.

상태 선은 또한 보여줍니다:

  • git 분기 작업 디렉토리~/projects/hermes-agent (docs/two-week-gap-sweep). git checkout가 사이드 터미널 (mtime-cached)에서 git checkout가 실제 활성 지점을 반영하여 출시되었습니다. -Per-prompt elapsed time⏱ 12s/3m 45s는 턴이 완료된 후 ⏲ 32s / 3m 45s에 얼어붙습니다. 첫번째 번호는 마지막 사용자 메시지부터 시간입니다; 두번째는 총 세션 내구입니다. 모든 새로운 프롬프트에 재설정.

구성

TUI는 모든 표준 헤르메스 구성을 존중합니다. ~/.hermes/config.yaml, 프로파일, 개인, 스킨, 빠른 명령, 자격 풀, 메모리 제공 업체, 도구 / 스킬 활성화. TUI-specific config 파일이 존재하지 않습니다.

특히 TUI 표면의 손전등:

사이트맵

실행 시간 toggles:

  • /details [hidden|collapsed|expanded|cycle] - 글로벌 모드 설정
  • /details &lt;section&gt; [hidden|collapsed|expanded|reset] — 1개의 단면도를 삭제하세요 (구분: thinking, tools, subagents, activity)

기본 가시성

TUI는 턴을 스트림하는 per-section 디폴트에 대한 의견이 있습니다. chevrons의 벽 대신 라이브 성적:

  • thinking - 옵션. Reasoning 스트림 인라인으로 모델이 방출합니다.
  • tools - 옵션. 도구 호출 및 결과 렌더링이 열립니다.
  • subagents - 글로벌 details_mode (아래에서 컬 됨) chevron 으로 default — 은밀한 을 유지한다.
  • activity - **숨겨진 **. 주변 메타 (게이트웨이 힌트, 단자성 판사, 배경 알림)은 대부분의 일일 사용을위한 소음입니다. 제품 정보 실패 도구 행에 여전히 인라인을 렌더링; 주위 errors/warnings 표면은 모든 패널을 때 떠오릅니다 인기있는

Per-section 재정의s는 두 섹션의 기본값과 글로벌 details_mode. 레이아웃을 reshape에:

  • display.sections.thinking: collapsed - chevron에서 다시 생각
  • display.sections.tools: collapsed - chevron 아래 도구 호출
  • display.sections.activity: collapsed - 활동 패널을 뒤로 선택
  • 런타임에 /details &lt;section&gt; &lt;mode&gt;display.sections에서 명시적으로 설정하는 것은 기본적으로 승리하므로 기존 설정은 변경되지 않습니다.

세션

세션은 TUI와 고전적인 CLI 사이에 공유됩니다. — 둘 다 동일한 ~/.hermes/state.db에 쓰기. 세션을 시작할 수 있습니다. 세션 피커 표면은 소스 태그와 함께 두 소스에서 세션.

Lifecycle, 검색, 압축 및 수출에 대한 Sessions를 참조하세요.

클래식 CLI로 재생

hermes 출시 (--tui 제외) 클래식 CLI에 머물. 기계를 만들기 위해 TUI, 당신의 셸 단면도에 있는 HERMES_TUI=1를 놓으십시오. 돌아 가기 위해, 그것을 해제.

TUI가 실행 실패하면 (노 노드 없음, 누락 된 번들, TTY 문제), Hermes는 진단을 인쇄하고 다시 가을 - 당신이 갇히지 않는 것보다.

참조