HN 日本語サマリー

← 一覧へ戻る
その他

ドキュメントの山を検索可能で使いやすい知識ベースに変換する

Turning a pile of documents into a searchable useable knowledge base (github.com)

177 pointsby linuxrebe136 コメント

要約

DocuBrowseは、PDF、Word、EPUBなどの様々な形式のドキュメント群を、キーワード検索とAIによる意味理解を組み合わせた強力な知識ベースに変換するローカルアプリケーションです。ユーザーは、ファイルに保存されている正確な単語を使わなくても、自然言語で情報を検索でき、検索結果からはAIによる要約を即座に確認できます。インターネット接続やAPIキーは不要で、プライバシーとセキュリティが重視されています。

全文翻訳

DocuBrowse v0.9.0 Linux(RPM、DEB、tarball)、Windows(zip)、macOS(dmg)向けにパッケージ化されています。インターフェースは安定しており、破壊的な変更は可能な限り回避されます。 DocuBrowseは、散らかったドキュメントの山を、実際に検索できるものに変えます。PDF、電子書籍、Word文書、メモなど、お好きなファイルを指定するだけで、キーワードだけでなく意味も理解するスマートなインデックスを構築します。「リース更新に関するあの契約」のように尋ねると、その正確な単語が一度も現れていなくても見つけることができます。結果をクリックすると、ファイルを開く前に、AIによる即時要約が表示されます。PII(個人識別情報)を認識し、複数のドキュメントディレクトリに対応しています。 DocuBrowseは、ローカルAIモデルのみを使用して完全にあなたのマシン上で実行されます。インターネット接続、アカウント、APIキー、トークン予算を消費するクエリごとのコストは一切不要です。あなたのデータ。あなたのAI。 内部構造:SQLite FTS5キーワード検索と、AI搭載のセマンティック類似性および概要生成(Ollama + nomic-embed-text + dolphin3)。複数のドキュメントおよびソースコードタイプをサポートします。 ナビゲーション機能 スクリーンショット クイックスタート CLIリファレンス 設定 アーキテクチャ APIエンドポイント 検索アルゴリズム セキュリティ ファイル構造 トラブルシューティング 既知の制限事項 最近の変更 ロードマップ AI支援開発 ライセンス 機能 ↑ トップ 🔍 デュアル検索モード キーワード検索 — SQLite FTS5による高速全文検索(タイトル、著者、件名、タグ、スニペット) セマンティック検索 — Ollama埋め込みによるAI搭載類似性検索(nomic-embed-text:latest) ハイブリッドモード(デフォルト) — 70%セマンティック + 30%キーワード、マージおよび再ランク付け 📖 AI概要 ドキュメントタイトルをクリックすると、Kindleスタイルのブックジャケット概要がオンデマンドで生成されます。Ollama(dolphin3:latest)を使用し、初回生成後にデータベースにキャッシュされます。セマンティック検索の埋め込みは、2番目のローカルモデル(nomic-embed-text:latest)によって生成されます。 📚 ドキュメントインデックス作成 フォーマット:PDF、DOCX、PPTX、XLSX、EPUB、MOBI、AZW3、AZW、HTML、TXT、Markdown PDFインテリジェンス:pdfplumber(推奨)、pypdf(オブジェクトが肥大化したファイルの場合のフォールバック)、layout=Falseリトライ(複雑なレイアウトの場合)、スキャン済み(画像のみ)PDFは検出され、ocr_list_pdfs.txtにルーティングされます。 Word文書:python-docxが段落、テーブル、およびコアプロパティ(タイトル、著者、件名)を抽出します。 プレゼンテーション:python-pptxがスライドテキスト、ノート、およびコアプロパティを抽出します。 スプレッドシート:openpyxlがセル値とシート名を抽出します。 電子書籍:EPUBの場合はebooklib、MOBI/AZW3の場合はmobiパッケージ+Calibreフォールバック、DRMで暗号化されたAZWファイルはメタデータのみ(タイトル/著者のみ表示、本文は検索不可)でインデックス化されます。 メタデータ:ドキュメントメタデータフィールドから抽出されたタイトル、著者、件名。ディレクトリ構造およびコンテンツキーワードからの自動生成タグ。 PII保護:取り込み後のスキャナーがSSN、クレジットカード、銀行ルーティング/口座番号、DOB、MRN、運転免許証、パスポートのパターンを検出します。一致するドキュメントを削除し、永続的にブラックリストに登録します。 🎨 ユーザーインターフェース ダーク/ライトテーマ切り替え ページネーションされた結果(1ページあたり50ドキュメント)と「前へ/次へ」コントロール アルファベット順のインデックスバー(A–Z、0–9)によるクイックナビゲーション。ページロード間で状態が保持されます。「ホーム」ボタンでリセットできます。 トピックによるフィルタリングのためのタグクラウド 各結果の関連性スコアバッジ(0–100%)。 各結果カードの「開く」ボタン — xdg-open経由でデフォルトアプリでファイルを開きます。 ドキュメントタイトルをクリックするとAI概要が表示され、📋クリップボードにパスがコピーされ、🗑ディスクおよびインデックスからファイルを削除します(確認あり)。 移動/削除されたドキュメント:ファイルが存在しなくなったドキュメントをクリックすると、ファイルシステムがマウントされている場合は非表示可能なモーダルが表示され(非表示時にインデックスから削除)、ファイルシステムが検証できない場合(例:マウントされていないドライブ)はトーストが表示されます(インデックス変更なし)。 ⚙️ 設定 (/settings) 一般パネル:ドキュメントディレクトリ(ライブディレクトリブラウザ付き)、任意の数の追加スキャンディレクトリ(同じパネル下で追加/削除 — スキャン/再スキャンに自動的に含まれ、追加コマンドは不要)、作業ディレクトリ、ポート。 無視ディレクトリパネル:ignore_dirs.txtに追加するディレクトリをブラウズします。それの下にある既にインデックス化されたドキュメントをパージする前の確認プロンプト、およびエントリを削除する前の確認があります。 ⚡ パフォーマンス 検索レイテンシ:典型的に150ms未満。 ProcessPoolExecutorによる並列PDF抽出(物理コアを意識したワーカー数)。 メモリセーフ:カーネル強制RLIMIT_AS(6 GB/ワーカー)+ RAM不足時の一時停止/再開。 スクリーンショット ↑ トップ サムネイルをクリックするとフルサイズで表示されます。 ダークモード ライトモード 設定 AI概要 設定は/settingsにあるスタンドアロンページです(歯車アイコンから新しいタブで開きます)。一般パネルはドキュメントディレクトリ(ライブディレクトリブラウザと任意の追加スキャンディレクトリを含む)、作業ディレクトリ、ポートをカバーします。無視ディレクトリパネルはスキャン除外を管理し、各パネルにはディレクトリブラウザ、追加/クリアコントロールがあり、削除前の確認があります。 クイックスタート ↑ トップ 前提条件 Python 3.9+ pdfplumber, pypdf — PDF抽出 python-docx — Word文書 python-pptx — PowerPointプレゼンテーション openpyxl — Excelスプレッドシート ebooklib, beautifulsoup4, mobi — 電子書籍 psutil — クロスプラットフォームプロセスおよびハードウェア検出 Calibre — 電子書籍メタデータおよび変換(MOBI/AZW3/AZWインデックス作成に必要):sudo dnf install calibre または sudo apt install calibre Ollama — docubrowser start によって不足している場合に自動的にインストールされます。 モダンブラウザ(Chrome、Firefox、Safari、Edge)。 完全なステップバイステップガイドについては、INSTALL.mdを参照してください。 インストール(推奨) DocuBrowseは、RPM、DEB、tarball、Windows zip、macOS dmgパッケージとして提供されます。Releasesページから適切なパッケージをダウンロードしてください。 # Fedora / RHEL sudo dnf install ./docubrowser-foss-0.9.0-7.noarch.rpm # Debian / Ubuntu / Mint sudo apt install ./docubrowser-foss_0.9.0-7_all.deb # Any Linux (tarball) tar xzf docubrowser-foss-0.9.0-7.tar.gz cd docubrowser-foss-0.9.0-7 sudo ./install.sh Windows:zipファイルを展開し、Install.batをダブルクリックします。Python 3.9+とOllamaが事前にインストールされている必要があります。%USERPROFILE%\DocuBrowseにインストールされ、スタートメニューのショートカットが作成されます(管理者権限不要)。ショートカットが表示されるには、ログアウトして再度ログインする必要がある場合があります。 macOS:dmgファイルを開き、Install.commandをダブルクリックします(初回は右クリック→「開く」を選択してください。スクリプトは署名されていません)。Python 3.9+が必要です。~/Applications/DocuBrowse/にPython仮想環境としてインストールされ、CLIラッパーは/usr/local/bin/docubrowserおよび/usr/local/bin/docubackに配置されます(sudoが求められます。拒否された場合は~/bin/にフォールバックします)。DocuBrowse.appランチャーはサーバーを起動し、TerminalでWeb UIを開きます。 すべてのLinuxメソッドは/opt/docubrowser/にPython仮想環境としてインストールされ、CLIラッパーは/usr/bin/docubrowserおよび/usr/bin/docubackに配置され、Officeの下にデスクトップメニューエントリがあり、requirements.txtからすべてのPython依存関係がインストールされます。 インストール後、CLIはdocubrowserコマンドになります。例:docubrowser start および docubrowser rescan。 このREADMEの残りの部分で示されている ./docubrowser.py <cmd> の形式は、開発/クローンリポジトリのパスです(チェックアウトから直接実行)。 アンインストールするには:sudo dnf remove docubrowser-foss (RPM)、sudo apt remove docubrowser-foss (DEB)、sudo ./uninstall.sh (tarball)、Uninstall.batをダブルクリック (Windows)、またはUninstall.commandをダブルクリック (macOS — dmgまたは~/Applications/DocuBrowse/で)。 初回実行(開発/クローンリポジトリ) cd /path/to/DocuBrowse # ドキュメントをスキャンしてインデックス化 ./docubrowser.py rescan # サーバーを起動 ./docubrowser.py start # UIを開く ./docubrowser.py open インストール済みのシステムでは、代わりにdocubrowserコマンドを使用してください。例:docubrowser rescan / docubrowser start / docubrowser open。 docubrowser.py start は、Ollamaがインストールされ、実行されており、必要な両方のモデル(埋め込み用のnomic-embed-text:latestと概要生成用のdolphin3:latest)を持っていることを自動的に確認し、必要に応じてインストール/起動/プルします。 CLIリファレンス ↑ トップ 使用法:docubrowser.py <command> [options] コマンド コマンド 説明 start 検索サーバーを起動します(最初にOllamaチェックを実行します)。 stop サーバーを停止します。 restart 停止してから起動します。 status サーバーの状態、ドキュメント数、埋め込み数、タグ数を表示します。 scan [TYPE ...] ドキュメントをスキャンしてインデックス化します(em