[Project] 2. Synapulse — A Self-Hosted Personal AI Assistant

Overview
Synapulse (Synapse + Pulse) is a self-hosted personal AI assistant that lives in your Discord server. The idea came from OpenClaw — after seeing what it could do, I decided to build the personal assistant I had always wanted, one that is lightweight, transparent, and fully under my control.
- GitHub: GOODDAYDAY/Synapulse
Demo
| Weather query | Web search + recommendation |
|---|---|
![]() | ![]() |
| Reminder (notify mode) | Reminder (prompt mode) |
|---|---|
![]() | ![]() |
| File creation + send |
|---|
![]() |
Features
| Feature | Description |
|---|---|
| AI Chat | @mention the bot in Discord to chat, supports multiple AI providers |
| Tool Calling | Multi-round AI tool-call loop (up to 10 rounds), tools auto-discovered at startup, with token compression |
| Shell Execution | AI proactively uses shell commands for system queries, calculations, git operations. Cross-platform: PowerShell on Windows, bash on Linux/macOS |
| Persistent Memory | Conversations saved and auto-summarized, cross-session memory |
| Task Management | To-dos with priorities and due dates, AI sees pending tasks proactively |
| Memo / Notes | Save and search personal notes via natural language |
| Reminders | Set reminders with relative time (+5m, +1h) or absolute time. Two modes: notify for passive nudges, prompt for scheduled AI actions (e.g. “tell me the weather in 1 hour”) |
| File Operations | Read, write, search, and manage local files within allowed paths |
| Email Monitoring | Background jobs watch Gmail, Outlook, QQ Mail via IMAP, push summaries to Discord |
| MCP Integration | Connect to 55+ pre-configured MCP servers (GitHub, Notion, filesystem, databases), on-demand loading to save tokens |
| Model Rotation | Multi-endpoint YAML config with tag-based routing, priority, and automatic rate-limit fallback |
| File & Shell | Read/write local files, execute shell commands with safety blacklist and timeout |
| Notification Interaction | Reply to any bot message and the AI sees the original content as context |
| Hot-Reload Config | Edit job schedules, prompts, MCP servers, model endpoints at runtime without restart |
Architecture
Tech Stack
| Component | Technology |
|---|---|
| Language | Python 3.11+ |
| Channel | Discord (discord.py) |
| AI Providers | OpenAI-compatible (GitHub Models, Ollama, custom endpoints) |
| Storage | JSON file-based (one file per data type) |
| Tool Extension | MCP (Model Context Protocol) + native auto-discovery |
| Background Jobs | Async cron jobs for email monitoring, reminder checking |
Project Structure
| |
Core Loop
The tool-call loop in core/mention.py:





