@@ -256,21 +256,70 @@ sudo ln -sf "$HOME/DEV/openclaw-workspace/openclaw-mgr/openclaw" /opt/homebrew/b
256256
257257### 7단계 — 업데이트는 어떻게?
258258
259- 수동 설치 모드에서는 ** Git 으로 직접 갱신** :
259+ > ❓ ** OpenClaw 본체가 업데이트되면 내 도구도 자동으로 업데이트되나요?**
260+ >
261+ > ** 아니요.** 두 저장소는 서로 독립적인 git 저장소이며 따로 갱신해야 합니다.
262+ >
263+ > | 무엇 | 어떻게 갱신 | 무엇이 갱신되나 |
264+ > | ---| ---| ---|
265+ > | 🟢 내 도구 (` openclaw-workspace ` ) | ` git pull ` (수동 모드) 또는 ` openclaw self-update ` (brew 모드) | ` openclaw ` CLI, ` lib/ ` , ` cmd/ ` , 보안 override, 가이드 문서 |
266+ > | 🔵 OpenClaw 본체 (` ~/openclaw ` ) | ` openclaw update ` ← 내 도구가 알아서 본체 git pull + 이미지 pull + 모델 pull 까지 | 본체 코드, Docker 이미지, Ollama 모델 |
267+ >
268+ > 즉 ** 내 도구만 최신 ≠ 본체도 최신** . 둘 다 최신으로 두고 싶으면 두 명령을 차례로 돌리세요.
269+
270+ #### 매번 하는 표준 절차 (수동 설치 모드)
271+
260272``` bash
273+ # 1) 내 도구(workspace) 갱신
261274cd ~ /DEV/openclaw-workspace
262275git pull --ff-only
263- ./openclaw-mgr/openclaw update # 컨테이너/모델 갱신
276+
277+ # 2) 본체(OpenClaw) + 컨테이너 이미지 + 모델 갱신 (한 명령)
278+ ./openclaw-mgr/openclaw update
279+
280+ # 3) 둘 다 ✓ 인지 확인
281+ ./openclaw-mgr/openclaw doctor
282+ ```
283+
284+ #### ` openclaw update ` 가 내부적으로 하는 일
285+
264286```
287+ openclaw update
288+ ├── network online (잠깐 외부 허용)
289+ ├── cd ~/openclaw && git pull --ff-only ← 본체 코드 갱신
290+ ├── docker compose pull ← 본체 이미지 갱신
291+ ├── docker compose up -d ← 새 이미지로 재기동
292+ ├── ollama pull <OLLAMA_MODELS 의 각 모델> ← 모델 갱신
293+ └── network isolated (다시 잠금)
294+ ```
295+
296+ #### 자동화 — 매일 새벽에 본체까지 자동 업데이트
265297
266- 특정 안정 버전으로 고정하고 싶으면:
298+ ``` bash
299+ ./openclaw-mgr/openclaw schedule enable # 매일 03:00 (기본) 에 launchd 가 `openclaw update` 자동 실행
300+ ./openclaw-mgr/openclaw schedule status # 다음 실행 시각 확인
301+ ./openclaw-mgr/openclaw schedule disable # 끄기
302+ ```
303+
304+ > ⚠ ` schedule ` 은 ** 본체 update** 만 자동 실행합니다. 내 도구(workspace) 의 ` git pull ` 은 자동화하지 않습니다 — 도구가 깨져 있으면 자동복구가 위험하므로. 내 도구는 가끔 직접 ` git pull ` 권장.
305+
306+ #### 특정 버전에 고정 (Pin to a stable tag)
307+
308+ 내 도구를 특정 안정 버전으로:
267309``` bash
268310cd ~ /DEV/openclaw-workspace
269311git fetch --tags
270312git checkout v0.1.6
271313```
272314
273- > ⚠️ 수동 설치 환경에서는 ` openclaw self-update ` 가 의도적으로 비활성됩니다 (Homebrew formula 가 아니므로). 항상 ` git pull ` 을 쓰세요.
315+ 본체를 특정 커밋으로 고정 (공급망 공격 방어용):
316+ ``` bash
317+ $EDITOR ~ /.openclaw-mgr/.env
318+ # OPENCLAW_PIN_COMMIT="abc1234..."
319+ ./openclaw-mgr/openclaw update
320+ ```
321+
322+ > ⚠️ 수동 설치 환경에서는 ` openclaw self-update ` 가 의도적으로 비활성됩니다 (Homebrew formula 가 아니므로). 내 도구는 항상 ` git pull ` 을 쓰세요.
274323
275324### ❓ 자주 막히는 부분
276325
@@ -539,20 +588,70 @@ sudo ln -sf "$HOME/DEV/openclaw-workspace/openclaw-mgr/openclaw" /opt/homebrew/b
539588
540589### Step 7 — Updating
541590
542- In manual mode you update via Git:
591+ > ❓ ** If OpenClaw upstream updates, does my tool update automatically?**
592+ >
593+ > ** No.** They are independent git repos and must be updated separately.
594+ >
595+ > | What | How to update | What it refreshes |
596+ > | ---| ---| ---|
597+ > | 🟢 This tool (` openclaw-workspace ` ) | ` git pull ` (manual mode) or ` openclaw self-update ` (brew mode) | ` openclaw ` CLI, ` lib/ ` , ` cmd/ ` , security overrides, guide docs |
598+ > | 🔵 OpenClaw upstream (` ~/openclaw ` ) | ` openclaw update ` ← this tool runs upstream ` git pull ` + image pull + model pull for you | Upstream code, Docker images, Ollama models |
599+ >
600+ > So ** tool up-to-date ≠ upstream up-to-date** . Run both to keep everything fresh.
601+
602+ #### Standard refresh (manual mode)
603+
543604``` bash
605+ # 1) Update this tool (workspace)
544606cd ~ /DEV/openclaw-workspace
545607git pull --ff-only
608+
609+ # 2) Update upstream + container images + models (one command)
546610./openclaw-mgr/openclaw update
611+
612+ # 3) Verify
613+ ./openclaw-mgr/openclaw doctor
614+ ```
615+
616+ #### What ` openclaw update ` does internally
617+
618+ ```
619+ openclaw update
620+ ├── network online (briefly allow outbound)
621+ ├── cd ~/openclaw && git pull --ff-only ← upstream code
622+ ├── docker compose pull ← upstream images
623+ ├── docker compose up -d ← restart with new images
624+ ├── ollama pull <each model in OLLAMA_MODELS> ← refresh models
625+ └── network isolated (lock back down)
547626```
548627
549- Pin to a specific stable tag:
628+ #### Automate it — daily upstream update via launchd
629+
630+ ``` bash
631+ ./openclaw-mgr/openclaw schedule enable # default 03:00 daily, runs `openclaw update`
632+ ./openclaw-mgr/openclaw schedule status
633+ ./openclaw-mgr/openclaw schedule disable
634+ ```
635+
636+ > ⚠ ` schedule ` only auto-runs ** upstream update** . It does NOT auto-pull this tool — auto-recovering a broken tool is risky. Pull this tool by hand occasionally.
637+
638+ #### Pin to a specific version
639+
640+ This tool to a stable tag:
550641``` bash
642+ cd ~ /DEV/openclaw-workspace
551643git fetch --tags
552644git checkout v0.1.6
553645```
554646
555- > ⚠️ ` openclaw self-update ` is intentionally disabled in manual mode (it's only for the Homebrew formula). Always use ` git pull ` .
647+ Upstream to a specific commit (supply-chain hardening):
648+ ``` bash
649+ $EDITOR ~ /.openclaw-mgr/.env
650+ # OPENCLAW_PIN_COMMIT="abc1234..."
651+ ./openclaw-mgr/openclaw update
652+ ```
653+
654+ > ⚠️ ` openclaw self-update ` is intentionally disabled in manual mode (it's only for the Homebrew formula). Always use ` git pull ` for this tool in manual mode.
556655
557656### ❓ Common pitfalls
558657
0 commit comments