DEV Community

ramsbaby
ramsbaby

Posted on

Jarvis — self-hosted AI butler on Discord (Claude-powered)

TL;DR

Jarvis is a self-hosted personal AI assistant that lives in your Discord server. Powered by Claude, it manages tasks, executes shell commands, monitors systems, stores long-term memory via RAG, and coordinates multiple AI agents — all from your phone.

GitHub: https://github.com/ramsbaby/jarvis


Why I built this

I wanted an AI assistant that actually does things — not just chats. One that runs on my own hardware, remembers past conversations, and is reachable from my phone 24/7.

Discord turned out to be the perfect UI: mobile notifications, slash commands, channel-based context separation.


Architecture

Discord (mobile)
     |
 discord-bot.js  <- router
     |
  +--+------------------+
  |  Claude API (sonnet) |
  |  MCP Tools           | <- exec, rag_search, health, file_peek
  |  Agent SDK           | <- multi-agent orchestration
  |  LaunchAgents (macOS)| <- scheduled crons
  +---------------------+
Enter fullscreen mode Exit fullscreen mode

Key Features

Multi-Agent Council — Specialized agents (Career, Finance, Security, Health) run on schedules, post summaries to dedicated channels, and a Council agent synthesizes cross-agent insights.

RAG Memory — Conversation history is embedded and searchable. When you reference past discussions, Jarvis searches vector memory, not just the current context window.

Real Execution — Run shell commands, tail logs, check system health, manage files — all from Discord mobile.

Schedule-Aware — Integrated with external calendars for real-time schedule + earnings data.


Install in 30 seconds

git clone https://github.com/ramsbaby/jarvis
cd jarvis
bash install.sh
Enter fullscreen mode Exit fullscreen mode

Requires: Node 22+, macOS, Claude API key, Discord bot token.


What I learned

  1. Discord > custom web UI for personal AI. Mobile-first, always-on, zero maintenance.
  2. LaunchAgents > crontab on macOS — more reliable, survives reboots, proper logging.
  3. MCP structured tools make LLM responses dramatically more accurate than free-form prompts.
  4. RAG memory changes the relationship — it stops feeling like a tool and starts feeling like a collaborator.

v1.1.0 | 64 E2E tests | CI passing

https://github.com/ramsbaby/jarvis

Top comments (0)