# AIACube Reader 2.0 추가 개발계획안 — 운수 좋은 날 적용판 2.2

작성일: 2026-09-30. 제품 계열은 Reader 2.0, 이번 배포 후보 버전은 2.2.0이다. 특허 검토는 보류하며 기존 특허 문서는 수정하지 않는다. 이 문서는 현재 구현 상태를 기준으로 기존 추가 개발계획을 보완한다.

## 1. 이번 결과와 범위

현진건 『운수 좋은 날』 현대어 번안 원고를 사용하는 웹 이북과 EPUB을 제작했다. 원고 92개 블록(판본 안내 포함), 낭독 단위 331개 문장, 주석 71개를 유지한다. Markdown 원본도 패키지에 보관한다. 웹에는 독서·메모·낭독·본문 근거 AI 질문 기능을 제공하고, EPUB에는 본문과 연결 주석을 제공한다. EPUB 앱에서 웹 AI 기능이 실행된다는 의미는 아니다.

이번 추가의 중심은 원문과 낭독문을 분리하는 것이다. 화면의 한자 병기를 지우지 않고, 확인된 동일 독음만 낭독 입력에서 생략한다. 이 변경으로 본문·검색·인용·메모의 기준 원문을 보존한다.

## 2. 기능별 제공 상태

| 영역 | 이번 제공 기능 | 확인 상태와 제한 |
|---|---|---|
| 독서 | 페이지·스크롤, 글자 설정, 검색, 책갈피, 읽던 곳 복원, 문단 집중 | 기존 검증 결과 계승. 주소·브라우저별 로컬 저장 |
| 노트 | 선택 구절 메모, 수정·삭제·복구, 검색, JSON 백업·가져오기, 텍스트 내보내기 | 계승 기능. 계정 간 자동 동기화 없음 |
| 기기 낭독 | 기기 음성, 속도 0.5~2배, 높낮이·음량, 미리듣기 | OS가 제공하는 음성 사용. 이전 판에서 실제 시작·이동·정지 확인 |
| 낭독 이동 | 이전·다음 문장/문단, 화면부터, 선택 구절, 낭독 위치 복귀 | 원문 위치로 이동. 재개는 문장 또는 선택 범위 처음부터 |
| 낭독 제어 | 반복 1~3회, 5/15/30분 종료, 따라가기, 발음 사전 | 백그라운드 동작은 브라우저에 영향받음 |
| 한자 병기 | 동일 독음 생략 켜기/끄기, 원문·낭독문 비교 | 자동 시험 13개 및 화면 전환 검증. 본문 5곳 생략 |
| AI 낭독 | 6종 음성, 3가지 말투, 현재 음원 저장, 현재 음원 10초 이동 | coral 음성 API 실제 생성 성공. 모든 음성·말투 조합을 개별 청취 검증한 것은 아님 |
| AI 독서 질문 | 선택 구절·현재 화면·현재 위치까지의 문맥, 문자/음성/병행 답변, 인용 이동, 노트 저장 | 실제 질문 응답 및 인용 반환 성공. 인용 일치는 해석의 진실성을 보증하지 않음 |
| 음성 질문 | 마이크 녹음→문자 변환→확인 후 질문 | 코드 구현. 실제 마이크·STT 종단 검증 대기 |
| 실시간 대화 | 책 문맥 기반 양방향 음성, 최대 2분 클라이언트 세션 | 시험 기능. 실사용 검증 대기, 문자 답변과 같은 인용 검증 없음 |
| 주석 | 71개 주석 검색과 본문 이동 | 계승 검증 |
| 제작 | 이번 원고의 웹·EPUB·검증 보고서 패키지 | 범용 원고를 한 번에 제작하는 완성된 제작기는 아직 아님 |

## 3. 기술적 차별화 방향

기기 음성 선택이나 속도 조절 자체보다, 원문 보존·낭독 변환·독서 위치·AI 근거를 같은 판본에 연결하는 방식에 개발 우선순위를 둔다. 이는 우리 구현의 설명이며 경쟁사에 해당 기능이 없다는 조사 결론은 아니다. 이번 작업에서는 타 제품 최신 기능을 재조사하지 않았다.

1. **원문 보존형 낭독 변환:** 동일 독음 사전과 괄호 구조 검사로 중복 한자를 제거하고 변환 기록을 남긴다. 원문의 검색·인용 위치는 그대로 사용한다.
2. **독서 위치와 낭독 위치 연결:** 문단 ID와 문장 범위로 이동·강조·복귀를 처리한다. 문장 강조는 제공하지만 단어별 음성과 밀리초 단위 정렬을 제공하지 않는다.
3. **본문 근거 질문:** 클라이언트가 임의 본문을 보내는 대신 판본과 범위를 보내면 서버가 등록 본문에서 문맥을 구성한다. 반환 인용을 해당 원문과 대조한다.
4. **독서 중 질문과 기록 연결:** 선택→질문→근거 이동→노트 저장→낭독 복귀 흐름을 한 리더에 배치한다.
5. **원고 검증과 출판물 연결:** 원고 해시, 문단·주석 수, 웹/EPUB 본문 대조, EPUBCheck 결과를 패키지에 포함한다.

## 4. 한자 병기 처리 정책

`수의(壽衣)`는 `수의`로 낭독한다. 본문에서 확인된 대상은 동광학교·신조·예감·기적·정적 5곳이다. ASCII 괄호와 전각 괄호를 지원하되 서로 맞지 않는 괄호는 보존한다. 한자와 앞 한글의 독음이 검토된 사전에 정확히 일치해야 한다. `수의(죽은 사람에게 입히는 옷)`, 미등록 한자, `고쿠라(小倉)`, `굴(石花)`는 임의로 삭제하지 않는다.

현재는 21개 한자어의 보수적인 사전 방식이다. 모든 한자·외국어를 이해하거나 문맥별 다음자 독음을 자동 확정하지 않는다. 다음 단계는 사전 출처·버전·편집 이력, 작품별 사전 가져오기, 문맥별 예외 규칙이다. 자동 AI 판정은 오삭제 시험을 통과한 뒤 선택 기능으로 검토한다.

## 5. 후속 개발 순서와 완료 기준

| 순서 | 작업 | 완료 기준 |
|---|---|---|
| 1 | 마이크/STT·실시간 실제 검증 | 사용자 동의 하에 실제 입력·중단·권한 거절·시간 만료·연결 실패 시험 기록 |
| 2 | 공개 서버 AI 연결 | HTTPS, 서버 비밀키, 사용자별 제한·총비용 상한, 요청 검증, 실제 배포 URL에서 질문·낭독 성공 |
| 3 | 모바일 검증 | iOS Safari/Android Chrome 실제 기기에서 터치·낭독·마이크·잠금 복귀 확인 |
| 4 | 낭독 정밀화 | 단어 타임스탬프를 제공하는 방식 선정, 원문 매핑과 어긋남 측정, 임의 위치 재개 검증 |
| 5 | 원고 제작 자동화 | 한 명령으로 임의 Markdown 검증→구조화→웹/EPUB 생성→검사→ZIP. 오류 원고는 실패 보고서 생성 |
| 6 | 음원·노트 확장 | 긴 노트 분할, 장별 음원, 저장 동의·용량·캐시 정책, 비용 예측 시험 |

음성 복제, 자동 등장인물 배역, 사용자 계정 동기화, 전체 오디오북 EPUB 내장은 이번 제공 범위에 포함하지 않는다. 외부 서비스와 기기 조건에 의존하는 기능을 모두 검증 완료로 표시하지 않는다.

## 6. 제작 자동화 보완안

목표 공정은 `원본 Markdown 입력 → 자동 구조 분석 → 단일 중간 데이터 → 웹/EPUB 생성 → 검증 → 배포 묶음`이다. 입력으로 원고 경로와 제목·저자 등 최소 메타데이터를 받고, 원본 SHA-256 및 안정된 판본 ID를 기록한다. 본문·주석 연결 누락, 빈 원고, 지원하지 않는 구조는 조용히 누락하지 않고 실패로 보고한다. 두 개 이상의 서로 다른 원고로 회귀 검증을 해야 범용 도구 완료로 판정한다. 현행 build.py는 제작 당시 경로에 의존하므로 그 완료 기준을 충족하지 않는다.

## 7. 실행·배포·보안

최종 폴더는 `aiacube-reader-2.2-a-lucky-day`, 웹 폴더는 `a-lucky-day`, EPUB은 `a-lucky-day.epub`이다. START.cmd로 실행하고 STOP.cmd로 종료한다. Node.js 22 이상이 필요하다. 현재 PC의 기존 서버는 키를 유지하기 위해 재시작하지 않았고 화면 파일만 갱신했다. 새 서버를 시작하면 키를 다시 입력해야 할 수 있다.

사용자가 입력한 키로 실제 AI 답변과 음성 생성에 성공했다. 패키지에는 키를 넣지 않았다. API 키는 로컬 서버 메모리에서 관리한다. API 비용은 별도이며 로컬 제한은 시간당 100회·동시 2회다. 실시간 2분 제한만으로 공개 서비스 과금 통제를 대체할 수 없다.

예정 URL은 https://aiacube.com/reader/A_Lucky_Day 이며 이번 공개판 배포 대상이다. 현재 `/api/*` 요청을 공개 서버의 올바른 백엔드로 연결해야 한다. 웹 폴더 복사만으로 AI가 운영되는 상태는 아니다.

## 8. 검증 근거

verification-2.2.json: 변환 사례 13개, 원문 92블록 문장 재결합, 원문 위치 매핑, 본문 5곳 감사, 실제 AI 질문 HTTP 200, TTS HTTP 200/57,600바이트. 브라우저에서 생략 ON/OFF와 원문 유지 확인, 콘솔 오류 없음.

verification.json 및 epubcheck-report.json: 이전 판의 독서·노트·주석·모바일 화면 검증 기록과 EPUB 오류 0/경고 0. EPUB은 이전 검증본과 바이트 단위 동일함을 이번 패키지 검사에서 다시 확인한다. 실제 모바일 기기, STT, 실시간 음성은 검증 대기다.


## 공개판 배포 보완 — 2026-09-30

/reader/에 AiaCube ebook 목록을 두고 사라진느 기존 주소와 /reader/A_Lucky_Day/를 연결한다. 개발 문서는 최신 계획안·명세 두 개만 게시한다. 상단 EPUB 독서 메뉴는 바로 읽기(파일 제공), Thorium 공식 다운로드 안내, Project Gutenberg 링크 및 닫기·바깥 클릭·Esc 닫기를 제공한다.

이번 공개판은 독서·메모·기기 낭독·EPUB을 제공한다. 내장 AI 백엔드는 미연결 상태로 키 입력·API 질문·AI 음성·마이크·실시간 대화는 비활성화하고 준비 중 안내를 표시한다. 질문 복사와 외부 ChatGPT 링크는 제공한다. 로컬판의 API 검증 결과는 공개 서버의 AI 연결 검증을 의미하지 않는다. 기존 로컬 실행본과 메모리 키는 유지한다.
