RachelForster/Shinsekai

AI RPG maker

신세카이(Shinsekai) – 비주얼 노벨 스타일 RPG를 위한 AI 기반 데스크톱 어시스턴트

개요 – 신세카이(新世界)는 갸루게, 오토메 게임, 스토리 중심 RPG의 캐릭터와 채팅할 수 있는 로컬 실행 데스크톱 애플리케이션입니다. 대화는 대규모 언어 모델(LLM)에 의해 생성되며, 시스템은 캐릭터의 입화(立绘)와 감정 표현을 자동으로 동기화하고, 선택적으로 음성 합성(TTS)과 음성 인식(ASR)을 추가합니다. 모든 구성 요소(LLM, TTS, ASR, 이미지 생성, 사용자 정의 도구)는 React 기반 설정 UI에서 구성할 수 있으며 플러그인으로 확장할 수 있습니다.


핵심 기능

모듈 제공 기능
역할 및 템플릿 관리 캐릭터 팩 가져오기/내보내기(.char), AI 지원 역할극 설정 생성, 다중 캐릭터 채팅 템플릿 적용, 대화 기록 유지, 세션 저장/로드.
입화 및 연기 캐릭터별로 여러 입화 이미지를 첨부하고 각각에 감정 태그를 지정하며, UI가 대화의 감정 명령에 따라 이미지를 자동으로 전환합니다.
음성 GPT-SoVITS, Genie TTS, CosyVoice 등을 통한 텍스트 음성 변환; 선택적 사전 녹음 음성 파일 재생. 음성 인식은 기본적으로 Vosk, 플러그인을 통해 Whisper 스타일 백엔드 가능.
LLM 및 도구 API 설정 파일을 통해 OpenAI 호환 엔드포인트(DeepSeek, OpenAI 등)에 연결. 스트리밍 응답 및 도구 호출 지원; 도구는 내장 어댑터, 플러그인 또는 외부 MCP 서버에서 제공할 수 있습니다.
텍스트-이미지(T2I) ComfyUI 서버(또는 다른 어댑터)를 연결하여 캐릭터 아트를 그때그때 생성; 설정은 동일한 API 설정 창에 있습니다.
React 설정 센터 API 키, 모델 ID, 입화 리소스, 테마, 플러그인, MCP 연결을 관리하는 웹 기반 UI(webui_react.py).
플러그인 시스템 SDK를 통해 개발자는 새 어댑터(LLM, TTS, ASR, T2I), 새 도구, UI 패널을 추가할 수 있습니다. 플러그인은 data/config/plugins.yaml에 나열되며 설정 UI에서 설치/활성화할 수 있습니다.
MCP(Model Context Protocol) 플러그인을 작성하지 않고 원격 도구 서비스(SSE 또는 stdio)를 등록; 원격 도구는 현재 LLM의 도구 세트의 일부가 됩니다.
테마 편집기 채팅 창 스킨의 시각적 편집 – 글꼴, 색상, 레이아웃, 이름표 등.
로컬 우선 데이터 모든 구성, 캐릭터 팩, 기록, 생성된 자산은 data/ 아래에 있어 백업 및 오프라인 사용이 간편합니다.

빠른 시작(약 5분)

  1. 코드 가져오기 – git clone https://github.com/RachelForster/Shinsekai && cd Shinsekai (또는 릴리스 패키지 다운로드).
  2. 설치 – 플랫폼별 install.* 스크립트를 실행하거나 environment.yml에서 Conda 환경을 만들고 pip install -r requirements.txt를 실행합니다.
  3. 설정 UI 시작 – start-react.*(Windows/macOS/Linux)를 더블 클릭합니다. 스크립트는 로컬 Python HTTP 브리지를 시작하고 브라우저에서 React 설정 페이지를 엽니다.
  4. LLM 구성 – API 설정에서 공급자를 선택하고 모델 ID, API 키, 기본 URL을 입력한 후 저장합니다.
  5. 캐릭터 추가 – 역할 관리 탭에서 .char 팩(예: 릴리스의 nanami.char)을 가져옵니다.
  6. 채팅 템플릿 만들기 – 사용할 캐릭터를 선택하고 템플릿을 생성한 후 메인 채팅 창을 엽니다.
  7. 대화 – 입력하거나 말하기; LLM이 응답하고, 감정 태그에 따라 입화가 전환되며, 선택적 TTS가 대사를 읽어줍니다.

신세카이 확장

  • 플러그인 – plugins/ 아래에 플러그인 폴더를 놓고 data/config/plugins.yaml에 나열하거나 내장 플러그인 레지스트리 UI에서 설치합니다. 제공된 SDK(python -m sdk.cli create …)를 사용하여 새 어댑터, 도구, UI 패널을 구성합니다.
  • MCP 서비스 – mcp Python 패키지를 설치하고 호환 서버를 실행한 후 data/config/mcp.yaml(또는 설정 UI)을 해당 서버로 지정합니다. 원격 도구가 LLM의 도구 목록에 자동으로 나타납니다.
  • 사용자 정의 T2I 파이프라인 – API 설정에서 ComfyUI 엔드포인트(또는 다른 T2I 서비스)를 구성한 다음 캐릭터 입화 생성 단계에서 워크플로/노드 ID를 참조합니다.

데스크톱 앱 빌드(Tauri)

네이티브 데스크톱 래퍼를 원한다면:

cd frontend
pnpm install
pnpm tauri:dev   # 개발용
pnpm tauri build  # 릴리스 패키지용

빌드 프로세스는 React 프런트엔드를 번들하고, 업데이터에 서명하며(TAURI_SIGNING_PRIVATE_KEY 설정), 대상 OS용 설치 프로그램을 생성합니다.


라이선스 및 커뮤니티

  • 라이선스 – 소스 코드는 공개되어 있지만, 컴파일된 앱, 릴리스의 재배포 또는 상업적 사용에는 서면 허가가 필요합니다(LICENSE 참조).
  • 커뮤니티 – QQ 그룹 928985460, GitHub 이슈 트래커 및 별도의 플러그인 레지스트리 저장소.

결론

신세카이는 LLM 기반 대화, 동적 캐릭터 입화, 음성 합성, 확장 가능한 도구를 결합한 상당히 완전한 로컬 호스팅 플랫폼으로, 인터랙티브 스토리텔링을 가능하게 합니다. 무거운 작업을 클라우드 서비스에 의존하지 않고 자급자족하는 “비주얼 노벨 채팅” 경험을 원하는 취미 사용자와 창작자를 위해 설계되었습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트