https://github.com/moyangzhan/mango-desk
Search your files using nature language
https://github.com/moyangzhan/mango-desk
ai-search file-content-search sematic-search vector-search
Last synced: 4 months ago
JSON representation
Search your files using nature language
- Host: GitHub
- URL: https://github.com/moyangzhan/mango-desk
- Owner: moyangzhan
- License: other
- Created: 2025-12-25T11:42:14.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-02-03T12:10:08.000Z (4 months ago)
- Last Synced: 2026-02-04T02:24:24.206Z (4 months ago)
- Topics: ai-search, file-content-search, sematic-search, vector-search
- Language: Rust
- Homepage:
- Size: 80.6 MB
- Stars: 170
- Watchers: 1
- Forks: 9
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- fucking-awesome-rust - MangoDesk - Search your files using nature language (Applications / File manager)
- awesome-tauri - MangoDesk - Search your files using nature language. (Applications / File management)
- awesome-rust - MangoDesk - Search your files using nature language (Applications / File manager)
- awesome-rust-with-stars - MangoDesk - 01-27 | (Applications / File manager)
README
[English](./README.md) | [ไธญๆ](./README_CN.md)
# Mango Desk
**๐ฅญ Awake your data**

[](https://github.com/moyangzhan/mango-desk/releases)
## What is Mango Desk?
Mango Desk is a local-first desktop app for searching your local documents with natural language.
It helps you find information based on what you remember, not file names or folder structures.

### ๐ Use Cases
Mango Desk is especially useful in scenarios where you have **a large amount of local documents** and want to retrieve information using natural language.
#### Typical Use Cases
- ๐ **Personal Document Libraries**
- Years of accumulated notes, PDFs, Word files, Markdown files. etc
- Example: *โThat note where I summarized Rust ownership rulesโ*
- ๐ **SVN / Git Repositories**
- Search through design docs, READMEs, technical proposals, and historical solutions
- Example: *โWhere is the document about the permission refactor?โ*
- ๐ข **Team or Company Knowledge Base**
- Internal documents, project docs, meeting notes, onboarding materials
- Example: *"Find all Q4 meeting notes about budget planning"*
- Example: *"What are the company policies regarding remote work?"*
- ๐ **Research and Study Materials**
- Papers, experiment records, literature notes
- Example: *โWhat is the latest research on AI?โ*
- โ๏ธ **Legal and Financial Documents**
- Contracts, policy documents, reports
- Example: *โWhat is the latest company policy on data privacy?โ*
### โจ Features
- ๐ญ **Search by meaning, not file names**
- Find documents by describing what you remember, even if you donโt recall exact titles or locations
- ๐ **Search by path**
- Find documents by multiple keywords if you remember some pecific parts of the file path
- ๐ **Works with your existing local files**
- No need to reorganize folders or rename files โ Mango Desk works with what you already have
- ๐ **Real-time file & directory watching**
- Automatically detects file and folder changes (add / modify / delete) and keeps index and search results up to date
- โก **Fast and lightweight**
- Instant search results without slowing down your system
- ๐ **Private by default**
- All data stays on your device, ensuring your privacy
### ๐๏ธ Architecture
**Indexing**

`The self-hosted model part is under development and will be integrated according to the ollama interface.`
**Search**

### ๐ ๏ธ Technology Stack
* Frontend
* WebView๏ผTauri๏ผ
* PNPM
* Node.js
* Backend
* Rust
* Tauri Core
## ๐ Setting Up
### 1. Frontend
#### Node
`node` v20+ required
It is recommended to use [nvm](https://github.com/nvm-sh/nvm) to manage multiple `node` versions.
#### PNPM
`pnpm` v9+ required
If you haven't installed `pnpm`, you can install it with the following command:
```shell
npm install pnpm -g
```
#### Install dependencies
```sh
pnpm i
```
### 2. Backend(Rust)
`rust` v1.90.0+ required
Install tools: [https://www.rust-lang.org/tools/install](https://www.rust-lang.org/tools/install)
### 3. Tauri
Install Tauri Prerequisites:
[https://tauri.app/start/prerequisites/](https://tauri.app/start/prerequisites/)
## โถ๏ธ Development Run
A Tauri app has at least [two processes](https://tauri.app/concept/process-model/):
- the Core Process (`backend`)
- the WebView process (`frontend`)
Both backend and frontend start with a single command:
```sh
pnpm tauri dev
```
## ๐ฆ Building
```sh
pnpm tauri build
```
After building, the executable file is usually located in `src-tauri/target/release/`.
windows: `src-tauri/target/release/bundle/msi/Mango Desk_0.1.0_x64_en-US.msi`
## โ FAQ
### Q: How does Mango Desk ensure data privacy?
A: Mango Desk follows a local-first architecture to ensure data privacy:
#### Local Data Processing
- All document indexing and search operations are performed locally on your device
- No data is transmitted to external servers during normal operation
#### Exception Cases
- Only when processing images or audio files, remote models may be used (if enabled)
- These remote models are disabled by default and must be manually enabled by users
#### Data storage
- All user data remains on the local device by default
#### Architecture Details
As shown in the architecture diagram above, the entire processing pipeline is designed to keep data local, ensuring maximum privacy and security.
### Q: Why are so many models used in the code?
A: The codebase includes multiple models serving different purposes:
#### 1. Active Local Models (Enabled by Default)
- `bge-base-*`
- These models run locally on users' computers for basic document processing
- Prioritized for privacy and performance
#### 2. Remote Models (Optional)
- `gpt-5-mini` and `gpt-4o-mini-transcribe`
- Designed for image and audio parsing
- Disabled by default, can be enabled if needed
- Note: We plan to replace these with local alternatives when available
- Kept as optional features for self-hosting scenarios
#### 3. Reserved Models (Future Features)
- `qwen-turbo`, `deepseek-chat`, and `deepseek-reasoner`
- Prepared for upcoming features like:
- Knowledge graph generation
- Advanced document analysis
- Also serves as a foundation for developers who want to customize with these models
- Maintains flexibility for future feature expansion
## ๐ License
see the [LICENSE](LICENSE) file for details.
## ๐ค Contributing
Contributions of all kinds are welcome, including but not limited to:
* ๐ Reporting bugs
* ๐ก Suggesting new features or improvements
* ๐ Improving documentation
* ๐ง Submitting code (pull requests)
Before submitting a pull request, please consider:
1. Fork this repository
1. Create a new branch (git checkout -b feature/xxx)
1. Ensure pnpm tauri dev runs successfully locally
1. Commit changes (git commit -m 'feat: xxx')
1. Push the branch (git push origin feature/xxx)
1. Submit a Pull Request
## โญ Support the Project
Support Mango Desk if you find it helpful:
- Starring the repository on GitHub
- Recommending it to others
- Sharing your experience