Nico · projects

PaperTrans

Project context

Status
active
Role
企画・設計・開発・メンテナンス
Started
  • Python
  • Next.js
  • TypeScript
  • React
  • MCP
  • 公式arXiv HTMLを意味単位へ分割し、MathML数式・図表・引用・識別子を保持
  • MCPクライアントを翻訳ワーカーとして接続し、block IDと保護トークンを検証
  • 検索・タグ・未読/既読・お気に入りを備えたローカルライブラリ

背景

学術論文は、本文だけを翻訳すると読みやすくなる一方で、数式や図表、引用、相互参照とのつながりが崩れやすい。PDFから見た目を推測して組み直す方法にも、段組みや数式の扱いに難しさがある。

PaperTransは、論文の構造を保ったまま日本語で読める環境をつくるための、ローカルファーストなWebアプリとして開発している。

解こうとしていること

現在の正式な入力経路では、arXiv IDから公式HTMLを取得し、安全なローカル文書へ正規化する。翻訳対象だけを安定した意味単位へ分割し、MathML数式、図表、引用リンク、DOI、参考文献などは保護したまま処理する。

翻訳後は、各ブロックのIDと保護トークンが失われていないかを検査してからHTMLを生成する。訳文が読めるだけでなく、原論文の構造をたどれることを重視した。

設計と実装

Web UIは、ジョブの準備、進捗、成果物とローカルライブラリを管理する。翻訳処理はローカルMCPサーバーを介して接続済みのMCPクライアントへ依頼し、使用するモデルと利用枠はクライアント側の設定に従う。

生成した論文と翻訳、ライブラリ情報はローカルに保存する。ライブラリでは検索、タグ、未読・既読、お気に入りを管理でき、論文本文は章・節の目次から移動しながら読める。

実装は、論文の取得・正規化・検証を担うPythonと、閲覧・管理画面を担うNext.js/TypeScriptで構成している。ソースコード、Skills、テンプレート、ドキュメントはApache License 2.0で公開している。

現在地

現在はv0.1の公開前プレビューで、正式なv1経路は「公式arXiv HTMLから日本語へ翻訳する」範囲に絞っている。一般PDFの解析とCodex CLI経路は実験機能、PDF OCRは将来候補であり、いずれも今後の検証対象だ。

翻訳先の追加、用語集、対象節だけの再翻訳、処理の並列化やキャッシュなどもロードマップに置いている。機械翻訳と構造検査は誤る可能性があるため、研究や引用に使う際は原文との照合を前提としている。

リポジトリ

ソースコードとセットアップ手順、設計ドキュメントはGitHubのPaperTransリポジトリで公開している。