TL;DR
Jarvis is a self-hosted personal AI assistant that lives in your Discord server. It runs on Claude (Anthropic), manages tasks, reads Preply schedules, executes shell commands, monitors systems, stores long-term memory via RAG, and coordinates multiple AI agents — all from your phone via Discord.
GitHub: https://github.com/ramsbaby/jarvis
Why I built this
I wanted an AI assistant that:
- Lives on my phone (Discord mobile)
- Remembers context across sessions (RAG memory)
- Actually executes things — not just chat
- Runs on my own hardware — no cloud lock-in
- Is extensible — new agents, new tools, new channels
Existing solutions were either too limited (just chat) or too complex to self-host. So I built Jarvis.
Architecture
Discord (mobile UI)
│
▼
discord-bot.js ← message router
│
├── Claude API ← LLM backbone (claude-3-5-sonnet)
├── MCP Tools ← exec / file / health / rag / nexus
├── Agent SDK ← multi-agent orchestration
└── LaunchAgents ← macOS scheduled crons
Jarvis runs as a macOS LaunchAgent (launchd), auto-starting on login. All scheduled tasks (daily KPIs, security scans, weekly career reviews) are also LaunchAgents — no crontab hacks.
Key Features
🤖 Multi-Agent Council
Multiple specialized agents (Career, Finance, Security, Health) run on schedules and post summaries to dedicated Discord channels. A Council agent synthesizes insights across all agents.
🧠 RAG Memory
Conversation history + context files are embedded and searchable. Ask "기억해?" ("remember?") and Jarvis searches vector memory, not just the current context window.
⚙️ Real Execution
Jarvis can run shell commands, peek at files, tail logs, check system health, list/create/delete cron jobs — all from Discord.
📅 Schedule-Aware
Integrated with Preply (wife's tutoring schedule) — ask "오늘 수업 있어?" and get today's lessons with earnings.
🔒 Secret-Safe
API keys live in $BOT_HOME/config/secrets/ (gitignored). The install script sets up the directory structure and guides through token setup.
Installation (30 seconds)
git clone https://github.com/ramsbaby/jarvis
cd jarvis
bash install.sh
Requires: Node 22+, macOS (LaunchAgents), Claude API key, Discord bot token.
What I learned
1. Discord is a surprisingly great AI UI. Mobile notifications, slash commands, channel-based context separation — it works better than any custom web UI I could have built.
2. LaunchAgents > crontab. On macOS, com.vix.cron is often disabled. LaunchAgents are more reliable, survive reboots, and have proper logging.
3. MCP (Model Context Protocol) is genuinely powerful. Giving Claude structured tools (exec, rag_search, health) instead of free-form text makes responses dramatically more accurate and actionable.
4. RAG memory changes the relationship with an AI. When it actually remembers past conversations, it stops feeling like a tool and starts feeling like a collaborator.
Current Status
- v1.1.0 released (2026-03-17)
- 64 E2E tests passing
- GitHub Actions CI passing (Node 22)
- Used daily for task management, system monitoring, schedule tracking
What's next
- Phase 3: Discord
/approvefor AI-drafted documents - Web dashboard (read-only)
- Linux / systemd support
- More agent types (Finance deep-dive, Travel planner)
If you're building something similar or have feedback, I'd love to hear it. Star the repo if it's useful ⭐
Top comments (0)