ExplosiveCoderflome/AI-Novel-Writing-Assistant
面向长篇小说创作的 AI Native 开源系统,用 Agent、世界观、写法引擎、RAG 和整本生产工作流,帮助新手从一句灵感走到完整小说。AI-native engine for end-to-end novel creation — from idea to full chapters, with structured planning, worldbuilding, and agent-driven workflows.
무엇인지
AI 소설 작성 보조기는 대규모 언어 모델의 도움을 받아 완전한 장편 소설을 작성할 수 있도록 도와주는 오픈소스, 전단계 애플리케이션입니다. 단순히 '문장을 쓰면 AI가 완성해주는' 챗 인터페이스가 아닙니다. 계획 수립, 세계관 구축, 등장인물 설정, 장 생성, 검토, 수정, 심지어 파생 만화/단편 드라마 생성까지 포함된 다단계 생산 파이프라인을 조율합니다. 시스템의 핵심은 Express 백엔드 내부에서 실행되는 LangChain과 LangGraph 에이전트이며, 프론트엔드는 React + Vite 클라이언트입니다. 모든 데이터는 로컬 SQLite 데이터베이스에 저장되며, Qdrant를 통해 벡터 검색을 활용한 RAG(검색 증강 생성)을 선택적으로 지원합니다.
누구를 위한 것인가
| 대상 | 왜 중요한가 |
|---|---|
| 초보 작가 – 아이디어는 있지만 책 전체를 어떻게 구성해야 할지 모르는 사람 | "자동 감독자" 기능은 단 하나의 시작 문장으로부터 전체 책 개요, 등장인물 목록, 장별 계획을 자동 생성하여 사용자가 안내된 워크플로우를 따를 수 있게 합니다. |
| 개발자 / AI 연구자 – 에이전트 기반 워크플로우, LangGraph 조율, 또는 AI 기반 제품 설계에 관심 있는 사람 | 레포지토리는 전체 에이전트 런타임, 모델 라우팅, 체크포인트/복구 로직, RAG 통합을 공개하고 있으며, 긴 체인 AI 애플리케이션의 구체적인 예시입니다. |
| 콘텐츠 창작자 – 소설에서 파생된 만화나 단편 드라마 스크립트를 생성하고 싶은 사람 | 내장된 "파생 작업실" 모듈은 생성된 장들을 시각적 스토리보드와 스크립트 초안으로 변환할 수 있습니다. |
주요 기능 (README에 설명된 내용)
- 자동 감독자 – 한 줄의 영감을 주는 문장에서 시작; 시스템은 여러 가지 전체 책 방향, 제목, 세계관, 등장인물 설정을 제안합니다. 사용자는 방향을 반복 조정하거나 수락하고 글쓰기로 넘어갈 수 있습니다.
- 창의적 허브 / 에이전트 런타임 – 자연어 형태의 의도가 적절한 에이전트 단계(계획, 도구 호출, 상태 카드 등)로 라우팅되는 통합 UI입니다.
- 생산 체인 – 일시 정지 및 재개 가능한 파이프라인으로 연결됩니다:
- 책 수준 프레임 → 세계 및 등장인물 준비 → 볼륨 전략 → 장 리듬 → 장 생성 → AI 검토 → 품질 수정 → 상태 보충 → 다음 장.
- 체크포인트 및 복구 – 각 단계에서 상태를 저장합니다; 모델 할당량이 부족하거나 오류가 발생해도 마지막 체크포인트에서 워크플로우를 재개할 수 있습니다.
- 역할 및 세계 자산 라이브러리 – 계층적인 등장인물 프로필(간략 → 깊이)과, 생성 과정 중 RAG를 통해 질의 가능한 "세계 안내서"입니다.
- 스타일 엔진 및 AI 회피 규칙 – 반복적인 서사 양식을 피하기 위해 생성 과정에서 토글, 결합, 적용 가능한 재사용 가능한 글쓰기 스타일 자산입니다.
- Qdrant를 이용한 RAG – 책 분석(拆书)과 지식 기반 문서는 Qdrant에 색인화됩니다. 임베딩은 중복 제거 후 저장되며, 이후 장 생성에 정보를 제공할 수 있습니다.
- 파생 작업실 – 완성된 소설 콘텐츠에서 만화 패널이나 단편 드라마 스크립트를 생성하는 옵션 모듈입니다.
- 데스크톱 클라이언트 – Windows 설치 파일(
Setup.exe)과 빠른 시작을 위한 포터블 버전, 그리고 문서와 데모를 보여주는 GitHub Pages 사이트가 포함되어 있습니다. - 다중 제공업체 모델 라우팅 – OpenAI, DeepSeek, SiliconFlow, xAI 등 다양한 제공업체를 지원합니다. 각 작업(계획, 생성, 검토, 임베딩)마다 다른 모델을 할당할 수 있습니다.
- 풍부한 문서화 – 설치, FAQ, 단계별 소설 생성, 아키텍처, 복구 가이드 등을 포함한 30개 이상의 마크다운 문서.
시작 방법 (빠른 시작 요약)
- 사전 요구 사항 – Node 20.19 LTS(또는 그 이상) 및 pnpm ≥ 10.6.
- 설치 –
pnpm install(백엔드 및 프론트엔드 종속성 설치; 데스크톱 버전을 실행하지 않으면 Electron 런타임은 다운로드되지 않습니다). - 구성 – 서버 및 클라이언트용 예제
.env파일을 복사하고, 최소한DATABASE_URL(SQLite는 즉시 사용 가능)과 LLM API 키를 설정합니다. - 실행 –
pnpm dev는http://localhost:3000에서 Express API와http://localhost:5173에서 React UI를 시작합니다. - 첫 사용 – UI를 열고 설정 → 모델 API 키 추가 → 단 하나의 영감 문장을 입력하여 새로운 소설을 시작합니다.
- (옵션) RAG 활성화 –
RAG_ENABLED=true로 설정하고 Qdrant Cloud URL/API 키를 제공하여 세계/지식 검색을 위한 벡터 검색을 사용합니다.
기술적 특징
- 모노레포 – pnpm 워크스페이스(
client/,server/,shared/)로 관리. - 백엔드: Express 5 + Prisma ORM (SQLite) + Zod 검증.
- AI 조율: LangChain은 LLM 호출에, LangGraph는 다단계 에이전트 그래프와 상태 관리에 사용됩니다.
- 프론트엔드: React 19, Vite, TanStack Query, Plate(rich-text editor) – 모두 TypeScript로 작성됨.
- RAG 스택: Qdrant 벡터 DB, 구성 가능한 임베딩 제공업체, 중복 벡터를 방지하기 위한 자동 청크 해싱.
- 모델 라우팅 UI – 전용 설정 페이지에서 개별 제공업체 모델을 숨기거나 표시하고 특정 작업에 할당할 수 있습니다.
- 체크포인트 시스템 – 각 파이프라인 단계는 출력을 SQLite DB에 기록합니다. UI는 어떤 체크포인트에서도 진행 상황을 잃지 않고 재개할 수 있습니다.
라이선스 및 기여
- 이중 라이선스: 기본적으로 AGPL-3.0, 저자로부터 상업용 SaaS 라이선스도 제공됩니다.
- 기여는 풀 리퀘스트를 통해 받으며, CLA가 필요합니다. README에는 명확한 기여 가이드와 고영향 영역 목록(생산 체인의 안정성, 초보자 온보딩, 스타일 엔진, 지식 기반 보충 등)이 나와 있습니다.
결론
만약 실제 세계에서 장기간 지속되는 창작 작업을 위해 LLM 에이전트를 어떻게 연결할 수 있는지를 연구급 예시로 찾고 있다면, 또는 단 하나의 아이디어로 전체 소설을 완성할 수 있는 도구(옵션으로 만화/단편 드라마 파생작 생성 포함)를 원한다면, 이 레포지토리는 완전하고 문서화되며 실행 가능한 솔루션을 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트