Xplorer Documentation

website·Indexed 32 days ago

https://xplorer.space/

An advanced file browser and management tool built with a Rust backend and React frontend using Tauri v2. Features include AI-powered file analysis and agents, Git integration via the git2 crate, SSH/SFTP remote browsing, Google Drive integration, and a robust extension system for custom themes, panels, and file preview handlers.

Tokens
34.6K
Snippets
144
Records
263
Agent score
65%

What's inside Xplorer

  1. Overview of Xplorer Git Integration

    Xplorer provides native Git support powered by the git2 Rust crate. This allows for repository management directly within the file explorer without requiring a system Git installation. Git functionality is implemented as an extension (examples/git-extension) and is exposed via the api.git namespace.
  2. Overview of Xplorer File Preview capabilities

    Xplorer features a right-sidebar preview panel that dynamically loads components based on file type. It supports a wide range of formats including images (PNG, JPG, SVG, etc.), PDFs (via react-pdf), Office documents (DOCX via mammoth.js, XLSX via xlsx), code files (via react-syntax-highlighter with Tokyo Night theme), plain text, Markdown, CSVs (via papaparse), and native media playback for video and audio.
  3. Overview of the Xplorer Code Editor extension

    The Code Editor extension provides a VS Code-like editing experience within Xplorer. Powered by CodeMirror 6, it includes features such as syntax highlighting, code folding, bracket matching, find & replace, go-to-line functionality, and indentation guides. To function, the extension requires file:read and file:write permissions.
  4. Overview of Xplorer Extension Categories

    Xplorer supports eight categories of extensions, each using a specific registration API to integrate custom functionality into the application.
    CategoryAPIPurpose
    themeTheme.register()Custom color schemes
    panelSidebar.register()Right sidebar panels with React UI
    panelSidebarTab.register()Left sidebar tabs (alongside Explorer/Search)
    previewPreview.register()Custom file preview renderers
    commandCommand.register()Commands with keyboard shortcuts
    actionContextMenu.register()Right-click context menu items
    bottom-tabBottomTab.register()Bottom panel tabs (alongside Terminal)
    editorEditor.register()Custom file editor handlers
  5. Overview of Xplorer features

    Xplorer is a cross-platform, AI-powered desktop file explorer built with Tauri v2 and Rust. It provides native-speed file operations and the following core capabilities:

    • AI Integration: Supports multiple providers including Claude, GPT, Gemini, DeepSeek, Mistral, and Ollama for file analysis and natural language chat.
    • Remote Access: SSH remote browsing to manage server files as local files.
    • Version Control: Integrated Git support for viewing history, blame, diffs, branches, and stashes.
    • File Management: Rich previews for PDFs, documents, images, code, and spreadsheets, alongside tokenized content indexing for smart search.
    • Extensibility: A plugin SDK and marketplace for adding custom functionality.
    • UX: Keyboard-driven interface with customizable shortcuts.
  6. Xplorer File Manager Overview

    Xplorer is an open-source, privacy-first file manager built with Rust (backend), Tauri v2 (framework), React (frontend), and TypeScript. It provides native-speed file management with integrated AI capabilities via local Ollama models, ensuring 100% offline AI processing.
  7. Use the FileEntry type for file and directory representation

    The FileEntry type is the fundamental representation of a file or directory used across both the Rust backend and TypeScript frontend in Xplorer.
    #[derive(Serialize, Deserialize, Clone)]
    pub struct FileEntry {
        pub name: String,
        pub path: String,
        pub is_dir: bool,
        pub size: u64,
        pub modified: u64,       // Unix timestamp (seconds)
        pub created: u64,        // Unix timestamp (seconds)
        pub extension: String,
        pub is_hidden: bool,
        pub is_symlink: bool,
    }
    interface FileEntry {
      name: string;
      path: string;
      is_dir: boolean;
      size: number;
      modified: number;
      created: number;
      extension: string;
      is_hidden: boolean;
      is_symlink: boolean;
    }
  8. Xplorer Backend Architecture Overview

    The Xplorer backend is written in Rust and operates as the main process of a Tauri v2 application. It is responsible for all system-level operations including filesystem interactions, AI integration, SSH connections, and search indexing.
  9. Manage storage and disk usage with Storage Analytics

    Xplorer provides Storage Analytics to help users visualize disk usage through charts, analyze file type distribution, and receive cleanup suggestions to free up space.
  10. Choose a file browser view mode in Xplorer

    Xplorer provides three distinct view modes to organize files based on the user's needs:

    • Grid View: Displays files as cards with icons and basic metadata; ideal for visual browsing.
    • List View: Compact single-line entries showing filename, size, and date; ideal for scanning large directories.
    • Details View: A full table with sortable columns (Name, Size, Type, Date Modified, etc.); ideal for precise file management.
  11. Xplorer Frontend Technology Stack

    The Xplorer frontend is a React 18 single-page application (SPA) bundled with Vite 5 and rendered within a Tauri WebView. The core stack includes:

    • Language: TypeScript 5.6
    • Routing: Wouter (lightweight client-side routing)
    • State Management: TanStack React Query (server state) and React useState (local UI state)
    • Styling: Tailwind CSS 3
    • Icons: Lucide React