본문으로 건너뛰기

업데이트 및 제거

업데이트 중

힘내 설치

단일 명령으로 최신 버전으로 업데이트하세요.

hermes update

그러면 main에서 최신 코드를 가져오고 종속성을 업데이트하며 마지막 업데이트 이후 추가된 새 옵션을 구성하라는 메시지가 표시됩니다.

pip 설치

PyPI 릴리스는 main의 모든 커밋이 아니라 태그가 지정된 버전(주 및 부 릴리스)을 추적합니다. 다음을 통해 업데이트 및 업그레이드를 확인하세요.

hermes update --check    # see if a newer release is on PyPI
hermes update # runs pip install --upgrade hermes-agent

또는 수동으로:

pip install --upgrade hermes-agent    # or: uv pip install --upgrade hermes-agent

hermes update은 새 구성 옵션을 자동으로 감지하고 이를 추가하라는 메시지를 표시합니다. 해당 프롬프트를 건너뛴 경우 hermes config check을 수동으로 실행하여 누락된 옵션을 확인한 다음 hermes config migrate을 실행하여 대화형으로 추가할 수 있습니다.

업데이트 중에 발생하는 상황(git 설치)

hermes update을 실행하면 다음 단계가 발생합니다.

  1. 페어링 데이터 스냅샷 — 가벼운 사전 업데이트 상태 스냅샷이 저장됩니다(~/.hermes/pairing/, Feishu 주석 규칙 및 런타임에 수정되는 기타 상태 파일 포함). 스냅샷 및 롤백에 설명된 스냅샷 복원 흐름을 통해 복구하거나 Hermes가 ~/.hermes/ 디렉터리 옆에 작성한 최신 빠른 스냅샷 zip을 추출하여 복구할 수 있습니다.
  2. Git pullmain 브랜치에서 최신 코드를 가져와서 하위 모듈을 업데이트합니다.
  3. 종속성 설치uv pip install -e ".[all]"을 실행하여 새롭거나 변경된 종속성을 선택합니다.
  4. 구성 마이그레이션 — 버전 이후 추가된 새로운 구성 옵션을 감지하고 이를 설정하라는 메시지를 표시합니다.
  5. 게이트웨이 자동 다시 시작 — 업데이트가 완료된 후 실행 중인 게이트웨이가 새로 고쳐지므로 새 코드가 즉시 적용됩니다. 서비스 관리 게이트웨이(Linux에서 시스템화되고 macOS에서 실행됨)는 서비스 관리자를 통해 다시 시작됩니다. Hermes가 실행 중인 PID를 프로필에 다시 매핑할 수 있으면 수동 게이트웨이가 자동으로 다시 시작됩니다.

미리보기 전용: hermes update --check

가져오기 전에 업데이트가 있는지 알고 싶으십니까? hermes update --check 실행 — git 설치의 경우 커밋을 가져와서 origin/main과 비교합니다. pip 설치의 경우 PyPI에 최신 릴리스를 쿼리합니다. 파일이 수정되지 않으며 게이트웨이가 다시 시작되지 않습니다. "업데이트가 있습니까?"를 확인하는 스크립트 및 크론 작업에 유용합니다.

전체 업데이트 전 백업: --backup

높은 가치의 프로필(프로덕션 게이트웨이, 공유 팀 설치)의 경우 HERMES_HOME(구성, 인증, 세션, 기술, 페어링)의 전체 사전 풀 백업을 선택할 수 있습니다.

hermes update --backup

또는 모든 실행에 대해 기본값으로 설정합니다.

# ~/.hermes/config.yaml
updates:
pre_update_backup: true

--backup은 이전 빌드에서는 항상 켜져 있는 동작이었지만 대규모 주택의 모든 업데이트에 몇 분씩 추가되었으므로 이제 옵트인되었습니다. 위의 경량 페어링 데이터 스냅샷은 여전히 ​​무조건 실행됩니다.

예상 출력은 다음과 같습니다.

$ hermes update
Updating Hermes Agent...
📥 Pulling latest code...
Already up to date. (or: Updating abc1234..def5678)
📦 Updating dependencies...
✅ Dependencies updated
🔍 Checking for new config options...
✅ Config is up to date (or: Found 2 new options — running migration...)
🔄 Restarting gateways...
✅ Gateway restarted
✅ Hermes Agent updated successfully!

권장되는 업데이트 후 검증

hermes update은 기본 업데이트 경로를 처리하지만 빠른 검증을 통해 모든 것이 깔끔하게 도착했음을 확인합니다.

  1. git status --short — 나무가 예기치 않게 더러워진 경우 계속하기 전에 검사하세요.
  2. hermes doctor — 구성, 종속성 및 서비스 상태를 확인합니다.
  3. hermes --version — 예상대로 올라온 버전을 확인하세요.
  4. 게이트웨이를 사용하는 경우: hermes gateway status
  5. doctor이 npm 감사 문제를 보고하는 경우: 플래그가 지정된 디렉터리에서 npm audit fix을 실행합니다.
Dirty working tree after update

git status --shorthermes update 이후에 예기치 않은 변경 사항이 표시되면 계속하기 전에 중지하고 검사하세요. 이는 일반적으로 업데이트된 코드 위에 로컬 수정 사항이 다시 적용되었거나 종속성 단계에서 잠금 파일이 새로 고쳐졌음을 의미합니다.

업데이트 도중 단말기 연결이 끊어지는 경우

hermes update은 우발적인 단말기 손실로부터 자신을 보호합니다.

  • 업데이트는 SIGHUP을 무시하므로 SSH 세션이나 터미널 창을 닫아도 설치 중에 더 이상 종료되지 않습니다. pipgit 하위 프로세스는 이 보호를 상속하므로 연결이 끊어져 Python 환경이 절반 설치된 상태로 남을 수 없습니다.
  • 업데이트가 실행되는 동안 모든 출력은 ~/.hermes/logs/update.log에 미러링됩니다. 터미널이 사라지면 다시 연결하고 로그를 검사하여 업데이트가 완료되었는지, 게이트웨이 다시 시작이 성공했는지 확인하세요.
tail -f ~/.hermes/logs/update.log
  • Ctrl-C(SIGINT) 및 시스템 종료(SIGTERM)는 여전히 유효합니다. 이는 사고가 아닌 의도적인 취소입니다.

터미널 드롭에서 살아남기 위해 더 이상 hermes updatescreen 또는 tmux로 래핑할 필요가 없습니다.

현재 버전 확인 중

hermes version

GitHub 릴리스 페이지에서 최신 릴리스와 비교해 보세요.

메시징 플랫폼에서 업데이트

다음을 전송하여 Telegram, Discord, Slack, WhatsApp 또는 Teams에서 직접 업데이트할 수도 있습니다.

/update

이렇게 하면 최신 코드를 가져오고, 종속성을 업데이트하고, 실행 중인 게이트웨이를 다시 시작합니다. 봇은 다시 시작하는 동안 잠시(일반적으로 5~15초) 오프라인 상태가 된 후 다시 시작됩니다.

수동 업데이트

빠른 설치 프로그램을 통하지 않고 수동으로 설치한 경우:

cd /path/to/hermes-agent
export VIRTUAL_ENV="$(pwd)/venv"

# Pull latest code
git pull origin main

# Reinstall (picks up new dependencies)
uv pip install -e ".[all]"

# Check for new config options
hermes config check
hermes config migrate # Interactively add any missing options

롤백 지침

업데이트로 인해 문제가 발생하는 경우 이전 버전으로 롤백할 수 있습니다.

cd /path/to/hermes-agent

# List recent versions
git log --oneline -10

# Roll back to a specific commit
git checkout <commit-hash>
git submodule update --init --recursive
uv pip install -e ".[all]"

# Restart the gateway if running
hermes gateway restart

특정 릴리스 태그로 롤백하려면 다음 안내를 따르세요.

git checkout v0.6.0
git submodule update --init --recursive
uv pip install -e ".[all]"
경고

새 옵션이 추가된 경우 롤백하면 구성 비호환성이 발생할 수 있습니다. 롤백한 후 hermes config check을 실행하고 오류가 발생하면 config.yaml에서 인식할 수 없는 옵션을 제거하세요.

Nix 사용자를 위한 참고 사항

Nix flake를 통해 설치한 경우 업데이트는 Nix 패키지 관리자를 통해 관리됩니다.

# Update the flake input
nix flake update hermes-agent

# Or rebuild with the latest
nix profile upgrade hermes-agent

Nix 설치는 변경할 수 없습니다. 롤백은 Nix의 생성 시스템에서 처리됩니다.

nix profile rollback

자세한 내용은 Nix 설정을 참조하세요.


제거 중

힘내 설치

hermes uninstall

제거 프로그램은 향후 재설치를 위해 구성 파일(~/.hermes/)을 유지하는 옵션을 제공합니다.

핍 설치

pip uninstall hermes-agent
rm -rf ~/.hermes # Optional — keep if you plan to reinstall

수동 제거

rm -f ~/.local/bin/hermes
rm -rf /path/to/hermes-agent
rm -rf ~/.hermes # Optional — keep if you plan to reinstall
정보

게이트웨이를 시스템 서비스로 설치한 경우 먼저 이를 중지하고 비활성화합니다.

hermes gateway stop
# Linux: systemctl --user disable hermes-gateway
# macOS: launchctl remove ai.hermes.gateway