Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】SlothFile: a file organizer that asks before it touches anything

2026年10月24日に「Dev.to」が公開したITニュース「SlothFile: a file organizer that asks before it touches anything」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

SlothFileは、散らかったPCフォルダを整理するデスクトップアプリだ。ローカルAIがファイル内容を読み、適切なカテゴリや名前を提案する。ユーザーが提案を確認・承認したファイルのみ移動するため、プライバシーと安全性を確保しつつ、面倒なファイル整理を効率化できる。AIはオフでも利用可能だ。

ITニュース解説

SlothFileは、コンピューター内の散らかったフォルダ、特にダウンロードフォルダのような未整理になりがちな場所を、AIの助けを借りて効率的に整理するためのデスクトップアプリケーションである。このツールは、ファイルの整理作業における「どのファイルをどこに置くか」「どんな名前にするか」といった判断の負担を軽減しつつも、最終的な決定権は常にユーザーが持つという「人間中心」のアプローチを採用している。さらに、ユーザーのプライバシーとセキュリティを最優先し、すべての処理がユーザーのコンピューター内で完結する「ローカルファースト」の原則に基づいている。

SlothFileの基本的な使い方は、段階的で非常に慎重だ。まず、ユーザーは整理したい特定のフォルダを選択する。SlothFileはそのフォルダをスキャンし、テキストファイル(.txt、.md)やPDFファイルから内容の一部を読み取る。この読み取った情報をもとに、Ollamaというツールを通じてユーザーのコンピューター上で動作するローカルのAIモデル(推奨されるのはGemma 3 4B)が、各ファイルに対して「適切なカテゴリ」「より明確なファイル名」「その提案に対する確信度」「提案の理由」を提示する。

AIの提案はあくまで補助的なものであり、SlothFileが自動的にファイルを移動させることは一切ない。アプリケーションはすべての提案を一覧で表示し、ユーザーはそれらを一つずつ確認できる。ユーザーはAIの提案を自由に編集したり、不要な提案を拒否したり、適切だと判断した提案を承認したりできる。ファイルが実際に移動されるのは、ユーザーが明確に承認ボタンを押した後のみである。さらに、承認された移動であっても、実行直前にもう一度安全性が確認され、すべての移動は「ジャーナル」という記録に書き込まれる。これにより、もし後で移動を取り消したい場合(Undo機能)でも、安全が確保できる場合に限り、元に戻すことが可能になる。Undo機能も厳格で、移動後のファイルの同一性や移動先の空き状況など、複数の安全チェックをパスしなければ実行されず、少しでも疑わしい場合は拒否される。これは、ユーザーのファイルを誤って紛失したり上書きしたりするリスクを徹底的に排除するための設計だ。

このツールの最大の利点は、一つずつファイル名を読み、適切な保存先を考え、名前を変更し、ドラッグ&ドロップで移動するといった、時間と手間のかかる作業を大幅に削減できることにある。特に何百ものファイルが放置された「魔のフォルダ」に対しては、手作業よりもはるかに効率的だ。AI機能は必須ではなく、AIを使わない場合でもスキャン、重複検出、手動での整理計画作成、実行、履歴管理、Undoといった全ての機能が動作する。AIはあくまで、整理作業をより楽にするためのオプションのアシスタントとして機能する。

SlothFileの「ローカルファースト」という設計思想は、現代において非常に重要な意味を持つ。ユーザーのPCには、銀行取引明細、個人的な文書、仕事の契約書など、機密性の高い情報が含まれる。もしこれらのファイル内容が外部のクラウドサービスに送られてAI処理が行われると、情報漏洩のリスクが生じる可能性がある。しかし、SlothFileはOllamaを利用してAIモデルをユーザー自身のコンピューター上で動かすため、ファイルの内容が外部に送信されることは一切ない。デフォルトでは、AIモデルへの通信はローカルネットワーク内の「127.0.0.1」アドレスに限定されており、外部ネットワークへのアクセスはユーザーが明示的に許可しない限りブロックされる。これにより、ユーザーは自分のデータが自分の管理下にあるという安心感を持ってファイル整理ができる。

また、AIモデルがローカルで動作するため、ファイルの分類にかかるコストも外部APIの利用とは異なる。多数のファイルを分類しても、それはユーザーのコンピューターのリソースを消費するだけであり、ファイル数に応じた従量課金が発生することはない。インターネット接続がないオフライン環境でも、一度AIモデルをダウンロードしてしまえば、SlothFileは完全に機能する。AIモデル自体もユーザーが自由に選択・交換可能で、用途やPCの性能に合わせて、より小さいモデルを選んだり、より高性能なモデルに切り替えたりできる柔軟性がある。

SlothFileは、Web技術(HTML、CSS、JavaScript)を用いてデスクトップアプリケーションを開発できる「Electron」というフレームワークで構築されている。UIにはReact 19とTypeScript、スタイルにはTailwind CSS v4が使われている。内部的には、データの型検証にZod、データベースにはbetter-sqlite3、PDFファイルのテキスト抽出にはpdfjs-distなど、複数の最新技術が組み合わされている。

アプリケーションの内部アーキテクチャは、セキュリティと堅牢性を特に重視して設計されている。主要な概念は「メインプロセス」と「レンダラープロセス」の厳格な分離だ。メインプロセスは、ファイルシステムへのアクセス、データベース操作、AIクライアントとの通信といった、システムの根幹に関わる重要な処理を担い、信頼された領域として扱われる。一方、レンダラープロセスはユーザーインターフェース(UI)の表示を担当し、サンドボックス化(隔離)されているため、ファイルシステムに直接アクセスする権限を持たない。これにより、もし何らかの問題でUI部分に悪意のあるコードが侵入したとしても、ユーザーのファイルを直接操作される危険性が低減される。

これらのプロセス間の通信(IPC)も、セキュリティのために厳重に管理されている。特定の名前を持つ通信チャネルのみが許可され、Zodというライブラリを用いて、送受信されるデータの構造が厳密に検証される。AIからの出力も同様に、JSONスキーマに基づいて厳密に検証され、AIが誤ってファイルパスやシステムコマンドのような危険な情報を出力しようとしても、それらの情報は破棄され、安全なカテゴリ名やファイル名、確信度、理由だけが抽出される仕組みになっている。

ファイルシステム操作の安全性は、このアプリケーションの核となる部分だ。ファイルの移動は、既存のファイルを上書きしたり削除したりしないように設計されている。例えば、ファイル移動はまず移動元のファイルへの「リンク」を作成し、移動先のファイルが確実に作成され、内容が一致することを確認した上で、元のファイルを削除する手順を踏む。これにより、もし移動途中にシステムがクラッシュしても、ファイルが失われることはなく、最悪でも重複したファイルが残るだけとなる。アプリケーションの再起動時には、ディスクの状態を検査し、何が起こったのかを正確に判断して、安全な状態に復旧させる。曖昧な状況ではシステムが推測することなく、ユーザーに判断を委ねることで、データの損失リスクを最小限に抑えている。

SlothFileの開発プロセスでは、テストが非常に重視されている。パス処理のポリシー、データの入出力契約、ジョブの状態管理、AIプロバイダーの動作(不正なデータ、タイムアウト、切断など)に対する単体テスト、さらにはスキャン、ハッシュ計算、ファイル移動、Undo機能、そしてあらゆるクラッシュポイントからの復旧に対する統合テストなど、100を超えるテストケースが用意されている。これにより、多くの潜在的なバグやセキュリティ脆弱性が事前に発見され、修正されている。

SlothFileはオープンソースプロジェクトとしてGitHubで公開されており、誰でもそのコードを閲覧できる(MITライセンス)。コードが公開されていることは、特にプライバシーを重視するユーザーにとって大きな安心材料となる。アプリケーションがどのようなデータを読み取り、どのように処理し、どのように保存しているのか、そしてどのような安全対策が講じられているのかを、開発者だけでなく誰もが確認できるからだ。

もちろん、ローカルで動作する小規模なAIモデル(例えば4Bパラメータのモデル)は、常に完璧な提案をするわけではない。時には間違った提案をすることもあるだろう。しかし、SlothFileの設計は、このAIの限界を認識しており、だからこそAIの提案を「信頼できないデータ」として扱い、最終的な人間による承認ステップを必須としている。AIはあくまでユーザーの作業を「効率化する」ための補助であり、最終的な責任と判断は常にユーザー自身が持つという明確な役割分担がなされている。AIの提案をレビューする手間が、完全に手動でファイルを整理するよりもわずかに速く、かつ間違いを修正するコストが低いことが、このツールの提供する本質的な価値である。

現時点ではバージョン0.1.0の初期リリースであり、インストーラーや公開されたビルドは提供されておらず、ソースコードから実行する必要がある。OCR機能の未実装(スキャン済みPDFからのテキスト抽出ができない)、重複ファイルの検出機能の制限、特定のファイル形式(.docx)への対応不足、macOS向けのパッケージング未対応など、まだ開発途上の部分もあるが、これらはすべて公開情報として明記されており、透明性へのこだわりがうかがえる。SlothFileは、安全性、プライバシー、そして人間による制御を最優先に考えた、革新的なファイル整理ツールと言える。

関連コンテンツ

関連IT用語