No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-01-22 13:30:10 -06:00
.claude chore: finalize changes for v0.7.0 release 2026-01-22 13:30:01 -06:00
data Feat: Add packaging configurations for Flatpak and AppImage 2026-01-15 09:54:02 -06:00
flatpak build(flatpak): add pygments dependency to flatpak manifest 2026-01-22 13:07:01 -06:00
plans docs: mark Issue #4 (markdown support) as completed 2026-01-22 12:14:49 -06:00
src/nanochat chore: finalize changes for v0.7.0 release 2026-01-22 13:30:01 -06:00
.gitattributes Initial commit 2026-01-14 15:55:50 -06:00
.gitignore update git ignore 2026-01-22 09:37:35 -06:00
CLAUDE.md fix(ui): ensure sidebar title refresh runs on GTK main thread 2026-01-16 11:09:50 -06:00
LICENSE Initial commit 2026-01-14 15:55:50 -06:00
pyproject.toml chore: bump version to 0.7.0 to match branch name 2026-01-22 12:34:49 -06:00
README.md docs: remove AppImage, standardize on Flatpak for distribution 2026-01-15 15:03:01 -06:00
requirements.txt Feat: Add packaging configurations for Flatpak and AppImage 2026-01-15 09:54:02 -06:00

NanoChat Desktop

A modern, native Linux desktop client for the NanoChat API, built with Python, GTK4, and Libadwaita.

Status License Python

Features

  • Native UI: Clean, modern interface designed for GNOME (Libadwaita).
  • Persistent Chat: Local caching (SQLite) allows you to view conversations offline.
  • Model Selection: Choose from available AI models; your selection is remembered.
  • Secure: API keys are stored safely in your system's keyring (Libsecret).
  • History: Manage your conversation history (view, delete).
  • Cross-Distro: Available as Flatpak for all Linux distributions.

Installation

The recommended way to install NanoChat Desktop is via Flatpak:

# Install from Flathub (once available)
flatpak install flathub com.nanogpt.NanoChat

# Or install from a downloaded .flatpak file
flatpak install com.nanogpt.NanoChat-<version>.flatpak

# Run the application
flatpak run com.nanogpt.NanoChat

Development Setup

If you want to contribute or run from source:

Prerequisites:

  • Python 3.11 or higher
  • GTK4 and Libadwaita development headers
  • Libsecret development headers

Fedora:

sudo dnf install python3-devel gtk4-devel libadwaita-devel libsecret-devel

Ubuntu/Debian:

sudo apt install python3-dev libgtk-4-dev libadwaita-1-dev libsecret-1-dev

From Source:

  1. Clone the repository:

    git clone https://github.com/nanogpt-community/nanochat-desktop.git
    cd nanochat-desktop
    
  2. Create a virtual environment:

    python3 -m venv venv
    source venv/bin/activate
    
  3. Install dependencies:

    pip install -e .
    
  4. Run the application:

    nanochat
    

Roadmap

See the plans/ folder for detailed development plans and upcoming features:

Phase 3 - Assistants and Projects:

  • Custom AI assistants with system prompts
  • Project folders for organizing conversations
  • Enhanced conversation management

Phase 4 - Advanced Features:

  • Web search integration
  • File attachments
  • Usage analytics

Phase 5 - Polish:

  • Additional themes and customization
  • Accessibility improvements
  • Store submission preparation

Packaging

Building the Flatpak

To build the Flatpak package locally:

# Install flatpak-builder
sudo dnf install flatpak-builder  # Fedora
sudo apt install flatpak-builder  # Ubuntu/Debian

# Install the GNOME runtime and SDK (if not already installed)
flatpak install flathub org.gnome.Platform//45
flatpak install flathub org.gnome.Sdk//45

# Build the Flatpak
flatpak-builder --user --install --force-clean build flatpak/com.nanogpt.NanoChat.yml

# Export as a single file
flatpak build-export export build
flatpak build-bundle export com.nanogpt.NanoChat-<version>.flatpak com.nanogpt.NanoChat

The Flatpak manifest is available at flatpak/com.nanogpt.NanoChat.yml.

License

MIT