먼저, 무엇을 만드는가
Telegram 자체에 AI가 들어가는 것이 아닙니다. PC의 WSL2에서 Hermes Gateway가 계속 실행되면서 Telegram 봇 메시지를 받아 처리합니다.
전용 Telegram 봇 1개 → 허용된 내 Telegram 숫자 ID만 접근 → Hermes Gateway가 WSL2에서 상시 실행 → 이 DM을 홈 채널로 지정 → 예약작업 결과도 같은 DM으로 수신
이 방식이 좋은 이유
- 휴대폰에서 언제든 업무 요청 가능
- PC 파일과 개발도구를 그대로 사용
- 대화·메모리·예약작업이 연결됨
- Telegram 토큰만 별도 관리하면 됨
알아둘 한계
- PC와 WSL이 꺼지면 봇도 멈춤
- 봇 토큰이 유출되면 즉시 폐기해야 함
- 허용 사용자 설정 없이는 사용하면 안 됨
- 위험 명령은 승인 여부를 직접 판단해야 함
Windows에 WSL2 준비
우리 구성은 Windows 11 위의 Ubuntu WSL2입니다. 이미 Ubuntu 터미널이 정상 실행된다면 이 단계는 건너뜁니다.
관리자 PowerShell에서 WSL 설치
Windows 시작 메뉴에서 PowerShell을 관리자 권한으로 열고 실행합니다.
wsl --install -d Ubuntu
systemd 활성화
상시 Gateway 서비스를 사용하려면 WSL의 systemd를 켭니다.
sudo tee /etc/wsl.conf >/dev/null <<'EOF' [boot] systemd=true [user] default=내_LINUX_사용자명 EOF
그다음 PowerShell에서 WSL을 완전히 종료하고 다시 엽니다.
wsl --shutdown
Hermes Agent 설치
아래 명령은 반드시 Ubuntu/WSL 터미널에서 실행합니다. Windows PowerShell 명령과 섞지 마세요.
공식 설치 스크립트 실행
Hermes 공식 사이트의 설치 스크립트를 사용합니다.
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash source ~/.bashrc
hermes --version hermes doctor
우리가 사용한 모델 연결
우리 설정은 OpenAI Codex OAuth 방식입니다. API 키를 채팅에 붙이지 않고 브라우저의 기기 인증으로 로그인했습니다.
모델 선택기 실행
메뉴에서 OpenAI Codex를 선택하고 화면에 나온 기기 인증 절차를 완료합니다.
hermes model
CLI가 먼저 작동하는지 반드시 확인합니다.
hermes chat -q "현재 작업 폴더를 확인하고 한 문장으로 알려줘"
Telegram 전용 봇 생성
기존 사람 계정을 연결하는 것이 아니라 Telegram 공식 @BotFather에서 동생분 전용 봇을 새로 만듭니다.
BotFather에서 /newbot
Telegram에서 아래 순서로 진행합니다.
| 순서 | 입력 | 설명 |
|---|---|---|
| 1 | @BotFather | 파란 인증 마크가 있는 공식 계정 확인 |
| 2 | /newbot | 새 봇 만들기 |
| 3 | 표시 이름 | 예: 동생 Hermes |
| 4 | 사용자 이름 | 반드시 bot으로 끝나야 함 |
| 5 | 발급 토큰 | 복사하되 누구에게도 전송하지 않음 |
/revoke로 폐기하고 새 토큰을 발급합니다.본인의 숫자 User ID 확인
Telegram 사용자 이름(@아이디)이 아니라 숫자로 된 고유 ID가 필요합니다. 이 값으로 동생분만 봇을 사용할 수 있게 막습니다.
@userinfobot에 메시지 보내기
@userinfobot이 돌려주는 숫자 ID를 메모합니다.
123456789를 그대로 쓰면 안 됩니다. 반드시 동생분 본인의 실제 숫자 ID를 입력하세요.Hermes Gateway에 Telegram 연결
우리가 사용한 핵심 설정은 TELEGRAM_BOT_TOKEN, TELEGRAM_ALLOWED_USERS, 그리고 이후 설정되는 TELEGRAM_HOME_CHANNEL입니다.
대화형 설정 마법사 사용
수동 편집보다 마법사를 권장합니다. Telegram을 선택하고 BotFather 토큰과 본인의 숫자 User ID를 입력합니다.
hermes gateway setup
~/.hermes/.env에 저장됩니다. 정상적인 결과는 아래 세 변수 구조이며 실제 값은 절대 공개하지 않습니다.TELEGRAM_BOT_TOKEN=[BotFather에서 받은 비밀 토큰] TELEGRAM_ALLOWED_USERS=[내 숫자 User ID] TELEGRAM_HOME_CHANNEL=[/sethome 후 저장되는 채널 ID]
비밀 파일 권한을 제한합니다.
chmod 600 ~/.hermes/.env
먼저 포그라운드로 연결 테스트
서비스 설치 전에 눈에 보이는 상태에서 테스트합니다.
hermes gateway run
터미널을 닫지 않은 상태에서 새 봇의 Telegram DM을 열고 /start 또는 “안녕”을 보냅니다.
Ctrl+C로 Gateway를 종료합니다.Gateway를 상시 서비스로 실행
우리 PC에서는 Hermes가 생성한 systemd 사용자 서비스가 enabled + active 상태이며, 사용자 로그아웃 후에도 유지되도록 linger를 켰습니다.
서비스 설치·시작
포그라운드 테스트가 성공한 다음에만 실행합니다.
hermes gateway install hermes gateway start hermes gateway status
sudo loginctl enable-linger "$USER" loginctl show-user "$USER" -p Linger
Windows 재부팅 이후 주의
systemd 서비스는 WSL 안에서는 자동 실행되지만, Windows 재부팅 후 WSL 배포판 자체가 시작되지 않았다면 Ubuntu를 한 번 열어야 할 수 있습니다.
wsl -d Ubuntu # Ubuntu 안에서 hermes gateway status hermes gateway start
이 Telegram DM을 홈 채널로 지정
우리 방식에서는 예약작업과 자동 알림이 현재 DM으로 돌아오도록 홈 채널을 설정했습니다.
봇 DM에서 /sethome
동생분의 Hermes 봇과 1:1 대화방에서 아래 명령을 보냅니다.
/sethome
확인용 명령도 실행합니다.
/status
origin 또는 홈 채널로 설정하면 결과가 이 Telegram 대화로 옵니다.완료라고 판단하는 최종 테스트
단순히 봇이 “안녕”에 답하는 것만으로 끝내지 않고, 실제 업무에 필요한 연결을 하나씩 확인합니다.
| 테스트 | Telegram에서 보낼 문장 | 성공 기준 |
|---|---|---|
| 일반 대화 | “너의 역할을 세 줄로 알려줘” | 정상 답변 |
| 시스템 도구 | “현재 운영체제를 실제로 확인해줘” | 도구 실행 후 근거 있는 답변 |
| 파일 작업 | “홈 폴더에 test 폴더가 있는지 확인해줘” | WSL 파일시스템 확인 |
| 세션 | /new 후 새 질문 | 새 대화가 분리됨 |
| 재시작 | Gateway 재시작 후 메시지 | 다시 정상 응답 |
| 접근제어 | 허용되지 않은 계정으로 DM | 실행되지 않음 |
hermes doctor hermes gateway status hermes status --all hermes sessions list
보안과 문제 해결
반드시 지킬 것
- Bot Token은
~/.hermes/.env에만 저장 TELEGRAM_ALLOWED_USERS는 반드시 설정.env를 GitHub에 커밋하지 않기- 위험 명령 승인은 내용을 읽고 결정
- 다른 프로젝트에는 별도 봇 토큰 사용
평소 관리 명령
hermes update— 업데이트hermes doctor— 진단hermes gateway restart— 재시작hermes gateway status— 상태journalctl --user -u hermes-gateway -n 100— 로그
| 증상 | 확인할 것 | 조치 |
|---|---|---|
| 봇이 완전히 무응답 | Gateway 상태·토큰 | hermes gateway status → restart |
| unauthorized 표시 | 숫자 User ID | TELEGRAM_ALLOWED_USERS 수정 |
| 재부팅 후 무응답 | WSL·systemd 시작 여부 | Ubuntu 실행 → Gateway start |
| 그룹에서만 무응답 | BotFather Privacy Mode | 끄거나 봇을 관리자 지정 후 재초대 |
| 모델 오류 | OAuth·모델 선택 | hermes model 재인증 |
| 토큰 유출 | 노출 위치 | BotFather /revoke 후 새 토큰 입력·restart |
실제 Bot Token, 실제 API 키, OAuth 토큰,
~/.hermes/.env 전체 내용, 인증코드, 개인 Telegram 숫자 ID가 포함된 설정 파일.최종 완료 체크리스트
이제 동생분은 Telegram에서 메시지를 보내 Windows PC의 Hermes에게 조사·파일·코드·자동화 작업을 요청할 수 있습니다.