NevAI
- 14 Devlogs
- 35 Total hours
A Discord bot that lets admins set an AI channel per server, mention it and it responds using free AI models, remembering the last 15 messages for context.
A Discord bot that lets admins set an AI channel per server, mention it and it responds using free AI models, remembering the last 15 messages for context.
Claude Haiku 5.5 modelsetup_env.sh
/help commandANTHROPIC_API to env.example
README.md
Anthropic is an optional provider (NevAI requires at least one of the AI providers listed on GitHub). The bot keeps working with free APIs alone, and Anthropic is used only if you add an ANTHROPIC_API key.
install.sh)install.sh)data.json logicdocker-compose.yml from my GitHubdata.json and .env files.env
Exa image response issuesqwen/qwen3-32b -> google/gemini-3-flash-preview (for faster response times)README.md
Doubled response speed (when using Exa) by changing the model and limiting the data returned by Exa.
I plan to re-ship this project.
Exa.ai API calls per model/logs commandREADME.md
tool_use_failed error with the Groq providerExa searches for images based on the queries the AI model makes using the tool (e.g. The model wants to search:, current temperature Poland 2026-09-15).
I plan to improve the /logs system and the processing of data returned by Exa.ai so that the model doesn’t make things up.
Exa.ai for AI models to search the internet/logs
TXT filesThe model decides for itself whether it wants to use Exa.ai. When the model uses Exa.ai, information from the internet is returned. The model uses this information to respond in the Discord chat. When the model decides it doesn’t need to use Exa.ai, it won’t. If you don’t add an EXA_API token, the bot will continue to function, but it will not search for information on the web.
I plan to add another Exa integration, based on the HackClub API for redundancy. I also plan to add information about Exa.ai to README.md.
.log file..env option, DEBUG_MODE, with true/false values (when true, logs are saved to debug.log).I plan to continuously improve the logging and debugging system.
All AI models are free and use free API keys (Groq, Gemini, HackClub, OpenRouter).
const geminiModels = ['gemini-2.5-flash', 'gemini-2.5-flash-lite']
const groqModels = ["openai/gpt-oss-120b", "openai/gpt-oss-20b", "qwen/qwen3.6-27b"]
const HackClubModels = ['meta-llama/llama-3.3-70b-instruct']
const visionModel = ["qwen/qwen3.6-27b", "qwen/qwen3.8-27b"]
const openroute = ["openrouter/free"]
I plan to continuously develop and improve this project.
Add custom AI reaction emoji (supports Discord emoji format).env example in README.mdI plan to add a /logs command.
/ai_settings panel designAdd custom AI reaction emoji panelbot_name typing... indicatorI plan to add an embed AI response with an on/off option in /ai_settings.
/ai_settings panel with custom prompt and thinking emoji optionsI’m planning to add support for Discord’s custom emoji format in /ai_settings, and start working on a logs system showing the question asked and which AI model responded.
/ai_settings panelI’m planning to connect the AI system to the bot’s replies and finish the custom prompt settings (via the modal opened from /ai_settings).
Dockerfile and .dockerignore
/ai slash commandsave_data.js and a save system for the AI channelI’m planning to create the bot’s profile picture and start working on getting AI responses inside Discord.
Groq, Gemini, HackClub
gemini-2.5-flash, gemini-2.5-flash-lite
openai/gpt-oss-120b, openai/gpt-oss-20b, qwen/qwen3.6-27b
meta-llama/llama-3.3-70b-instruct
I’m planning to integrate these models with the Discord bot