IMPORTANT:
- If using Cohere's command-r-plus model, update to command-a-03-2025. Command R Plus model was deprecated on September 15th, 2025.
- If using GitHub Models, update your model names to include the provider prefix (e.g., gpt-4o-mini → openai/gpt-4o-mini).
- Discord channel_id config has been replaced with channel_ids.
- Delete discord-interaction-message.json to regenerate with the updated format, or manually add the new [channel] placeholder to your existing configuration.
New Features:
- Support for multiple Discord channel IDs (discord.channel_ids) to listen for questions across multiple channels. These channels should be dedicated solely to AI questions as the bot will respond to every message posted.
- Discord DM support allowing users to chat with the bot via direct messages (configurable with discord.dms_guild, disabled by default).
- Response cooldown system for both Minecraft and Discord (minecraft.response_cooldown and discord.response_cooldown, default 3 seconds) to prevent spam.
- PlaceholderAPI expansion with variables (format: %serverassistantai_<variable>%): chat_provider, embedding_provider, chat_model, embedding_model, limit, usage, usage_left, global_limit, global_usage, global_usage_left.
- Comprehensive logging system for questions and embedding ingestion (configurable in logging section with log_ignored_messages, log_minecraft, and log_discord options and saves in the new /logs directory in the SAAI plugin folder). New detailed logging analytics dashboard is available at log-analyzer.code-solutions.dev to analyze user interactions and gain insights from your SAAI logs.
- /saai debug command to help with troubleshooting and support.
- New reasoning_effort option for OpenAI provider to control reasoning effort level for supported reasoning models ('low', 'medium', 'high').
- Customizable history format for both Minecraft and Discord interactions (minecraft.history_format and discord.history_format).
- New bot response message format for /ai chat command in messages.yml under minecraft.commands.help.chat.bot_message.
- New permissions serverassistantai.question-detection and serverassistantai.mention-bot (both default to Player) for controlling question detection and bot mentioning in public chat.
Enhancements:
- Updated default chat model to command-a-03-2025 due to Cohere deprecating command-r-plus.
- Improved chat plugin compatibility with better message visibility awareness and RoseChat support.
- Multi-request support for OpenAI embeddings with embedding_model.max_request_segments option (add this field manually if needed) for better handling of large datasets.
- Updated LangChain4j to latest version with full compatibility for major changes.
- Discord mentions are now removed before querying embeddings for cleaner results.
- Daily usage reset is now at 12AM UTC instead of 12AM EDT.
- Uses our own custom Maven Central mirror on modern Paper servers for better reliability.
Bug Fixes & Improvements:
- Fixed Unicode handling in question detection regex patterns.
- Removed AI thinking text (<think> and </think> tags) from responses for thinking models for cleaner output.
- Strip color codes from messages when using Spigot's AsyncPlayerChatEvent.
- Improved Discord interaction message format (added Channel field, moved Requester to footer).
Advanced Question Detection Addon:
- New multilingual support with 10 language models: multilingual (Verified: Spanish, Korean, Italian, German, English), english (Verified), spanish (Verified), german (Verified), italian (Verified), korean (Verified), french (Unverified), turkish (Unverified), russian (Unverified), and arabic (Unverified).
- API key now required to access question detection models. Verified users can obtain a key by running /apikey in any channel on our Discord server.
Verified models have been reviewed by native speakers for accuracy. Unverified models were translated using DeepL and may contain some inaccuracies. Thanks to Noel (German), WhiteOmbrah (Italian), Signition & Zadkiel (Korean), and Sistemas (Spanish) for helping verify the datasets for training our models! Provider Updates:
- Added CerebrasAI as a new OpenAI-compatible chat model provider.
- Added embedding model support for GitHub Models (note: base URL updated, model names now require a provider prefix like openai/).
API Changes:
- New MinecraftChatHandleEvent and general API cleanup.
- Removed deprecated ServerAssistantAIAPI#waitForPlugin method.
- Improved receiver handling system for better chat event processing.
- Minor improvements to Javadoc documentation around the API.