목차
요약
이 문서는 “예전 문서 설명이 아직 남아 있거나, server 모드 중심 사고방식이 남아 있는 상태”에서 9.1.0의 NSFWJS 구조로 넘어갈 때 꼭 바꿔야 할 관점을 정리합니다.
무엇이 바뀌었는가
9.0.0
- 브라우저 NSFW 파일을 자체 추론 엔진 또는 워커 메시지 중심으로 이해
- 서버 API 문서를 현행 기본 경로처럼 설명
- UI와 분류 엔진의 경계를 명확히 나누지 않음
9.1.0
- 브라우저 NSFW 파일은 NSFWJS 래퍼
- 현행 기본 경로는 browser 모드
- 기존 UI는 유지하고, 엔진만 교체
- self-hosted vendor 경로를 운영 기준으로 문서화
- 결과를
safe / suspect / unsafe / error로 해석
문서에서 반드시 바꿔야 하는 표현
| 바꾸기 전 | 바꾼 뒤 |
|---|---|
| “핵심 엔트리 포인트는 nsfw_api_server.php” | “기본 권장 경로는 nsfw_api_browser.js이며, server 경로는 레거시 또는 대체 경로로 본다” |
| “워커 메시지를 처리한다” | “NSFWJS 모델 로드와 결과 정규화를 담당한다” |
| “단순 nsfw 여부를 반환한다” | “safe / suspect / unsafe / error 라벨을 반환한다” |
| “CDN 또는 외부 경로 사용” | “self-hosted vendor 구조를 우선 고려한다” |
코드 관점의 변경 체크리스트
1. 설정값 추가
T2_NSFW_RUNTIME_ASSET_BASET2_NSFW_BROWSER_MODELT2_NSFW_BROWSER_MODEL_TYPET2_NSFW_BROWSER_MODEL_URLT2_NSFW_BROWSER_BACKEND_PRIORITY
2. 브라우저 API 책임 변경
- 워커 중심 설명 제거
NSFWFilterAPI중심 설명 추가load,_selectBackend,classify,dispose문서화
3. 이미지 플러그인 정책 변경
checkNSFW(file)결과 구조 업데이트applyNSFWFilter()에서suspect처리 추가- 업로드 모달 상태 배지와 하단 상태바를 새 라벨 체계에 맞춤
4. 운영 문서 변경
/vendor구조 문서화T2EDITOR_URL과 실제 설치 URL 일치 여부 강조- WebGPU 실패 시 폴백 전략 문서화
테스트 관점의 변경 체크리스트
| 테스트 항목 | 확인 포인트 |
|---|---|
| 모델 로딩 | model.json이 정상적으로 열리는가 |
| 백엔드 선택 | WebGPU 또는 폴백이 정상적으로 선택되는가 |
| 상태 표시 | 미리보기 카드와 상태바가 결과를 반영하는가 |
| 경고 정책 | suspect와 unsafe가 정책대로 처리되는가 |
| 오류 처리 | 모델 로딩 실패 시 error가 보이는가 |
문서 유지보수 팁
레거시 구조와 새 구조를 한 문서에 섞어 쓰면 혼란이 커집니다. 가능하면 “현재 기본 경로”와 “레거시 호환 경로”를 별도 절로 나누어 서술하는 편이 좋습니다.
수정 요약
마이그레이션의 핵심은 “파일 교체”보다 “관점 교체”입니다.
- 브라우저 모드를 기본 경로로 재정의
- NSFWJS 기반 엔진으로 문서 갱신
- self-hosted 운영 문서 추가
- 이미지 UI 문서에서
suspect상태를 별도 취급