DocuBrowse

リファレンス

v1.5.2 の CLI、設定、セキュリティの詳細。インストール済みのシステムでは docubrowser を、クローンしたリポジトリでは ./docubrowser.py を使います。

コマンドラインインターフェース

docubrowser <command> [options]
コマンド説明
start / stop / restart検索サーバーの制御(start は先に Ollama チェックを実行)
statusサーバーの状態、文書数、埋め込み数、タグ数
scan [TYPE ...]文書のスキャン・インデックス化・埋め込み。--no-embed で埋め込みを省略
rescan [TYPE ...]scan のエイリアス
scan-file --file PATH単一ファイルをインデックス化して埋め込み
embed未埋め込みの文書の埋め込みを生成
open既定のブラウザで UI を開く
purgeインデックスの PII をスキャンして該当文書を削除
ignore add|remove|list DIR除外ディレクトリの管理(追加時に自動削除)
reportファイル種別の内訳。DB は変更しない
scan-missing [--dry-run]本当に存在しないファイルの行を削除。アンマウントされたパスはそのまま
stopallすべてのスキャン・埋め込み・サーバーを停止
duplist / dupclean重複の一覧 / 対話的に確認して削除

グローバルオプション

--db PATH      SQLite データベースのパス(設定を上書き)
--port PORT    サーバーのポート(設定を上書き)
--config FILE  設定ファイルのパス

例

docubrowser start --port 9000
docubrowser scan pdf txt              # PDF とプレーンテキストのみ
docubrowser scan --limit 100          # 未インデックスの最初の 100 件
docubrowser scan --workers 4          # 抽出ワーカー 4 つ
docubrowser scan-file --file /path/to/document.pdf
docubrowser purge --dry-run           # PII 一致をプレビュー(安全)
docubrowser ignore add ~/Documents/myWorkDocs
docubrowser duplist --near-dups --threshold 0.95
docubrowser scan-missing --dry-run

scan の種別フィルター:pdf、txt、md、html。既定は対応するすべての種別です。

scan-file は問題のあるファイルの再試行用です:scan_blacklist.txt から削除し、pii_blacklist.txt のファイルは拒否し、スキャンされた PDF を ocr_list_pdfs.txt に振り分けます。

設定

DocuBrowse は最初に見つかった設定ファイルを読み込みます:/etc/docubrowse.config、次に docubrowser.py と同じ場所の ./docubrowse.config。

# docubrowse.config
doc_dir      = ~/Documents
db_path      = /home/user/DocuBrowse/du-docs.db
port         = 8643
work_dir     = /home/user/DocuBrowse
lang         = en
キー既定
doc_dirなし。Settings または設定ファイルで設定する必要があります
db_path<script dir>/du-docs.db
port8643
work_dir<script dir>
langen(ja、ko、zh、zh-hant も可)

環境変数

環境変数は対応する設定キーを上書きします。CLI フラグが優先されます。

変数説明
DOCUBROWSE_DOC_DIR主要な文書ディレクトリ
DOCUBROWSE_DB / DOCUBROWSE_DB_PATHdu-docs.db へのパス
DOCUBROWSE_PORTHTTP ポート(既定 8643)
DOCUBROWSE_WORK_DIRランタイムデータの作業ディレクトリ
OLLAMA_HOSTOllama のベース URL(既定 http://localhost:11434);DOCUBROWSE_OLLAMA_HOST も可

アーキテクチャ

docubrowser.py (CLI)  ──►  scan_docs.py (ProcessPoolExecutor, extractors, embed_docs.py)
ensure_ollama.py            doc_search.py (HTTP :8643)
                                   │                   │
                                   └────────┬──────────┘
                                            ▼
                         du-docs.db (SQLite FTS5)  +  Ollama
                         (nomic-embed-text, dolphin3)

キーワードのスコアリングは FTS5 BM25 を使い、タイトルと著者を本文やタグより重視します。意味のスコアリングはクエリの埋め込みと各文書の埋め込みを比較します。ハイブリッドは文書ごとに 2 つのスコアのうち強い方を採ります。完全なアルゴリズムは README を参照。

セキュリティ

DocuBrowse は 127.0.0.1 にバインドし、単一ユーザーのローカル利用を想定しています。訪れた悪意ある Web ページが到達できないよう堅牢化されています:

ユーザーログインはありません。あなた自身が自分のマシンでのみサーバーに到達できるためです。