Keyboard shortcuts

Press ← or β†’ to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Feature System

Version: 6.2.0

General Bots uses Cargo’s feature flags to create modular, size-optimized builds. This allows you to include only the functionality you need.


Feature Dependency Tree

Feature Dependency Tree

Quick Start

Building with Specific Features

# Minimal build (chat only)
cargo build --features "chat" --no-default-features

# Chat + Cloud Storage
cargo build --features "chat,drive" --no-default-features

# Spreadsheet + Cloud Storage
cargo build --features "sheet,drive" --no-default-features

# Chat with Local LLM
cargo build --features "chat,llm" --no-default-features

# Full productivity suite
cargo build --features "full"

Feature Categories

πŸ—£οΈ Communication Apps

FeatureDependenciesDescription
chatNoneBasic chat functionality
peopleNoneContact management
maillettre, mailparse, imap, native-tlsEmail integration
meetlivekitVideo conferencing
whatsappNoneWhatsApp integration
telegramNoneTelegram integration
instagramNoneInstagram integration
msteamsNoneMicrosoft Teams integration
socialNoneSocial media features

πŸ“‹ Productivity Apps

FeatureDependenciesDescription
calendarNoneCalendar functionality
taskscron, automationTask management with scheduling
projectquick-xmlProject management (MS Project)
goalsNoneGoals tracking
workspaceNoneSingle workspace
ticketsNoneTicket system
billingNoneBilling system

πŸ“„ Document Apps

FeatureDependenciesDescription
docsdocx-rs, ooxmlsdkWord document processing
sheetcalamine, spreadsheet-odsSpreadsheet processing
slidesooxmlsdkPresentation processing
paperdocs, pdf-extractPDF processing
driveaws-config, aws-sdk-s3, aws-smithy-async, pdf-extractCloud storage (S3)

πŸŽ₯ Media Apps

FeatureDependenciesDescription
videoNoneVideo features
playerNoneMedia player
canvasNoneDrawing/canvas

🧠 Learning & Research

FeatureDependenciesDescription
learnNoneLearning features
researchllm, vectordbResearch with AI
sourcesNoneData sources

πŸ“Š Analytics

FeatureDependenciesDescription
analyticsNoneAnalytics features
dashboardsNoneDashboard UI
monitoringsysinfoSystem monitoring

πŸ”§ Development Tools

FeatureDependenciesDescription
designerNoneUI designer
editorNoneCode/text editor
automationrhai, cronScripting automation

βš™οΈ Core Technologies

FeatureDependenciesDescription
llmNoneLLM integration flag
vectordbqdrant-clientVector database
cacheredisRedis caching
compliancecsvCompliance reporting
consolecrossterm, ratatui, monitoringTerminal UI
jemalloctikv-jemallocator, tikv-jemalloc-ctlMemory allocator
progress-barsindicatifProgress indicators

Pre-Defined Bundles

minimal

minimal = ["chat"]

Smallest possible build. Just chat functionality.

lightweight

lightweight = ["chat", "drive", "tasks", "people"]

Small but useful for basic operations.

default

default = ["chat", "drive", "tasks", "automation", "cache", "directory"]

Balanced default configuration.

full

full = [
    "chat", "people", "mail",
    "tasks", "calendar",
    "drive", "docs",
    "llm", "cache", "compliance"
]

Everything useful for a complete deployment.


Common Scenarios

πŸ“± Chat + Drive (Minimum Cloud)

cargo build --features "chat,drive" --no-default-features

Use case: Basic chat with file storage capabilities.

πŸ“Š Sheets + Drive

cargo build --features "sheet,drive" --no-default-features

Use case: Spreadsheet processing with cloud storage.

⚠️ Note: sheet does NOT require drive for local file processing. Add drive only if you need cloud storage.

πŸ€– Chat + Local LLM

cargo build --features "chat,llm" --no-default-features

Use case: Chat with local LLM integration (limited resources).

🏒 Office Suite

cargo build --features "docs,sheet,slides,drive" --no-default-features

Use case: Full document processing suite.

πŸ“§ Email-Focused

cargo build --features "chat,mail,cache" --no-default-features

Use case: Chat with email integration.


Feature Validation

Some features have implicit dependencies:

If you enable…You automatically get…
tasksautomation
paperdocs
researchllm, vectordb
consolemonitoring
communicationsAll communication features + cache
productivityAll productivity features + cache
documentsAll document features

Size Comparison

Build ConfigurationApproximate Size
minimal~15 MB
lightweight~25 MB
default~35 MB
full~60 MB

Sizes are approximate and vary based on platform and optimization level.