프로젝트 소개
프로젝트 포지셔닝
본 프로젝트는 토마토 소설 장편 연재 시나리오를 위한 Windows 로컬 데스크톱 워크스테이션으로, 기술 스택은 Electron, React, TypeScript 및 SQLite입니다. 앱은 토마토 계정에 로그인하지 않으며 작품을 자동으로 게시하지 않습니다. 모든 게시 작업은 작가가 플랫폼 백엔드에서 수동으로 완료합니다. 핵심 아이디어는 「랭킹 연구—샘플 분석—오리지널 기획—롤링 플랜—챕터별 집필—상태 장부—품질 검수—일정 게시—데이터 복기」를 감사 가능한 로컬 파이프라인으로 연결하는 것입니다.
주요 기능
시장 연구 측면에서는 로그인 없이 접근 가능한 공개 랭킹 페이지 수집 또는 랭킹 CSV 임포트를 지원하며, 여러 날짜의 스냅샷 비교가 가능합니다. TXT, EPUB, DOCX 임포트 또는 텍스트 붙여넣기 시 챕터 분할 미리보기를 제공한 후 데이터베이스에 저장합니다. 샘플 분석은 로컬 분석만 지원하거나, 개별 동의 하에 10챕터 단위로 클라우드 모델을 호출하여 챕터, 10챕터 단계, 권(卷), 전체 도서의 4단계 증거를 산출하며, 내장된 중국 상업 웹소설 지식 베이스에 따라 챕터별로 기대감, 핵심 이익, 능동적 행동, 정서적 보상, 실제 영향 및 다음 기대감을 추출합니다.
집필 측면에는 창작 계약 승인, 거시적 단계 및 권 설정, 향후 30챕터 초안, 향후 5챕터 세부 개요, 현재 챕터 씬 카드가 포함됩니다. 집필대에서는 챕터 개요 저장 및 컴파일된 최소 컨텍스트 미리보기가 가능하며, 이를 통해 본문을 생성하거나 직접 작성할 수 있습니다. 일반 챕터는 5챕터 단위 배치를 지원하며, 실행 전 입력/출력 및 비용 추정치를 표시합니다. 핵심 챕터, 권 경계, 중대한 상태 변화, 사실 충돌 또는 하드 경고 발생 시 자동으로 챕터별 처리를 요구합니다. 상태 장부는 인물, 관계, 능력, 자원, 장소, 타임라인, 비밀, 약속, 복선, 서브 플롯 및 이벤트를 관리하는 데 사용됩니다.
모델 및 컨텍스트
시스템 설정에서 OpenAI / 호환 인터페이스 또는 Anthropic Claude 프로토콜을 선택하고 기본 주소와 모델명을 입력할 수 있으며, 비용 추정을 위한 입출력 단가를 설정합니다. 긴 작업의 총 제한 시간은 5, 10, 15분 중에서 선택 가능하며, 스트리밍 응답 중 180초 동안 데이터가 없으면 조기 종료됩니다. API 키는 Windows Credential Manager에 저장되며, SQLite, 로그, 프로젝트 디렉토리 또는 백업 패키지에 기록되지 않습니다. Anthropic 호출은 공식 API 키를 사용하며, Claude Code / Claude Max 로그인 상태를 읽지 않습니다. 관련 사실 검색은 로컬 한자 유사도 인덱스를 사용하며, 클라우드 벡터 모델을 호출하지 않습니다.
컨텍스트는 안정도에 따라 계층별로 렌더링됩니다. 창작 계약은 system 프롬프트의 고정 하단에 배치되고, 이번 챕터 작업은 생성 지점과 가깝게 배치됩니다. 스토리 바이블의 긴 리스트는 설정 항목으로 변환되어 적용 챕터 구간, 독자 공개 챕터 및 언급 시점에 따라 필터링되어 주입되며, 세계관 규칙과 시간 앵커는 기본적으로 상주합니다. 모델 컨텍스트 윈도우는 탐지 결과를 우선하며, 미입력 시 클라우드는 1M, 로컬은 32k로 추론하거나 수동으로 덮어쓸 수 있습니다.
인적 게이트웨이
창작 계약이 승인되지 않으면 플랜 승인이나 본문 생성이 불가능합니다. 해결되지 않은 하드 문제가 있는 챕터는 최종 확정하거나 게시 큐에 진입할 수 없습니다. 승인된 계약, 승인된 플랜, 확정 또는 게시 중인 챕터를 수정하려면 먼저 개요 변경 신청서를 승인해야 합니다. AI는 후보, 초안 및 제안만 생성하며, 자동으로 확정, 개요 수정 또는 게시를 수행하지 않습니다. 품질 검수는 항상 오프라인 규칙을 실행하며, 모델 설정 후 본문 또는 장부 증거를 포함한 시맨틱 교정을 추가합니다.
격리 및 보안
원본 샘플은 research\research.sqlite에만 저장됩니다. 클라우드 샘플 분석 시에는 로컬에서 비식별화된 챕터 조각만 전송합니다. 창작 모델은 비식별화된 인사이트 팩만 수신하며 연구 원문을 수신하지 않습니다. 작품 품질 검수 기록은 익명 연구 참조와 핑거프린트만 저장합니다. Electron 렌더링 프로세스는 sandbox, context isolation 및 콘텐츠 보안 정책(CSP)을 활성화하며, Node.js 통합을 개방하지 않습니다. IPC는 메인 윈도우 호출만 허용하며, 공개 API는 Zod 파라미터 스키마를 등록해야 하고 미등록 채널은 기본적으로 거부됩니다. 랭킹 수집 및 모델 주소는 HTTP/HTTPS만 허용하며, 로컬 호스트, 사설망 및 예약 주소는 거부합니다.
데이터, 백업 및 신뢰성
기본 작업 영역은 사용자 문서 디렉토리의 「长篇创作工作台数据」에 위치하며, catalog.sqlite, 연구 라이브러리, 작품별 독립 project.sqlite, 첨부 파일, 내보내기 및 백업 디렉토리를 포함합니다. 서로 다른 작품 간에는 프로젝트 교차 전체 텍스트 또는 벡터 검색을 수행하지 않습니다. 백업 파일 .novelbak은 AES-256-GCM 암호화를 사용하며, 데이터베이스, 작품 디렉토리, 첨부 파일 및 파일 목록을 포함합니다. 생성 전 SQLite checkpoint를 실행하고, 임시 파일에 먼저 쓴 뒤 완전한 복호화 검증을 거쳐 대상을 교체합니다. 복구 시에는 새로운 복제본 디렉토리에 쓰며, 사용 중인 작업 영역을 덮어쓰지 않습니다. 자동 백업은 매일 또는 매주 실행 가능하며 최근 1~30개를 보관하고, 전용 비밀번호는 Windows Credential Manager에만 저장됩니다.
시스템 상태 페이지에서 각 라이브러리의 SQLite 무결성을 수동으로 점검하고, 챕터 기록과 두 세트의 FTS 인덱스 수량을 대조하며, 고립된 디렉토리, 실패한 작업 및 디스크 점유율을 보고할 수 있습니다. 인덱스는 트랜잭션 방식으로 재구축 가능하며, 손상되었거나 누락된 파일은 보고만 할 뿐 자동으로 삭제하거나 이동하지 않습니다. AI 작업 센터는 상태, 모델, 실제 토큰, 비용 및 소요 시간을 기록하며, 비정상 종료 후 실행 중이던 작업은 중단된 것으로 표시됩니다. 본문 작업은 취소하거나 안전하게 재시도할 수 있습니다. 데스크톱 로그는 JSON Lines 형식을 사용하며, 디스크 쓰기 전 API 키, Bearer, URL 자격 증명 및 사용자 디렉토리를 비식별화하고, 본문과 데이터베이스를 제외한 진단 ZIP 파일을 내보낼 수 있습니다.
배포 및 업데이트
Windows 배포는 NSIS 설치 패키지를 사용하며, 무설치 빌드는 release\win-unpacked에 위치합니다. 현재 개발 버전은 상업용 코드 서명 인증서가 없어 SmartScreen에서 알 수 없는 게시자로 표시될 수 있습니다. 자동 업데이트는 패키징된 앱에서만 활성화되며, 시작 15초 후 확인하고 이후 6시간마다 재확인하며, 백그라운드에서 다운로드하고 자동으로 재시작하지 않습니다. 설치 전 암호화된 pre-update 스냅샷을 생성하며, 설치 프로그램 실패 시 현재 버전을 유지합니다. 업데이트 소스는 프로젝트 GitHub Releases로 고정되어 latest.yml만 요청하며, 본문, 장부 또는 자격 증명을 업로드하지 않고 환경 변수를 통해 완전히 비활성화할 수 있습니다. 배포 파이프라인은 인증서와 게시자 이름 등 3개의 GitHub Secrets 설정이 필요하며, v* 태그가 테스트, 빌드, 서명 및 배포를 트리거합니다.
엔지니어링 및 품질 기준
로컬 개발은 Node.js 22 LTS와 Windows 10/11을 권장하며, 명령어로 npm test, test:quality, test:scale(10권 × 1500챕터 × 300만 자 용량), test:e2e, build, test:electron 및 dist:win을 사용합니다. src/shared/quality-benchmark-corpus.ts에는 프롬프트 버전과 바인딩된 고정 사례를 저장하여 캐릭터 지식 경계, 자원 보존, 시간/장소 충돌, 연속 보상 메커니즘 반복 및 정상 챕터 오탐지 제어를 커버합니다. 품질 테스트는 문제 재현율, 정확도, 심각도 정확도, 증거 정확도 및 오탐지 제어율을 각각 계산하며, 토큰 비용을 별도로 측정합니다. 결함 주입은 NODE_ENV=test에서만 활성화되어 디스크 꽉 참, 제출 전 전원 차단 및 자격 증명 불가 상황을 시뮬레이션합니다. 프로젝트는 별도의 아키텍처, 도메인 규칙, 지식 베이스 및 보안 모델 문서를 보유하고 있으며 MIT License로 오픈 소스화되어 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.