Skip to content

Releases: Codegass/N0Mail

v0.2.1

23 Apr 04:02

Choose a tag to compare

N0Mail v0.2.1 - Alpha Update Release Notes

Release Date: [April 22, 2025]

The N0Mail v0.2.1 release builds upon the alpha foundation laid in v0.2.0, introducing a powerful keyword search tool, improved performance through briefing cache, and key usability and codebase enhancements.

✨ New Features

  • 🔍 Keyword Search Tool (search_email_by_keyword): Added a dedicated tool for precise keyword or phrase matching within email subjects and bodies. Especially useful for locating specific terms, IDs, or quoted text.
  • The AI now intelligently chooses between semantic search and exact-match keyword search based on the user’s query type.

🚀 Improvements & Enhancements

  • ⚡ Briefing Cache Enabled: The n0mail brief and n0mail chat initial briefing calls are now cached for 15 minutes. This significantly speeds up repeated invocations within a short time window.
  • 📅 Default Briefing Range: The default lookback window for both n0mail brief and n0mail chat is now set to 2 days, offering more relevant recent context by default.
  • 🗨️ Improved No-Result Feedback: Enhanced system prompts in chat to provide clearer, more informative messages when neither RAG nor keyword search returns a result—reducing user confusion and guiding better follow-up questions.
  • 🛠️ Debug Mode Enhancements: More robust exception tracing and logging in debug mode to assist with error diagnosis during development or troubleshooting.

🔧 Refactoring & Internal Changes

  • 🧠 RAG Service Refactor: The Retrieval-Augmented Generation logic has been modularized into a standalone service (rag_service), streamlining future expansion and maintenance.
  • 📁 Tool Logic Modularization: Search-related tools used by the chat module (RAG, sender search, name lookup, keyword search) have been decoupled and moved into a new directory: n0mail/cli/tools/. This improves code structure and maintainability.

📌 Reminder: Usage Quick Reference

n0mail auth google
n0mail sync run [--days N | --full] [--no-embed]
n0mail process classify [--max-emails N]
n0mail process summarize [--no-skip-bulk]
n0mail brief compose | generate [--days N] [--output FILE]
n0mail chat [--chat-model MODEL] [--embedding-model MODEL]

🧭 Looking Ahead (M2 Roadmap)

The following features are still under development:

  • (F-6) n0mail cron enable for automated briefing generation.
  • (F-8) Interactive chat REPL commands such as /open, /copy, /retry.
  • (F-9) More advanced caching and invalidation mechanisms for dynamic email content changes.

v0.2.0 [Alpha Release]

21 Apr 07:04

Choose a tag to compare

N0Mail v0.2.0 - Alpha Release Notes

Release Date: [April 21th 2025]

Welcome to the first alpha release of N0Mail (v0.2.0)! This version introduces the core functionalities of the AI Email Assistant designed to help you manage your inbox more efficiently.

✨ Core Functionality

  • Gmail Authentication (F-1): Securely connect your Gmail account using n0mail auth google via the OAuth PKCE flow. Credentials are stored safely in your system's keyring.
  • Email Synchronization (F-2): Fetch your emails locally using n0mail sync run. Supports incremental syncs based on Gmail's history, syncing by date range (--days), or full sync (--full). Embeddings are generated (using OpenAI or Ollama) and stored locally in ChromaDB for RAG.
  • AI-Powered Processing (F-3 & F-4):
    • Classification: Automatically classify emails into High, Normal, Bulk, or Promo using n0mail process classify (powered by GPT-4o or a configured Ollama model).
    • Summarization: Generate concise summaries for your emails using n0mail process summarize. Bulk/Promo emails can be skipped by default.
  • Email Briefing (F-5):
    • Generate daily briefings using n0mail brief compose (rule-based using local data) or n0mail brief generate (AI-powered).
    • Specify date ranges, include/exclude bulk mail, and choose output formats.
  • Interactive Chat (F-7): Start a chat session with your emails using n0mail chat. Leverages Retrieval-Augmented Generation (RAG) to answer questions based on your synchronized emails. Includes basic tool use for semantic search and finding emails by sender/name (experimental).
  • Multiple AI Providers: Configure N0Mail to use either OpenAI or a local Ollama instance for LLM tasks (Chat, Classification, Summarization, Briefing) and Embeddings via .env file settings.

⚙️ Configuration

  • Set up your Google client_secret_....json.
  • Configure AI providers (OpenAI API Key, Ollama Host/Models) in the .env file. See README.md for details.

🚀 Usage

Refer to the README.md for detailed command-line usage instructions, including:

  • n0mail auth google
  • n0mail sync run [--days N | --full] [--no-embed]
  • n0mail process classify [--max-emails N]
  • n0mail process summarize [--no-skip-bulk]
  • n0mail brief compose | generate [--days N] [--output FILE]
  • n0mail chat [--chat-model MODEL] [--embedding-model MODEL]

🚧 Known Issues / Future Work (M2 Roadmap)

  • Automatic Briefing Cron Job (F-6): The n0mail cron enable command is not yet implemented. Briefings must be triggered manually.
  • Advanced Chat Commands (F-8): Commands like /open, /copy, /retry within the chat REPL are planned but not yet available.
  • Briefing Cache (F-9): The 15-minute caching for n0mail brief run is not yet implemented.