MusebotMusebot
Introduction
  • Discord
  • Configuration
  • Ollama
  • Long-Term Memory
  • SwarmUI
Introduction
  • Discord
  • Configuration
  • Ollama
  • Long-Term Memory
  • SwarmUI
  • Ollama

Ollama

Ollama Logo

Ollama is an easy-to-use solution for downloading and running popular large language models and can be downloaded from https://ollama.com.

Ollama Server

There are multiple ways to run Ollama using the ollama serve command, including through Docker, a systemd service, or other means. Please refer to the Ollama documentation to download, configure, and install Ollama.

Once Ollama is running as a server, it's typically accessible on port 11434 of your assigned host. If you're running Ollama on your current device, you can most likely use http://localhost:11434/ as a host in the ollama.hosts array in your config.jsonc file, though make sure you specify the correct host and port if that's not the case.

{
  "bots": [
    {
      // ...
      "ollama": {
        "hosts": ["http://localhost:11434/"]
      }
    }
  ]
}

Make sure to substitute your machine's hostname or IP address instead and that it's accessible from your Musebot instance(s).

Models

You can browse models for Ollama at https://ollama.com/search. If you're not certain which model is best for your use case, we recommend trying out gemma4:12b. It should perform well on most hardware and is flexible enough to answer most questions and adopt most personas. If gemma4:12b is still too slow for your hardware, consider a smaller quantization or a lighter model. You can, of course, use any large language model that you prefer.

Ollama provides a CLI for downloading these models:

ollama pull gemma4:12b

Once Ollama downloads your preferred model, you can specify it in your config.jsonc file by adding it to the ollama.models array.

Vision

Musebot automatically detects whether a configured model supports vision (multimodal image input) by querying Ollama's /api/show endpoint at startup. If any configured model reports vision in its capabilities, the Vision feature is enabled.

When Vision is enabled:

  • Image attachments on user messages are fetched, encoded, and passed alongside the message text to the vision-capable model during the normal chat response. The model can "see" and reason about images users post.
  • Long-term memory stores image interpretations: when a message with image attachments is stored as a memory, Musebot uses the vision model to generate a text description of each image, which is stored alongside the message. This allows the bot to recall the content of past images even though the embedding is text-based.
  • Image-only messages are eligible for long-term memory storage. Without Vision, messages with no text body are skipped.

No configuration is required — Vision is purely auto-detected based on the models you configure. To use it, simply pull a vision-capable model (such as llava or gemma4:12b) and list it in ollama.models.

Web Link Reading

When a user posts a message containing URLs, Musebot extracts the link content and uses it as context for the response. This works for any model — no vision capability is required.

  • Before replying, Musebot fetches each URL, extracts the readable content using Readability, and injects it as a system message into the LLM context. The bot can then answer questions about or reference the linked page.
  • In long-term memory, link content is stored as a web attachment on the message. The extracted text is embedded alongside the message text so past link content is searchable.

URL detection is automatic — any http:// or https:// URL in the message text is fetched. Non-HTML responses (images, PDFs, etc.) are skipped silently. There is no configured size limit on extracted content.

Image Attachment Support

If you also integrate Musebot with a ComfyUI instance with mode set to "chat", Musebot will use the large language model response as a prompt for an image and attach it to its response asynchronously, providing a visual for the response.