MCPcopy Index your code
hub / github.com/Harry-027/DocuMind

github.com/Harry-027/DocuMind @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
61 symbols 109 edges 18 files 20 documented · 33% updated 15mo ago★ 135
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

DocuMind (RAG based desktop app)

👉 DocuMind: Your documents, your AI-powered mind. 🌿

Turn your documents into dynamic knowledge sources with DocuMind! Simply upload a document (currently supports only pdf format), ask questions, and get instant, accurate responses. Powered by advanced Retrieval-Augmented Generation (RAG) technology, DocuMind understands the content and provides clear and insightful answers. Whether it’s contracts, research papers, reports, or technical manuals — DocuMind helps you access information in seconds.


Features

  • Ask questions about your documents and get instant, accurate responses.
  • Provides relevant, fact-based answers using RAG.
  • Documents are processed securely on your local machine with no data leakage.

TechStack

  • Using Axum rust server at backend to expose REST Apis and connect with Ollama server for inference & Qdrant vector database for storage.
  • Tauri app with React UI for frontend.

🛠️Installation Setup

Pre-requisites

Make sure you have following installed * Rust * Ollama * Docker * Node (v18.19 or later) & yarn

Setup the Qdrant vector database

docker volume create qdrant_data

docker run -d \
  --name qdrant \
  -p 6333:6333 \
  -v qdrant_data:/qdrant/storage \
  qdrant/qdrant

Pull the AI models on your machine via Ollama CLI

ollama pull nomic-embed-text:latest
ollama pull llama3.1:8b

Clone the repository and build the application

# Clone the repo
git clone https://github.com/Harry-027/DocuMind
# Change the directory
cd DocuMind
# Run the server
make app_server
# Run the tauri client in a new terminal
make tauri_client
# Run the app client in another new terminal
make app_client

⚙️ Configuration

In the env.yaml, you can configure the following - - Chunking Strategy: You can configure the chunk size (embedding_model_chunk_size). - Embedding Model: Customize the embedding model (embedding_model_name) for better document understanding. - LLM Model: Customize the LLM model (generate_model_name) for better document understanding.


🧑‍💻 Demo

Demo

Screenshots

Demo Screenshot Demo Screenshot


📜 License

DocuMind is licensed under the MIT License. See the LICENSE file for details.


🧑‍💻 Contributing

Feel free to open issues or submit pull requests.


📧 Contact

For support or inquiries, reach out at harishmmp@gmail.com

Extension points exported contracts — how you extend this code

AddButtonProps (Interface)
(no doc)
client/src/AddButton.tsx
InputFormProps (Interface)
(no doc)
client/src/InputForm.tsx
Doc (Interface)
(no doc)
client/src/DataModel.tsx

Core symbols most depended-on inside this repo

get_backend_url
called by 4
client/src-tauri/src/lib.rs
fetchItems
called by 2
client/src/App.tsx
get_model_details
called by 2
server/src/utils.rs
extract_file_content
called by 2
server/src/utils.rs
chunk_text
called by 2
server/src/utils.rs
send_request
called by 2
server/src/utils.rs
process_embeddings
called by 2
server/src/processor.rs
fetchContent
called by 1
client/src/Content.tsx

Shape

Function 38
Method 12
Class 7
Interface 3
Enum 1

Languages

Rust72%
TypeScript28%

Modules by API surface

server/src/utils.rs12 symbols
client/src-tauri/src/lib.rs8 symbols
server/src/vector_db.rs7 symbols
server/src/processor.rs7 symbols
server/src/handlers.rs6 symbols
client/src/InputForm.tsx4 symbols
client/src/App.tsx4 symbols
client/src/Modal.tsx3 symbols
server/src/main.rs2 symbols
client/src/Content.tsx2 symbols
client/src/AddButton.tsx2 symbols
client/src/Sidebar.tsx1 symbols

For agents

$ claude mcp add DocuMind \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page