영어 논문을 한국어 대역 리더로 변환합니다. PDF나 arXiv 링크를 넣으면 원문과 번역을 한 문단씩 나란히 보여 주고 핵심·결과·한계를 짚는 맥락 주석을 달아 줍니다. 읽다가 막히는 문장은 바로 AI에게 물어볼 수 있습니다.
Windows 10/11 데스크톱 앱이며, 논문과 번역은 모두 내 PC에만 저장됩니다.
최신 버전: 0.9.0. 리더의 ‘요약’ 탭에서 논문 전체를 문제·방법·결과·한계와 섹션 흐름으로 정리하고, 항목마다 원문 근거로 바로 이동합니다. 0.8.7부터 PDF에서 잘린 문단을 하나로 이어 붙여 번역합니다. 0.8.1부터는 앱 안에서 바로 업데이트할 수 있습니다. 버전별 변경 사항은 릴리스 노트에 있습니다.
- 대역 읽기: 원문 · 대역 · 번역 세 가지 보기(
Ctrl+1/2/3), 읽기 편한 세리프 본문, 목차, 본문 검색(Ctrl+F), 글자 크기 조절, 라이트/다크 테마. 문단에 마우스를 올리면 원문과 번역이 함께 강조됩니다. - 서재: 마지막으로 읽던 논문을 바로 여는 이어 읽기, 제목 검색과 정렬(최근 읽은 순·추가한 순·제목 순), 10편씩 페이지 나누기, 논문별 처리 상태 표시, 화면 어디에나 PDF를 끌어 놓아 가져오기, 다 읽은 논문 삭제
- 전문 번역: 용어집을 먼저 만든 뒤 논문 전체를 일관된 용어로 번역합니다. 참고문헌은 원문을 유지합니다.
- 절약 모드: 급하지 않은 논문은 제공자의 일괄 처리(Batch API)로 맡겨 토큰 요금을 50% 아낍니다. 보통 1시간 안에, 늦어도 24시간 안에 끝나며 앱을 꺼 두어도 됩니다.
- 표·수식 복원: 병합 셀이 있는 표와 LaTeX 수식을 복원하고 원본 PDF 조각과 비교해 볼 수 있습니다.
- 맥락 주석: 핵심 아이디어·결과·한계·통찰·방법·용어의 6가지 색 주석. 카드마다 접었다 펼 수 있습니다.
- AI에게 질문: 문장을 선택하고
Ctrl+K로 질문하거나 쉽게 설명·요약을 요청합니다. 답변의 수식은 LaTeX로 렌더링되어 바로 읽을 수 있고, 주석이나 발표 노트로 저장할 수 있습니다. - 논문 요약·흐름 정리: 리더의 ‘요약’ 탭에서 문제·기존 한계·제안 방법·핵심 결과·한계와 섹션 흐름, 핵심 그림·표를 만듭니다. 항목마다 근거 블록으로 이동하고, 직접 고치거나 발표 노트·질문으로 이어 갈 수 있습니다.
- arXiv 가져오기: arXiv ID나 URL만 넣으면 HTML 원문의 표와 수식을 그대로 가져옵니다.
- 내보내기: 인터넷 없이 열리는 단일 HTML 리더, Markdown 대역본, 발표 노트
- 자동 검수: 번역 누락·숫자 불일치 같은 문제가 의심되는 블록에 "검수 필요" 표시를 붙입니다.
Releases 페이지에서 최신 설치 파일(현재 PaperDuet_0.9.0_x64-setup.exe)을 내려받습니다. 받은 파일은 릴리스 노트의 SHA-256 값으로 확인할 수 있습니다.
- 지원 환경: Windows 10/11 64비트
- 관리자 권한 없이 현재 사용자 계정에만 설치됩니다.
- Python, Node.js 등 별도 프로그램은 필요 없습니다. 실행에 필요한 WebView2가 없으면 설치 중에 자동으로 받습니다(인터넷 필요).
이 앱은 코드 서명이 되어 있지 않아 Windows가 경고를 띄울 수 있습니다.
- "Windows의 PC 보호" 창이 뜨면 추가 정보를 누릅니다.
- 실행을 누릅니다.
- 설치가 끝나면 시작 메뉴에서 PaperDuet을 실행합니다.
첫 실행 때 AI 연결 방식을 고릅니다. 연결하지 않아도 원본 PDF와 추출한 원문은 읽을 수 있습니다.
| 방식 | 준비물 | 비용 |
|---|---|---|
| API 키 | Anthropic, OpenAI 또는 Google AI Studio API 키 | 사용량만큼 API 요금 |
| 공식 CLI | Claude Code 또는 Codex CLI 설치 후 로그인 | 로그인한 구독 요금제 한도 안에서 사용 |
API 키: 키를 붙여 넣고 연결 확인을 누릅니다. 키는 Windows 자격 증명 관리자에만 저장되고 앱 데이터베이스에는 저장되지 않습니다.
공식 CLI: 앱은 로그인을 대신하지 않습니다. PowerShell에서 먼저 로그인한 뒤, 앱에서 CLI를 선택하고 연결 확인을 누릅니다.
claude auth logincodex loginCLI를 찾지 못하면 앱 설정에서 실행 파일 경로를 직접 지정할 수 있습니다.
- 논문 가져오기: 서재 화면 어디에나 PDF를 끌어 놓거나 상단의 + 논문 추가를 누릅니다. arXiv 논문은 서재의 arXiv 입력칸에
2603.07952v1같은 ID나 URL을 넣고 arXiv 가져오기를 누릅니다. - 처리 시작: 처리 상태에서 단계별 모델과 예상 사용량을 확인하고 처리 방식을 고른 뒤 번역·주석 시작을 누릅니다. 기본값인 바로 처리는 몇 분 안에 끝나고, 절약 모드는 요금이 절반인 대신 제공자 사정에 따라 몇 시간까지 걸립니다. 처리 중에 창을 닫아도 백그라운드에서 계속되고 상단 알림으로 진행률을 보여 줍니다.
- 읽기: 완료된 논문을 열어 대역으로 읽습니다. 서재 맨 위의 이어 읽기에서 마지막으로 읽던 논문을 바로 열 수 있습니다. 처음이라면 서재의 사용 가이드에서 10개 설명으로 기능을 둘러볼 수 있습니다.
- 검수: "검수 필요" 표시가 붙은 블록은 원문과 비교해 직접 고치거나 다시 생성합니다.
- 정리: 필요 없어진 논문은 서재 목록 오른쪽의 휴지통 아이콘으로 지웁니다. 원문 PDF, 번역, 주석, AI 대화, 발표 노트가 함께 지워지며 되돌릴 수 없습니다.
- 질문과 내보내기: 문장을 선택하거나 문단 옆의 질문 버튼으로 AI에게 묻고, 논문 제목 아래의 내보내기로 HTML이나 Markdown 파일로 저장합니다.
한 편을 처리할 때 AI 호출은 표·수식 복원, 용어집, 번역, 주석 단계로 나뉩니다. 호출을 묶고 필요한 문맥만 보내도록 설계해서 48쪽 논문 기준 약 20만 토큰을 목표로 합니다(오프라인 추정치). 실제 사용량은 모델과 논문에 따라 다르며, 처리 후 처리 상태 → 실제 AI 사용량에서 단계별로 확인할 수 있습니다.
절약 모드는 같은 요청을 제공자의 일괄 처리 API(Anthropic Message Batches, OpenAI Batch, Gemini Batch Mode)로 보내 토큰 요금을 50% 할인받습니다. 번역 품질은 바로 처리와 같습니다. 단계마다 한 번에 제출하고 결과를 기다리므로, 한 편에 보통 3~5번 대기합니다. API 키로 연결했을 때만 쓸 수 있고, 기다리는 중에 남은 부분 바로 처리를 누르면 이미 받은 결과는 그대로 두고 나머지를 바로 처리합니다.
AI 질문에는 선택한 문단의 원문·번역과 주변 문단의 영어 원문, 관련 용어만 보냅니다. 논문 전체 포함을 켜면 논문 본문을 대화 맨 앞에 두어, 같은 논문에 이어서 묻는 질문은 제공자의 프롬프트 캐시로 싸게 처리됩니다.
- 논문 원본, 번역, 주석, 대화는
%APPDATA%\PaperDuet에 저장됩니다. 앱 설정 → 새 저장 폴더 선택으로 옮길 수 있습니다. - AI로 데이터가 전송되는 것은 번역·주석 시작을 누르거나 질문을 보낼 때뿐입니다. 연결 확인은 문서를 보내지 않습니다.
- 절약 모드에서는 처리가 끝날 때까지 요청 내용이 제공자 서버에 맡겨집니다. 결과를 받으면 앱이 제공자에게 해당 묶음(OpenAI는 업로드 파일까지)의 삭제를 요청합니다.
- 앱의 로컬 서버는 이 PC 안(루프백 주소)에서만 동작하며 세션 토큰이 없는 요청은 거부합니다.
- 업데이트: 0.8.1부터는 앱을 켤 때 새 버전을 확인하고, 앱 설정 → 업데이트 → 다운로드·검증 후 설치로 앱 안에서 바로 업데이트합니다. 서명이 확인된 파일만 설치하며 서재 데이터는 유지됩니다. 0.8.0 이하를 쓰고 있다면 0.8.1 설치 파일을 한 번 직접 내려받아 그 위에 설치하세요. 새 버전을 한 번 실행하면 데이터 형식이 갱신되어 이전 버전으로 되돌려 쓸 수 없습니다.
- 제거: Windows 설정 → 앱에서 PaperDuet을 제거합니다. 저장한 논문은 기본적으로 남겨 둡니다.
| 증상 | 해결 |
|---|---|
| 설치 파일이 실행되지 않음 | SmartScreen 경고에서 추가 정보 → 실행을 누릅니다. |
| CLI 연결이 안 됨 | PowerShell에서 claude --version 또는 codex --version이 동작하는지, 로그인했는지 확인합니다. |
| "검수 필요"가 많음 | 자동 검사를 통과하지 못한 블록입니다. 원문과 비교해 고치거나, 더 강한 모델로 다시 생성합니다. |
| 표나 수식이 깨짐 | arXiv 논문은 PDF 대신 arXiv ID로 가져오면 HTML 원문의 표와 수식을 씁니다. |
| "AI 제공자 서버가 혼잡" 안내 | Gemini·Claude 서버가 일시적으로 붐비는 경우입니다. 앱이 몇 번 자동으로 다시 시도한 뒤 멈춘 것이니, 잠시 후 처리 상태 → 이어서 실행을 누릅니다. |
| 절약 모드가 오래 걸림 | 제공자가 붐비면 최대 24시간까지 걸립니다. 급하면 처리 상태 → 남은 부분 바로 처리를 누릅니다. |
| 절약 모드를 고를 수 없음 | 공식 CLI(구독) 연결에서는 지원하지 않습니다. API 키로 연결해 주세요. |
스캔한 이미지 PDF(OCR)와 모든 출판사 레이아웃을 완벽하게 지원하지는 않습니다.
- Windows 10/11 x64
- Node.js 22.12 이상, Python 3.12
- Rust stable (MSVC), Visual Studio 2022 C++ Build Tools와 Windows SDK
- WebView2 런타임
프로젝트 루트의 PowerShell에서 처음 한 번 실행합니다. Python 가상환경과 npm 패키지를 설치하고 백엔드 사이드카를 빌드합니다.
.\scripts\setup.ps1개발 모드로 실행합니다.
npm run devPython 백엔드를 고친 뒤에는 npm run build:sidecar로 다시 번들하고 앱을 재시작합니다.
npm run build결과물은 src-tauri/target/release/bundle/nsis/PaperDuet_<버전>_x64-setup.exe입니다. 이 빌드는 자동 업데이트가 꺼진 개인용 설치 파일입니다. 자동 업데이트가 켜진 배포용 설치 파일과 latest.json은 Tauri 업데이트 서명 키를 준비한 뒤 .\scripts\release.ps1로 만듭니다.
npm run test:backendnpx playwright install chromiumnpm run test:e2e실제 유료 AI 호출은 자동 테스트에 포함되지 않습니다. 테스트용 샘플 데이터(fixtures/rex-omni.blocks.json)는 저장소에 포함하지 않으며, 이 파일이 없으면 이를 쓰는 백엔드·E2E 테스트는 자동으로 건너뜁니다.
| 경로 | 내용 |
|---|---|
src/ |
React + TypeScript 화면. 디자인 토큰은 src/styles/tokens.css |
src-tauri/ |
Tauri 2 데스크톱 셸(Rust) |
backend/paperduet/ |
Python FastAPI 사이드카: PDF 파싱, AI 파이프라인, 저장소 |
backend/paperduet/prompts/ |
단계별 AI 프롬프트 |
tests/, backend/tests/ |
Playwright E2E, pytest |
docs/licenses/ |
서드파티 라이선스 전문 |
PaperDuet은 GNU Affero General Public License v3.0으로 배포합니다. 수정한 버전을 배포하거나 네트워크 서비스로 제공할 때는 소스 코드도 같은 라이선스로 공개해야 합니다.
설치 파일에 포함되는 주요 서드파티 라이선스 전문은 docs/licenses/에 있습니다.
- PDF 파싱: PyMuPDF (AGPL-3.0)
- 글꼴: Inter, IBM Plex Sans KR, Source Serif 4, Noto Serif KR (SIL Open Font License 1.1). 수식 렌더링: KaTeX (MIT)