{"id":3533,"date":"2026-05-15T11:57:19","date_gmt":"2026-05-15T04:57:19","guid":{"rendered":"https:\/\/daiilynews.cu.ma\/?p=3533"},"modified":"2026-05-15T11:57:19","modified_gmt":"2026-05-15T04:57:19","slug":"cuiheng511-filepilot-ai-%f0%9f%9a%80-smart-file-management-tool-ai-powered-file-scanning-search-deduplication-and-automatic-organization-%c2%b7-github","status":"publish","type":"post","link":"https:\/\/daiilynews.cu.ma\/?p=3533","title":{"rendered":"cuiheng511\/filepilot-ai: \ud83d\ude80 Smart File Management Tool \u2014 AI-powered file scanning, search, deduplication, and automatic organization \u00b7 GitHub"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<p>FilePilot AI is a local-first desktop file manager that helps you inspect, index, search, deduplicate, summarize, and organize your local storage \u2014 all through a preview-first workflow.<br \/>\nYour files stay on your machine unless you explicitly choose a cloud AI provider for summarization.<\/p>\n<p>Recursive directory scanning with depth controls<br \/>\nFile type, category, MIME, and hash detection<br \/>\nRich metadata: size, date, dimensions, duration<br \/>\nRespects hidden-file and .gitignore filters<\/p>\n<p>Whoosh-powered full-text index<br \/>\nKeyword, fuzzy, and boolean queries<br \/>\nFilter by type, date range, and file size<br \/>\nExport results to CSV<\/p>\n<p>Built-in extractors for PDF, Markdown, code, images, DOCX, XLSX, and PPTX<br \/>\nLocal (Ollama, llama.cpp) or cloud AI providers (OpenAI, Anthropic)<br \/>\nBatch summary workflow for multi-file processing<br \/>\nPluggable provider interface with unified API<\/p>\n<p>Size-bucket grouping for first pass<br \/>\nFast partial-hash pre-filter<br \/>\nFull SHA-256 content verification<br \/>\nSafe deletion via system Recycle Bin (send2trash)<\/p>\n<p>Organize by file type, date, extension, or size range<br \/>\nCustom rename templates with variables<br \/>\nPreview changes before applying<br \/>\nUndo-log support for rollback<\/p>\n<p>Native PySide6 desktop interface<br \/>\nLight and dark theme support<br \/>\nSystem tray integration with background file watcher<br \/>\nToast notifications and 18 UI languages<\/p>\n<p>Browse<br \/>\nSearch<\/p>\n<p>Organize<br \/>\nDuplicates<\/p>\n<p>AI Summary<br \/>\nIndex<\/p>\n<p>Python 3.10 or newer<br \/>\nWindows, macOS, or Linux<br \/>\nOptional: Ollama, llama.cpp, or LM Studio for local AI<br \/>\nOptional: OpenAI, Anthropic, or any OpenAI-compatible endpoint for cloud AI<\/p>\n<p>git clone https:\/\/github.com\/cuiheng511\/filepilot-ai.git<br \/>\ncd filepilot-ai<\/p>\n<p>python -m venv .venv<\/p>\n<p># Windows<br \/>\n.venv\\Scripts\\activate<\/p>\n<p># macOS \/ Linux<br \/>\nsource .venv\/bin\/activate<\/p>\n<p>pip install -r requirements.txt<br \/>\npython -m filepilot.main<\/p>\n<p>pip install -e &#8220;.(test,dev)&#8221;<br \/>\npytest<br \/>\nruff check .<br \/>\nruff format &#8211;check .<br \/>\nmypy<\/p>\n<p># Scan a folder<br \/>\npython -m filepilot.cli scan ~\/Documents<\/p>\n<p># Find duplicate files<br \/>\npython -m filepilot.cli duplicates ~\/Downloads<\/p>\n<p># Export an inventory report<br \/>\npython -m filepilot.cli export ~\/Projects &#8211;format csv -o report.csv<\/p>\n<p># Analyze disk usage<br \/>\npython -m filepilot.cli disk-usage ~\/<\/p>\n<p># Search indexed files<br \/>\npython -m filepilot.cli search ~\/Documents &#8220;machine learning&#8221;<\/p>\n<p># Preview an organization plan before moving anything<br \/>\npython -m filepilot.cli organize ~\/Downloads ~\/Sorted &#8211;dry-run &#8211;rules category date<\/p>\n<p>FilePilot AI supports both local and cloud AI providers through a unified interface. See docs\/AI-PROVIDERS.md for setup guides, configuration reference, and privacy details for each provider.<\/p>\n<p>Provider<br \/>\nMode<br \/>\nDefault URL<\/p>\n<p>Ollama<br \/>\nLocal<br \/>\nhttp:\/\/localhost:11434<\/p>\n<p>llama.cpp \/ vLLM<br \/>\nLocal<br \/>\nhttp:\/\/localhost:8080<\/p>\n<p>LM Studio<br \/>\nLocal<br \/>\nhttp:\/\/localhost:1234<\/p>\n<p>OpenAI<br \/>\nCloud<br \/>\nhttps:\/\/api.openai.com\/v1<\/p>\n<p>Anthropic<br \/>\nCloud<br \/>\nhttps:\/\/api.anthropic.com<\/p>\n<p>Custom endpoint<br \/>\nCloud \/ Local<br \/>\nUser-defined<\/p>\n<p>Cloud providers only receive the content you choose to summarize. Local scanning, indexing, organization, and duplicate detection do not require AI.<\/p>\n<p>filepilot-ai\/<br \/>\n|&#8211; filepilot\/<br \/>\n|   |&#8211; ai\/                  # AI providers and summarization<br \/>\n|   |&#8211; core\/                # Scanner, indexer, organizer, duplicates, watcher<br \/>\n|   |&#8211; extractors\/          # PDF, Markdown, code, image, DOCX, XLSX, PPTX<br \/>\n|   |&#8211; resources\/           # Application icons<br \/>\n|   |&#8211; styles\/              # Theme manager and QSS themes<br \/>\n|   |&#8211; ui\/                  # PySide6 panels, tray, settings, notifications<br \/>\n|   |&#8211; app.py               # Application bootstrap<br \/>\n|   |&#8211; cli.py               # Command-line interface<br \/>\n|   |&#8211; i18n.py              # Translation catalog<br \/>\n|   `&#8211; main.py              # GUI entry point<br \/>\n|&#8211; tests\/                   # Unit and UI tests<br \/>\n|&#8211; scripts\/                 # Build scripts (Windows\/macOS\/Linux installers)<br \/>\n|&#8211; .github\/workflows\/       # CI pipeline (3-platform builds)<br \/>\n|&#8211; FilePilot.spec           # PyInstaller build config (Windows)<br \/>\n|&#8211; pyproject.toml           # Package metadata and tooling<br \/>\n`&#8211; requirements.txt         # Runtime dependencies<\/p>\n<p>      flowchart LR<br \/>\n    UI(&#8220;PySide6 UI&#8221;) &#8211;> Core(&#8220;Core services&#8221;)<br \/>\n    CLI(&#8220;CLI&#8221;) &#8211;> Core<br \/>\n    Core &#8211;> Scanner(&#8220;File scanner&#8221;)<br \/>\n    Core &#8211;> Indexer(&#8220;Whoosh indexer&#8221;)<br \/>\n    Core &#8211;> Duplicates(&#8220;Duplicate finder&#8221;)<br \/>\n    Core &#8211;> Organizer(&#8220;Organizer&#8221;)<br \/>\n    Core &#8211;> Watcher(&#8220;Directory watcher&#8221;)<br \/>\n    Scanner &#8211;> Extractors(&#8220;Content extractors&#8221;)<br \/>\n    Extractors &#8211;> Summarizer(&#8220;AI summarizer&#8221;)<br \/>\n    Summarizer &#8211;> Providers(&#8220;Local and cloud AI providers&#8221;)<br \/>\n    Duplicates &#8211;> send2trash(&#8220;send2trash&#8221;)<br \/>\n    send2trash &#8211;> RecycleBin(&#8220;System Recycle Bin (safe deletion)&#8221;)<\/p>\n<p>    Loading<\/p>\n<p>Area<br \/>\nDesign<\/p>\n<p>Local-first workflow<br \/>\nFile scanning, indexing, duplicate detection, and organization run locally<\/p>\n<p>Optional AI<br \/>\nSummarization can use local models or explicit cloud providers<\/p>\n<p>Key storage<br \/>\nAPI keys use OS keyring when available, with encrypted fallback storage<\/p>\n<p>Deletion safety<br \/>\nDuplicate removal uses the system recycle bin through send2trash<\/p>\n<p>Telemetry<br \/>\nNo analytics, tracking, or background phone-home behavior<\/p>\n<p>The CI pipeline runs:<\/p>\n<p>pytest \u2014 unit and UI tests<br \/>\nruff check . \u2014 linting<br \/>\nruff format &#8211;check . \u2014 formatting<br \/>\nmypy \u2014 static type checking<br \/>\npip check \u2014 dependency consistency<\/p>\n<p>Run the same checks locally before pushing.<\/p>\n<p>FilePilot AI is packaged with PyInstaller on all three platforms. See docs\/BUILD.md for complete build instructions, prerequisites, and troubleshooting.<br \/>\n# Quick build (auto-detect platform)<br \/>\n.\/scripts\/build.sh<\/p>\n<p>The GitHub Actions workflow (.github\/workflows\/ci.yml) automatically builds all three platforms:<\/p>\n<p>Job<br \/>\nPlatform<br \/>\nRunner<br \/>\nArtifact<br \/>\nRetention<\/p>\n<p>build-windows<br \/>\nWindows<br \/>\nwindows-latest<br \/>\n.exe installer<br \/>\n30 days<\/p>\n<p>build-linux<br \/>\nLinux<br \/>\nubuntu-latest<br \/>\n.AppImage<br \/>\n30 days<\/p>\n<p>build-macos<br \/>\nmacOS<br \/>\nmacos-latest<br \/>\n.dmg<br \/>\n30 days<\/p>\n<p>Each CI run produces SHA256 checksums alongside the artifacts.<\/p>\n<p>FilePilot AI includes a threaded auto-update checker that queries GitHub Releases for new versions. See docs\/AUTO-UPDATE.md for the full API reference and configuration details.<\/p>\n<p>Background check every 24 hours (1 hour on failure)<br \/>\nResults cached to ~\/.filepilot\/update_check_cache.json<br \/>\nFully thread-safe \u2014 runs in a daemon thread<\/p>\n<p>See docs\/README.md for the full documentation index.<\/p>\n<p>Application screenshots and demo GIFs<br \/>\nSummary cache with invalidation<br \/>\nLarge-folder indexing performance tuning<br \/>\nMore organization templates<br \/>\nMore end-to-end packaging tests<\/p>\n<p>Contributions are welcome. See CONTRIBUTING.md for environment setup, style rules, and pull request guidance.<\/p>\n<p>FilePilot AI is released under the MIT License.<br \/>\n<br \/><br \/>\n<br \/><a href=\"https:\/\/github.com\/cuiheng511\/filepilot-ai\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>FilePilot AI is a local-first desktop file manager that helps you inspect, index, search, deduplicate, summarize, and organize your local storage \u2014 all through a preview-first workflow. Your files stay on your machine unless you explicitly choose a cloud AI provider for summarization. Recursive directory scanning with depth controls File type, category, MIME, and hash [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3534,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[676],"tags":[],"class_list":["post-3533","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech-ai"],"_links":{"self":[{"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/posts\/3533","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3533"}],"version-history":[{"count":0,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/posts\/3533\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/media\/3534"}],"wp:attachment":[{"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3533"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3533"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3533"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}