Skip to content

AI features

Opt-in, provider-agnostic AI through LiteLLM. Every feature is a plugin gated on its own FEATURE_AI_* flag.

Plugin Flag Trigger Output
Reply-draft FEATURE_AI_DRAFTS /draft in topic Expandable blockquote with draft
Ticket summary FEATURE_AI_SUMMARY TicketClosed event tickets.ai_summary
Sentiment FEATURE_AI_SENTIMENT MessageReceived tickets.sentiment
Smart routing FEATURE_AI_ROUTING TicketCreated tickets.ai_suggested_team
Translate FEATURE_AI_TRANSLATE MessageReceived (lang mismatch) tickets.translations[]
Transcribe FEATURE_AI_TRANSCRIBE MessageReceived with media tickets.transcriptions[]
KB-drafter FEATURE_AI_KB_DRAFTER /ai kb-draft Draft KB article

Configuration

AI_ENABLED=true
AI_MODEL_DEFAULT=anthropic/claude-sonnet-4-5
AI_MODEL_FAST=anthropic/claude-haiku-4-5
AI_MODEL_VISION=anthropic/claude-sonnet-4-5
AI_MODEL_TRANSCRIBE=openai/whisper-1
AI_PII_REDACTION=true          # scrub CC/SSN/email/phone before send
ANTHROPIC_API_KEY=...
# OPENAI_API_KEY, GEMINI_API_KEY also picked up automatically by LiteLLM

PII redaction

When AI_PII_REDACTION=true the redaction service removes credit cards / SSNs / API-key-shaped tokens and hashes emails / phones to stable short tokens before the prompt leaves the process. Turn it off only when you trust the provider path end-to-end (on-prem Ollama, private Azure OpenAI, etc.).

Cost tracking

Every call writes a row to ai_usage (feature, model, tokens, cost_usd, user_id, ticket_id, ts). The Phase-9 digest + Prometheus metrics report these without extra wiring.