유니챗 전용 유저스크립트(Univers Scene Painter 6.4.11)를 여러 플랫폼에서 쓸 수 있는 크롬 확장으로 옮긴 버전입니다.
설치
chrome://extensions 입력scene-painter-ext 폴더 선택유저스크립트(탬퍼몽키)와 같이 켜 두면 버튼이 두 번 붙습니다. 확장을 쓸 땐 유저스크립트를 꺼 주세요.
사용
위치 초기화 · 관리 페이지 열기
자가 진단 · 자동 복구 (규칙표)
API를 쓰지 않고 “이런 경우엔 이렇게” 규칙으로 고칩니다. 자동으로 고치면 알림에 되돌리기가 함께 나옵니다. (관리 페이지 › 환경설정에서 끌 수 있음)
| 상황 | 처리 |
|—|—|
| 셀렉터 문법이 깨짐 | 기본값으로 되돌리기 / 비우기 |
| 메시지 묶음 표시 이름이 바뀜 (예: data-message-id → data-msg-key) | 새 속성을 찾아 묶음 셀렉터 고치기 |
| 본문 클래스가 조금 바뀜 | AI 답변 표시(역할 속성)는 지킨 채 셀렉터를 느슨하게 |
| 지금 설정은 안 되는데 기본값/예전 설정은 됨 | 기본값 · 마지막으로 잘 되던 설정으로 |
| 본문 글이 너무 짧음 (이름표를 고름) | 한 단계 넓히기 |
| 본문 안에 본문이 겹침 | 바깥 것만 쓰기 |
| 내 메시지가 섞임 | user 같은 역할 표시를 찾아 제외 |
| 하단 줄을 못 찾음 / 본문까지 품음 | 하단 비우기(본문 아래 자동 줄) |
| 삽화 버튼이 두 번 붙음 | 버튼 다시 붙이기 |
| 채팅방 주소 규칙이 안 맞음 | 주소 자동 판별로 |
툴바의 확장 아이콘(팝업)에서 사이트를 켜고 끄거나, 목록에 없는 사이트를 이 사이트에서 사용하기로 추가할 수 있습니다.
기본으로 들어 있는 사이트
| 사이트 | 상태 |
|---|---|
| 유니챗 | 기존 유저스크립트 판별 로직 그대로 (자동 인식) |
| 엘린 · 로판 AI · 리루 · 우마이 | 2026-10 DOM으로 프리셋 검증 완료 |
| 케이브덕 | 첫 인사말 기준 프리셋 (내 메시지 구조는 미확인 → 필요하면 “내 메시지 제외 지정”) |
| 티팟 | 프리셋 없음 → 🎨 메뉴에서 본문/하단 위치 지정 |
저장 구조 (플랫폼별 · 채팅별)
<플랫폼>__<채팅ID> (예: elyn__66b310b1-…). 방별 설정 · 장면 기록 · 이미지가 이 키로 나뉩니다.이미지는 확장 IndexedDB, 설정/기록은 chrome.storage.local(용량 제한 없음)에 저장됩니다.
관리 페이지
확장 아이콘 → 관리 페이지 열기 (또는 🎨 메뉴 › 관리 페이지 열기, 확장 옵션)
images/플랫폼/채팅/날짜.png 폴더로 정리해서 ZIP 하나로. 그 ZIP 그대로 복원 가능. 범위(전체/플랫폼) · 형식(ZIP/.cspbak) · API 키 포함 여부 선택(기본 제외). 복원은 합치기/덮어쓰기사이드바의 저장 공간은 이미지 + 설정·기록을 합친 실제 사용량입니다
유저스크립트 기록 옮기기
유니챗 채팅방에서 🎨 메뉴 › 유저스크립트 기록 가져오기. 유저스크립트가 univers.chat 사이트 저장소에 남긴 설정 · 방별 설정 · 장면 기록 · 이미지를 확장으로 복사합니다(원본은 지우지 않음). 가져온 뒤 새로고침하세요.
파일
manifest.json MV3 설정
background.js 사이트 주입 · API 요청 대리(CORS) · 이미지 저장소
content/loader.js 모든 페이지에 붙는 작은 스크립트 (켜진 사이트만 본체 주입)
content/bootstrap.js 저장소/네트워크 연결, 위치 지정 피커
content/core.js 기존 유저스크립트 본체 + 범용 DOM 어댑터 + 플로팅 버튼
shared/platforms.js 사이트 프리셋 · 채팅 ID 규칙
shared/imagedb.js 이미지 IndexedDB
manager/ 관리 페이지
popup/ 툴바 팝업