An open-source personal AI assistant on Telegram with persistent escalating follow-ups, multi-model routing, batch task scheduling, and automated morning intelligence digests.
Why This? • Experience • Features • Prerequisites • Quickstart • Upcoming • Architecture • Star History
Most conversational chatbots answer a prompt and forget about you. OpenAssistant AI is built for the part that comes afterwards: capturing commitments in plain English, calculating deadlines in your local timezone, and following up proactively until you acknowledge or reschedule.
It pairs an automated Telegram conversational bot with Supabase Edge Functions, PostgreSQL persistence with pg_cron scheduling, a modern developer operations cockpit dashboard, and an ultra-fast multi-provider AI hub (Google Gemini, Groq, OpenAI, Anthropic Claude, OpenRouter).
You: "Remind me to submit the quarterly audit report tomorrow at 10 AM"
OpenAssistant: "Got it! ⏰ Scheduled 'Submit quarterly audit report' for tomorrow at 10:00 AM."
--- (Next morning at 10:00 AM) ---
OpenAssistant: "🔔 Reminder: Submit quarterly audit report!"
[ ✅ Done ] [ ⏱️ Snooze 1h ] [ 📅 Reschedule ]
--- (If ignored: 10:10 AM follow-up) ---
OpenAssistant: "⚠️ Follow-up 1/8: 'Submit quarterly audit report' is still pending. Don't let it slip!"
[ ✅ Done ] [ ⏱️ Snooze 1h ] [ 📅 Reschedule ]
| Feature | OpenAssistant AI | Traditional Reminder Apps (Apple / Todoist) | Standard Voice Assistants (Siri / Alexa) |
|---|---|---|---|
| Cascading Follow-ups | ✅ Aggressive escalations (10m, 30m, 60m...) | ❌ Beeps once and disappears into notifications | ❌ Single reminder only |
| Conversational Rescheduling | ✅ Chat naturally in Telegram | ❌ Clunky date pickers | |
| Monthly Cost | 🆓 $0 (Free-tier Supabase + Groq/Gemini) | 💳 $4 - $10/month recurring subscription | 💳 Locked to proprietary devices |
| Data Privacy | 🛡️ 100% self-hosted on your own PostgreSQL | ❌ Stored on third-party SaaS servers | ❌ Logs conversations for corporate training |
| Response Latency | ⚡ <300ms via Groq LPUs & Gemini Flash | N/A | 🐢 1.5s - 3s cloud roundtrip |
- 💬 Telegram-First Productivity: Natural-language conversational interface. Type
"Remind me to call Mom at 6 PM"or"Drink water in 30 minutes"to schedule tasks instantly. - 📋 Batch Multi-Task Scheduling: Paste a list of multiple tasks or deadlines in a single message (e.g. "next week: EVS exam, Python presentation, CE review"). OpenAssistant AI parses and schedules every deadline individually.
- ⏰ Proactive Escalating Reminders: Never miss a task again. If an alert is ignored, OpenAssistant AI follows up automatically (10m, 30m, 60m up to 8 configurable attempts) with inline action buttons (Done, Snooze 1h, Reschedule).
- 📰 Automated Daily Topic Digests: Receive an 8:00 AM daily briefing featuring your schedule alongside live, structured news gists on your tracked topics (configured via
/topics AI, ML, Robotics). - 🔀 In-Chat Multi-Provider Model Switching: Switch models (
gemini-3.5-flash-lite,gpt-4o-mini,claude-3-5-sonnet) and automated routing modes (Quick, Deep Reasoning, Coding, Budget) with live interactive status indicators. - ⚡ Ultra-Fast Edge Inference: Powered by Google Gemini and Groq LPU inference for instant, sub-second responses without lag.
- 🎛️ Modern Operations Cockpit: Integrated web dashboard on
http://localhost:3000to inspect live health, trigger instant reminders, pause/resume, snooze, acknowledge, or delete tasks. - 🧠 Persistent Long-Term Memory: Remembers facts, user preferences, project context, and relationship details across conversations.
- 🔌 Private Extensions Directory: Add your private tools, custom webhooks, or personal API integrations inside
src/custom/(gitignored). They compile during deployment while keeping your public repo 100% clean. - 🛡️ Zero-Trust Security: Local credentials sealed with AES-256-GCM encryption (
scrypt), Telegram sender allowlist enforcement, and strict secret verification.
Before setting up, gather the following developer credentials. Google AI Studio and Groq are strongly recommended for high speed and generous free tiers:
| Credential | Recommendation | Purpose | Where to Get It |
|---|---|---|---|
| Google Gemini API Key | ⭐ Recommended (Primary) | Ultra-fast intent parsing & structured outputs | Google AI Studio |
| Groq API Key | ⭐ Recommended (Fastest) | Ultra-low latency Llama-3 inference (<300ms) | Groq Console |
| Telegram Bot Token | Required | Bot messaging & inline action buttons | @BotFather on Telegram |
| Telegram User ID | Required | Restricts your bot to your private ID | @userinfobot on Telegram |
| Supabase Project & Token | Required | Serverless database, cron, & edge functions | Supabase Dashboard |
| OpenAI / Claude / OpenRouter | Optional | Multi-model routing & fallbacks | OpenAI • Anthropic • OpenRouter |
💡 Tip: Pairing Google AI Studio (for high context & reliable JSON parsing) with Groq (for blazing-fast responses) gives the best conversational speed with zero subscription costs.
git clone https://github.com/Jnyananjan/OpenAssistant-AI.git
cd OpenAssistant-AInpm install
cd dashboard && npm install && cd ..Run the unified setup launcher:
npm run setupThis starts:
- 📡 Local Setup Service listening on
http://localhost:4000 - ⚡ Modern Operations Dashboard live on
http://localhost:3000
- Open
http://localhost:3000/setupin your browser. - Enter your Telegram Bot Token, Telegram User ID, Supabase Project Reference, and API Keys (Google AI Studio / Groq).
- Use the Test Connection button next to each field to verify live connectivity.
- Click Deploy OpenAssistant AI to run database migrations, set Edge Function secrets, configure
pg_cron, and register your Telegram webhook automatically.
We are actively developing the next generation of open-source productivity features:
- 🎙️ Voice Notes & Audio Reminders: Send voice memos directly in Telegram to parse commitments, deadlines, and shopping lists on the fly via Whisper & Groq Audio.
- 📅 Two-Way Google & Apple Calendar Sync: Automatically push scheduled reminders and events directly to your external calendars.
- 📰 Proactive Daily Briefing: Receive an automated morning executive summary of today's deadlines, upcoming tasks, and snoozed reminders at 8:00 AM.
- 🦙 Local LLM & Ollama Support: Run completely offline on your own hardware without transmitting personal data to cloud providers.
- 👥 Shared Family & Team Reminder Circles: Delegate reminders to friends, family members, or team channels in Telegram.
- 📊 Natural Language Habit Tracking: Log daily habits, workouts, and routines directly into your personal SQL memory bank.
User (Telegram)
│
▼
Telegram Bot API
│ (Webhook POST with secret token)
▼
Supabase Edge Function (telegram-webhook) ─── Google Gemini / Groq API
│ (Validates intent, calculates local time)
▼
Supabase PostgreSQL
├── public.tasks (title, due_at, status)
├── public.reminders (scheduled_at, status, follow_ups)
└── public.user_memories (semantic context, preferences)
│
▼
pg_cron (* * * * *) ───► Supabase Edge Function (process-reminders)
│ (Claims scheduled reminders securely)
▼
Telegram Alert (Done / Snooze 1h / Pause)
| Command | Description |
|---|---|
/start |
Welcome message and authorization check |
/help |
Detailed command list and usage examples |
/tasks |
View all active and upcoming tasks |
/today |
View tasks and reminders scheduled for today |
/add <task> at <time> |
Manually add a task with a specific deadline |
/providers |
View or switch active AI models and providers |
/memory |
Inspect saved facts and preferences |
OpenAssistant AI is built from the ground up for strict privacy:
- Local Credential Sealing: All API keys in the dashboard are sealed locally with AES-256-GCM using
scryptSynckey derivation. They are never sent unencrypted or returned to the browser. - Telegram Sender Allowlist: The webhook drops and ignores any messages sent by Telegram IDs not explicitly included in your
TELEGRAM_ALLOWED_USERS(orALLOWED_TELEGRAM_USERS) allowlist.
Tip
Troubleshooting: "Access Restricted" message
If the bot replies with ⛔ Access Restricted: Your Telegram account is not on the authorized user allowlist, your Telegram ID is not on the allowlist yet.
- Find your ID by messaging @userinfobot or checking the
telegram_user_idcolumn in your Supabasetelegram_updatestable. - Set your ID via Supabase CLI or Dashboard:
npx supabase secrets set TELEGRAM_ALLOWED_USERS="<YOUR_NUMERIC_ID>"
(Leave empty""to allow all users).
- Encrypted Webhook Verification: Telegram calls are verified with
X-Telegram-Bot-Api-Secret-Token. - Database Row Level Security: Public tables have strict RLS enabled; edge workers communicate via dedicated service roles with zero public leakage.
If you find OpenAssistant AI useful, please consider giving the repository a Star (⭐)—it helps more developers discover the project and keeps development moving forward!
Contributions, bug reports, and feature suggestions are warmly welcomed!
- 🚀 Looking for a place to start? Browse our Good First Issues.
- 💬 Got an idea or question? Join our GitHub Discussions.
- 📖 New here? Read our Contributing Guidelines to get your local environment running.
- 🛡️ Security concerns? Please review SECURITY.md to report responsibly.
- Name: OpenAssistant AI
- Repository: https://github.com/Jnyananjan/OpenAssistant-AI.git
- License: Apache-2.0
Built with ❤️ for dependable personal productivity.
