원신(Genshin Impact) 게으른 유저를 위한 플래너. 데이터를 업로드하면 무엇을 해야 하는지 알려줍니다.
- 스마트 폐기 — 캐릭터별 상대 점수로 불필요한 성유물 자동 분석 (Fribbels 방식)
- 나선비경 최적화 — gcsim 기반 DPS 시뮬레이션으로 최적 팀 추천
- 환상극 플래너 — 원소별 로스터 현황, DFS 최적 조합, 빌려올 캐릭터 추천
- 일일 레진 계획 — 최적화 결과 기반 구체적 파밍 가이드
- 비회원 모드 — 회원가입 없이 바로 사용 (365일 세션)
docker compose up -d
open http://localhost:3000docker compose down # 데이터 유지
docker compose down -v # 데이터 초기화- 비회원으로 시작 (또는 회원가입)
- Irminsul 스캐너로 GOOD 포맷 JSON 내보내기
- 홈에서 JSON 업로드 → 자동으로 환상극 + 나선비경 DFS 최적화 실행
- 홈의 "오늘 뭐 하지?"에서 할 일 확인
Docker Compose
├── rqlite (:4001) — 분산 SQLite DB
└── Go API (:3000) — REST API + 정적 파일 서빙
├── 인증: /api/register, /api/login, /api/guest
├── 데이터: /api/characters, /api/artifacts, /api/weapons
├── Import/Export: /api/import, /api/export (GOOD 포맷)
├── 스마트 폐기: /api/artifacts/smart-discard, /api/artifacts/{id}/character-scores
├── 플래너: /api/planner/recommend, /api/theater/seasons
├── 최적화: /api/optimize/start (theater/abyss/all), /api/optimize/status/{id}
└── gcsim 내장: DPS 시뮬레이션 (server/gcsim/)
| 경로 | 설명 |
|---|---|
/ |
홈 — "오늘 뭐 하지?" 액션 가이드 + 레진 계획 |
/smart-discard |
스마트 폐기 — 캐릭터별 점수, 세트 필터, 제거됨 토글 |
/abyss |
나선비경 — DFS 팀 최적화 + gcsim DPS 시뮬레이션 |
/planner |
환상극 — 로스터 현황, 최적 조합, 빌려올 추천 |
/login |
로그인 / 회원가입 / 비회원 |
각 성유물을 109명 캐릭터에 대해 개별 점수 산정:
- 세트 보너스 (0/30) + 메인옵 적합성 (0/30) + 서브옵 가중치 (0-40) - 강화 낭비 감점
- 모든 캐릭터 중 최고 점수가 기준값 미만이면 폐기 후보
- 기준값 슬라이더로 조절 가능 (기본 35, 범위 10-100)
gcsim (MIT 라이선스)을 내재화하여 프레임 단위 몬테카를로 DPS 시뮬레이션 제공:
- Go 라이브러리로 직접 호출 (외부 의존성 없음)
- 메타 팀 로테이션 템플릿 8종 (내셔널, 빙결, 하이퍼블룸, 증발, 모노파이로, 감전 등)
- 유저 실제 캐릭터/무기/성유물 데이터로 시뮬레이션
- 50회 반복, ~200ms 소요
- 캐릭터/무기/성유물 한글명: genshin-optimizer 로컬라이제이션
- 성유물 썸네일 이미지: genshin-optimizer 에셋 (59세트 × 5슬롯 = 279개)
- DPS 시뮬레이션: gcsim (MIT, 내재화)
- GOOD 포맷: Genshin Open Object Description
| 변경 대상 | 반영 방법 |
|---|---|
| HTML / CSS / JS | 브라우저 새로고침 (Ctrl+Shift+R) |
| Go 서버 | docker compose up -d --build |
| DB 스키마 | docker compose down -v && docker compose up -d --build |
# Docker가 실행 중인 상태에서
npx playwright test382개 Playwright E2E 테스트: 스마트 폐기 시나리오, 인증, API, UI 검증.
- Frontend: Vanilla HTML / CSS / JS (프레임워크 없음)
- Backend: Go 1.26 (net/http, bcrypt)
- Database: rqlite 8.x (분산 SQLite)
- DPS Simulation: gcsim (내재화, MIT)
- Test: Playwright (Chromium)
- Infra: Docker Compose
- CI/CD: GitHub Actions → GHCR (
ghcr.io/agentdawn/lazyimpact)
- LazyImpact: MIT
- gcsim (server/gcsim/): MIT — Copyright (c) 2021 genshinsim