Slack alaiops Bot — Backend Architecture Slack alaiops Bot — Backend Architecture Basic Info Workspace: alai-talk.slack.com Bot user: @alaiops (U0AEMU81LBG) Channels: 11 public + 6 private (manual invite required for private) Mode: Socket Mode (no public webhook needed) Tokens Location Primary: macOS Keychain slack-bot/slack-bot-token slack-bot/slack-app-token Fallback 1: Bitwarden/Vault Fallback 2: Environment variables Daemon LaunchAgent: com.john.slack-bot PID lookup: pgrep -f slack-bot.js Code: ~/system/tools/slack-bot.js Logs: ~/system/logs/slack-bot.log Backend Chain (via comms-responder.js) Priority-based fallback system (lower number = higher priority, faster response): Groq (priority 5, ~100-500ms) — PRIMARY Model: llama-3.1-8b-instant Added: 2026-04-18 Requires: GROQ_API_KEY env var Adapter: ~/system/tools/adapters/groq.js Claude API (priority 10, ~2s) Claude CLI (priority 20, ~20s) Ollama (priority 30, ~40s) — FALLBACK ONLY Groq Adapter // Registered in ~/system/tools/adapters/index.js const groq = require("./groq.js"); // Usage const response = await groq.send("prompt", { model: "llama-3.1-8b-instant", temperature: 0.7, max_tokens: 512 }); Event Subscriptions Status: Re-enabled 2026-04-18 after scope fix Critical fix: Bot NO LONGER requires admin scopes (caused "Enterprise only" error). Removed admin scopes from User token, kept 15 bot scopes. Active bot scopes (15): app_mentions:read channels:history channels:read chat:write groups:history groups:read im:history im:read im:write mpim:history mpim:read reactions:read reactions:write users:read users:read.email Dead Pattern Warning If bot stops responding, check logs first: tail -100 ~/system/logs/slack-bot.log Benign pattern (ignore): "Dedup: skipping" — message already processed Error patterns (investigate): "Socket mode error" "Token invalid" "Groq API error" "All backends failed" Test Commands # Send test message node ~/system/tools/slack.js send general "Test from John" # Read channel history node ~/system/tools/slack.js read general 10 # Check bot status pgrep -f slack-bot.js && echo "Running" || echo "Stopped" See Also Groq adapter source: ~/system/tools/adapters/groq.js Bot source: ~/system/tools/slack-bot.js Comms responder: ~/system/tools/comms-responder.js Created: 2026-04-19 | Last updated: 2026-04-18 (Groq backend added)