/pana

A locally hosted desktop assistant.

Primary LanguageSvelteMIT LicenseMIT

Pana

License Windows macOS Linux

A locally hosted desktop assistant leveraging LLMs, enabling offline question-answering with complete data privacy.

Demo

Installation

You can find the installer/bundle for your operating system on release page. Please note that the current version is not stable yet, and you may encounter various bugs.

🔔 NB: For windows users, it may be necessary to run the application as admin because model downloading feature requires read and write access to the resource path.

TechStacks

Prerequisites

Before getting started with this project, ensure that you have the following prerequisites installed on your machine:

  1. Node.js: Make sure you have Node.js installed. You can download it from https://nodejs.org.

  2. Rust: Tauri is powered by Rust, so you'll need to have Rust installed. You can install Rust by following the instructions on https://www.rust-lang.org.

  3. Pnpm: Pnpm is a fast, disk space efficient package manager. You can install it by running npm install -g pnpm or other methods described on https://pnpm.io.

Getting Started

  1. Clone this repository to your local machine.
  2. Navigate to the project directory.
  3. Install dependencies pnpm install.

Development

To start the development server, run pnpm tauri dev, or cargo tauri dev if you have Tauri CLI installed. This will launch the Tauri application and open a development window. Any changes you make to the source code will automatically reload the application.

Build

To build the application from source, run pnpm tauri build, or cargo tauri build if you have Tauri CLI installed. This will build the application for your current platform.

Roadmap

  • In-app model downloading
  • Local interaction with LLM models
    • Contextual conversation with embedded chat history store
    • Customizable LLM model parameters
  • Lang-chain tool integration
    • Search functionality to quickly locate information within the document
    • Summarization of lengthy documents
  • Extensible plugin system for Lang-chain tools
  • Clean and intuitive UI for daily use

Contributing

Contributions are always welcome! Please file an issue or submit a pull request to dev branch and make sure it passes CI check if you'd like to contribute to this project.

License

Pana is licensed under the MIT License.