Heidelberg AICurriculum
Track 19 · Beginner
19.2

Heidelberg AI Bench

Your own private AI stack, on the laptop you already have

4 lessons 2026-08-13 AI-generated

1The bench in two minutes

A run through the dashboard as it looks an hour after you install it — where the AI is chosen, what the apps can and cannot reach, and what sits behind each tile.

1:59 · 7 chapters · recorded on a real bench, served from this site

2Overview

A folder you download and double-click. It brings up n8n (automation), AnythingLLM (chat with your documents), a LiteLLM gateway, and Dockge — a small dashboard that starts and stops each app and shows you the compose file behind it.

The chapter that answers "can I have all of this without asking IT for a server?" One download and two double-clicks put automation, document chat and a model gateway on your own machine, already wired together. Nothing leaves your network unless you choose a cloud model — and if you do, you choose which one, in one place. → `dokploy-hetzner` is the same idea when an institution wants one shared server; `local-private-models` is about the models themselves. This chapter is the stack around them, small enough to run on a student laptop and short enough to finish in a seminar.

Most of this course runs on somebody else's computer. This chapter is the version that runs on yours: a small set of open-source apps that start together, already pointed at each other, on a laptop with 8 GB of RAM and no graphics card. It is the same stack a university or a company would put on a server — just scaled down to one person, so you can learn it before anyone has to buy anything.

2.2After this chapter you can
Run a private AI stack on your own machine — automation, document chat and a gateway — without renting a server
Point every app at one provider you pick: a model on your laptop, one on a lab machine, or an EU-hosted router
Read the compose file behind each app, so the one-click install stays something you can explain
Know what it costs you: RAM, disk, the Docker Desktop licence threshold, and per-token price if you go to the cloud
2.3When to reach for it

When you want the private-AI stack for yourself, a seminar, or a small team, and nobody has provisioned a server. Also the honest first step before a server: the same compose files run on one later.

2.4Key parts

One gateway in the middle. Every app asks LiteLLM for a model called `default`, so the provider is chosen in exactly one place — swap a laptop model for an EU-hosted router and no app is reconfigured.

2.5Watch out

Docker Desktop needs admin rights and one restart to install — that part cannot be clicked away. It is free for personal use, education, and companies under 250 employees and $10M revenue; above that it needs a paid seat, or Podman Desktop (Apache-2.0) instead.

2.6Free vs paid

Every app in the kit is open source and free. The only running cost is the model: zero if you point it at LM Studio on your own machine or a lab GPU, roughly a 5% markup over provider prices through an EU router such as Requesty or EUrouter. OpenRouter routes outside the EU unless you are on its enterprise plan — which matters for university data.

3Lessons 4

3.1 What the bench is

The Heidelberg AI Bench is a folder you download and double-click. It puts five apps and one AI model on your own computer, already wired to each other.

Know what you are about to install, and what it is not.

The honest answer to "what did I just install". One table, three lines, and the middle one is the only door.
  1. Five apps, one model, one gateway. n8n for automation, AnythingLLM for chatting with documents, Hermes for agents, a file drive, and the model itself — with a gateway in the middle so one switch changes the AI for all of them.
  2. It is not a website. Everything runs in containers on your machine. Close your laptop and it stops; nothing is hosted anywhere.
  3. It is not a toy either. These are the same open-source tools an institution runs on a server. The compose files you get here are the ones that would run there.
  4. Nothing leaves your network unless you choose a cloud model — and then you choose which one, in one place.
  • You'll see A page at localhost:8080 listing your apps, with a memory figure on each.
  • Takeaway A private AI stack, scaled down to one laptop, with nothing hidden.

3.2 What it costs you

Do this first What the bench is

Decide whether your machine can run this before you spend twenty minutes finding out.

  1. Memory. The whole bench idles at about 1.2 GB; the model adds roughly 2 GB while it answers. 8 GB of RAM works, 16 GB is comfortable.
  2. Disk. Budget 15 GB: about 6 GB of apps, 2 GB for the model, and Docker's own cache.
  3. Money. Zero, with the model that ships with it. A cloud provider is per-token and optional; nothing charges without a key you pasted.
  4. The licence footnote. Docker Desktop is free for personal use, education, and companies under 250 employees and $10M revenue. Above that it needs a paid seat — or Podman Desktop, which is Apache-2.0.
  • You'll see The dashboard prints your machine's memory, processor and disk, so the budget is on screen from the first minute.
  • Takeaway 8 GB of RAM, 15 GB of disk, no money. That is the whole bill.
  • Cost Free to run. The only paid path is a cloud model you choose deliberately.

3.3 Get it

One pasted line downloads and installs everything. The zip is there too, for anyone who prefers a folder.

Do this first What it costs you

Have the download in front of you, and know which door to use.

Press ⌘Space, type terminal, open it, paste

macOS
curl -fsSL https://curriculum.32dots.de/bench.sh | bash
  1. Prefer a folder? [heidelberg-ai-bench.zip](https://curriculum.32dots.de/heidelberg-ai-bench.zip) — unzip it and double-click HeidelbergBench.bat (Windows) or HeidelbergBench.command (Mac; right-click → Open the first time).
  2. Read before you run. Open https://curriculum.32dots.de/bench.sh in a browser — it is a hundred readable lines.
  3. Why pasted rather than downloaded: SmartScreen and Gatekeeper stand in front of anything a browser downloaded, and that warning is where a first install usually stops.
  4. The source is public: the kit is 32dots/heidelberg-ai-bench, MIT, free for any university or company to copy.
  • You'll see A terminal that downloads for a while and ends by opening your browser at localhost:8080.
  • Takeaway One line, or one zip. Both end in the same place.

3.4 What to do first

Do this first Get it

Turn a finished install into something you have actually done.

  1. Ask the course a question. Press Sync on the dashboard, then ask something about a lesson — answered on your machine, with the lesson named.
  2. Open n8n and make one AI node answer. Its credential is already there. → bench-n8n
  3. Drop a PDF into AnythingLLM and ask it something. Nothing is uploaded anywhere. → bench-anythingllm
  4. Then read the compose file behind one app. Fifteen lines, and the one-click install stops being magic. → bench-under-the-hood
  • You'll see Four things done, each on your own machine, in under an hour.
  • Takeaway The bench is the machine. The rest of this track is what to do with it.

4FAQ, Tips & How-to 17

one problem, one solution, one action
FAQ LM Studio Everyone

What is LM Studio?

LM Studio is a free desktop application that lets you download and run AI language models directly on your own computer — no internet needed once a model is downloaded. It provides a friendly graphical interface similar to ChatGPT, but everything runs locally. It works on Mac (Apple Silicon), Windows, and Linux.

LM Studio ↗ AI-generated
FAQ LM Studio Everyone

What other tools and apps can I use with LM Studio?

Because LM Studio's local server mimics the OpenAI API, many third-party tools connect to it out of the box — for example Obsidian, AnythingLLM, Continue.dev, Open WebUI, and n8n. LM Studio also supports the MCP protocol for connecting AI agents to external data sources.

LM Studio ↗ AI-generated
FAQ LM Studio Everyone

How is LM Studio different from Ollama?

LM Studio is a graphical desktop app — you click buttons, browse models visually, and chat in a built-in interface, friendlier for beginners with no coding. Ollama is command-line first and better for scripting or automation. Both use the same underlying engine (llama.cpp), so quality and speed are comparable; the difference is interface and workflow. A common pattern is LM Studio for exploring models and Ollama for integrating into code.

LM Studio ↗ AI-generated
FAQ LM Studio Everyone

Can I use LM Studio without an internet connection?

Yes, after the initial download. You need internet once to install LM Studio and once to download each model. After that, the app and all your models run entirely offline — useful in settings with restricted internet, or when you want guaranteed privacy.

LM Studio ↗ AI-generated
FAQ LM Studio Everyone

How do I choose between a 7B and a 13B model?

The number (7B, 13B) refers to billions of parameters — a rough measure of capacity. Bigger models generally give smarter answers but need more RAM and run slower. For most everyday tasks on a typical laptop, a 7B or 8B model at Q4_K_M quantization is a practical starting point. LM Studio's Discover tab warns you if a model is likely too large for your hardware.

LM Studio ↗ AI-generated
FAQ LM Studio Everyone

Why is the model generating slow or strange output?

Slow output usually means the model is too large for your GPU and is spilling into RAM — try a smaller model or a lower quantization (Q4 instead of Q8). Strange or repetitive output is often the wrong chat template; LM Studio normally auto-detects it, but if it looks broken, check the correct template is selected in the model settings. Out-of-memory errors are solved by a smaller model variant.

LM Studio ↗ AI-generated
FAQ LM Studio Everyone

Can I use LM Studio commercially — for a research lab or at my university?

Yes. Since mid-2025, LM Studio is free for both personal and workplace/commercial use, so you can run it in a lab or office without a license fee. The models themselves are governed by their own licenses (most popular ones permit research use freely). Organizations needing team-sharing or enterprise controls have optional paid tiers, but they're not required for standard use.

LM Studio ↗ AI-generated
FAQ LM Studio Everyone

Is LM Studio free to use?

Yes. As of mid-2025, LM Studio is free for both personal use and use at work, with no commercial license required. Optional paid Teams/Enterprise tiers exist for organizations needing private collaboration or SSO, but the core desktop app is free, and the models it runs are free and open-source.

LM Studio ↗ AI-generated
FAQ LM Studio Everyone

What computer do I need — what are the system requirements?

On Mac you need Apple Silicon (M1 or newer) and a recent macOS; Intel Macs are not supported. On Windows you need a 64-bit PC with AVX2 CPU support, at least 16 GB RAM, and ideally some dedicated GPU memory. Linux is also supported. You can run it without a dedicated GPU, but it will be noticeably slower.

LM Studio ↗ AI-generated
FAQ LM Studio Everyone

How much RAM do I need, and do I need a GPU?

A GPU is not required but makes a big speed difference. For CPU-only use, 8 GB RAM is the minimum (tiny models only), but 16 GB is recommended to comfortably run 7–8B models. With a GPU, 4–6 GB VRAM handles small models and 8–12 GB handles popular 7–13B models. Models that don't fit in GPU memory spill to RAM and run much slower.

LM Studio ↗ AI-generated
FAQ LM Studio Everyone

What is GGUF, and why do model filenames look complicated (like Q4_K_M)?

GGUF is simply the file format for the AI model — think of it like an .mp3 file but for a language model. Letters like Q4 describe how compressed the model is: Q4 stores the data at 4-bit precision instead of 16-bit, cutting file size a lot with only a small quality loss. The _K_M part means a smarter compression that keeps important layers at higher quality. Q4_K_M is a good starting point.

Hugging Face ↗ AI-generated
FAQ LM Studio Everyone

How do I find and download models — what can I run?

Inside LM Studio, use the Discover tab to browse and search thousands of models pulled from Hugging Face. For each model, LM Studio shows multiple quantization options and highlights the one best suited to your hardware. You can also paste a Hugging Face URL into the search bar. Popular beginner-friendly models include Llama, Mistral, Phi, and Qwen.

Hugging Face ↗ AI-generated
FAQ LM Studio Everyone

Is it private — does my data stay on my computer?

Yes. When you chat with a model in LM Studio, everything is processed on your own device; your prompts and conversations are never sent to an external server. This makes it suitable for sensitive topics like research data or personal notes — university student guides specifically highlight this as the main reason to use LM Studio over cloud AI.

LM Studio ↗ AI-generated
FAQ LM Studio Everyone

What is the local server / OpenAI-compatible API?

LM Studio can run a local web server on your computer that speaks the same language as the OpenAI API. This means any app or script built to talk to ChatGPT can be redirected to your local model just by changing one URL. It supports chat completions, embeddings, and more, and you start it from the developer/server section inside LM Studio.

LM Studio ↗ AI-generated
How-to Ollama Everyone

Need an AI that runs on your own computer

Install Ollama on your laptop, download a suitable model like Llama 3, and verify it runs via the local API on port 11434. This provides the AI brain locally without any cloud dependency.

NetworkCoder ↗ Lesson → AI-generated
How-to AnythingLLM Everyone

Keep all your data private while getting AI answers from it

Configure AnythingLLM to use Ollama as the LLM provider, its built‑in embedder, and LanceDB as the vector store. All components stay on your laptop, giving you a fully offline retrieval‑augmented generation system.

NetworkCoder ↗ Lesson → AI-generated
How-to AnythingLLM Everyone

Document searches give vague results

Adjust chunk size, overlap, similarity threshold, and max snippets in AnythingLLM to balance precision, context, and speed for your specific documents. Smaller chunks give precise matches; higher similarity thresholds filter out irrelevant results.

NetworkCoder ↗ Lesson → AI-generated

The same set on /recipes, filtered by tool and role.

5Videos 15

+ 3 more in the video library.

6FAQ 36

What is AnythingLLM and what is it for?

AnythingLLM, by Mintplex Labs, is an all-in-one private AI workspace. You drop in PDFs, Word docs, CSVs, or a whole folder, and chat with them in a familiar ChatGPT-style interface that shows citations back to your source files. Its angle versus a plain chatbot is document RAG plus built-in AI agents bundled together. It is provider-agnostic: run a fully local model so nothing leaves your machine, or bring your own cloud key from OpenAI, Anthropic, Azure, AWS, or Gemini. It ships as a one-click desktop app for Mac, Windows, and Linux, and as a Docker server you can self-host as a shared team endpoint. It is open source under the MIT license.

Does AnythingLLM have a developer API I can call from scripts?

Yes, the self-hosted server exposes a full developer API. The docs state you can use it to manage, update, embed, and even chat with your workspaces. You generate an API key inside the app, then call endpoints with that key in the request header; accounts with the right access level can create and delete keys on the fly. The complete, browsable endpoint reference for your specific instance is served at /api/docs on the running server. The server build also exposes an OpenAI-compatible endpoint at /api/v1/openai, so existing OpenAI client code can target your private, document-grounded model by swapping the base URL. Keep your API key secret, since anyone holding it can use your instance.

How is AnythingLLM different from Ollama or LM Studio?

Ollama and LM Studio are model runners: their job is to download, manage, and serve local LLMs, and they go deeper on browsing and one-click model downloads. AnythingLLM sits a layer above that. It is not primarily about managing raw models; it turns a model, local or cloud, into a private assistant over your own knowledge, with document RAG, citations, workspaces, and AI agents built in. In fact AnythingLLM can use Ollama or LM Studio as its underlying model provider. So a common setup is to run models in Ollama or LM Studio and use AnythingLLM as the document-chat and workspace layer on top. Pick AnythingLLM when the goal is chatting with your documents, not just running a model.

How much does AnythingLLM cost? Is there a free tier?

AnythingLLM is free and open source under the MIT license. Both the one-click desktop app and the self-hosted Docker server cost nothing to download and run, and the desktop app needs no account. The only thing you might pay for is an optional cloud LLM provider: if you add a key for OpenAI, Anthropic, Gemini, or similar, you pay whatever that provider charges per token. If you instead use a fully local model (the built-in option, or via Ollama or LM Studio), there is no usage cost at all. There is no AnythingLLM subscription or per-seat fee for running it yourself.

How do I install AnythingLLM and get started?

The fastest path is the desktop app. Download the one-click installer for Mac, Windows, or Linux from anythingllm.com and run it; no account is required. On first run, pick an LLM provider. Choosing the built-in local provider downloads a small model so nothing leaves your machine, which is the zero-setup option; you can instead point it at Ollama, LM Studio, or a cloud key. Then click New Workspace in the left sidebar, name it, and upload a few PDFs. AnythingLLM reads and indexes them locally. Ask a question grounded in those documents and you have a private document chat running in minutes.

Are my documents private? Does anything get sent to the cloud?

It depends on the model you pick. When you point AnythingLLM at a local model, whether the built-in one or via Ollama or LM Studio, nothing leaves your machine: your documents are stored and processed locally by default, and the desktop app is built as a single-player application offering full privacy. If you instead add a cloud key for OpenAI, Anthropic, or Gemini, then your prompts and the relevant document text are sent to that provider to generate answers, just as with any cloud LLM. So privacy is a choice you control per workspace by choosing local versus cloud. For sensitive material, use a local model.

What is a workspace and why should I use more than one?

A workspace containerises a set of documents into its own chat thread, so the context for one project never bleeds into another. Instead of one giant pile of files where the model has to guess which of fifty papers you mean, you give each project its own workspace: one for a thesis chapter, one for a side project, one for course reading. Each answers only from its own files, which keeps answers focused. Within a workspace you can also start separate threads for distinct lines of questioning while the documents stay shared. Think of workspaces as top-level folders and threads as conversations inside them.

What exactly is a Docker container?

A Docker container is an isolated process that runs like a regular program but has its own filesystem and network view, while sharing the host’s Linux kernel. This isolation gives fast startup and low overhead compared to a full virtual machine.

What happens if I run a container image that isn’t on my computer?

Docker first checks for a local copy of the requested image; if it’s missing, Docker automatically downloads (pulls) it from Docker Hub or another registry before starting the container. This ensures the command always has what it needs.

How can I verify that a container started correctly?

Running `docker run hello-world` prints “Hello from Docker!” and then exits; seeing this output confirms the container launched successfully and demonstrates Docker’s quick start‑up time.

What is the difference between an image and a container?

An image is a read‑only snapshot of a filesystem that contains everything needed to run an application. When you start a container, Docker adds a writable layer on top of that image, creating a temporary runtime instance.

Can I run multiple containers from the same image?

Yes, each time you start a container from an image it gets its own isolated filesystem and resources, so you can have several independent instances running side by side.

How do I remove a container that I no longer need?

Use `docker rm -f <container-name>` to force‑remove the container; this deletes its writable layer and frees the resources, ensuring it no longer appears in `docker ps`.

What is LM Studio?

LM Studio is a free desktop application that lets you download and run AI language models directly on your own computer — no internet needed once a model is downloaded. It provides a friendly graphical interface similar to ChatGPT, but everything runs locally. It works on Mac (Apple Silicon), Windows, and Linux.

What other tools and apps can I use with LM Studio?

Because LM Studio's local server mimics the OpenAI API, many third-party tools connect to it out of the box — for example Obsidian, AnythingLLM, Continue.dev, Open WebUI, and n8n. LM Studio also supports the MCP protocol for connecting AI agents to external data sources.

How is LM Studio different from Ollama?

LM Studio is a graphical desktop app — you click buttons, browse models visually, and chat in a built-in interface, friendlier for beginners with no coding. Ollama is command-line first and better for scripting or automation. Both use the same underlying engine (llama.cpp), so quality and speed are comparable; the difference is interface and workflow. A common pattern is LM Studio for exploring models and Ollama for integrating into code.

Can I use LM Studio without an internet connection?

Yes, after the initial download. You need internet once to install LM Studio and once to download each model. After that, the app and all your models run entirely offline — useful in settings with restricted internet, or when you want guaranteed privacy.

How do I choose between a 7B and a 13B model?

The number (7B, 13B) refers to billions of parameters — a rough measure of capacity. Bigger models generally give smarter answers but need more RAM and run slower. For most everyday tasks on a typical laptop, a 7B or 8B model at Q4_K_M quantization is a practical starting point. LM Studio's Discover tab warns you if a model is likely too large for your hardware.

Why is the model generating slow or strange output?

Slow output usually means the model is too large for your GPU and is spilling into RAM — try a smaller model or a lower quantization (Q4 instead of Q8). Strange or repetitive output is often the wrong chat template; LM Studio normally auto-detects it, but if it looks broken, check the correct template is selected in the model settings. Out-of-memory errors are solved by a smaller model variant.

Can I use LM Studio commercially — for a research lab or at my university?

Yes. Since mid-2025, LM Studio is free for both personal and workplace/commercial use, so you can run it in a lab or office without a license fee. The models themselves are governed by their own licenses (most popular ones permit research use freely). Organizations needing team-sharing or enterprise controls have optional paid tiers, but they're not required for standard use.

+ 16 more in the library.

7Glossary 61 terms

Show the 61 terms
Docker
Container
An isolated process that has its own filesystem and network view but shares the host’s Linux kernel.
Image
A read‑only snapshot of a filesystem that contains everything needed to run an application.
Namespace
A Linux feature that gives a container its own separate view of system resources like processes and networking.
Cgroups
Linux controls that limit and account for the CPU, memory, and other resources used by a container.
Immutable image ID hash
A fixed identifier shown by docker inspect that proves you are using exactly the same image binary each time.
docker run
Command that creates a container from an image and starts it, optionally running a specific command inside.
docker images
Command that lists all image snapshots stored locally on your machine.
docker ps
Command that shows the containers currently existing (running or stopped) on the host.
docker rm
Command that deletes a container, freeing its resources and removing it from the list shown by docker ps.
docker inspect
Command that displays detailed metadata about an image or container, such as its ID hash.
Dockerfile
A plain‑text file that contains step‑by‑step instructions for building a Docker image.
docker-compose.yml
A YAML configuration file that defines multiple services, their images, and how they should be started together.
n8n
Workflow
A saved sequence of connected steps (nodes) that n8n runs automatically to move or transform data between apps.
Node
A single building block in a workflow — each node performs one action, such as sending an email, filtering data, or calling an API.
Trigger node
A special node that sits at the start of a workflow and decides when it runs — for example, on a schedule, when a form is submitted, or when another app sends a signal.
Action node
A node that does something in an external service — such as creating a row in Google Sheets, sending a Slack message, or reading an email.
Core node
A built-in utility node that handles data processing or flow control without connecting to an external service — examples include IF, Filter, Merge, and Code.
Connection
The arrow drawn between two nodes on the canvas that tells n8n to pass data from one node to the next when the workflow runs.
Canvas
The visual drag-and-drop workspace inside n8n where you build a workflow by placing and connecting nodes.
Execution
One complete run of a workflow — n8n records what happened at each node so you can inspect inputs, outputs, and any errors afterward.
Credentials
Securely stored login details (such as API keys or passwords) that let n8n connect to an external service on your behalf without exposing secrets inside the workflow.
Webhook
A URL that n8n creates for you so that an outside app can instantly start your workflow by sending data to that address.
Expression
A small piece of JavaScript written inside double curly braces ({{ }}) that lets you pull in data from a previous node or do a quick calculation instead of typing a fixed value.
Item
A single unit of data travelling through a workflow — for example, one email, one spreadsheet row, or one API result.
Schedule trigger
A trigger node that starts a workflow automatically at a set time or repeating interval, similar to a calendar alarm.
IF node
A core node that checks a condition and sends each data item down one of two paths — True or False — so different actions can happen depending on the data.
Sub-workflow
A separate workflow that another workflow calls like a reusable function, helping you keep complex automations organised and avoid repeating the same steps.
Error handling
A set of features in n8n — including dedicated error workflows and the Stop And Error node — that let you define what should happen if a node fails instead of silently stopping.
Data mapping
The act of telling a node where to find its input by dragging a field from a previous node's output onto the current node's input — no code required.
Sticky note
A text annotation you can place anywhere on the canvas to explain what part of a workflow does, without affecting how it runs.
Template
A pre-built workflow shared by the n8n community that you can import and adapt instead of building from scratch.
Manual execution
Running a workflow by clicking the Execute button yourself, used for testing before you switch the workflow on for automatic production runs.
AnythingLLM
@agent
A mention you type in a chat message in AnythingLLM to explicitly start an agent session, giving the conversation access to tools like web search or file reading.
mintplexlabs/anythingllm
The official Docker Hub image name for AnythingLLM, which you reference when running the app inside a container on your own machine or server.
/api/docs
A URL path you open in your browser on a running AnythingLLM instance to see its full interactive API reference, listing every endpoint you can call from code.
requests
A popular Python library that lets your code send HTTP requests (GET, POST, etc.) to web addresses, commonly used to call REST APIs like AnythingLLM's.
workspace
A named container that holds a set of uploaded documents and its own chat history, keeping different projects or topics separate.
@agent
A prefix you type in a workspace chat to turn it into an active agent that can take actions (e.g. summarise the newest file) rather than only answer.
docker run
The command used to pull and start the official mintplexlabs/anythingllm server image so you can self-host AnythingLLM.
Show Citations
A toggle under an answer that reveals which uploaded files it was drawn from, so you can verify each claim against the source.
LM Studio
lms
The command-line tool bundled with LM Studio that lets you start the server, download models, and manage everything from a terminal instead of the desktop app.
lms server start
Launches LM Studio's local API server so other programs on your computer (or network) can send it requests and get AI responses back.
lms server stop
Gracefully shuts down the running LM Studio API server, terminating any in-progress requests before stopping.
lms server status
Prints whether the LM Studio API server is currently running and which port it is listening on.
lms --version
Prints the installed version number of the lms command-line tool — the actual documented subcommand is lms version, but both forms report the current CLI version.
llmster
The headless (no desktop window) daemon version of LM Studio designed for servers or machines without a screen — it runs as a standalone background service and can still serve models over the API.
hermes setup
A setup command for the Hermes AI agent that guides you through configuring your model provider, including connecting it to a local LM Studio server.
hermes --tui
Starts Hermes in its text user interface (TUI) mode — a keyboard-driven chat panel that runs entirely inside your terminal with live streaming and modal overlays.
chmod +x start-local-llm.sh
A shell command that marks a script file as executable on Mac or Linux so you can run it directly; without this step the operating system refuses to run the script.
pip install openai
The Python package-manager command that downloads and installs the OpenAI Python library, which LM Studio also accepts because it speaks the same API format.
http://localhost:1234/v1
The full address of LM Studio's OpenAI-compatible API server on your own machine — localhost means 'this computer', 1234 is the default port number, and /v1 is the path prefix for the OpenAI-compatible endpoints.
localhost:1234
The host and port where LM Studio's server listens by default — shorthand for 'your own machine, port 1234'.
localhost
A special hostname that always means 'this computer' — using it ensures the connection never leaves your machine.
http://<your-ip>:1234/v1
The address other devices on your local network use to reach your LM Studio server — replace <your-ip> with your computer's actual network IP address (e.g. 192.168.1.5).
0.0.0.0
A special network address meaning 'listen on all network interfaces' — when LM Studio binds to this (via lms server start --bind 0.0.0.0), devices on your local Wi-Fi or wired network can connect to it, not just your own computer.
openai
The name of a Python library originally made for OpenAI's cloud API; LM Studio intentionally speaks the same format, so you can reuse this library to talk to your local models instead.
api_key
A configuration field where you provide a password or token to authenticate with an API; LM Studio does not require a real key by default, but the field must still be present (any placeholder string works).
base_url
A configuration field that tells a client library where the API server lives — for LM Studio you set this to your local server address instead of OpenAI's cloud address.
config.yaml
A plain-text configuration file written in YAML format — tools like Hermes read this file at startup to know which server URL, model, and preferences to use.
~/.hermes/config.yaml
The main configuration file for the Hermes tool, stored in a hidden folder in your home directory — you edit it to point Hermes at your local LM Studio server.
~/.hermes/.env
A hidden environment-variable file inside the Hermes config folder where you can store API keys and secrets separately from the main config file.

8See also

💬 Discuss this chapter

Ask, share, or report — over on the Heidelberg AI community forum.