LLM Orchestrator automation open-source platform
Find a file
Rodrigo Rodriguez (Pragmatismo) 7634429896 Consolidate all database migrations into single optimized schema
BREAKING CHANGE: Complete database redesign

Migrations:
- Remove all 6.x.x and 7.0.0 migrations
- Create single consolidated migration 20250101000000_consolidated_schema
- Add Diesel initial setup migration

Schema Optimizations:
- All domain values use SMALLINT instead of VARCHAR/TEXT (2 bytes vs 20+ bytes)
- Sharding infrastructure: shard_config, tenant_shard_map tables
- All tables include tenant_id and shard_id for horizontal scaling
- Proper indexing strategies for high-throughput queries
- Foreign key constraints for data integrity
- Updated_at triggers via diesel_manage_updated_at

Tables (35 total):
- Core: tenants, users, bots, bot_configuration, bot_channels
- Sessions: user_sessions, message_history
- Memory: bot_memories
- Auto Tasks: auto_tasks, execution_plans, task_approvals, task_decisions
- Safety: safety_audit_log, intent_classifications
- Apps: generated_apps, designer_changes, designer_pending_changes
- KB: kb_collections, kb_documents, session_kb_associations, kb_sources
- Tools: tools, system_automations, pending_info
- Analytics: usage_analytics, analytics_events
- Tasks: tasks, task_comments
- Accounts: connected_accounts, session_account_associations
- Communication: whatsapp_numbers, clicks
- Access: table_role_access, context_injections
- Organizations: organizations, user_organizations

Rust Schema:
- Updated schema.rs to match new consolidated schema
- All diesel table definitions with proper types
- Foreign key relationships defined

WARNING: This is a DESTRUCTIVE migration - drop existing database before applying
2025-12-29 12:29:23 -03:00
.forgejo/workflows ci: debug build, no swap (fastest) 2025-12-18 17:33:04 -03:00
.vscode Migrate HTTP API from Actix to Axum 2025-11-20 13:28:35 -03:00
.zed Add indicatif for progress bars and enhance bootstrap 2025-10-19 19:28:08 -03:00
config App generator LLM-only, app logs, knowledge base, web search, designer magic 2025-12-28 11:50:50 -03:00
deploy/kubernetes Add implementation plan and multi-agent features 2025-11-30 19:18:23 -03:00
gen/schemas feat: add HTTP server and refactor initialization 2025-11-15 09:48:46 -03:00
migrations Consolidate all database migrations into single optimized schema 2025-12-29 12:29:23 -03:00
scripts feat: add fallback images for LXC container creation and install-dependencies.sh 2025-12-18 21:09:26 -03:00
src Consolidate all database migrations into single optimized schema 2025-12-29 12:29:23 -03:00
.env.embedded Add llama.cpp support and embedded config for Orange Pi / Raspberry Pi 2025-12-12 13:46:04 -03:00
.env.example feat(bootstrap): implement mTLS for Vault access 2025-12-07 02:13:28 -03:00
.gitignore feat: add offline installer cache and health endpoints 2025-12-08 14:08:49 -03:00
3rdparty.toml Update llama.cpp to b7345 with platform-specific builds and checksums 2025-12-10 12:54:52 -03:00
add-req.sh Migrate HTTP API from Actix to Axum 2025-11-20 13:28:35 -03:00
askama.toml Add toml dependency for Askama custom filters config 2025-11-30 23:48:08 -03:00
Cargo.lock Update botserver 2025-12-21 23:40:43 -03:00
Cargo.toml feat(security): Complete security infrastructure implementation 2025-12-28 19:29:18 -03:00
diesel.toml - Remove all compilation errors. 2025-10-11 12:29:03 -03:00
fix-errors.sh refactor: simplify UI panels, use pooled DB, add --noui flag 2025-11-11 09:42:52 -03:00
LICENSE fix: update URLs and email addresses to reflect new domain 2025-04-15 12:49:05 -03:00
logo.png Add files via upload 2024-12-22 14:32:30 -03:00
PROMPT.md feat(security): Complete security infrastructure implementation 2025-12-28 19:29:18 -03:00
README.md Lowercase botserver/botbook references 2025-12-12 23:20:42 -03:00

General Bots - Enterprise-Grade LLM Orchestrator

General Bot Logo

A strongly-typed LLM conversational platform focused on convention over configuration and code-less approaches.

What is General Bots?

General Bots is a self-hosted AI automation platform that provides:

  • Multi-Vendor LLM API - Unified interface for OpenAI, Groq, Claude, Anthropic
  • MCP + LLM Tools Generation - Instant tool creation from code/functions
  • Semantic Caching - Intelligent response caching (70% cost reduction)
  • Web Automation Engine - Browser automation + AI intelligence
  • Enterprise Data Connectors - CRM, ERP, database native integrations
  • Git-like Version Control - Full history with rollback capabilities

Quick Start

Prerequisites

Installation

git clone https://github.com/GeneralBots/botserver
cd botserver
cargo run

On first run, botserver automatically sets up PostgreSQL, S3 storage, Redis cache, and downloads AI models.

The server will be available at http://localhost:8080.

Documentation

docs/
├── api/                        # API documentation
│   ├── README.md               # API overview
│   ├── rest-endpoints.md       # HTTP endpoints
│   └── websocket.md            # Real-time communication
├── guides/                     # How-to guides
│   ├── getting-started.md      # Quick start
│   ├── deployment.md           # Production setup
│   └── templates.md            # Using templates
└── reference/                  # Technical reference
    ├── basic-language.md       # BASIC keywords
    ├── configuration.md        # Config options
    └── architecture.md         # System design

Key Features

4 Essential Keywords

USE KB "kb-name"        ' Load knowledge base into vector database
CLEAR KB "kb-name"      ' Remove KB from session
USE TOOL "tool-name"    ' Make tool available to LLM
CLEAR TOOLS             ' Remove all tools from session

Example Bot

' customer-support.bas
USE KB "support-docs"
USE TOOL "create-ticket"
USE TOOL "check-order"

SET CONTEXT "support" AS "You are a helpful customer support agent."

TALK "Welcome! How can I help you today?"

Command-Line Options

cargo run                    # Default: console UI + web server
cargo run -- --noconsole     # Background service mode
cargo run -- --desktop       # Desktop application (Tauri)
cargo run -- --tenant <name> # Specify tenant
cargo run -- --container     # LXC container mode

Environment Variables

Only directory service variables are required:

Variable Purpose
DIRECTORY_URL Zitadel instance URL
DIRECTORY_CLIENT_ID OAuth client ID
DIRECTORY_CLIENT_SECRET OAuth client secret

All service credentials are managed automatically. See Configuration for details.

Current Status

Version: 6.0.8
Build Status: SUCCESS
Production Ready: YES

Deployment

See Deployment Guide for:

  • Single server setup
  • Docker Compose
  • LXC containers
  • Kubernetes
  • Reverse proxy configuration

Contributing

We welcome contributions! Please read our contributing guidelines before submitting PRs.

Security

Security issues should be reported to: security@pragmatismo.com.br

License

General Bot Copyright (c) pragmatismo.com.br. All rights reserved.
Licensed under the 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.

Support

Contributors


General Bots Code Name: Guaribas

"No one should have to do work that can be done by a machine." - Roberto Mangabeira Unger