4.5 KiB
About
Discord Ollama is a Discord bot that lets users interact with locally hosted Ollama language models directly from Discord.
The bot supports model management, streamed responses, conversation history, private threads, and configurable server controls. Because Ollama runs locally, you retain control over the models and data used by the bot.
See the setup guides to get started.
Documentation
These are guides to the features and capabilities of this app.
Logging
The application uses Pino child loggers with structured component metadata.
Outside production, pino-caller adds the source file and line to each log
entry. Set LOG_LEVEL to configure the minimum level (defaults to info).
import { createLogger } from './components/index.js'
const logger = createLogger({ component: 'request', requestId })
logger.info('Request started')
Log entries are JSON and include the structured fields provided to the log
method, along with component and (outside production) caller. The root Pino
instance is shared; create one child when entering a context, then pass that
same child logger through the context's work. Create another child only when
you need to add more scoped bindings; child creation does not mutate its parent.
Environment Setup
- Clone this repo using
git clone https://github.com/kevinthedang/discord-ollama.gitor just use GitHub Desktop to clone the repo. - You will need a
.envfile in the root of the project directory with the bot's token. There is a.env.sampleis provided for you as a reference for what environment variables.- For example,
CLIENT_TOKEN = [Bot Token] - The LLM server is configured with
LLM_ENDPOINT/LLM_PORT(OLLAMA_IP/OLLAMA_PORTstill work as deprecated aliases).
- For example,
- Please refer to the docs for bot setup.
- Creating a Discord App
- Local Machine Setup
- Docker Setup for Servers and Local Machines
- Nvidia is recommended for now, but support for other GPUs should be development.
- Local use is not recommended.
Resources
- NodeJS
- This project runs on
lts\jodand above. - This project requires the use of npm version
10.9.0or above.
- This project runs on
- Ollama
- Ollama Docker Image
- llmman also serves the Ollama API (on port
17434) and can be used in its place, see Local Machine Setup.
- Discord.js Docs
- Setting up Docker (Ubuntu 20.04)
Acknowledgement
discord-ollama © 2023 by Kevin Dang is licensed under CC BY 4.0
