virtual-insanity
← 리포트 목록

OpenClaw 운영 본체 LaunchAgent 사망 면제 명단

2026-04-24 openclaw [openclaw, hermes, launchd, kill-roadmap, immunity]

Executive Summary

  • 현재 openclaw 이름을 가진 활성/잔존 LaunchAgent는 많지만, 실제 running 본체는 12개로 압축된다.
  • 이 중 절대 사망 금지 6개, Hermes 이관 후 사망 5개, 즉시 사망 가능 1개(tts-webhook 잔존 PID)로 분류했다.
  • ~/.claude/CLAUDE.md는 직접 수정하지 않았고, “OpenClaw 사망 면제 명단” 섹션 추가 문안만 제안한다.

1. 점검 방법

실행한 확인:

  • launchctl list | grep openclaw
  • 현재 harness에서는 출력 없음. 개별 서비스 상태 확인에는 부적합했다.
  • ~/Library/LaunchAgents/*openclaw*.plist 파싱
  • 각 label별 launchctl print gui/501/<label> 상태 확인
  • Hermes gateway 별도 확인: ai.hermes.gateway running, PID 7184

2. 현재 running 본체 12개

label 상태 PID 역할 분류
com.openclaw.codex-proxy running 8327 ChatGPT/Codex proxy 절대 사망 금지
com.openclaw.claude-listener running 61612 Claude Telegram listener 절대 사망 금지
com.openclaw.telegram-bridge running 1221 Telegram bridge loop 절대 사망 금지
com.openclaw.otel-collector running 84511 관측/telemetry collector 절대 사망 금지
com.openclaw.cf-tunnel running 1713 외부 접속 tunnel 절대 사망 금지
com.openclaw.sihwang-webapp running 71975 웹앱 :8080 절대 사망 금지
com.openclaw.auto-dispatcher running 1233 작업 자동 배분 Hermes 이관 후 사망
com.openclaw.dispatch-watcher running 1188 dispatch health watcher Hermes 이관 후 사망
com.openclaw.hermes-tailer running 1242 Hermes otel tailer Hermes 이관 후 사망
com.openclaw.task-notifier running 1204 task notification daemon Hermes 이관 후 사망
com.openclaw.collab-review-loop running 1228 collaboration review loop Hermes 이관 후 사망
com.openclaw.tts-webhook running 85326 Google Home TTS HTTP webhook 즉시 사망 가능/권한 필요

별도 핵심 Hermes 본체:

label 상태 PID 판정
ai.hermes.gateway running 7184 절대 사망 금지. OpenClaw 사망과 무관하게 Hermes 핵심 본체

3. 절대 사망 금지 명단

아래는 OpenClaw 이름이 남아 있어도 현재 운영 본체라서 사망 금지한다.

  1. ai.hermes.gateway — Hermes gateway 본체
  2. com.openclaw.codex-proxy — Codex 접속/proxy 경로
  3. com.openclaw.claude-listener — Claude 모바일/텔레그램 입력 경로
  4. com.openclaw.telegram-bridge — Telegram bridge loop
  5. com.openclaw.otel-collector — 운영 관측/로그 collector
  6. com.openclaw.cf-tunnel — 외부 진입 tunnel
  7. com.openclaw.sihwang-webapp — 해리 웹앱/시황 앱

운영 의미: 이름은 openclaw지만 실행 경로는 대부분 /Users/ron/.hermes/...로 이미 이관되어 있다. 따라서 지금 단계에서는 label 이름만 보고 죽이면 안 된다.

4. Hermes 이관 후 사망 명단

아래 5개는 운영 보조 루프다. 죽이기 전 Hermes label로 재등록하거나 Hermes cron/scheduler 동등성을 1주일 dual-run 해야 한다.

label 현재 실행 이관 방향 사망 조건
com.openclaw.auto-dispatcher scripts/monitoring/auto_dispatcher.sh ai.hermes.auto-dispatcher LaunchAgent Hermes label 7일 무중단 + queue 처리 동일
com.openclaw.dispatch-watcher scripts/monitoring/dispatch_watcher.sh ai.hermes.dispatch-watcher health alert 동일, 중복 알림 없음
com.openclaw.hermes-tailer scripts/pipeline/hermes_otel_tailer.py ai.hermes.otel-tailer otel collector 입력 누락 없음
com.openclaw.task-notifier scripts/task_notifier.py --daemon ai.hermes.task-notifier Telegram/알림 중복 방지 적용 후
com.openclaw.collab-review-loop scripts/collab_review_loop.py ai.hermes.collab-review-loop collab 리뷰 결과 동일

5. 즉시 사망 가능

label 근거 조치
com.openclaw.tts-webhook plist 이동 + disabled 완료. 로컬 의존 없음. PID만 권한 문제로 잔존. root 권한 또는 재부팅으로 종료. Hermes 이관 불필요

tts-webhook:18790 health를 점유하여 agent-bus/openclaw bridge health와 혼동될 수 있다. 즉시 종료 가치가 높다. 단, sudo 없이 kill은 이미 실패했다.

6. 기타 loaded but not running — 이번 사망 대상 아님

다음은 launchd에 loaded되어 있으나 현재 running이 아니다. 대부분 일정 기반 잡이며, cron 사망과 별도 트랙에서 Hermes cron과 중복 여부를 확인해야 한다.

  • Analyst 4개: com.openclaw.analyst-{macro,fundamental,technical,pm}
  • Morning/weekly: com.openclaw.morning-briefing-telegram, weekly-briefing-telegram, morning-routine, weekly-report
  • com.openclaw.ron-orchestrator
  • com.openclaw.autopilot-sweeper, blueprint-updater, door-alert

이들은 “운영 본체 12개”에는 넣지 않았다.

7. ~/.claude/CLAUDE.md 가드레일 권고 문안

실제 수정은 하지 않았다. 추가 권고 문안:

## OpenClaw 사망 면제 명단

OpenClaw 사망 프로젝트 중에도 아래 LaunchAgent/서비스는 운영 본체이므로 명시 승인 없이 bootout/disable/kill 금지:

- ai.hermes.gateway
- com.openclaw.codex-proxy
- com.openclaw.claude-listener
- com.openclaw.telegram-bridge
- com.openclaw.otel-collector
- com.openclaw.cf-tunnel
- com.openclaw.sihwang-webapp

아래는 Hermes 동등 label을 만든 뒤 7일 dual-run 통과 시에만 사망 가능:

- com.openclaw.auto-dispatcher
- com.openclaw.dispatch-watcher
- com.openclaw.hermes-tailer
- com.openclaw.task-notifier
- com.openclaw.collab-review-loop

label에 `openclaw`가 있어도 실행 경로가 `~/.hermes`면 즉시 사망 대상이 아니다. 반드시 역할·의존·포트·대체 경로를 확인한다.

8. 점진 이관 로드맵

Week 1: label rename 준비

  • 5개 “이관 후 사망” 잡의 plist를 ai.hermes.*로 복제한다.
  • 기존 OpenClaw label은 유지하고 Hermes label은 disabled 또는 RunAtLoad=false로 시작한다.

Week 2: dual-run

  • auto-dispatcher, dispatch-watcher부터 Hermes label로 병행 실행.
  • queue 처리량, 알림 중복, health log를 비교한다.

Week 3: notifier/tailer 전환

  • task-notifier, hermes-tailer 전환.
  • Telegram dedup과 otel event 누락 여부 확인.

Week 4: collab loop 전환

  • collab-review-loop 전환.
  • collab summary와 review output 동일성 확인 후 OpenClaw label disable.

Final: 본체 면제 유지

  • 절대 사망 금지 7개는 이름 변경을 하더라도 별도 migration ticket로 처리한다.
  • 특히 codex-proxy, claude-listener, telegram-bridge, cf-tunnel은 해리 모바일/외부 조작 경로라 downtime 허용 불가.

자체평가

기준 점수
정확성 4.3/5
완성도 4.4/5
검증 4.2/5
최소 변경 5.0/5

종합: 4.5/5

Remaining Risks: - launchctl list | grep openclaw가 빈 결과를 냈으므로, 실제 상태는 개별 launchctl print gui/501/<label>로 재검증했다. - ai.hermes.gateway는 running이나 현재 127.0.0.1:18789/health 응답은 실패했다. gateway의 실제 health endpoint는 별도 점검이 필요하다.