botserver/docs/src
Rodrigo Rodriguez (Pragmatismo) 2dca1664dd run
- Database migrations run automatically on startup
- New QUICK_START.md with usage examples and troubleshooting
- Better handling of already-running services
2025-11-28 15:06:30 -03:00
..
appendix-15 - Version of publish. 2025-11-25 16:10:50 -03:00
assets - Version of publish. 2025-11-25 16:10:50 -03:00
chapter-01 - Defined standard for diagrams. 2025-11-25 08:50:03 -03:00
chapter-02 Fix typos in bot file extensions and keyword names 2025-11-26 22:54:22 -03:00
chapter-03 Fix typos in bot file extensions and keyword names 2025-11-26 22:54:22 -03:00
chapter-04-gbui run 2025-11-28 15:06:30 -03:00
chapter-05-gbtheme - Fix .svgs. 2025-11-24 14:15:01 -03:00
chapter-06-gbdialog Fix typos in bot file extensions and keyword names 2025-11-26 22:54:22 -03:00
chapter-07-gbapp - Defined standard for diagrams. 2025-11-25 08:50:03 -03:00
chapter-08-config - Fix .svgs. 2025-11-24 14:15:01 -03:00
chapter-09-api - Fix .svgs. 2025-11-24 14:15:01 -03:00
chapter-10-api - Defined standard for diagrams. 2025-11-25 08:50:03 -03:00
chapter-11-features Remove unused sqlx dependency and related code 2025-11-28 09:27:29 -03:00
chapter-12-auth - Fix .svgs. 2025-11-24 14:15:01 -03:00
chapter-13-community - Finishing text. 2025-11-24 18:09:17 -03:00
chapter-14-migration Fix typos in bot file extensions and keyword names 2025-11-26 22:54:22 -03:00
contact - Fix .svgs. 2025-11-24 14:15:01 -03:00
custom.css - Version of publish. 2025-11-25 16:10:50 -03:00
glossary.md - Fix .svgs. 2025-11-24 14:15:01 -03:00
introduction.md - Defined standard for diagrams. 2025-11-25 08:50:03 -03:00
README.md - Fix .svgs. 2025-11-24 14:15:01 -03:00
SUMMARY.md Add SQLx dependencies for calendar feature 2025-11-27 23:10:43 -03:00
theme-sync.js - Version of publish. 2025-11-25 16:10:50 -03:00

General Bots

General Bots Documentation

Welcome to the General Bots documentation. This guide explains how to install, configure, extend, and deploy conversational AI bots using General Bots' template-based package system and BASIC scripting language.


About This Documentation

This documentation has been recently updated to accurately reflect the actual implementation of General Bots version 6.0.8. The following sections are now accurate:

Accurate Documentation:

  • Chapter 02: Package system (template-based .gbai structure)
  • Chapter 06: Rust architecture (single-crate structure, module overview)
  • Chapter 09: Core features
  • Introduction: Architecture and capabilities

⚠️ Partial Documentation:

  • Chapter 05: BASIC keywords (examples exist, full reference needs expansion)
  • Chapter 08: Tool integration (concepts documented, implementation details needed)
  • Chapter 11: Authentication (implemented but needs detail)

📝 Needs Documentation:

  • UI module (src/ui/)
  • UI tree module (src/ui_tree/)
  • Riot compiler module (src/riot_compiler/)
  • Prompt manager (src/prompt_manager/)
  • API endpoints and UI server routes
  • Drive (S3-compatible) integration details
  • Video conferencing (LiveKit) integration

What is General Bots?

General Bots is an open-source conversational AI platform written in Rust. It enables users to create intelligent chatbots using:

  • BASIC Scripting: Simple .bas scripts for conversation flows
  • Template Packages: Organize bots as .gbai directories with dialogs, knowledge bases, and configuration
  • Vector Search: Semantic document retrieval with Qdrant
  • LLM Integration: Local models, cloud APIs, and custom providers
  • Auto-Bootstrap: Automated installation of PostgreSQL, cache, drive, and more
  • Multi-Bot Hosting: Run multiple isolated bots on a single server

Quick Start

  1. Installation: Follow Chapter 01: Run and Talk
  2. Explore Templates: Check templates/announcements.gbai/ for examples
  3. Create a Bot: Copy a template and modify it
  4. Learn BASIC: Read Chapter 05: BASIC Reference
  5. Configure: Edit config.csv in your .gbot/ directory
  6. Deploy: Restart General Bots to activate changes

Table of Contents

Part I - Getting Started

Part II - Package System

Part III - Knowledge Base

Part IV - User Interface

Part V - Themes and Styling

Part VI - BASIC Dialogs

Part VII - Extending General Bots

Part VIII - Bot Configuration

Part IX - Tools and Integration

Part X - Feature Deep Dive

Part XI - Community

Part XII - Authentication and Security

Appendices


Architecture Overview

General Bots is a monolithic Rust application (single crate) with the following structure:

Core Modules

  • auth - Argon2 password hashing, session tokens
  • bot - Bot lifecycle and management
  • session - Persistent conversation state
  • basic - BASIC interpreter (powered by Rhai)
  • llm / llm_models - LLM provider integration
  • context - Conversation memory management

Infrastructure

  • bootstrap - Auto-installation of components
  • package_manager - Manages PostgreSQL, cache, drive, etc.
  • web_server - Axum HTTP REST API
  • drive - S3-compatible storage and vector DB
  • config - Environment configuration

Features

  • automation - Cron scheduling and events
  • email - IMAP/SMTP integration (optional)
  • meet - LiveKit video conferencing
  • channels - Multi-channel support
  • file - Document processing (PDF, etc.)
  • drive_monitor - File system watching

Technology Stack

  • Language: Rust 2021 edition
  • Web: Axum + Tower + Tokio
  • Database: Diesel ORM + PostgreSQL
  • Cache: Valkey (Redis-compatible)
  • Storage: AWS SDK S3 (drive component)
  • Vector DB: Qdrant (optional)
  • Scripting: Rhai engine
  • Security: Argon2, AES-GCM
  • Desktop: Tauri (optional)

Project Information


Documentation Status

This documentation is a living document that evolves with the codebase. Contributions are welcome! If you find inaccuracies or gaps:

  1. Check the source code in src/ for ground truth
  2. Submit documentation improvements via pull requests
  3. Report issues on GitHub

See TODO.txt for known documentation gaps.


Next Steps

Start with Introduction for a comprehensive overview, or jump directly to Chapter 01: Run and Talk to install and run General Bots.