예제 소스
바둑 on-policy 학습: 대국 로그를 KataGo 라벨로 바꾸기 · 파일 169개
README.md
# MariaGO 모바일 웹 프로토타입
투자자 데모용 **사람 vs VLM** 바둑 웹앱입니다.
시안(로그인·회원가입·대국장)을 반영했고, 대국장 **하단**에 Google 배너 슬롯을 두었습니다.
## 페이지
| 경로 | 설명 |
|------|------|
| `/login` | 도장 입장 (프로토타입: localStorage 세션) |
| `/signup` | 회원가입 |
| `/play` | 흑=사람 / 백=VLM 대국장 + 하단 광고 배너 |
## 대국 UX
- **착수**: 빈 점 탭 → 예비수(금색 원) → **같은 점 다시 탭** 또는 **착수** 버튼으로 확정
- **계가**: 양측 패스 시 한국식(계목) 어림 점수 표시. 중간에 **계가** 버튼으로도 가능
- 사활 자동판정은 아직 없음(프로토타입). 집 = 한쪽 색만 둘러싼 빈점 + 대국 중 딴 사석 + 덤 6.5
## 실행 (직접)
터미널 3개 권장:
```bash
# 1) VLM serve (기존)
.venv/bin/python -m vlm_server serve --host 127.0.0.1 --port 9319 \
--model vlm_models/Qwen__Qwen3-VL-8B-Instruct \
--lora-dir vlm_models/lora_mix_qwen_r5 \
--text-only-move --board-repr aligned --score-guided --score-min-line 3
# 2) WebSocket 브리지 (브라우저 ↔ GO19)
.venv/bin/pip install websockets # 최초 1회
.venv/bin/python scripts/mariago_ws_bridge.py --vlm-port 9319 --ws-port 9320
# 3) 웹
cd mariago-web
pnpm install # 또는 npm install
pnpm dev # http://localhost:3000
```
- 로컬/LAN: `http://<ip>:3000` → 브리지 `ws://<hostname>:9320`
- 공개 HTTPS(`baduk.mariago.kr`): 브리지 `wss://baduk.mariago.kr/vlm-ws` (nginx가 `:9320`으로 프록시)
- 오버라이드: 콘솔에서 `localStorage.mariago_ws = '…'`
## 광고
`components/AdBanner.tsx` → `#mariago-ad-banner`
AdSense/AdMob 스크립트를 이 슬롯에 넣으면 됩니다. 높이 CSS 변수 `--banner-h` (기본 60px).
## 이후 하이브리드
`mariago-web` 을 Capacitor로 감싸면 iOS/Android 셸로 확장하기 쉽습니다.
인증·매칭은 프로토타입(localStorage)이므로 서비스 전에 서버 계정으로 교체하세요.