diff --git a/README.md b/README.md index a8860a6..32b6a41 100644 --- a/README.md +++ b/README.md @@ -1,133 +1,72 @@ +
- - - - - -
- -
- -
-

🎫 CommandDesk

-

Self-Hosted AI Helpdesk Agent

-

100% local, AI-powered helpdesk with multi-platform ticketing, knowledge base, and multi-channel communication

-

- Features β€’ - Quick Start β€’ - Architecture β€’ - Integrations -

-
---- +# CommandDesk -## ✨ Features +A self-hosted, 100% local AI helpdesk agent β€” multi-platform ticketing, email-to-ticket ingestion, admin dashboard with live cost tracking. -- **AI-Powered Ticketing** β€” Auto-respond, triage, and resolve tickets via local LLMs -- **Multi-Platform Support** β€” osTicket, Freshdesk, Zammad adapters -- **Multi-Channel** β€” WhatsApp, Email (IMAP), and web interface -- **Knowledge Base** β€” ChromaDB semantic search for instant answers -- **Admin Dashboard** β€” Analytics, human takeover, and management -- **Security** β€” Rate limiting, content filtering, PII detection -- **Workflow Automation** β€” n8n integration for complex automation -- **Plug-in Architecture** β€” Extend with custom adapters and tools +[![GitHub](https://img.shields.io/badge/github-OneByJorah%2FCommandDesk-FFB300?style=for-the-badge&labelColor=0d0d0c)](https://github.com/OneByJorah/CommandDesk) +[![License](https://img.shields.io/badge/license-MIT-FFB300?style=for-the-badge&labelColor=0d0d0c)](LICENSE) +[![Language](https://img.shields.io/badge/Python-FFB300?style=for-the-badge&labelColor=0d0d0c)](https://python.org) +[![Built by](https://img.shields.io/badge/built%20by-JorahOne%20LLC-FFB300?style=for-the-badge&labelColor=0d0d0c)](https://github.com/OneByJorah) -## πŸš€ Quick Start + -```bash -git clone https://github.com/OneByJorah/CommandDesk.git -cd CommandDesk -cp .env.example .env -# Edit .env with your configuration -docker compose up -d -``` +--- -## πŸ—οΈ Architecture +## Why This Exists -``` -β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” -β”‚ CommandDesk β”‚ -β”‚ β”‚ -β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ -β”‚ β”‚ Ticket β”‚ β”‚ AI β”‚ β”‚ Knowledge β”‚ β”‚ -β”‚ β”‚ Platforms β”‚ β”‚ Engine β”‚ β”‚ Base β”‚ β”‚ -β”‚ β”‚ osTicket β”‚ β”‚ Ollama β”‚ β”‚ ChromaDB β”‚ β”‚ -β”‚ β”‚ Freshdesk β”‚ β”‚ llama.cpp β”‚ β”‚ Qdrant β”‚ β”‚ -β”‚ β”‚ Zammad β”‚ β”‚ OpenAI β”‚ β”‚ β”‚ β”‚ -β”‚ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ -β”‚ β”‚ β”‚ β”‚ β”‚ -β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ -β”‚ β–Ό β”‚ -β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ -β”‚ β”‚ Communication Layer β”‚ β”‚ -β”‚ β”‚ WhatsApp Β· Email Β· β”‚ β”‚ -β”‚ β”‚ Web Interface β”‚ β”‚ -β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ -β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ -``` +Managed helpdesks nickel-and-dime you per agent, per ticket, per integration. CommandDesk is a fully local alternative that runs LLMs (Ollama, llama.cpp, or OpenAI-compatible), connects to osTicket, Freshdesk, and Zammad, ingests email via IMAP, and gives you an admin dashboard with real-time cost tracking β€” all behind `docker compose up`. -## πŸ“‘ Integrations +## Key Features -| Platform | Type | Description | -|----------|------|-------------| -| **osTicket** | Ticketing | Open-source ticket system adapter | -| **Freshdesk** | Ticketing | Cloud-based ticketing | -| **Zammad** | Ticketing | Open-source support system | -| **WhatsApp** | Channel | WhatsApp messaging integration | -| **Email (IMAP)** | Channel | Email-to-ticket conversion | -| **ChromaDB** | Knowledge | Vector search for knowledge base | -| **n8n** | Automation | Workflow automation | +| Feature | Why It Matters | +|---|---| +| AI-powered auto-response & triage | Local LLMs resolve tickets without sending data to third parties | +| Multi-platform ticketing | osTicket, Freshdesk, and Zammad support in one deploy | +| Email-to-ticket (IMAP) | Converts inbound email into tickets automatically | +| WhatsApp integration | Lets users file and track tickets via WhatsApp | +| Vector knowledge base (ChromaDB) | Semantic search across your documentation for accurate answers | +| n8n workflow integration | Chain helpdesk events into automations | +| PII detection & rate limiting | Built-in safety layers before responses reach customers | -## 🐳 Docker Compose +## Quick Start ```bash -# Start with AI engine +git clone https://github.com/OneByJorah/CommandDesk.git +cd CommandDesk +cp .env.example .env # configure your LLM backend, ticketing platform, etc. docker compose up -d - -# Start with development config -docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d - -# View logs -docker compose logs -f - -# Stop -docker compose down ``` -## πŸ“ Project Structure +## Architecture ``` -CommandDesk/ -β”œβ”€β”€ admin/ # Admin dashboard -β”œβ”€β”€ compose/ # Docker Compose configs -β”œβ”€β”€ config/ # Application configuration -β”œβ”€β”€ scripts/ # Utility scripts -β”œβ”€β”€ skills/ # AI agent skills -β”œβ”€β”€ ticket_platforms/ # osTicket, Freshdesk, Zammad adapters -β”œβ”€β”€ tools-ui/ # Web UI components -β”œβ”€β”€ Dockerfile # Backend Docker image -β”œβ”€β”€ Dockerfile.email # Email service image -β”œβ”€β”€ Dockerfile.whatsapp # WhatsApp service image -β”œβ”€β”€ docker-compose.yml # Main deployment -β”œβ”€β”€ Makefile # Build automation -└── requirements.txt # Python dependencies +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Ticketing │◀───▢│ CommandDesk │────▢│ AI Engine β”‚ +β”‚ osTicket β”‚ β”‚ FastAPI β”‚ β”‚ Ollama / β”‚ +β”‚ Freshdesk β”‚ β”‚ Admin UI β”‚ β”‚ llama.cpp β”‚ +β”‚ Zammad β”‚ β”‚ Web UI β”‚ β”‚ OpenAI API β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + β”‚ + β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β” + β”‚ ChromaDB β”‚ + β”‚ (vector KB) β”‚ + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` -## πŸ”’ Security +## Documentation -- Rate limiting on all API endpoints -- Content filtering for malicious payloads -- PII detection and redaction -- Environment-based configuration (`.env` never committed) +| Doc | Description | +|---|---| +| [Setup Guide](docs/setup.md) | Configuration and first-run walkthrough | +| [Platform Integration](docs/platforms.md) | Connecting osTicket, Freshdesk, and Zammad | +| [AI Configuration](docs/ai.md) | Choosing and tuning your LLM backend | -## πŸ“„ License +--- -MIT Β© Jhonattan L. Jimenez +## License ---- +MIT Β© JorahOne, LLC β€” see [LICENSE](LICENSE) -
-

πŸ€– AI-powered helpdesk, fully self-hosted

-

@OneByJorah

-
+Part of the JorahOne infrastructure ecosystem.