オープンソースプロジェクト
SwiftList/SwiftList avatar
SwiftList/SwiftList

SwiftListの検索設計: USN Journalと三つの操作窓

Windows 用の最新の高性能ローカル ファイル検索および生産性向上ツール。 C# WPF および NT サービスで構築された、Everything と Listary に代わる洗練されたカスタマイズ可能な代替品で、インスタント NTFS MFT 解析、リアルタイム USN 監視、プラグイン サポートを備えています。

スター 458フォーク 18C#MIT

ひと目でわかる

これは何?
Windows向けの軽量ランチャーを、NTFS索引、FZF風検索、SYSTEMサービス、プラグインSDKの接点から評価します。
誰に向いている?
SwiftListは、READMEに記載された構成と用途が自分の環境に合う人向けです。合わない人は採用すべきではありません。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 42 日前です。
何の言語で書かれている?
主に C# です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

ディレクトリ走査を避ける索引

READMEはNTFSのUSN JournalとMFTを直接読むことで、ディレクトリを歩く方式ではなく索引を更新すると説明しています。低負荷のバックグラウンドサービスが変更を追跡し、検索用データを同期します。ミリ秒単位という表現はREADMEの主張であり、環境別の測定値ではありません。

導入時は対象ドライブのファイル追加・改名・削除を行い、検索結果が更新されるまでとサービスの再起動後の状態を確認します。NTFS以外のファイルシステムや権限不足時の扱いはREADMEにないため、対応範囲へ含めない判断が安全です。

SwiftListの確認では、READMEに書かれた対象を一度に広げず、1番目の論点に対応する入力、処理結果、ログまたは生成物を分けて記録します。機能が使えるという説明と、特定のOS、版、権限、データ量で期待どおりに動くという判断は同じではありません。SwiftList固有の設定名やファイル名を残しておけば、別の環境で再確認する際にも、どの記述を根拠にした判断かを追跡できます。

FZF風の検索演算子

複数語のfuzzy matchingに加え、prefix、suffix、exact、exclude演算子を使えるとされています。中国語ファイル名向けのpinyin aliasingもHighlightsにあります。検索体験を軽快と呼ぶだけでなく、入力がどの演算子に解釈されるかが本体の使い勝手を決めます。

テスト用に同じ語を含むファイルを用意し、完全一致、除外、接頭辞、接尾辞、複数キーワードを別々に検索します。中国語名ではピンイン表記と原表記の順位を比較し、READMEに書かれた別名処理が自分の命名規則に合うかを見ます。

SwiftListの確認では、READMEに書かれた対象を一度に広げず、2番目の論点に対応する入力、処理結果、ログまたは生成物を分けて記録します。機能が使えるという説明と、特定のOS、版、権限、データ量で期待どおりに動くという判断は同じではありません。SwiftList固有の設定名やファイル名を残しておけば、別の環境で再確認する際にも、どの記述を根拠にした判断かを追跡できます。

三つの入口が分担する操作

検索画面はquick popup、full main window、File Explorerまたはnative file dialogに組み込むinline barの三経路です。QuickLook preview、右クリック相当のactions menu、再割当可能なhotkeyも挙げられています。どの画面にも同じ結果と操作が出るとは説明されていません。

普段の作業がExplorer中心ならinline bar、一覧を比較するならmain windowというように入口を使い分けます。各入口でプレビュー、コンテキスト操作、ホットキーが動くかを個別に確認し、対応差を採用メモへ残します。

SwiftListの確認では、READMEに書かれた対象を一度に広げず、3番目の論点に対応する入力、処理結果、ログまたは生成物を分けて記録します。機能が使えるという説明と、特定のOS、版、権限、データ量で期待どおりに動くという判断は同じではありません。SwiftList固有の設定名やファイル名を残しておけば、別の環境で再確認する際にも、どの記述を根拠にした判断かを追跡できます。

サービス分離とプラグイン境界

索引サービスはSYSTEMで動き、ユーザー単位のUIアプリとは分離されています。プラグインSDKでは検索プロバイダー、alias、コンテキストメニュー、結果列、preview、themeを拡張できます。便利な拡張点ですが、プラグインの権限や障害分離の詳細はREADMEにありません。

独自プロバイダーを追加する場合は、まずSDKの開発者マニュアルと最小プラグインで、検索結果の責任範囲を確かめます。SYSTEMサービスへ渡る入力やログの扱いは、管理者権限を前提にせず環境ごとに確認すべき項目です。

SwiftListの確認では、READMEに書かれた対象を一度に広げず、4番目の論点に対応する入力、処理結果、ログまたは生成物を分けて記録します。機能が使えるという説明と、特定のOS、版、権限、データ量で期待どおりに動くという判断は同じではありません。SwiftList固有の設定名やファイル名を残しておけば、別の環境で再確認する際にも、どの記述を根拠にした判断かを追跡できます。

配布物とビルド環境

x64向けにはSwiftList-Setup.exeとPortable zip、ARM64向けにはそれぞれ専用インストーラとPortable buildがあります。ソースビルドはWindows 10/11、.NET 10 SDK、Visual Studio 2022またはJetBrains Riderが必要で、インストーラ作成にはInno Setupを使います。

build_and_run.batはApp、Core、Service、pluginsを再構築して起動し、make.batはx64とARM64のReleaseをdistに出すとREADMEにあります。サービスを含むインストーラとPortable版の挙動差を同じドライブで確認してから配布形態を選びます。

SwiftListの確認では、READMEに書かれた対象を一度に広げず、5番目の論点に対応する入力、処理結果、ログまたは生成物を分けて記録します。機能が使えるという説明と、特定のOS、版、権限、データ量で期待どおりに動くという判断は同じではありません。SwiftList固有の設定名やファイル名を残しておけば、別の環境で再確認する際にも、どの記述を根拠にした判断かを追跡できます。

MITであることと限界

SwiftListはMIT Licenseです。READMEにはWindows向けの機能と導入入口が豊富ですが、検索遅延の保証、全ファイルシステム互換性、サービスの障害復旧、プラグインの安全性は確定していません。代替製品より速いという説明も、READMEの位置づけとして読むべきです。

NTFS上の大量ファイルをキーボード中心に探したいWindowsユーザーには試す価値があります。Linux、macOS、NTFS以外を主対象にする人、SYSTEMサービスを置けない端末、SDKの互換性を保証付きで求める組織には適合確認が先です。

SwiftListの確認では、READMEに書かれた対象を一度に広げず、6番目の論点に対応する入力、処理結果、ログまたは生成物を分けて記録します。機能が使えるという説明と、特定のOS、版、権限、データ量で期待どおりに動くという判断は同じではありません。SwiftList固有の設定名やファイル名を残しておけば、別の環境で再確認する際にも、どの記述を根拠にした判断かを追跡できます。

編集部の結論

SwiftListは、READMEに記載された構成と用途が自分の環境に合う人向けです。合わない人は採用すべきではありません。先にSwiftListのREADMEにある具体的な入力、出力、設定、実行経路を小さな検証環境で確認し、未記載の保証を補って考えないでください。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート