Releases: Codegass/N0Mail
v0.2.1
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]
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 googlevia 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, orPromousingn0mail 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.
- Classification: Automatically classify emails into
- Email Briefing (F-5):
- Generate daily briefings using
n0mail brief compose(rule-based using local data) orn0mail brief generate(AI-powered). - Specify date ranges, include/exclude bulk mail, and choose output formats.
- Generate daily briefings using
- 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
.envfile settings.
⚙️ Configuration
- Set up your Google
client_secret_....json. - Configure AI providers (OpenAI API Key, Ollama Host/Models) in the
.envfile. SeeREADME.mdfor details.
🚀 Usage
Refer to the README.md for detailed command-line usage instructions, including:
n0mail auth googlen0mail 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 enablecommand is not yet implemented. Briefings must be triggered manually. - Advanced Chat Commands (F-8): Commands like
/open,/copy,/retrywithin the chat REPL are planned but not yet available. - Briefing Cache (F-9): The 15-minute caching for
n0mail brief runis not yet implemented.