Skip to main content

Mudabbir: the AI agent that runs on your laptop, not a datacenter.

Project description

Mudabbir

Mudabbir

An AI agent that runs on your machine, not someone else's.

PyPI version License: MIT Python 3.11+ Downloads GitHub Stars

👤 Who Am I? | من أنا؟

Download for macOS   Download for Windows

Self-hosted, multi-agent AI platform. Web dashboard + Discord, Slack, WhatsApp, Telegram, and more.
No subscription. No cloud lock-in. Just you and your Paw.

🚧 Beta: This project is under active development. Expect breaking changes between versions.


Quick Start

curl -fsSL https://mudabbir.fly.dev/install.sh | sh

Or install directly:

pip install Mudabbir && mudabbir

That's it. One command. 30 seconds. Your own AI agent.

I'm your self-hosted, cross-platform personal AI agent. The web dashboard opens automatically. Talk to me right in your browser, or connect me to Discord, Slack, WhatsApp, or Telegram and control me from anywhere. I run on your machine, respect your privacy, and I'm always here.

No subscription. No cloud lock-in. Just you and me.

More install options
# Isolated install
pipx install mudabbir && mudabbir

# Run without installing
uvx mudabbir

# From source
git clone https://github.com/Ahmed5754/mudabbir.git
cd mudabbir
uv run mudabbir

Mudabbir will open the web dashboard in your browser and be ready to go. No config files. No YAML. No dependency hell.

Talk to your agent from anywhere: Telegram · Discord · Slack · WhatsApp · Web Dashboard


Docker

Run Mudabbir in a container — great for servers, VPS, or always-on setups.

# Clone the repo
git clone https://github.com/Ahmed5754/mudabbir.git
cd mudabbir

# Copy and fill in your env vars
cp .env.example .env

# Start the dashboard
docker compose up -d

Dashboard is at http://localhost:8888. Log in with the access token:

docker exec mudabbir cat /home/mudabbir/.mudabbir/access_token
Optional services (Ollama, Qdrant)
# With Ollama for local LLM inference
docker compose --profile ollama up -d

# With Qdrant for mem0 vector memory
docker compose --profile qdrant up -d

# Both
docker compose --profile ollama --profile qdrant up -d

When using Ollama inside Docker, set MUDABBIR_OLLAMA_HOST=http://ollama:11434 in your .env so Mudabbir reaches the Ollama container by service name.

Data persists in a named Docker volume across restarts. See .env.example for all available configuration options.


What Can Mudabbir Do?

Feature Description
Web Dashboard Browser-based control panel, the default mode. No setup needed.
Multi-Channel Discord, Slack, WhatsApp (Personal + Business), Signal, Matrix, Teams, Google Chat, Telegram
Claude Agent SDK Default backend. Official Claude SDK with built-in tools (Bash, Read, Write).
Smart Model Router Optional auto-selection of Haiku / Sonnet / Opus based on task complexity (off by default — Claude Code has its own routing)
Tool Policy Allow/deny control over which tools the agent can use
Plan Mode Require approval before the agent runs shell commands or edits files
Browser Control Browse the web, fill forms, click buttons via accessibility tree
Gmail Integration Search, read, and send emails via OAuth (no app passwords)
Calendar Integration List events, create meetings, meeting prep briefings
Google Drive & Docs List, download, upload, share files; read and create documents
Web Search & Research Tavily/Brave search + multi-step research with source synthesis
Image Generation Google Gemini image generation, saved locally
Voice / TTS / STT Text-to-speech via OpenAI or ElevenLabs, speech-to-text via Whisper
Spotify Search tracks, playback control, playlist management
Reddit Search posts, read threads, browse trending topics
OCR Extract text from images via GPT-4o vision or pytesseract
Memory & Compaction Long-term facts + session history with smart compaction + Mem0 semantic search
MCP Support Connect Model Context Protocol servers (stdio + HTTP)
Cron Scheduler Recurring reminders with natural language time parsing
Security Suite Injection scanner, audit CLI, Guardian AI, self-audit daemon
Local-First Runs on YOUR machine. Your data never leaves your computer.
Cross-Platform macOS, Windows, Linux
Skill System Create reusable agent skills at runtime
Task Delegation Delegate complex sub-tasks to Claude Code CLI

Examples

You:  "Every Sunday evening, remind me which recycling bins to put out"
Paw:  *creates a recurring schedule*
Paw:  "Done. I'll check the recycling calendar and message you every Sunday at 6pm."

You:  "Organize my Downloads folder. PDFs by date, images by type, delete duplicates"
Paw:  *scans filesystem, moves 47 files, removes 12 duplicates*
Paw:  "All clean. Here's what I did: [summary]"

Research & Browsing

You:  *drops a link*
Paw:  *opens browser, reads the page, researches related topics*
Paw:  "Here's a summary with 3 key takeaways. Want me to save this to memory?"

Coding & DevOps

You:  "Find that memory leak, the app crashes after 2 hours"
Paw:  *reads logs, profiles code, identifies the issue*
Paw:  "Found it. The WebSocket handler never closes connections. Here's the fix."

Multi-Agent Workflows (Mission Control)

You:  "I need a competitor analysis report for our product launch"
Paw:  *spins up Agent A: web researcher, Agent B: data analyst, Agent C: writer*
Paw:  "3 agents working on it. Agent A is scraping competitor sites,
       Agent B is analyzing pricing data, Agent C is waiting to write the report.
       I'll ping you when it's ready."

Web Dashboard

The browser-based dashboard is the default mode. Run mudabbir and it opens at http://localhost:8888.

What you get:

  • Real-time streaming chat via WebSocket
  • Session management: create, switch, search, and resume conversations
  • Activity panel showing tool calls, thinking, and system events
  • Settings panel for LLM, backend, and tool policy configuration
  • Channel management: configure, start, and stop adapters from the sidebar
  • MCP server management: add, configure, and monitor MCP servers
  • Plan Mode approval modal for reviewing tool calls before execution

Channel Management

All configured channel adapters auto-start on launch. Use the sidebar "Channels" button to:

  • Configure tokens and credentials per channel
  • Start/stop adapters dynamically
  • See running status at a glance

Headless mode is also available for running without the dashboard:

mudabbir --discord              # Discord only
mudabbir --slack                # Slack only
mudabbir --whatsapp             # WhatsApp only
mudabbir --discord --slack      # Multiple channels
mudabbir --telegram             # Legacy Telegram mode

See Channel Adapters documentation for full setup guides.


Browser

Uses your existing Chrome if you have it. No extra downloads. If you don't have Chrome, a small browser is downloaded automatically on first use.


Architecture

Mudabbir System Architecture

Agent Backends

  • Claude Agent SDK (Default, Recommended). Anthropic's official SDK with built-in tools (Bash, Read, Write, Edit, Glob, Grep, WebSearch). Supports PreToolUse hooks for dangerous command blocking.
  • Mudabbir Native. Custom orchestrator: Anthropic SDK for reasoning + Open Interpreter for code execution.
  • Open Interpreter. Standalone, supports Ollama, OpenAI, or Anthropic. Good for fully local setups with Ollama.

Switch anytime in settings or config.

Tool System Architecture

Tool System Architecture and Policy Engine


Memory System

File-based Memory (Default)

Stores memories as readable markdown in ~/.Mudabbir/memory/:

  • MEMORY.md: Long-term facts about you
  • sessions/: Conversation history with smart compaction

Session Compaction

Long conversations are automatically compacted to stay within budget:

  • Recent messages kept verbatim (configurable window)
  • Older messages compressed to one-liner extracts (Tier 1) or LLM summaries (Tier 2, opt-in)

USER.md Profile

Mudabbir creates identity files at ~/.Mudabbir/identity/ including USER.md, a profile loaded into every conversation so the agent knows your preferences.

Optional: Mem0 (Semantic Memory)

For smarter memory with vector search and automatic fact extraction:

pip install Mudabbir[memory]

See Memory documentation for details.


Configuration

Config lives in ~/.Mudabbir/config.json. API keys and tokens are automatically encrypted in secrets.enc, never stored as plain text.

{
  "agent_backend": "claude_agent_sdk",
  "claude_sdk_model": "",
  "claude_sdk_max_turns": 25,
  "anthropic_api_key": "sk-ant-...",
  "anthropic_model": "claude-sonnet-4-5-20250929",
  "tool_profile": "full",
  "memory_backend": "file",
  "smart_routing_enabled": false,
  "plan_mode": false,
  "injection_scan_enabled": true,
  "self_audit_enabled": true,
  "web_search_provider": "tavily",
  "tts_provider": "openai"
}

Or use environment variables (all prefixed with MUDABBIR_):

# Core
export MUDABBIR_ANTHROPIC_API_KEY="sk-ant-..."
export MUDABBIR_AGENT_BACKEND="claude_agent_sdk"

# Channels
export MUDABBIR_DISCORD_BOT_TOKEN="..."
export MUDABBIR_SLACK_BOT_TOKEN="xoxb-..."
export MUDABBIR_SLACK_APP_TOKEN="xapp-..."

# Integrations
export MUDABBIR_GOOGLE_OAUTH_CLIENT_ID="..."
export MUDABBIR_GOOGLE_OAUTH_CLIENT_SECRET="..."
export MUDABBIR_TAVILY_API_KEY="..."
export MUDABBIR_GOOGLE_API_KEY="..."

See the full configuration reference for all available settings.


Security

Mudabbir 7-Layer Security Stack

  • Guardian AI. A secondary LLM reviews every shell command before execution and decides if it's safe.
  • Injection Scanner. Two-tier detection (regex heuristics + optional LLM deep scan) blocks prompt injection attacks.
  • Tool Policy. Restrict agent tool access with profiles (minimal, coding, full) and allow/deny lists.
  • Plan Mode. Require human approval before executing shell commands or file edits.
  • Security Audit CLI. Run mudabbir --security-audit to check 7 aspects (config permissions, API key exposure, audit log, etc.).
  • Self-Audit Daemon. Daily automated health checks (12 checks) with JSON reports at ~/.Mudabbir/audit_reports/.
  • Audit Logging. Append-only log at ~/.Mudabbir/audit.jsonl.
  • Single User Lock. Only authorized users can control the agent.
  • File Jail. Operations restricted to allowed directories.
  • Local LLM Option. Use Ollama and nothing phones home.
Detailed security architecture

Mudabbir Security Architecture (Defense-in-Depth)

See Security documentation for details.


Development

# Clone
git clone https://github.com/Ahmed5754/mudabbir.git
cd mudabbir

# Install with dev dependencies
uv sync --dev

# Run the dashboard with auto-reload (watches *.py, *.html, *.js, *.css)
uv run mudabbir --dev

# Run tests
uv run pytest

# Lint
uv run ruff check .

# Format
uv run ruff format .

Optional Extras

pip install Mudabbir[discord]             # Discord support
pip install Mudabbir[slack]               # Slack support
pip install Mudabbir[whatsapp-personal]   # WhatsApp Personal (QR scan)
pip install Mudabbir[image]               # Image generation (Google Gemini)
pip install Mudabbir[memory]             # Mem0 semantic memory
pip install Mudabbir[matrix]              # Matrix support
pip install Mudabbir[teams]               # Microsoft Teams support
pip install Mudabbir[gchat]               # Google Chat support
pip install Mudabbir[mcp]                 # MCP server support
pip install Mudabbir[all]                 # Everything

Documentation

Full documentation lives in documentation/:

  • Channel Adapters: Discord, Slack, WhatsApp, Telegram setup
  • Tool Policy: Profiles, groups, allow/deny
  • Web Dashboard: Browser UI overview
  • Security: Injection scanner, audit CLI, audit logging
  • Model Router: Smart complexity-based model selection
  • Plan Mode: Approval workflow for tool execution
  • Integrations: OAuth, Gmail, Calendar, Drive, Docs, Spotify
  • Tools: Web search, research, image gen, voice, delegation, skills
  • Memory: Session compaction, USER.md profile, Mem0
  • Scheduler: Cron scheduler, self-audit daemon

Join the Pack

PRs welcome. Come build with us.


License

MIT © Ahmed Muhammad

Mudabbir
Made with love for humans who want AI on their own terms

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mudabbir-0.4.409.tar.gz (23.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mudabbir-0.4.409-py3-none-any.whl (626.8 kB view details)

Uploaded Python 3

File details

Details for the file mudabbir-0.4.409.tar.gz.

File metadata

  • Download URL: mudabbir-0.4.409.tar.gz
  • Upload date:
  • Size: 23.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mudabbir-0.4.409.tar.gz
Algorithm Hash digest
SHA256 0e000f34404e677592a3f999a0b3bee05b71e374c702040094ebcba7ad93ffdf
MD5 8d96737b8b14b10cb6ee4e085ae0d91e
BLAKE2b-256 6bb352fef5c2605c3d1d9611590102977743113ce4a0dc3551566aae14823385

See more details on using hashes here.

Provenance

The following attestation bundles were made for mudabbir-0.4.409.tar.gz:

Publisher: publish.yml on Ahmed5754/mudabbir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mudabbir-0.4.409-py3-none-any.whl.

File metadata

  • Download URL: mudabbir-0.4.409-py3-none-any.whl
  • Upload date:
  • Size: 626.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mudabbir-0.4.409-py3-none-any.whl
Algorithm Hash digest
SHA256 0043ee365c5595c5906b45c1a4cdb6d0d129274f66dbe626dd86a0e84e7bf78a
MD5 d262becad04b4303ddc49af117674f37
BLAKE2b-256 8848dd3b6155cd05d10ce9fd3646ae4a9490e6d90473aac22fd28111d6d0ddf8

See more details on using hashes here.

Provenance

The following attestation bundles were made for mudabbir-0.4.409-py3-none-any.whl:

Publisher: publish.yml on Ahmed5754/mudabbir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page