Tauri (Rust) + Next.js で構成した、Windows向けの OCR / 抽出 / ファイル整理アプリです。
Gemini OCR+ は、抽出結果の複数フォーマット出力(TXT / MD / CSV / JSON)、プロンプトテンプレート管理、翻訳・要約・PIIマスキングなどの自動加工に対応しています。
Windows インストーラは GitHub Releases で配布します。
- 文書・画像の OCR 抽出
- 出力形式: TXT / Markdown / CSV / JSON
- Markdown 向け YAML Frontmatter
- カスタムプロンプトテンプレート(保存 / 編集 / 削除)
- 出力内容の自動加工
- 翻訳出力
- 要約モード(重要3点 / 結論のみ)
- 個人情報マスキング(PII)
- 自動タグ生成
- AI提案によるファイル整理とルールベースリネーム
- 完全一致重複の検知・削除
- 選択ファイルのゴミ箱移動
- Frontend: Next.js 16 / React 19 / TypeScript
- Desktop: Tauri v2 / Rust
- AI: Gemini API
- Storage: SQLite (rusqlite)
- Node.js 20 以上
- Rust stable
- Windows 10 / 11 推奨
npm ciGemini APIキーは以下のどちらかで設定してください。
- アプリ内のモデル設定画面で保存
- 環境変数
GEMINI_API_KEYを設定
Web UI のみ:
npm run devデスクトップアプリ (Tauri):
npm run tauri devnpm run tauri:buildWindows インストーラは通常、次に生成されます。
src-tauri/target/release/bundle/nsis/*.exe
このリポジトリには Release 用 workflow が含まれています。
- workflow:
.github/workflows/release.yml - トリガー:
v*タグ push
例:
git tag -a v0.1.1 -m "Release v0.1.1"
git push origin main
git push origin v0.1.1workflow では次を Release に添付します。
- Windows インストーラ成果物
SHA256SUMS.txt(チェックサム)
- Rust 側のファイル操作は許可ルート配下に制限
- 実行前にファイル名・パスを検証
- 移動は
rename優先、失敗時は安全なフォールバックで不整合を抑制
api_key.txtは.gitignore済み(機密情報はコミットしない)src/app/renamerは現状filingへリダイレクト