Overview

Hive Mode transforms STING from a standalone web application into a platform-native AI assistant. When enabled, users interact with Bee (or a custom-named bot) directly inside the communication tools they already use — Slack, Microsoft Teams, or Discord — without needing a separate STING login for general queries.

This is powered by the public_bee microservice and the connector framework that normalizes messages across platforms.

Key Benefits

BenefitDescription
No separate loginGeneral AI queries use platform identity — users don’t need a STING account
Enterprise PII controlAll messages pass through STING’s PII detection pipeline before reaching the LLM
Platform-native experienceRich formatting, threads, reactions — feels like a built-in bot
Centralized adminManage all connector instances from the STING admin panel
Identity bindingFor restricted resources (private Honey Jars), users verify identity through a platform-native challenge

Architecture

┌──────────┐    ┌──────────┐    ┌──────────┐
│  Slack   │    │  Teams   │    │ Discord  │
│  Users   │    │  Users   │    │  Users   │
└────┬─────┘    └────┬─────┘    └────┬─────┘
     │               │               │
     ▼               ▼               ▼
┌────────────────────────────────────────────┐
│           public_bee (FastAPI)              │
│  ┌─────────────────────────────────────┐   │
│  │     Connector Framework             │   │
│  │  • Message Normalizer               │   │
│  │  • PII File Handler                 │   │
│  │  • Identity Manager                 │   │
│  └─────────────────────────────────────┘   │
│  ┌─────────────────────────────────────┐   │
│  │     Waggles Dispatcher              │   │
│  │  • Event routing & templates        │   │
│  │  • Multi-platform delivery          │   │
│  └─────────────────────────────────────┘   │
└────────────────────┬───────────────────────┘
                     │
        ┌────────────┼────────────┐
        ▼            ▼            ▼
   ┌─────────┐ ┌──────────┐ ┌─────────┐
   │  App    │ │ Knowledge│ │External │
   │ Service │ │ Service  │ │AI Service│
   └─────────┘ └──────────┘ └─────────┘

Enabling Hive Mode

Configuration

In conf/config.yml:

public_bee:
  port: 8092
  hive:
    enabled: true

After updating config:

sudo msting regenerate-env
sudo msting restart public-bee

Verification

# Check Hive Mode status
curl -sk https://localhost:8443/api/public-bee/api/connectors/health
# Expected: {"hive_mode": true, ...}

Platform Connectors

Each platform connector follows a base class pattern with platform-specific subclasses:

Slack

  • Uses Slack Bot Token + Socket Mode or Events API
  • Supports: threads, blocks (rich formatting), file uploads, reactions
  • Bot name configurable (default: @Bee)

Microsoft Teams

  • Uses Bot Framework with Adaptive Cards
  • Supports: threaded conversations, rich cards, file attachments
  • Integrates with Teams App Catalog for organization-wide deployment

Discord

  • Uses Discord Bot API with slash commands and embeds
  • Supports: threads, embeds (rich formatting), file attachments, reactions

Adding a Connector

Connectors are managed through the admin panel at Admin → Connectors or via API:

# List active connectors
curl -sk -H "Authorization: Bearer $TOKEN" \
  https://your-sting/api/admin/connectors/

# Register a new Slack connector
curl -sk -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"platform": "slack", "config": {"bot_token": "xoxb-...", "signing_secret": "..."}}' \
  https://your-sting/api/admin/connectors/

Identity Binding

For general AI queries, platform identity is sufficient — no extra login needed. For accessing restricted resources like private Honey Jars, STING uses identity binding:

  1. User requests access to a restricted resource via the bot
  2. Bee sends a platform-native verification challenge
  3. User completes the challenge (e.g., clicking a verification link)
  4. Platform identity is bound to a STING identity for future requests
  5. Binding persists — the user doesn’t need to verify again

This is managed through the Admin → Identity Bindings page.

Last updated: