Skip to content

Commit 7f29d0f

Browse files
GoGoComputerclaude
andcommitted
docs: v0.2.5 — 'install 직후 첫 사용' + network online toggle guide
README (KO + EN): new section between 5-minute install and Automation trio — 'install 직후 — 첫 사용' / 'Right after install — first use'. Covers the three entry points (browser web UI / container CLI / './openclaw chat'), how to verify with doctor, and a quick-reference table for the network online ↔ isolated toggle that maps situations (update / ollama pull / pip install inside container / host Ollama call from container / normal chatting) to the required action. CHANGELOG: add v0.2.5 — chat feature, validate_state self-heal, SANDBOX_DEFERRED handling, validate_state set-e safety, compose.security duplicate security_opt fix, README updates. VERSION bump 0.2.4 → 0.2.5 in openclaw dispatcher to match. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent a9f9c40 commit 7f29d0f

4 files changed

Lines changed: 196 additions & 1 deletion

File tree

‎CHANGELOG.md‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## 📖 목차 / Contents
44

5+
- [v0.2.5 — 2026-05-14](#v025--2026-05-14)
56
- [v0.2.4 — 2026-04-25](#v024--2026-04-25)
67
- [v0.2.3 — 2026-04-25](#v023--2026-04-25)
78
- [v0.2.2 — 2026-04-25](#v022--2026-04-25)
@@ -13,6 +14,30 @@
1314

1415
---
1516

17+
## v0.2.5 — 2026-05-14
18+
19+
### New features
20+
- **`openclaw chat`** — terminal REPL chat with the agent via host Ollama. Streams `/api/chat` token-by-token; auto-loads workspace personality files (`IDENTITY.md` · `SOUL.md` · `USER.md` · `AGENTS.md` · `MEMORY.md`) into the system prompt. Slash commands: `/exit` `/reset` `/model` `/history` `/help`. Pure stdlib (`curl` + `python3`); no extra deps.
21+
22+
### Install reliability
23+
- **`install.sh`: `validate_state()`** — at install start, cascade-unmarks state keys whose underlying artifacts are gone:
24+
- `OPENCLAW_DIR/.git` missing → unmark `repo_clone` through `sandbox` (7 steps)
25+
- `OPENCLAW_DIR/.env` missing → unmark `env_merge` through `sandbox` (5 steps)
26+
- `docker-compose.sandbox.yml` missing + `docker.sock` ready → unmark `sandbox`
27+
- Fixes "install reports `[skip]` for every step but final summary keeps warning 샌드박스 미설정" when the user manually deleted the clone or ran the first install while Docker Desktop was still booting.
28+
- **`step_sandbox` deferred marker** — when `docker.sock` is absent the step now sets `SANDBOX_DEFERRED=1` and the marker is cleared after `run_step`, so the next install retries instead of staying stuck at `sandbox=done`.
29+
- **`validate_state` always returns 0** — guards against silent `set -e` exit when no markers need clearing (the function's final `[ ] && info` short-circuited to exit code 1).
30+
31+
### Bug fixes
32+
- **`compose.security.yml`**: drop duplicate `security_opt: [no-new-privileges:true]` on `openclaw-gateway`. Base `docker-compose.yml` already declared it, so Compose v2 concatenated the sequences and rejected with `services.openclaw-gateway.security_opt items at 0 and 1 are equal`. (The same fix was previously applied to `openclaw-cli` but the matching change to `openclaw-gateway` was missing.)
33+
34+
### Documentation
35+
- **README** new section: **🎯 install 직후 — 첫 사용 / Right after install — first use** — three entry points (browser web UI · container CLI · `openclaw chat`), how to verify, and a quick-reference for the `network online ↔ isolated` toggle.
36+
- **README** idempotency section: documents `validate_state` artifact verification with a table of detection conditions and the markers that get auto-cleared.
37+
- **README** FAQ: new entry "install keeps printing `[skip]` but nothing works" — explains the cause and the one-line recovery.
38+
39+
---
40+
1641
## v0.2.4 — 2026-04-25
1742
- `openclaw install`: removed bulk Ollama model auto-download (`step_ollama_models` deleted)
1843
- `openclaw install`: new `step_ollama_check` — detects and displays already-installed Ollama models before proceeding

‎README.en.md‎

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@
1616
## 📖 Contents
1717

1818
- [🚀 5-minute start (non-developer friendly)](#-5-minute-start-non-developer-friendly)
19+
- [🎯 Right after install — first use](#-right-after-install--first-use)
20+
- [① Browser web UI](#-browser-web-ui)
21+
- [② Container CLI](#-container-cli)
22+
- [③ Terminal REPL chat](#-terminal-repl-chat)
23+
- [Verify](#verify)
24+
- [🌐 Temporarily opening external network](#-temporarily-opening-external-network)
1925
- [🤖 Automation trio — at a glance](#-automation-trio--at-a-glance)
2026
- [📚 Documentation map](#-documentation-map)
2127
- [🤔 What is this?](#-what-is-this)
@@ -97,6 +103,85 @@ You may see system dialogs for Docker Desktop / Xcode CLT — just accept them.
97103
98104
---
99105
106+
## 🎯 Right after install — first use
107+
108+
When `./openclaw install` ends with `✓ install complete!` and `🛡 sandbox active (default)`, two containers are already running:
109+
110+
| Container | Role | Exposed on |
111+
|---|---|---|
112+
| `openclaw-openclaw-gateway-1` | Web UI · REST gateway · healthz | `127.0.0.1:18789` |
113+
| `openclaw-openclaw-cli-1` | In-container shell (where `claude` CLI runs) | (shares gateway's network namespace) |
114+
115+
Pick whichever entry point fits.
116+
117+
### ① Browser web UI
118+
119+
```bash
120+
open http://127.0.0.1:18789
121+
```
122+
123+
The most visual / approachable path. Safari or Chrome — either works. Do **not** include `open` in the address bar; `open` is a terminal command, not a URL.
124+
125+
> If you see **"Safari can't connect" / "Empty reply"**, run `./openclaw doctor` first. Containers might be up but healthz might still be initializing — confirm with `docker compose ps` and look for `(healthy)`.
126+
127+
### ② Container CLI
128+
129+
The most stable path. Drop into the isolated container shell and run `claude` directly.
130+
131+
```bash
132+
cd ~/DEV/openclaw
133+
docker compose exec openclaw-cli bash
134+
# then, inside the container:
135+
claude
136+
```
137+
138+
### ③ Terminal REPL chat
139+
140+
Talk to the agent through host Ollama directly — no container, no web UI. The workspace personality files (`IDENTITY.md` · `SOUL.md` · `USER.md`, …) get auto-loaded into the system prompt.
141+
142+
```bash
143+
./openclaw chat # default model + auto personality
144+
./openclaw chat -m llama3.1:8b # pick a model
145+
./openclaw chat --no-system # ignore personality, pure model
146+
```
147+
148+
Slash commands (`/exit` `/reset` `/model` `/history` `/help`) and full details: see [💬 Terminal chat (`chat`)](#-terminal-chat-chat).
149+
150+
### Verify
151+
152+
```bash
153+
./openclaw doctor
154+
# Key rows to check:
155+
# ✓ OpenClaw repo /Users/<you>/DEV/openclaw
156+
# ✓ Containers running 2 (gateway + cli)
157+
# ✓ Network isolation isolated (outbound blocked)
158+
# ✓ Ollama daemon / models (host-side ready)
159+
```
160+
161+
Any ✗? Just rerun `./openclaw install` — [`validate_state`](#idempotency-state-file) detects missing artifacts and re-runs the affected steps automatically.
162+
163+
### 🌐 Temporarily opening external network
164+
165+
Default is `isolated` (outbound blocked). For model downloads / code updates / `pip install` style work, briefly switch to `online`, then close it again — that's the standard cycle.
166+
167+
```bash
168+
./openclaw network online --restart # open + restart containers
169+
# (do the work — ollama pull · pip install · git clone …)
170+
./openclaw network isolated --restart # lock it back down
171+
```
172+
173+
| Situation | What to do |
174+
|---|---|
175+
| `./openclaw update` (code · images · models refresh) | **Automatic** — `update` flips to `online` briefly and restores the previous mode. No manual toggle needed. |
176+
| `ollama pull <model>` from the host shell | Keep `isolated` — Ollama runs on the host, unaffected by container networking. |
177+
| `pip install` / `npm install` / `apt-get` / `git clone` **inside** the container | Need `online --restart` for the duration. |
178+
| Container reaching the host Ollama (`host.docker.internal:11434`) | Need `online --restart` — `isolated` blocks this too. |
179+
| Normal chatting / work (no new downloads) | **Stay `isolated`** — no exfil channel exists, which is the whole point. |
180+
181+
For the security rationale and full blocked-actions list, see [🔒 Network isolation modes](#-network-isolation-modes-explicit-outbound-kill-switch).
182+
183+
---
184+
100185
## 🤖 Automation trio — at a glance
101186

102187
> **⚠️ Setup first, then use.** Each command below requires its setup script to be run *once* before first use. Tools that need an account (nano-banana / Figma / Miricanvas / CapCut) also need a one-time `*-login` to capture a session.

‎README.md‎

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@
1919
- [🚀 5분 시작 (비개발자 OK)](#-5분-시작-비개발자-ok)
2020
- [표준 — 스크립트 설치 (권장)](#표준--스크립트-설치-권장)
2121
- [완전 수동 설치 (회사 정책·오프라인용)](#완전-수동-설치-회사-정책오프라인용)
22+
- [🎯 install 직후 — 첫 사용](#-install-직후--첫-사용)
23+
- [① 브라우저 웹 UI](#-브라우저-웹-ui)
24+
- [② 컨테이너 CLI](#-컨테이너-cli)
25+
- [③ 터미널 REPL 채팅](#-터미널-repl-채팅)
26+
- [정상 동작 확인](#정상-동작-확인)
27+
- [🌐 외부 네트워크 잠깐 켜기](#-외부-네트워크-잠깐-켜기)
2228
- [🩺 진단 / `doctor` 항목별 가이드](#-진단--doctor-항목별-가이드)
2329
- [🤖 자동화 3종 — 한눈 카탈로그](#-자동화-3종--한눈-카탈로그)
2430
- [📚 문서 가이드](#-문서-가이드)
@@ -192,6 +198,85 @@ cd openclaw-workspace/openclaw-mgr
192198
193199
---
194200

201+
## 🎯 install 직후 — 첫 사용
202+
203+
`./openclaw install` 끝에 `✓ 설치 완료!` + `🛡 샌드박스 활성 (기본)` 메시지가 떴다면 컨테이너 두 개가 이미 떠 있습니다:
204+
205+
| 컨테이너 | 역할 | 노출 |
206+
|---|---|---|
207+
| `openclaw-openclaw-gateway-1` | 웹 UI · REST 게이트웨이 · healthz | `127.0.0.1:18789` |
208+
| `openclaw-openclaw-cli-1` | 컨테이너 안 셸 (`claude` CLI 실행 환경) | (네트워크는 gateway 공유) |
209+
210+
다음 셋 중 편한 방식으로 첫 대화를 시작하세요.
211+
212+
### ① 브라우저 웹 UI
213+
214+
```bash
215+
open http://127.0.0.1:18789
216+
```
217+
218+
가장 시각적·직관적. Safari/Chrome 어디든 OK. 주소창에 `open` 까지 같이 붙여넣지 마세요 — `open` 은 터미널 명령어입니다.
219+
220+
> **"Safari can't connect" / "Empty reply"** 가 뜨면 `./openclaw doctor` 로 게이트웨이 상태부터 확인. 컨테이너는 떴지만 healthz 가 아직 응답 전일 수 있어요 (`docker compose ps` 로 `(healthy)` 표시 확인).
221+
222+
### ② 컨테이너 CLI
223+
224+
가장 안정적. 컨테이너 안 격리 환경에서 직접 `claude` 실행.
225+
226+
```bash
227+
cd ~/DEV/openclaw
228+
docker compose exec openclaw-cli bash
229+
# 컨테이너 셸이 뜨면:
230+
claude
231+
```
232+
233+
### ③ 터미널 REPL 채팅
234+
235+
호스트 Ollama 와 직접 대화 — 컨테이너·웹 UI 없이도 워크스페이스의 인격 파일(`IDENTITY.md` · `SOUL.md` · `USER.md` 등)을 자동 system prompt 로 로드.
236+
237+
```bash
238+
./openclaw chat # 기본 모델 + 인격 자동 로드
239+
./openclaw chat -m llama3.1:8b # 모델 지정
240+
./openclaw chat --no-system # 인격 무시, 순수 모델
241+
```
242+
243+
REPL 안 슬래시 명령(`/exit` `/reset` `/model` `/history` `/help`)·자세한 동작은 [💬 터미널 채팅 (`chat`)](#-터미널-채팅-chat) 섹션 참조.
244+
245+
### 정상 동작 확인
246+
247+
```bash
248+
./openclaw doctor
249+
# 핵심 확인:
250+
# ✓ OpenClaw 저장소 /Users/mo/DEV/openclaw
251+
# ✓ 컨테이너 실행 2개 (gateway + cli)
252+
# ✓ 네트워크 격리 isolated (외부 차단)
253+
# ✓ Ollama 데몬 / 모델 (호스트 측 준비)
254+
```
255+
256+
뭔가 ✗ 면 `./openclaw install` 한 번 더 — [`validate_state`](#멱등-설계-state-파일-포맷) 가 산출물 부재를 감지해 자동으로 다시 진행합니다.
257+
258+
### 🌐 외부 네트워크 잠깐 켜기
259+
260+
기본은 `isolated` (외부 차단). 모델 다운로드·코드 업데이트·`pip install` 처럼 외부 접속이 필요한 작업 때만 잠깐 열고 곧장 다시 잠그는 게 표준입니다.
261+
262+
```bash
263+
./openclaw network online --restart # 외부 열기 + 컨테이너 재기동
264+
# (필요한 작업 — 예: ollama pull · pip install · git clone …)
265+
./openclaw network isolated --restart # 끝나면 다시 잠그기
266+
```
267+
268+
| 상황 | 어떻게 |
269+
|---|---|
270+
| `./openclaw update` (코드·이미지·모델 갱신) | **자동** — `update` 가 잠깐 online 으로 토글 후 원래 모드로 복귀. 수동 토글 불필요 |
271+
| `ollama pull <모델>` 처럼 호스트에서만 다운로드 | `isolated` 그대로 OK (Ollama 는 호스트 측이라 컨테이너 네트워크와 무관) |
272+
| 컨테이너 안에서 `pip install` / `npm install` / `apt-get` / `git clone` | `online --restart` 로 잠깐 열어야 함 |
273+
| 컨테이너에서 호스트 Ollama 호출 (`host.docker.internal:11434`) | `online --restart` 필요 — isolated 에서는 이것도 차단됨 |
274+
| 평소 대화·작업 (추가 다운로드 없음) | **항상 `isolated`** — 외부 유출 통로 자체가 없으므로 가장 안전 |
275+
276+
격리 모드의 보안 의미·트레이드오프는 [🔒 네트워크 격리 모드](#-네트워크-격리-모드-명시적-외부-차단-토글) 섹션 참조.
277+
278+
---
279+
195280
## 🤖 자동화 3종 — 한눈 카탈로그
196281

197282
> **⚠️ 세팅 먼저, 사용은 그 다음.** 아래 세 명령은 모두 *해당 setup 스크립트를 한 번 실행한 후* 쓸 수 있습니다. 로그인이 필요한 도구(나노바나나 / Figma / 미리캔버스 / CapCut)는 setup 이후 한 번만 `*-login` 명령으로 세션을 잡아두면 됨.

‎openclaw-mgr/openclaw‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ set -euo pipefail
1313
OPENCLAW_MGR_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-$0}")" && pwd)"
1414
export OPENCLAW_MGR_DIR
1515

16-
VERSION="0.2.4"
16+
VERSION="0.2.5"
1717

1818
# .env 자동 초기화: .env 없으면 .env.example 에서 자동 생성 (cp 불필요, 첫 실행부터 동작)
1919
# Auto-init: create .env from .env.example on first run — zero-config for beginners

0 commit comments

Comments
 (0)