{"id":116450,"date":"2026-06-06T23:29:35","date_gmt":"2026-06-06T20:29:35","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/openrouter-chatbot\/"},"modified":"2026-06-06T23:29:35","modified_gmt":"2026-06-06T20:29:35","slug":"openrouter-chatbot","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/openrouter-chatbot\/","title":{"rendered":"OpenRouter Chatbot"},"content":{"rendered":"<p># OpenRouter Chatbot &#8211; Minecraft Plugin<\/p>\n<p>## Overview<\/p>\n<p>OpenRouter Chatbot is a powerful and highly configurable Spigot plugin that integrates the OpenRouter AI API into your Minecraft server. It allows players and server administrators to interact with a variety of AI models directly in-game, with support for web search, dynamic model switching, and extensive customization. This plugin is designed to be a seamless and immersive addition to any server, providing both utility and entertainment.<\/p>\n<p>## Core Features<\/p>\n<p>&#8211; **In-Game AI Chat**: Access a powerful AI chatbot from both the server console and in-game chat.<br \/>\n&#8211; **Dynamic Model Switching**: Change the active AI model on the fly with a simple command. The plugin supports tab-completion for model names, making it easy to find and select the perfect model for your needs.<br \/>\n&#8211; **Universal Web Search**: By appending `:online` to the model name, you can enable web search for any query, allowing the AI to provide up-to-date information on any topic.<br \/>\n&#8211; **Intelligent Context Extension**: The plugin can automatically detect and use a model&#8217;s extended context version (e.g., `:extended`), providing a larger context window for more complex conversations.<br \/>\n&#8211; **Highly Configurable**: Nearly every aspect of the plugin is customizable via a detailed `config.yml` file. You can control everything from message formats and colors to advanced API parameters like temperature and token limits.<br \/>\n&#8211; **Fine-Grained Permission Control**: You have complete control over who can use the plugin&#8217;s commands. Each command can be configured to require operator (OP) status or a specific permission node.<br \/>\n&#8211; **Public or Private Messaging**: Configure the plugin to broadcast AI interactions to the entire server or keep them private to the user who initiated the prompt.<\/p>\n<p>## Commands and Permissions<\/p>\n<p>The plugin&#8217;s commands are simple and intuitive:<\/p>\n<p>| Command | Description | Permission Node | Default |<br \/>\n| &#8212; | &#8212; | &#8212; | &#8212; |<br \/>\n| `\/ai <prompt>` | Sends a prompt to the configured AI model. | `openrouterchatbot.use` | All Players |<br \/>\n| `\/ai set <model_slug>` | Sets the default AI model for all subsequent requests. | `openrouterchatbot.set` | Operators |<br \/>\n| `\/ai reloadmodels` | Refreshes the cached list of available models from the OpenRouter API. | `openrouterchatbot.reload` | Operators |<\/p>\n<p>You can change the default permission requirements in the `config.yml` file.<\/p>\n<p>## Installation and Setup<\/p>\n<p>1.  **Download**: Get the latest release of `OpenRouterChatbot.jar` from the project&#8217;s releases page.<br \/>\n2.  **Install**: Place the `OpenRouterChatbot.jar` file into your server&#8217;s `plugins` directory.<br \/>\n3.  **First Run**: Start your server. The plugin will generate its default configuration file at `plugins\/OpenRouterChatbot\/config.yml`.<br \/>\n4.  **Configure**: Stop the server and open the `config.yml` file with a text editor.<br \/>\n    &#8211;   **API Key**: The most important step is to add your OpenRouter API key to the `openrouter-api-key` field. You can obtain a key from https:\/\/openrouter.ai\/keys.<br \/>\n    &#8211;   **Customize**: Review the rest of the `config.yml` file and customize it to your liking. The file is extensively commented to explain every option.<br \/>\n5.  **Restart**: Start your server again. The plugin is now configured and ready to use.<\/p>\n<p>## How It Works<\/p>\n<p>The plugin operates by making asynchronous calls to the OpenRouter API. This means that the server&#8217;s main thread is never blocked, preventing any lag or performance issues. When a user issues a command, the plugin immediately sends a &#8220;Thinking&#8230;&#8221; message (if enabled) and then sends the request to the API in the background. Once the API responds, the plugin schedules a task to send the AI&#8217;s response back to the user in the main server thread, ensuring thread safety.<\/p>\n<p>On startup, the plugin also fetches and caches a list of all available models from the OpenRouter API. This allows for fast tab-completion of model names and enables the intelligent extended context feature without making an API call for every command.<\/p>\n<p>## Configuration File (`config.yml`) Explained<\/p>\n<p>This section provides a detailed, toggle-by-toggle explanation of every setting available in the `config.yml` file.<\/p>\n<p>### `Primary Settings`<\/p>\n<p>&#8211;   `openrouter-api-key`: This is where you must paste your unique API key from OpenRouter. The plugin will not work without it.<br \/>\n&#8211;   `model`: This setting determines the default AI model that the plugin will use. You can find a list of available models on the OpenRouter website. This can be changed in-game with `\/ai set`.<\/p>\n<p>### `command-permissions`<\/p>\n<p>This section allows you to control who can use the plugin&#8217;s commands.<\/p>\n<p>&#8211;   `require-op-for-ai`: If set to `true`, only server operators (OPs) or players with the `openrouterchatbot.use` permission can use the `\/ai <prompt>` command. If `false`, anyone can use it.<br \/>\n&#8211;   `require-op-for-set`: If set to `true`, only OPs or players with the `openrouterchatbot.set` permission can use the `\/ai set` command. If `false`, anyone can change the model.<br \/>\n&#8211;   `require-op-for-reload`: If set to `true`, only OPs or players with the `openrouterchatbot.reload` permission can use the `\/ai reloadmodels` command. If `false`, anyone can reload the model cache.<\/p>\n<p>### `features`<\/p>\n<p>This section contains toggles for various plugin behaviors.<\/p>\n<p>&#8211;   `send-thinking-message`: If `true`, a &#8220;Thinking&#8230;&#8221; message will be sent to the user after they submit a prompt, providing feedback that the request is being processed.<br \/>\n&#8211;   `enable-web-search`: If `true`, the plugin will automatically add the `:online` suffix to the model name, enabling the AI to search the web for up-to-date information.<br \/>\n&#8211;   `enable-extended-context`: If `true`, the plugin will check if the selected model has an `:extended` version and use it if available. This provides the AI with a larger memory for longer conversations.<br \/>\n&#8211;   `display-user-prompt`: If `true`, the user&#8217;s original prompt will be displayed in the chat before the AI&#8217;s response. This is useful for context in public conversations.<br \/>\n&#8211;   `include-player-name-in-prompt`: If `true`, the name of the player who sent the prompt will be prepended to the message sent to the AI (e.g., &#8220;Notch: What is a creeper?&#8221;). This can help the AI tailor its response.<\/p>\n<p>### `message-visibility`<\/p>\n<p>&#8211;   `broadcast-to-server`: If `true`, all messages related to AI interactions (prompts, &#8220;Thinking&#8230;&#8221; messages, and responses) will be broadcast to all players on the server. If `false`, these messages will only be visible to the player who used the command.<\/p>\n<p>### `message-formatting`<\/p>\n<p>This section allows you to customize the appearance of all plugin messages. You can use standard Minecraft color codes (e.g., `&#038;a` for green) and the following placeholders:<br \/>\n&#8211;   `%player%`: The name of the player who used the command.<br \/>\n&#8211;   `%prompt%`: The prompt that the player sent.<br \/>\n&#8211;   `%model%`: The AI model that was used.<\/p>\n<p>### `api-settings`<\/p>\n<p>This section gives you direct control over the parameters sent to the OpenRouter API. It is recommended for advanced users.<\/p>\n<p>&#8211;   `instructions`: A system prompt that guides the AI&#8217;s personality and behavior.<br \/>\n&#8211;   `temperature`: Controls the randomness of the AI&#8217;s responses. Higher values (e.g., 1.2) will result in more creative but less predictable responses, while lower values (e.g., 0.5) will make the responses more focused and deterministic.<br \/>\n&#8211;   `max_tokens`: The maximum length, in tokens (roughly words), of the AI&#8217;s response.<br \/>\n&#8211;   `top_p`: An alternative to temperature for controlling randomness. It&#8217;s recommended to only use one of `temperature` or `top_p`.<br \/>\n&#8211;   `frequency_penalty` and `presence_penalty`: These settings can be used to discourage the AI from repeating itself.<br \/>\n&#8211;   `stop`: A list of words or phrases that will cause the AI to immediately stop generating text.<br \/>\n&#8211;   `seed`: If you provide an integer seed, the AI will produce the same output for the same prompt every time. This is useful for testing.<br \/>\n&#8211;   `transforms`: A list of transformations to apply to the model&#8217;s output.<br \/>\n&#8211;   `route`: The routing strategy for the API call.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>OpenRouter Chatbot is a powerful and highly configurable Spigot plugin that integrates the OpenRouter AI API into your Minecraft server.<\/p>\n","protected":false},"featured_media":116451,"template":"","meta":{"_minecraft_slug":"openrouter-chatbot","_minecraft_project_id":"50Lnnql8","_minecraft_author":"nickkostik","_minecraft_license":"Apache-2.0","_minecraft_downloads":36,"_minecraft_follows":1,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"openrouter-chatbot.zip","_minecraft_size_bytes":83475,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-15T21:53:00.054308Z","_minecraft_date_created":"2025-08-07T02:19:03.398740Z","_minecraft_date_modified":"2025-07-31T13:53:54.516922Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/openrouter-chatbot","_minecraft_icon_attachment_id":116451,"_minecraft_imported_at":"2026-06-06T20:29:36+00:00","_minecraft_import_hash":"36d521efb2d7a2e82fae4971d82c9d42","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[124,89,873,122,126,127,128,867,129,91,123,92],"mod_loader":[130,132,133,134],"minecraft_version":[81],"class_list":["post-116450","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-bukkit","mod_category-game-mechanics","mod_category-library","mod_category-magic","mod_category-management","mod_category-paper","mod_category-purpur","mod_category-social","mod_category-spigot","mod_category-storage","mod_category-technology","mod_category-utility","mod_loader-bukkit","mod_loader-paper","mod_loader-purpur","mod_loader-spigot","minecraft_version-1-21-8"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>OpenRouter Chatbot - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/openrouter-chatbot\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OpenRouter Chatbot - Minecraft\" \/>\n<meta property=\"og:description\" content=\"OpenRouter Chatbot is a powerful and highly configurable Spigot plugin that integrates the OpenRouter AI API into your Minecraft server.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/openrouter-chatbot\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/openrouter-chatbot\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/openrouter-chatbot\\\/\",\"name\":\"OpenRouter Chatbot - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/openrouter-chatbot\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/openrouter-chatbot\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/openrouter-chatbot-icon-6c641eac433cd7a41ee4f556f63ed9c23e1363bb_96.webp\",\"datePublished\":\"2026-06-06T20:29:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/openrouter-chatbot\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/openrouter-chatbot\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/openrouter-chatbot\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/openrouter-chatbot-icon-6c641eac433cd7a41ee4f556f63ed9c23e1363bb_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/openrouter-chatbot-icon-6c641eac433cd7a41ee4f556f63ed9c23e1363bb_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/openrouter-chatbot\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"OpenRouter Chatbot\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"OpenRouter Chatbot - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/openrouter-chatbot\/","og_locale":"en_US","og_type":"article","og_title":"OpenRouter Chatbot - Minecraft","og_description":"OpenRouter Chatbot is a powerful and highly configurable Spigot plugin that integrates the OpenRouter AI API into your Minecraft server.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/openrouter-chatbot\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/openrouter-chatbot\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/openrouter-chatbot\/","name":"OpenRouter Chatbot - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/openrouter-chatbot\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/openrouter-chatbot\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/openrouter-chatbot-icon-6c641eac433cd7a41ee4f556f63ed9c23e1363bb_96.webp","datePublished":"2026-06-06T20:29:35+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/openrouter-chatbot\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/openrouter-chatbot\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/openrouter-chatbot\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/openrouter-chatbot-icon-6c641eac433cd7a41ee4f556f63ed9c23e1363bb_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/openrouter-chatbot-icon-6c641eac433cd7a41ee4f556f63ed9c23e1363bb_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/openrouter-chatbot\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"OpenRouter Chatbot"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/116450","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/116451"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=116450"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=116450"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=116450"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=116450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}