NousResearch의 Hermes Agent를 상시 구동하면서 모델 교체, MCP 서버 추가, 크론 잡, 환경변수, 로그를 매번 터미널로 다루던 일을 웹 화면 한 장으로 옮겼습니다. 단일 HTML 파일이라 빌드도 의존성도 없습니다. 게이트웨이의 API 서버에 라우트로 연결됩니다.
| 화면 | 할 수 있는 것 |
|---|---|
| Overview | 게이트웨이 상태, 모델, 플랫폼 연결, MCP 서버, 크론 요약, 인증, 디스크 |
| Model | LLM 모델·프로바이더를 클릭 한 번으로 교체. 자동 재시작 |
| MCP | 서버 추가·편집·삭제. Claude Desktop·Cursor·VS Code의 MCP JSON을 그대로 붙여넣어 가져오기 |
| Cron | 생성·편집·삭제·일시정지·재개·즉시 실행. 전달 대상 관리 |
| Skills | 95개 이상 스킬을 카테고리별로 탐색·검색, SKILL.md 열람 |
| Config · Env · Soul | config.yaml JSON 에디터, .env(시크릿 자동 마스킹), SOUL.md 페르소나 |
| Logs · Sessions · System | 실시간 로그, 세션 조회·삭제, 헬스 폴링 재시작과 재시작 필요 배너 |
Linear 풍 다크 테마입니다. 네이티브 prompt()·confirm() 대신 전부 커스텀 모달을 씁니다. macOS 메뉴바 모니터는 선택 사항입니다.
이 라우트는 .env를 쓰고, 게이트웨이를 재시작하고, 크론을 만들고, 세션 내용을 읽습니다. 그래서 모든 /api/dashboard/*는 API_SERVER_KEY Bearer 토큰(상수 시간 비교)을 요구하고, 키가 없으면 503을 반환합니다.
모든 경로에 경로 순회 방지를 적용했습니다. 임시 파일과 os.replace로 원자적으로 씁니다.
HTML 엔티티와 작은따옴표 이스케이프로 XSS를 방지합니다. 모든 엔드포인트에서 정규식으로 입력을 검증합니다. TOKEN·KEY·SECRET·PASSWORD 패턴은 자동으로 마스킹합니다.
no-referrer 정책으로 API 키가 리퍼러로 새지 않습니다. 키를 설정하기 전에는 터널이나 리버스 프록시로 포트를 열지 말아 주세요.