예제 소스
오목으로 이해하는 자기대국과 모방 학습 · 파일 59개
README.md
# Omook 모바일 웹
사람 vs 로컬 AI / VLM 오목. MariaGO 계열(`go/mariago-web`) 패턴을 따릅니다.
레이아웃은 **폭 max 430px** 폰 셸 기준입니다.
## 페이지
| 경로 | 설명 |
|------|------|
| `/` | 랜딩 |
| `/play` | 대국장 (탭→예비수→같은 점 재탭 또는 착수) |
## 실행 (직접)
**터미널 2개**면 됩니다. (WS 브리지는 더 이상 필요 없음)
```bash
# 1) VLM TCP
cd /path/to/omook
.venv/bin/python vlm_pva_server.py --host 127.0.0.1 --port 9299 --device mps
# 2) 웹
cd omook-web
pnpm install
pnpm dev # http://localhost:3002 또는 http://<LAN-IP>:3002
```
브라우저 → Next `/api/vlm/move` → `127.0.0.1:9299` (OMK3).
상대는 **VLM 고정**, 판 크기는 **15×15 고정**입니다.
## 데몬 감시
Next(:3002) + VLM(:9299) 를 감시·재기동합니다.
```bash
# 백그라운드 기동
bash scripts/start_omook_watchdog.sh
# 또는 포그라운드
.venv/bin/python scripts/daemon_omook_stack_watchdog.py
# 또는 launchd 등록 (로그인 시 자동)
bash scripts/install_omook_launchd.sh
```
상태: `logs/omook_stack_watch/HEARTBEAT.md`
로그: `logs/omook_stack_watch/watchdog.log`
죽으면 Next는 `npm start`(service), VLM은 `vlm_pva_server.py` 로 다시 띄웁니다.
## 공개 배포 (omook.mariago.kr)
IDC `********` ← SSH 역터널 ← 집 Mac `:3002`
```bash
# DNS 먼저: omook.mariago.kr A → ********
# Next:3002 + VLM:9299 기동 후
bash scripts/deploy_omook_to_idc.sh
# 인증서(최초 1회, DNS 전파 후)
ssh ethtrade 'sudo certbot --nginx -d omook.mariago.kr'
```
확인: https://omook.mariago.kr/play
### (선택) 구형 WS 브리지
포트 **9322** (9321=stoku chat). `websockets` 필요:
```bash
.venv/bin/python -m pip install websockets
.venv/bin/python scripts/omook_ws_bridge.py --vlm-port 9299 --ws-host ******** --ws-port 9322
```
## 배포
`deploy/omook.mariago.kr.conf` 참고.
IDC nginx → SSH reverse tunnel → Mac `next start -p 3002` (+ bridge `:9322`).
## 규칙
Qt `BoardModel` 과 동일:
- 정확히 5목 승, 장목(6+) 금수
- 삼삼 금수 (흑·백 동일)
- 사사는 허용