{"id":51186859,"url":"https://github.com/vishalquantana/senani","last_synced_at":"2026-06-27T11:02:58.516Z","repository":{"id":361476094,"uuid":"1254587585","full_name":"vishalquantana/senani","owner":"vishalquantana","description":"An offline, agentic AI email + CRM for macOS — a private army of AI agents that runs entirely on your Mac. 100% local AI (Gemma via MLX), zero cloud, open source.","archived":false,"fork":false,"pushed_at":"2026-05-30T20:08:50.000Z","size":74,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-30T21:13:50.363Z","etag":null,"topics":["ai-agents","crm","email","gemma","gmail","local-llm","macos","mlx","offline","on-device-ai","open-source","privacy","swift","swiftui"],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vishalquantana.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"docs/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-30T18:56:25.000Z","updated_at":"2026-05-30T20:08:55.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/vishalquantana/senani","commit_stats":null,"previous_names":["vishalquantana/senani"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/vishalquantana/senani","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishalquantana%2Fsenani","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishalquantana%2Fsenani/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishalquantana%2Fsenani/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishalquantana%2Fsenani/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vishalquantana","download_url":"https://codeload.github.com/vishalquantana/senani/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishalquantana%2Fsenani/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34850576,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","crm","email","gemma","gmail","local-llm","macos","mlx","offline","on-device-ai","open-source","privacy","swift","swiftui"],"created_at":"2026-06-27T11:02:57.672Z","updated_at":"2026-06-27T11:02:58.511Z","avatar_url":"https://github.com/vishalquantana.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"assets/senani-logo.svg\" alt=\"Senani\" width=\"104\" height=\"104\" /\u003e\n\n\u003ch1\u003eSenani\u003c/h1\u003e\n\n### A private army of AI agents that works while you sleep — completely offline.\n\n[![License: AGPL v3](https://img.shields.io/badge/License-AGPL_v3-D4AF37.svg)](LICENSE)\n[![Platform](https://img.shields.io/badge/macOS-14%2B-1c1c1e)](#requirements)\n[![Apple Silicon](https://img.shields.io/badge/Apple_Silicon-M1%2B-1c1c1e)](#requirements)\n[![Status](https://img.shields.io/badge/status-pre--alpha-orange)](#status)\n[![Stars](https://img.shields.io/github/stars/vishalquantana/senani?style=social)](https://github.com/vishalquantana/senani/stargazers)\n\n**Your inbox, run by a private team of AI agents — on your Mac, and nowhere else.**\nNo cloud AI. No subscriptions. No telemetry. Nothing ever leaves your machine.\n\n\u003c/div\u003e\n\n---\n\n\u003e ### 🚧 Status: pre-alpha\n\u003e Senani is in active design and early development. This repository is the home of the project, its\n\u003e architecture, and its roadmap. ⭐ **Star it to follow along** — the first builds land soon.\n\u003e See the [**Roadmap**](docs/ROADMAP.md) and [**Architecture**](docs/ARCHITECTURE.md).\n\n\u003cdiv align=\"center\"\u003e\n\n🎬 _Demo coming soon — agents triaging the inbox and drafting replies, live and on-device._\n\n\u003c/div\u003e\n\n## What is Senani?\n\n**Senani** _(सेनानी / సేనాని — \"the general who leads the army\")_ is an open-source, **completely offline**\nAI email client and CRM for macOS. It connects to your Gmail, syncs your mail into a local store, and\nruns a **local large language model** (Google's **Gemma**, via Apple's **MLX**) **entirely on your Mac**.\n\nEvery bit of AI — reading, classifying, drafting, reasoning — happens on-device. A team of focused agents\ntriages your mail, drafts replies in your voice, books meetings, qualifies leads, tracks proposals, and\nchases follow-ups — **while you sleep**. You wake up to a handled inbox and a queue of one-tap approvals.\n\nIt's built for **solopreneurs, consultants, agencies, and small B2B sales teams** who live in Gmail and\nrefuse to send their client correspondence to someone else's servers.\n\n## Why Senani?\n\nEvery commercial \"AI email\" tool — Superhuman, Shortwave, Fyxer, Cora — sends your mail to **cloud LLMs**\n(OpenAI, Anthropic, Google). Senani doesn't. The only thing your Mac ever talks to is **your own Gmail account.**\n\n```\n            YOUR MAC  —  everything below runs on-device\n┌──────────────────────────────────────────────────────────────────┐\n│  Senani (native SwiftUI app · gold-glass UI)                       │\n│     Inbox cockpit · Approval queue · Activity log                  │\n│        │                                                           │\n│     Agent Engine  →  routes each mail to the right agent(s)        │\n│        │                          │                                │\n│     Local LLM (MLX + Gemma)   Local store (SQLite + vectors)       │\n│     draft · triage · extract  mail · contacts · pipeline           │\n└────────────────────────┬───────────────────────────────────────────┘\n                         │   ← the ONLY network hop (your own account)\n                         ▼\n              Gmail  (fetch mail · save drafts · send)\n```\n\n- 🔒 **100% local AI** — zero cloud inference, zero AI API costs, zero data brokering.\n- 🕵️ **No telemetry, no accounts** — auditable, open source, mail stored in a local SQLite file you own.\n- 💸 **Pay once** — a one-time license for the official build. No subscription, ever.\n- ✋ **Agents propose, you approve** — nothing outbound sends without you. Per-agent autonomy dial + full audit log.\n\n## The agents\n\nSenani isn't one assistant — it's a **formation** of focused agents, each doing one job well.\n\n| Tier | Agent | What it does |\n|------|-------|--------------|\n| **Core** | 🗂️ **Triage** | Classifies + prioritizes every mail; applies Gmail labels |\n| **Core** | ✍️ **Reply Drafter** | Drafts replies in *your* voice → saved as a Gmail draft |\n| **Core** | 📅 **Booking** | Detects scheduling asks, reads your calendar, proposes/confirms times |\n| **Core** | ☀️ **Daily Digest** | Your morning cockpit: what came in, what needs you, what's drafted |\n| **Core** | 🧹 **Inbox Hygiene** | Spots newsletters/cold spam, suggests bulk unsubscribes |\n| **Pro** | 🎯 **Lead Qualifier** | Scores inbound leads, extracts company/intent/budget, drafts a first reply |\n| **Pro** | 📑 **Proposal Tracker** | Tracks quotes \u0026 proposals + their status; nudges the stale ones |\n| **Pro** | 🔁 **Follow-up** | Watches quiet threads awaiting *their* reply; suggests timed nudges |\n| **Pro** | 📣 **Outreach** | Proactive warm-outreach drafts from your own contacts and history |\n| **Pro** | 🧾 **Invoice / Finance** | Spots invoices \u0026 payment asks, extracts amounts/due dates, flags overdue |\n\n## How it works\n\n| Layer | Tech |\n|-------|------|\n| App shell | Native **SwiftUI** (macOS 14+), the \"gold-glass\" aesthetic |\n| Local LLM | **Gemma** running in-process via **`mlx-swift`** (Apple Silicon) — no Python, no server, no extra install |\n| Local store | **SQLite** (+ vector search) — mail, contacts, pipeline, agent memory |\n| Connectors | **Gmail** + **Google Calendar** (OAuth, scoped); tokens in the macOS Keychain |\n\nFull design in [**docs/ARCHITECTURE.md**](docs/ARCHITECTURE.md).\n\n## Requirements\n\n- **macOS 14 (Sonoma) or later**\n- **Apple Silicon** (M1 or newer) — required for on-device MLX inference\n- A **Gmail** account\n- RAM guides the model: **8 GB** runs the default small Gemma, **16 GB+** unlocks larger models via the in-app picker.\n\n## Install\n\n\u003e Builds are not yet published (pre-alpha). Two paths are planned:\n\n**1. Build from source** _(free, always)_\n```bash\ngit clone https://github.com/vishalquantana/senani.git\ncd senani\n# open in Xcode 16+ and run — full instructions land with the first alpha\n```\n\n**2. Official signed build** _(one-time license — coming soon)_\nThe notarized, auto-updating official build will be **$99 (Core)** / **$199 (Pro)**.\nSee [_Why pay if it's open source?_](#why-pay-if-its-open-source)\n\n## Senani vs cloud AI email\n\n| | **Senani** | Fyxer / Cora | Superhuman AI | Inbox Zero (hosted) |\n|---|:--:|:--:|:--:|:--:|\n| AI runs **on your device** | ✅ | ❌ | ❌ | ❌ |\n| Works **fully offline** | ✅ | ❌ | ❌ | ❌ |\n| **No third-party** sees your mail | ✅ | ❌ | ❌ | ❌ |\n| **One-time** payment | ✅ | ❌ (sub) | ❌ (sub) | ❌ (sub) |\n| **Multi-agent** sales suite | ✅ | partial | ❌ | partial |\n| **Open source** | ✅ | ❌ | ❌ | ✅ |\n\n## Roadmap\n\n- [ ] **Phase 0** — Foundation: app shell, Gmail sync → local store, MLX + Gemma + model picker\n- [ ] **Phase 1** — Agent Engine + **Triage** \u0026 **Reply Drafter** (the demoable MVP)\n- [ ] **Phase 2** — Complete Core (Booking, Daily Digest, Inbox Hygiene) → **$99** build\n- [ ] **Phase 3** — Pro sales suite + lightweight pipeline/CRM → **$199** tier\n- [ ] **Phase 4** — Landing + pricing page\n- [ ] Packaging, notarization, license keys, auto-update\n\nDetails in [**docs/ROADMAP.md**](docs/ROADMAP.md).\n\n## Why pay if it's open source?\n\nSenani is, and always will be, **fully open source under AGPL-3.0** — read every line, build it yourself,\nmodify it freely. The one-time license buys the **convenience**, not the code:\n\n- a **signed, notarized** build that opens with a double-click (no Xcode),\n- **automatic updates**,\n- **support**, and\n- it **funds full-time development**.\n\nThis is the same model behind SQLite, Plausible, and Immich: give away the source, charge for the official\nbuild. \"Senani\" the name and logo are trademarks — forks must rebrand, the project stays free.\n\n## Contributing\n\nContributions are very welcome — see [**CONTRIBUTING.md**](CONTRIBUTING.md). Look for\n[`good first issue`](https://github.com/vishalquantana/senani/labels/good%20first%20issue) once the first\ncode lands. Security disclosures: [**SECURITY.md**](SECURITY.md).\n\n## License\n\n[**AGPL-3.0**](LICENSE) © Quantana. The \"Senani\" name and logo are trademarks of the project owner.\n\n## FAQ\n\n**Is my email really private?** Yes. Mail syncs from Gmail to a local store on your Mac; all AI runs\non-device. No email content or AI inference ever touches a third-party server.\n\n**Does it work fully offline?** All AI does. Fetching and sending mail naturally needs to reach Gmail\n(that's where your mail lives) — but that's the only network call, to your own account.\n\n**Why Apple Silicon only?** On-device inference via MLX needs Apple Silicon. It's what makes Senani fast\nand private at the same time.\n\n**Gmail only?** At launch, yes. Other providers are on the radar.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\u003csub\u003eBuilt for people who want their inbox handled — without handing it over.\u003c/sub\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvishalquantana%2Fsenani","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvishalquantana%2Fsenani","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvishalquantana%2Fsenani/lists"}