본문으로 건너뛰기

업데이트 및 제거

업데이트 중

힘내 설치

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

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!


### 권장되는 업데이트 후 검증 \{#recommended-post-update-validation}

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

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

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

:::
### 업데이트 도중 단말기 연결이 끊어지는 경우 \{#if-your-terminal-disconnects-mid-update}

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

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

```bash
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