diff --git a/README.md b/README.md index 8b137891..2698e633 100644 --- a/README.md +++ b/README.md @@ -1 +1,237 @@ +# General Bots +![General Bots Logo](https://github.com/GeneralBots/BotServer/blob/main/logo.png?raw=true) + +**Enterprise-Grade LLM Orchestrator & AI Automation Platform** + +A strongly-typed, self-hosted conversational platform focused on convention over configuration and code-less approaches. + +--- + +## πŸ—οΈ Architecture + +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ General Bots Platform β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +β”‚ β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ botapp β”‚ β”‚ botui β”‚ β”‚ botserver β”‚ β”‚ +β”‚ β”‚ (Tauri) │───▢│ (Pure Web) │───▢│ (API) β”‚ β”‚ +β”‚ β”‚ Desktop β”‚ β”‚ HTMX/HTML β”‚ β”‚ Rust β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ β”‚ β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ botlib β”‚ β”‚ botbook β”‚ β”‚ +β”‚ β”‚ (Shared) β”‚ β”‚ (Docs) β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +--- + +## πŸ“¦ Repositories + +| Repository | Description | Status | +|------------|-------------|--------| +| [**botserver**](https://github.com/GeneralBots/BotServer) | Core API server - LLM orchestration, automation, integrations | βœ… Production | +| [**botui**](https://github.com/GeneralBots/botui) | Pure web UI - HTMX-based interface (suite & minimal) | βœ… Production | +| [**botapp**](https://github.com/GeneralBots/botapp) | Tauri desktop wrapper - native file access, system tray | βœ… Production | +| [**botlib**](https://github.com/GeneralBots/botlib) | Shared Rust library - common types, HTTP client, utilities | βœ… Production | +| [**botbook**](https://github.com/GeneralBots/BotBook) | Documentation - mdBook format, multi-language | βœ… Production | + +--- + +## πŸš€ Quick Start + +### Prerequisites + +- **Rust** (latest stable) - [Install from rustup.rs](https://rustup.rs/) +- **Git** - [Download from git-scm.com](https://git-scm.com/downloads) + +### Run the Server + +```bash +# Clone and run +git clone https://github.com/GeneralBots/BotServer +cd BotServer +cargo run +``` + +On first run, BotServer automatically: +- Installs required components (PostgreSQL, S3 storage, Cache, LLM) +- Sets up database with migrations +- Downloads AI models +- Starts HTTP server at `http://127.0.0.1:8080` + +### Run the Desktop App + +```bash +# Clone botui (pure web) +git clone https://github.com/GeneralBots/botui +cd botui +cargo run # Starts web server at :3000 + +# In another terminal, clone and run botapp (Tauri desktop) +git clone https://github.com/GeneralBots/botapp +cd botapp +cargo tauri dev +``` + +--- + +## ✨ Key Features + +### πŸ€– Multi-Vendor LLM API +Unified interface for OpenAI, Groq, Claude, Anthropic, and local models. + +### πŸ”§ MCP + LLM Tools Generation +Instant tool creation from code and functions - no complex configurations. + +### πŸ’Ύ Semantic Caching +Intelligent response caching achieving **70% cost reduction** on LLM calls. + +### 🌐 Web Automation Engine +Browser automation combined with AI intelligence for complex workflows. + +### πŸ“Š Enterprise Data Connectors +Native integrations with CRM, ERP, databases, and external services. + +### πŸ”„ Git-like Version Control +Full history with rollback capabilities for all configurations and data. + +--- + +## 🎯 4 Essential Keywords + +General Bots provides a minimal, focused system: + +```basic +USE KB "knowledge-base" ' Load knowledge base into vector database +CLEAR KB "knowledge-base" ' Remove KB from session +USE TOOL "tool-name" ' Make tool available to LLM +CLEAR TOOLS ' Remove all tools from session +``` + +--- + +## πŸ›οΈ Architecture Details + +### botserver (Core) +The main API server handling: +- LLM orchestration and prompt management +- Multi-channel communication (WhatsApp, Teams, Email, Web) +- File storage and drive management +- Task scheduling and automation +- Authentication and authorization + +### botui (Web Interface) +Pure web UI with zero native dependencies: +- **Suite**: Full-featured multi-app interface +- **Minimal**: Lightweight single-page chat +- HTMX-powered for minimal JavaScript +- Works in any browser + +### botapp (Desktop) +Tauri wrapper adding native capabilities: +- Local file system access +- System tray integration +- Native dialogs and notifications +- Desktop-specific features + +### botlib (Shared Library) +Common Rust code shared across projects: +- HTTP client for BotServer communication +- Shared types and models +- Branding and configuration utilities +- Error handling + +--- + +## πŸ”§ Development Setup + +```bash +# Clone all repositories +git clone https://github.com/GeneralBots/BotServer botserver +git clone https://github.com/GeneralBots/botui +git clone https://github.com/GeneralBots/botapp +git clone https://github.com/GeneralBots/botlib +git clone https://github.com/GeneralBots/BotBook botbook + +# Build all (from each directory) +cd botlib && cargo build +cd ../botserver && cargo build +cd ../botui && cargo build +cd ../botapp && cargo build +``` + +--- + +## πŸ“– Documentation + +- **[Complete Documentation](https://github.com/GeneralBots/BotBook)** - Full mdBook documentation +- **[Quick Start Guide](https://github.com/GeneralBots/BotServer/blob/main/docs/QUICK_START.md)** - Get started in minutes +- **[API Reference](https://github.com/GeneralBots/BotServer/blob/main/docs/src/chapter-10-api/README.md)** - REST API documentation +- **[Architecture Guide](https://github.com/GeneralBots/BotServer/blob/main/docs/src/chapter-07-gbapp/README.md)** - System architecture + +--- + +## πŸ†š Why General Bots? + +| vs. Alternative | General Bots Advantage | +|-----------------|----------------------| +| **ChatGPT/Claude** | Automates entire business processes, not just chat | +| **n8n/Make** | Simpler approach with minimal programming | +| **Microsoft 365** | User control, not locked ecosystems | +| **Salesforce** | Open-source AI orchestration connecting all systems | + +--- + +## πŸ›‘οΈ Security + +- **AGPL-3.0 License** - True open source with contribution requirements +- **Self-hosted** - Your data stays on your infrastructure +- **Enterprise-grade** - 5+ years of stability +- **No vendor lock-in** - Open protocols and standards + +Report security issues to: **security@pragmatismo.com.br** + +--- + +## 🀝 Contributing + +We welcome contributions! See our [Contributing Guidelines](https://github.com/GeneralBots/BotServer/blob/main/docs/src/chapter-13-community/README.md). + +### Contributors + + + + + +--- + +## πŸ“„ License + +General Bots is licensed under **AGPL-3.0**. + +According to our dual licensing model, this program can be used either under the terms of the GNU Affero General Public License, version 3, or under a proprietary license. + +Copyright (c) pragmatismo.com.br. All rights reserved. + +--- + +## πŸ”— Links + +- **Website:** [pragmatismo.com.br](https://pragmatismo.com.br) +- **Documentation:** [docs.pragmatismo.com.br](https://docs.pragmatismo.com.br) +- **Stack Overflow:** Tag questions with `generalbots` +- **Video Tutorial:** [7 AI General Bots LLM Templates](https://www.youtube.com/watch?v=KJgvUPXi3Fw) + +--- + +> **Code Name:** [Guaribas](https://en.wikipedia.org/wiki/Guaribas) (a city in Brazil, state of PiauΓ­) +> +> *"No one should have to do work that can be done by a machine."* - Roberto Mangabeira Unger \ No newline at end of file