Aerdelan/MirrorNovel
AI小说生成/润色/续写/专家团/人格赋予,内置番茄小说下载器(需有一个svip账号)导出txt格式,项目自带蒸馏功能(目前暂时移除),可蒸馏导入小说的整体框架、写作风格、精彩片段,并活用于之后生成的该类型小说
MirrorNovel – AI 기반 장편 소설 작성 플랫폼
무엇인가요
- 대규모 언어 모델의 도움을 받아 소설(전통적인 웹소설 및 라이트노벨 스타일)을 작성할 수 있는 풀스택 웹/데스크톱/모바일 애플리케이션입니다.
- 작업 흐름은 개요 → 블루프린트 → 장별 글쓰기 → 다듬기이며, 각 단계가 UI로 스트리밍되어 저자가 모델의 "사고"를 실시간으로 관찰하고 언제든지 중단할 수 있습니다.
주요 기능
| 기능 | 제공되는 기능 |
|---|---|
| 전체 책 또는 단일 장 모드 | 한 번에 전체 소설을 쓰거나, 한 장씩 집중해서 작성할 수 있습니다. |
| 스트리밍 생성 (SSE) | 개요, 블루프린트, 글쓰기, 다듬기 및 편집 단계가 생성되면서 브라우저로 스트리밍되며, 실시간 토큰 사용량 카운터가 제공됩니다. |
| 연속성 엔진 | 지속적인 장 요약, 예고 요소, 캐릭터 상태, 감정 곡선, 미해결 질문이 저장되어 장 간에 자동으로 재사용됩니다. |
| 글쓰기 성격 (Persona) | 사전 설정된 성격을 선택하거나, 템플릿을 편집하거나 AI가 성격을 생성하여 음성, 리듬, 스타일을 제어합니다. 각 소설은 성격을 스냅샷으로 저장하므로, 나중에 변경해도 기존 텍스트에 영향을 주지 않습니다. |
| 전문가 리뷰 모드 | 각 장이 완료된 후 시스템이 자동으로 연속성 검사를 수행하고 문제 영역을 자동으로 수정할 수 있습니다. |
| 다듬기 및 편집 엔진 | 두 단계의 "AI 제거" 재작성(차이 보기 포함)과 세 단계 워크플로우(구조 → 스타일 → AI 제거). |
| 가져오기 및 이어쓰기 | .txt 파일을 업로드하거나 기존 글을 붙여넣기합니다. AI가 문맥(등장인물, 플롯 포인트 등)을 추출하고 이야기를 이어갑니다. |
| 다중 모델 라우팅 | 각 작업 유형(개요, 글쓰기, 추론, 다듬기, 기억)에 대해 OpenAI 호환 엔드포인트 또는 Ollama 서버를 지정할 수 있습니다. |
| 관리 콘솔 | 사용자 관리, 모델 라우트 설정, 데이터 개요를 위한 대시보드입니다. |
| 다중 플랫폼 클라이언트 | Vue 3 웹 UI, Electron 기반 Windows 데스크톱 클라이언트, uni-app 모바일 앱(안드로이드 APK). |
작동 방식
- 프론트엔드: 저자용 Vue 3 SPA, 별도의 Vue 3 관리용 SPA, uni-app 모바일 빌드. 모두 REST 및 Server-Sent Events (SSE)를 통해 백엔드와 통신합니다.
- 백엔드: Node.js로 작성된 Express 4 API. Mongoose를 사용해 소설, 장, 성격, 요약 등을 MongoDB에 저장합니다.
- AI 계층: 각 작업에 대해 OpenAI 호환 챗 완성 서비스(또는 로컬 Ollama)를 호출하며, 작업별 라우팅을 지원합니다. 심층 사고 모델(GLM-thinking, DeepSeek-R1 등)을 지원하며, 추론 예산과 글쓰기 예산을 분리하여 "토큰 낭비"를 방지합니다.
- 데스크톱 클라이언트: 정적 웹 자산을 번들링하고 API 호출을 프록시하는 Electron 쉘로, NSIS를 사용해 Windows 설치 파일로 패키징됩니다.
빠른 시작 (개발용)
# 복제 및 모든 부분 설치
git clone https://github.com/Aerdelan/MirrorNovel.git
cd MirrorNovel
# 서버 의존성
cd server && npm install && cp .env.example .env # .env를 편집: MongoDB, JWT 비밀, 모델 키
# 클라이언트, 관리자, 모바일 의존성
cd ../client && npm install
cd ../admin && npm install
cd ../app && npm install
# 별도 터미널에서 세 서비스 실행
cd ../server && npm run dev # API는 :3000
cd ../client && npm run dev # 저자 UI는 :5173
cd ../admin && npm run dev # 관리자 UI는 :5174
요구사항: Node ≥ 18, MongoDB ≥ 6, OpenAI 호환 모델 엔드포인트(또는 Ollama).
데스크톱 배포
- 각 태그에서 GitHub Actions를 통해 자동으로 사전 빌드된 Windows 설치 파일(
MirrorNovel Setup x.y.z.exe, 약 79 MB)과 포터블win-unpacked폴더가 업로드됩니다. - 설치 파일은 서명되지 않았으며, 처음 실행 시 Windows SmartScreen이 경고를 표시합니다.
- 데스크톱 앱은 단순한 쉘일 뿐이며, 여전히 원격 백엔드(기본은 공식 서버)에 연결되며, 설정에서 구성 가능합니다.
배포 팁
- Vue 클라이언트를 빌드(
npm run build)하고 Nginx/Caddy로 정적 파일을 제공합니다. - Express API는 프로세스 매니저(PM2, systemd, Docker-Compose) 뒤에서 실행합니다.
/api를 API로 프록시하고, SSE 타임아웃을 길게 설정하세요. - MongoDB 인스턴스를 보안하고, JWT 비밀과 모델 키를 리포지토리 외부에 두며, HTTPS를 활성화하고 인증 엔드포인트에 레이트 제한을 추가하세요.
라이선스
- 리포지토리는
LICENSE파일에 기재된 라이선스 하에 배포됩니다(README에는 정확한 SPDX 식별자가 표시되지 않음). 사용자는 연결하는 제3자 모델 서비스의 이용 조건도 준수해야 합니다.
MirrorNovel은 스트리밍 LLM 생성, 장기적 내러티브 메모리, 다중 플랫폼 UI를 결합한 진정한 오픈소스 AI 지원 작문 플랫폼으로, 저자가 장편 소설을 창작하는 데 도움을 줍니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트