Skip to content

Releases: Beerlesklopfer/multi-gpt

MultiGPT 0.4.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 08:44

Highlights

  • Runner (new): a model can now work like a coding agent inside a container on your computer. The runner (multigpt-runner, a static Rust program for Linux amd64 and arm64, downloaded from MultiGPT) connects outbound to the server and starts rootless Podman containers from a fixed, checked template: read-only root, no capabilities, resource limits, no network by default. Tools: read, write, edit, glob, grep, bash, serve, publish, apt_install, telnet and setup_host. The work is kept as a git bundle on the server (every change is a commit), with a live terminal and a sandboxed preview in the browser. See the wiki page "Runner".
  • Web server and ports: lighttpd (static files only) inside the container, exported on the computer as ports 24080 (http) and 24443 (https, self-signed). By default the ports are bound to 0.0.0.0, i.e. visible to the whole home network without a login; MGPT_EXPOSE_BIND=127.0.0.1 restricts them to the computer itself.
  • Package sources: an optional mode lets the model install Debian packages (apt_install), pip, npm, GitHub and cargo packages through a proxy that only reaches an allow-list of hosts (never the home network).
  • Trust model: server commands are signed with a per-installation key, the service catalogue and the runner binaries with a per-release key; role permission "Runner" and API key scope runner.use (team agents can use a runner through MultiGPT, never directly); a monthly "Runner time" budget; every access goes through MultiGPT.
  • LM Studio as an interface of its own: one server address, chat over /v1, model management over /api/v1. Tokens per second and time to first token are shown for every answer; a full GPU now asks whether pinned models may be swapped out; reasoning levels come from LM Studio with a default per model; memory estimates for Gemma 4 and Qwen3.8; chat models load with parallel 1 unless configured otherwise.
  • Server-side scratchpad: files produced by tool calls (also SVG, sanitised) are kept and shown with the answer; MCP servers can be reconnected from the chat.

Upgrade notes

  • The package now depends on git and ships the runner binaries and the signed catalogue under /usr/share/multi-gpt/runner; a new service multi-gpt-runner and an nginx location /runner/ws (and /runner/pty/) are installed. The installation key is created on first install (mgpt-ctl runner pubkey); mgpt-ctl runner keygen --force disconnects all runners.
  • Roles with the right "Use runner" (admins and adults by default) can pair a computer on the page "Runner". The runner needs Podman and a systemd user session; the work image is pulled from ghcr.io/beerlesklopfer/multigpt-runner-work (set to public once).
  • Building the runner yourself needs Rust 1.88 or newer; the downloadable binaries do not.

Installation

Install or update via apt: https://beerlesklopfer.github.io/multi-gpt/installation/

MultiGPT 0.3.6

Choose a tag to compare

@github-actions github-actions released this 12 Oct 22:14

Highlights

  • Read chats via MCP: new API key permission chat.read with the tools list_chats and read_chat – including the sources [n] of each answer; own chats and chats shared with the account only (never other people's chats, not even for admins). Roles allowed to ask models get the permission via migration; it must still be selected on the key.
  • API keys: chats created by ask are collected in a project "API" by default (switch per key, mgpt-ctl apikey create --no-project).
  • Indexing: pause and resume runs (admin, mgpt-ctl index pause|resume, MCP pause_run/resume_run); uploads are processed before large runs, also by idle worker lanes. Installations sharing one LM Studio only unload models they loaded themselves.
  • Shared chats: the owner gets a notice (personal menu, /mitteilungen/) when a recipient deletes or archives the chat or deletes an answer.
  • Costs: the ECB USD→EUR reference rate is fetched automatically by default (disable with BILLING_ECB_FETCH=false); EUR billing accounts can be switched to USD (admin action or mgpt-ctl switch_account_to_usd).
  • Calculations: scipy is available in the sandbox (package about 30 MB larger compressed; sandbox memory limit should be at least 320 MB).
  • Version shown in the UI: at the bottom of the sidebar, on the sign-in page and in the administration header; the MCP server reports the same version.

Installation

Install or update via apt: https://beerlesklopfer.github.io/multi-gpt/installation/

MultiGPT 0.3.5

Choose a tag to compare

@github-actions github-actions released this 12 Oct 18:59

Highlights

  • Personal menu in the top right with avatar: settings, profile picture, usage, API keys, family, administration, password, sign out. "My usage" and "Family" moved there from the sidebar. Upload a profile picture under Settings → Profile picture; otherwise initials are shown.
  • Parallel indexing: several documents at once (RAG settings, "Documents in parallel", default 2), using additional worker processes (run_worker --lane N). Set "Parallel requests" on the OCR model accordingly. If LM Studio unloads the OCR model mid-run, the page is retried once instead of falling back to Tesseract.
  • Admins see offline MCP servers (e.g. n8n) live in the status bar.
  • If several MultiGPT installations share one LM Studio, enable "Manage models" on only one of them (relaxed in 0.3.6).

Installation

Install or update via apt: https://beerlesklopfer.github.io/multi-gpt/installation/

MultiGPT 0.3.4

Choose a tag to compare

@github-actions github-actions released this 12 Oct 12:51

Highlights

  • apt repository: MultiGPT is now installable via apt (Debian 13, amd64); see the installation guide. Updates arrive with apt upgrade.
  • Model management (LM Studio): indexing models (embedding, OCR, figures) are loaded for an indexing run only and unloaded two minutes after it ends (per-model switch, default on; requires "Manage models" on the provider). Disable "JIT models auto-evict" in LM Studio.
  • Anthropic prompt caching for system prompt, tools and conversation history. Enter the cache prices on the Anthropic models so bookings reflect the savings.
  • Chat: arrow up/down recalls previous prompts in the input field; an answer can be deleted together with its question and everything after it (shared chats: permission D). Costs stay booked.

Installation

Install or update via apt: https://beerlesklopfer.github.io/multi-gpt/installation/

MultiGPT 0.3.3

Choose a tag to compare

@github-actions github-actions released this 12 Oct 10:29

Highlights

  • MCP server returns tool results directly. run_python returns exit status, runtime, stdout and stderr as text, generated PNG/JPEG/WebP as images, SVG and PDF as resources; create_pdf returns the PDF, generate_image the image. Results with files no longer carry structuredContent – chat_id, message_id and the attachments are in the last text block as JSON (n8n workflows reading structuredContent.attachments need to read that JSON instead).
  • SSE transport: images are downscaled and large files are only linked (fetch with get_file over Streamable HTTP), because SSE clients read events up to about 1 MB.
  • Charts prefer SVG. If code only saves SVG, MCP clients also get a PNG preview; with a PNG present the SVG is only linked. matplotlib writes SVG text as text (svg.fonttype: none), making files much smaller and searchable.
  • Tools on demand: with document collections selected, the model also gets read_document, list_documents and document_info.

Installation

Install or update via apt: https://beerlesklopfer.github.io/multi-gpt/installation/