Skip to content

A guide about building virtual assistants by using General Bots.

License

Notifications You must be signed in to change notification settings

GeneralBots/botbook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

387 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

General Bots Documentation (BotBook)

Version: 6.2.0
Purpose: Comprehensive documentation for General Bots (mdBook format)

General Bots Logo


Overview

BotBook is the official documentation repository for General Bots, built using mdBook. It provides comprehensive guides, API references, tutorials, and architectural documentation for the entire General Bots platform - an enterprise-grade LLM orchestrator and AI automation platform.

For the latest live documentation, visit docs.pragmatismo.com.br.


πŸ—οΈ Architecture

General Bots Platform Architecture


πŸ“¦ General Bots Repositories

Repository Description Status
botserver Core API server - LLM orchestration, automation, integrations βœ… Production
botui Pure web UI - HTMX-based interface (suite & minimal) βœ… Production
botapp Tauri desktop wrapper - native file access, system tray βœ… Production
botlib Shared Rust library - common types, HTTP client, utilities βœ… Production
bottemplates Templates - bots, apps, prompts, UI components βœ… Production
botbook Documentation - mdBook format, multi-language βœ… Production

πŸš€ Quick Start

Prerequisites

Run the Server

# 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

# 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

Build Documentation

# Clone botbook
git clone https://github.com/GeneralBots/botbook
cd botbook

# Build documentation
mdbook build

# Serve locally with hot reload
mdbook serve --open

✨ 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:

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

πŸ“ Documentation Structure

botbook/
β”œβ”€β”€ book.toml          # mdBook configuration
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ SUMMARY.md     # Table of contents
β”‚   β”œβ”€β”€ README.md      # Introduction
β”‚   β”œβ”€β”€ 01-introduction/   # Quick Start
β”‚   β”œβ”€β”€ 02-templates/      # Package System
β”‚   β”œβ”€β”€ 03-knowledge-base/ # Knowledge Base
β”‚   β”œβ”€β”€ 04-gbui/          # UI Interface
β”‚   β”œβ”€β”€ 06-gbdialog/       # BASIC Dialogs
β”‚   β”œβ”€β”€ 08-config/         # Configuration
β”‚   β”œβ”€β”€ 10-rest/           # REST API
β”‚   β”œβ”€β”€ 12-auth/           # Authentication
β”‚   └── assets/            # Images, diagrams
β”œβ”€β”€ i18n/              # Translations
└── book/              # Generated output

πŸ“š Documentation Writing Guidelines

βœ… Keyword Naming Rules - MANDATORY

Keywords NEVER use underscores. Always use spaces.

Write This NOT This
SEND MAIL SEND_MAIL
GENERATE PDF GENERATE_PDF
MERGE PDF MERGE_PDF
DELETE DELETE_HTTP
SET HEADER SET_HEADER
FOR EACH FOR_EACH

Correct Syntax Examples

SEND MAIL to, subject, body, attachments
GENERATE PDF template, data, output
MERGE PDF files, output
DELETE "url"
ON ERROR RESUME NEXT
SET BOT MEMORY key, value
KB STATISTICS

❌ NEVER Use Underscores

SEND_MAIL          ' WRONG!
GENERATE_PDF       ' WRONG!
DELETE_HTTP        ' WRONG!

🎨 Official Icons - MANDATORY

NEVER generate icons with LLM. Use official SVG icons from botui/ui/suite/assets/icons/

Usage in Documentation

<!-- Reference icons in docs -->
![Chat](../assets/icons/gb-chat.svg)

<!-- With HTML for sizing -->
<img src="../assets/icons/gb-analytics.svg" alt="Analytics" width="24">

Required Icons

ui/suite/assets/icons/
β”œβ”€β”€ gb-logo.svg        # Main GB logo
β”œβ”€β”€ gb-bot.svg         # Bot/assistant
β”œβ”€β”€ gb-analytics.svg   # Analytics
β”œβ”€β”€ gb-calendar.svg    # Calendar
β”œβ”€β”€ gb-chat.svg        # Chat
β”œβ”€β”€ gb-drive.svg       # File storage
β”œβ”€β”€ gb-mail.svg        # Email
β”œβ”€β”€ gb-meet.svg        # Video meetings
β”œβ”€β”€ gb-tasks.svg       # Task management
└── ...

All icons use stroke="currentColor" for CSS theming.


🚫 NO ASCII Diagramrams - MANDATORY

NEVER use ASCII art diagrams. ALL diagrams must be SVG.

❌ Prohibited ASCII Patterns

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”    ╔═══════╗    +-------+
β”‚  Box    β”‚    β•‘ Box   β•‘    | Box   |
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β•šβ•β•β•β•β•β•β•β•    +-------+

βœ… What to Use Instead

Instead of... Use...
ASCII box diagrams SVG diagrams in assets/
ASCII flow charts SVG with arrows and boxes
ASCII directory trees Markdown tables

🎨 SVG Diagram Guidelines

All SVGs must support light/dark modes:

<style>
  .title-text { fill: #1E1B4B; }
  .main-text { fill: #334155; }
  
  @media (prefers-color-scheme: dark) {
    .title-text { fill: #F1F5F9; }
    .main-text { fill: #E2E8F0; }
  }
</style>

πŸ’¬ Conversation Examples

Use WhatsApp-style HTML format for bot interactions:

<div class="wa-chat">
  <div class="wa-message bot">
    <div class="wa-bubble">
      <p>Hello! How can I help?</p>
      <div class="wa-time">10:30</div>
    </div>
  </div>
  <div class="wa-message user">
    <div class="wa-bubble">
      <p>I want to enroll</p>
      <div class="wa-time">10:31</div>
    </div>
  </div>
</div>

πŸ“‹ Source Code References

Topic Source Location
BASIC Keywords botserver/src/basic/keywords/
Database Models botserver/src/shared/models.rs
API Routes botserver/src/core/urls.rs
Configuration botserver/src/core/config/
Templates botserver/templates/

πŸ“– Documentation Accuracy Rules

- All documentation MUST match actual source code
- Extract real keywords from botserver/src/basic/keywords/
- Use actual examples from botserver/templates/
- Version numbers must be 6.2.0
- No placeholder content - only verified features

πŸ›οΈ 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

πŸ›‘οΈ 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


πŸ†š 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

πŸ”— Links


🀝 Contributing

We welcome contributions! See our Contributing Guidelines.

Contributors


πŸ”‘ Remember

  • Accuracy - Must match botserver source code
  • Completeness - No placeholder sections
  • Clarity - Accessible to BASIC enthusiasts
  • Keywords - NEVER use underscores - always spaces
  • NO ASCII art - Use SVG diagrams only
  • Official icons - Use icons from botui/ui/suite/assets/icons/
  • Version 6.2.0 - Always reference 6.2.0
  • GIT WORKFLOW - ALWAYS push to ALL repositories (github, pragmatismo)

πŸ“„ 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.


Code Name: 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