OpenClaw 운영 본체 LaunchAgent 사망 면제 명단
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.gatewayrunning, PID7184
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 이름이 남아 있어도 현재 운영 본체라서 사망 금지한다.
ai.hermes.gateway— Hermes gateway 본체com.openclaw.codex-proxy— Codex 접속/proxy 경로com.openclaw.claude-listener— Claude 모바일/텔레그램 입력 경로com.openclaw.telegram-bridge— Telegram bridge loopcom.openclaw.otel-collector— 운영 관측/로그 collectorcom.openclaw.cf-tunnel— 외부 진입 tunnelcom.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-orchestratorcom.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는 별도 점검이 필요하다.