Skip to content

Releases: cgaeking/rootmind

RootMind 2.6.1

Choose a tag to compare

@github-actions github-actions released this 31 Oct 09:09
6a98428

Added

  • GET /proof?nonce=<hex> on the REST API and on MCP over HTTP (loopback only) (#70): answers, without a token, HMAC-SHA256(token, "rootmind-token-proof\0" + nonce), so a client can check that the server on a port knows the token before it sends it.

Changed

  • Desktop: the agent's steps open and close with a click on their summary, also while the question runs ("Working: 7 steps, 0:42"). They start closed; while the question runs, the current step with its timer stays visible below the summary. Each step takes one line; a long search term or file list is cut off and shows in full on hover.

Fixed

  • Windows: service install (and so the installer, "error 7") and the app refused a running RootMind service with "Another program listens on 127.0.0.1:8000" on systems whose TCP listener table does not list the service's socket (#70). service install, the app and the rootmind command line now let the service prove that it knows its token (GET /proof) before they send it, instead of looking up the port's owner in that table; a program that took the port cannot give the proof and still never receives a token. A service from before this release is checked in the table as before.
  • A service whose port another program already uses (for example a development server on port 3000) now logs "Port 3000 on 127.0.0.1 is already used by another program" instead of a WinError 10013 traceback (#70); rootmind api says the same. The service manager still restarts the service, so it starts once the port is free.
  • Desktop: the chat scrolls along while new steps of a question come in, as long as it is scrolled to the end; scrolled up to read, it stays where it is.

Downloads

File What it is
RootMind-Setup-x64.exe The Windows app with its background service (42.0 MB). Installs for all users of the computer and sets up the service for your account; needs one administrator approval, no Python.
RootMind-amd64.deb The Linux app for Ubuntu and Debian: sudo apt install ./RootMind-amd64.deb. On its first start it sets up its background service as systemd user services of your account; no root needed for that.
RootMind-x86_64.rpm The same for Fedora and openSUSE Tumbleweed: sudo dnf install ./RootMind-x86_64.rpm (openSUSE: sudo zypper install ./RootMind-x86_64.rpm).
RootMind-x86_64.AppImage The same as an AppImage for other distributions, without installation: chmod +x RootMind-x86_64.AppImage, then run it (needs FUSE 2, libfuse2).
rootmind.mcpb RootMind for Claude Desktop: double-click it and Claude Desktop installs it. Needs RootMind installed with Serve MCP over HTTP on (the default).
rootmind-backend-windows-x64.zip The backend on its own for Windows, for the command line and servers. Not needed for the app.
rootmind-backend-linux-x64.tar.gz The backend on its own for Linux (x86-64, glibc 2.35 or later), for the command line and servers. Not needed for the app.
SHA256SUMS.txt SHA-256 checksums of these files.

Verify the download

The binaries are not code-signed yet. On the first start, Windows SmartScreen may show "Windows protected your PC" (choose More info, then Run anyway), and Smart App Control, when it is on, may block them; it has no exception for a single app. Check the files before you run them. The hash must match the line for the file in SHA256SUMS.txt:

(Get-FileHash .\RootMind-Setup-x64.exe -Algorithm SHA256).Hash.ToLower()
sha256sum --check --ignore-missing SHA256SUMS.txt
gh attestation verify RootMind-Setup-x64.exe --repo cgaeking/rootmind

Every file has a build provenance attestation that ties it to this repository and to the workflow run that built it.

Code signing policy

See CODE_SIGNING.md: the binaries are not code-signed yet; what will be signed, team roles and the privacy policy.

RootMind 2.6.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 22:52
66435af

Added

  • POST /query/stream (#65): the same question as POST /query, with the agent's steps as server-sent events while it works: a start event (iteration limit, provider, model), one step event when a model or tool call starts and when it ends (the tool and its arguments, hits and the names of the files found, the windows read, duration, tokens), then result (the POST /query body) or error. A comment line every 10 seconds while a step runs tells a long step from a lost connection. Closing the connection cancels the question: no further model or tool calls start (a model call already sent finishes in the background and its result is discarded). Steps carry no document text. POST /query, the command line and MCP are unchanged.
  • Desktop: the chat shows the agent's steps while a question runs (#65): each model call (step n of the limit), search (terms, file type, hits and the first file names), listing and read (file and page), with a running timer on the current step, so a long step is visibly working and the bounded loop is visible. After the answer the steps stay with it, collapsed ("How it searched: 5 steps, 8.9 s"). Stop now ends the question in the service too, and the message says after how many steps; steps that were running are marked as stopped. Instead of the 15-minute limit for a whole question, the app gives up only after two minutes without any sign from the service. With a backend without POST /query/stream (older than this release) the app asks as before, without steps.

Fixed

  • A full-text search could take minutes on an index with very large documents (#65): highlighted snippets were computed for every row ranked above the deepest returned result, including large spreadsheet and CSV exports that a file type or folder filter dropped afterwards. On a real index (18,811 documents, 2.1 billion characters) one agent search for "Sehr geehrte" Schulz with a PDF filter took over nine minutes. Snippets are now computed only for the results that are returned; which documents are found, their order and their snippets are unchanged.

Downloads

File What it is
RootMind-Setup-x64.exe The Windows app with its background service (42.0 MB). Installs for all users of the computer and sets up the service for your account; needs one administrator approval, no Python.
RootMind-amd64.deb The Linux app for Ubuntu and Debian: sudo apt install ./RootMind-amd64.deb. On its first start it sets up its background service as systemd user services of your account; no root needed for that.
RootMind-x86_64.rpm The same for Fedora and openSUSE Tumbleweed: sudo dnf install ./RootMind-x86_64.rpm (openSUSE: sudo zypper install ./RootMind-x86_64.rpm).
RootMind-x86_64.AppImage The same as an AppImage for other distributions, without installation: chmod +x RootMind-x86_64.AppImage, then run it (needs FUSE 2, libfuse2).
rootmind.mcpb RootMind for Claude Desktop: double-click it and Claude Desktop installs it. Needs RootMind installed with Serve MCP over HTTP on (the default).
rootmind-backend-windows-x64.zip The backend on its own for Windows, for the command line and servers. Not needed for the app.
rootmind-backend-linux-x64.tar.gz The backend on its own for Linux (x86-64, glibc 2.35 or later), for the command line and servers. Not needed for the app.
SHA256SUMS.txt SHA-256 checksums of these files.

Verify the download

The binaries are not code-signed yet. On the first start, Windows SmartScreen may show "Windows protected your PC" (choose More info, then Run anyway), and Smart App Control, when it is on, may block them; it has no exception for a single app. Check the files before you run them. The hash must match the line for the file in SHA256SUMS.txt:

(Get-FileHash .\RootMind-Setup-x64.exe -Algorithm SHA256).Hash.ToLower()
sha256sum --check --ignore-missing SHA256SUMS.txt
gh attestation verify RootMind-Setup-x64.exe --repo cgaeking/rootmind

Every file has a build provenance attestation that ties it to this repository and to the workflow run that built it.

Code signing policy

See CODE_SIGNING.md: the binaries are not code-signed yet; what will be signed, team roles and the privacy policy.

RootMind 2.5.0

Choose a tag to compare

@github-actions github-actions released this 25 Oct 11:20
035145c

Added

  • Command line for the running service (#35): rootmind status, folders list|add|remove, index [--full] [--folder N] [--wait], search, ask, config llm, mcp tokens list and remote-access on|off|status, each with --json, in the rootmind command and in the backend executable (rootmind-backend). They find the service of the account like the app does (service status, then a check that the service's own process listens on the port), read the REST token from its protected file and say clearly when the account cannot read it. API keys and the ngrok authtoken come from a file or stdin, never from an argument, and no secret is printed, not even masked. --url and --token-file (or RLM_URL and RLM_TOKEN_FILE) point the commands at another REST API; plain http:// only to loopback. The README has a new "Command line" section.
  • Named MCP tokens with a folder scope (#35): rootmind mcp tokens create <name> [--folders a,b] --out FILE, list and revoke (and GET/POST/DELETE /mcp/tokens). The token is shown once (written to a new file, mode 0600 on Linux) and stored only as its SHA-256 in config.yaml; its folders limit what its searches, reads, listings and statistics see. A new or revoked token takes effect with the next request, without a restart. The existing data/api_token.txt is the token named default, so existing clients keep working.
  • Serving MCP to other machines: mcp_http.network in config.yaml makes the service's MCP process also listen on another address, with TLS (tls_cert, tls_key), on a loopback port for a reverse proxy, or with plain HTTP only when insecure_http: true. It requires mcp_http.allowed_hosts (checked against the Host header) and accepts only named tokens unless allow_default_token is set; the loopback listener is unchanged. mcp_http.allowed_origins extends the Origin allowlist. New guide docs/SERVER.md ("Run RootMind on a server": a dedicated account with lingering, folders, tokens, TLS or Caddy/nginx, clients) and a threat model for server use in SECURITY.md.
  • rescan_minutes per folder (rootmind folders add --rescan-minutes N) re-scans that folder every N minutes, for mounted network shares where changes made on other machines raise no event.
  • Optional tracing of the question loop (#48, part 1), off by default. One span per model call (purpose, tokens, stop reason, tool requests, duration) and per tool call (arguments, result size, the documents a search returned, the window a read returned). scripts/run_evals.py --trace <folder> writes a JSONL file and a readable Markdown summary per eval run, and each run in the results carries its trace_id. tracing.local: true in config.yaml writes the same files under logs/traces/ in the data folder. tracing.langfuse: true (or run_evals.py --langfuse) exports to Langfuse with the new optional extra rootmind-backend[tracing] and the LANGFUSE_* environment variables. With tracing off, the loop makes no tracing calls and loads no tracing code. Traces contain questions and document text but never API keys; SECURITY.md lists what they hold and where they go.
  • Each release now updates RootMind's entry in the official MCP Registry (io.github.cgaeking/rootmind, the rootmind.mcpb bundle) automatically (#49). A new job at the end of release.yml renders server.json from the template packaging/mcpb/server.json with the version, the release's download URL and the SHA-256 of the published rootmind.mcpb (scripts/registry_server_json.py, checked against SHA256SUMS.txt), validates it against the vendored schema and with mcp-publisher validate, and publishes it with a pinned, checksum-verified mcp-publisher through GitHub OIDC (no stored secret). Prereleases are not published; dry runs render and validate only. A registry failure leaves the GitHub release as it is and can be re-run. scripts/check_versions.py also checks the template's name, schema and placeholders.
  • Evals: a LangGraph baseline (#48, part 2). scripts/run_evals.py --agent langgraph runs the 16 cases with RootMind's tools (same executors, so identical tool results), the same system prompt, model endpoint and scoring in LangChain's stock agent (langchain.agents.create_agent, LangGraph). It lives in backend/evals/baselines/langgraph/ with its own exactly pinned environment (langchain 1.4.7, langgraph 1.2.17, langchain-openai 1.7.2); the backend and its lock file do not depend on LangChain. --compare A.json B.json prints two live results side by side. Measured with granite4.1:8b through Ollama, 3 runs per case: both agents 98%, 15 of 16 cases every run, about the same tool calls, tokens and latency; table and caveats in backend/evals/README.md. Hosted models were not compared.
  • examples/langchain_mcp/: RootMind's MCP server as tools in a LangChain agent through langchain-mcp-adapters, with an offline test against the real stdio server.

Changed

  • rootmind mcp-http --host with an address other than loopback now needs --tls-cert and --tls-key, or --insecure-http for plain HTTP.
  • The get_statistics tool counts only the documents of the folders the request may see.
  • rootmind index now asks the running service to index. It still indexes in its own process with the new --local, with a global --config, when RLM_HOME is set, or when the account has no RootMind service; --connector is now also spelled --folder, and --json prints the result.

Fixed

  • Sources of an answer that names a search hit by its document id instead of its file name: the answer now cites that document, not every document the search returned (#47).
  • Evals: the live checks failed correct answers that used typographic characters, which granite4.1:8b does in most answers (a narrow no-break space in "1.1 kg", non-breaking hyphens in "2026-04-30"). Unicode spaces, hyphens, dashes, curly quotes and Markdown emphasis now count as their plain forms, and c14 accepts "not contain", "not available" and "cannot be determined" as "not found" (#47). Measured results for the local model in backend/evals/README.md and the README changed accordingly.
  • When the model ended a turn with an empty reply (no text, no tool call), typically right after a successful search, that empty turn became the answer ("The model stopped without producing an answer"). Seen with granite4.1:8b through Ollama in the eval runs for #47. The agent now asks once more for the final answer from the results so far, for every provider; the retry counts against the iteration limit, and in the last iteration the existing final call takes its place. If the second reply is empty too, the answer says so clearly. Empty replies with a refusal or content-filter stop reason are reported as before.
  • Search hits got a page, slide or sheet (and a suggested read window) only when the whole query occurred word for word in the document (#55). Models search with several words ("Ultralight 1P tent target weight"), so most hits had no location, and answers cited none or a wrong one (in the #47 eval traces "Page 1" for a fact on page 2). The position now comes from the full-text match itself: the place in the shown snippet where the most query terms occur together on one page, slide or sheet.
  • A read_document call for a window that earlier reads of the same question already returned now carries a note that the text is already in the conversation, with a wider window to read instead. In the #47 traces a local model re-read 30–150-character windows of one invoice eight times until the iteration limit (48k tokens instead of about 5k). The text is still returned.

Downloads

File What it is
RootMind-Setup-x64.exe The Windows app with its background service (41.9 MB). Installs for all users of the computer and sets up the service for your account; needs one administrator approval, no Python.
RootMind-amd64.deb The Linux app for Ubuntu and Debian: sudo apt install ./RootMind-amd64.deb. On its first start it sets up its background service as systemd user services of your account; no root needed for that.
RootMind-x86_64.rpm The same for Fedora and openSUSE Tumbleweed: sudo dnf install ./RootMind-x86_64.rpm (openSUSE: sudo zypper install ./RootMind-x86_64.rpm).
RootMind-x86_64.AppImage The same as an AppImage for other distributions, without installation: chmod +x RootMind-x86_64.AppImage, then run it (needs FUSE 2, libfuse2).
rootmind.mcpb RootMind for Claude Desktop: double-click it and Claude Desktop installs it. Needs RootMind installed with Serve MCP over HTTP on (the default).
rootmind-backend-windows-x64.zip The backend on its own for Windows, for the command line and servers. Not needed for the app.
rootmind-backend-linux-x64.tar.gz The backend on its own for Linux (x86-64, glibc 2.35 or later), for the command line and servers. Not needed for the app.
SHA256SUMS.txt SHA-256 checksums of these files.

Verify the download

The binaries are not code-signed yet. On the first start, Windows SmartScreen may show "Windows protected your PC" (choose More info, then Run anyway), and Smart App Control, when it is on, may block them; it has no exception for a single app. Check the files before you run them. The hash must match the line for the file in SHA256SUMS.txt:

(Get-FileHash .\RootMind-Setup-x64.exe -Algor...
Read more

RootMind 2.4.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 10:15
f6ee2f4

Added

  • Ollama as a fourth LLM provider (#37): the question loop runs against a local Ollama server through its OpenAI-compatible API, with no API key. Choose Ollama in Settings → LLM (server address, model list from the server; the address is checked before it is saved) or set provider: ollama and base_url in config.yaml. The first call is not forced to use a tool, because not every model supports that; an answer that never searched is retried once with an explicit instruction. A missing model, a model without tool support and an unreachable server give readable errors. scripts/run_evals.py --provider ollama needs no key. The README documents what stays local and how to raise Ollama's context length.

Downloads

File What it is
RootMind-Setup-x64.exe The Windows app with its background service (41.8 MB). Installs for all users of the computer and sets up the service for your account; needs one administrator approval, no Python.
RootMind-amd64.deb The Linux app for Ubuntu and Debian: sudo apt install ./RootMind-amd64.deb. On its first start it sets up its background service as systemd user services of your account; no root needed for that.
RootMind-x86_64.rpm The same for Fedora and openSUSE Tumbleweed: sudo dnf install ./RootMind-x86_64.rpm (openSUSE: sudo zypper install ./RootMind-x86_64.rpm).
RootMind-x86_64.AppImage The same as an AppImage for other distributions, without installation: chmod +x RootMind-x86_64.AppImage, then run it (needs FUSE 2, libfuse2).
rootmind.mcpb RootMind for Claude Desktop: double-click it and Claude Desktop installs it. Needs RootMind installed with Serve MCP over HTTP on (the default).
rootmind-backend-windows-x64.zip The backend on its own for Windows, for the command line and servers. Not needed for the app.
rootmind-backend-linux-x64.tar.gz The backend on its own for Linux (x86-64, glibc 2.35 or later), for the command line and servers. Not needed for the app.
SHA256SUMS.txt SHA-256 checksums of these files.

Verify the download

The binaries are not code-signed yet. On the first start, Windows SmartScreen may show "Windows protected your PC" (choose More info, then Run anyway), and Smart App Control, when it is on, may block them; it has no exception for a single app. Check the files before you run them. The hash must match the line for the file in SHA256SUMS.txt:

(Get-FileHash .\RootMind-Setup-x64.exe -Algorithm SHA256).Hash.ToLower()
sha256sum --check --ignore-missing SHA256SUMS.txt
gh attestation verify RootMind-Setup-x64.exe --repo cgaeking/rootmind

Every file has a build provenance attestation that ties it to this repository and to the workflow run that built it.

Code signing policy

See CODE_SIGNING.md: the binaries are not code-signed yet; what will be signed, team roles and the privacy policy.

RootMind 2.3.4

Choose a tag to compare

@github-actions github-actions released this 21 Oct 20:29
dc2cc6c

Fixed

  • Desktop: the waiting hint in the chat ("Thinking …") was always German ("Denkt nach …"), also with the English interface. It now follows the interface language.

Downloads

File What it is
RootMind-Setup-x64.exe The Windows app with its background service (41.8 MB). Installs for all users of the computer and sets up the service for your account; needs one administrator approval, no Python.
RootMind-amd64.deb The Linux app for Ubuntu and Debian: sudo apt install ./RootMind-amd64.deb. On its first start it sets up its background service as systemd user services of your account; no root needed for that.
RootMind-x86_64.rpm The same for Fedora and openSUSE Tumbleweed: sudo dnf install ./RootMind-x86_64.rpm (openSUSE: sudo zypper install ./RootMind-x86_64.rpm).
RootMind-x86_64.AppImage The same as an AppImage for other distributions, without installation: chmod +x RootMind-x86_64.AppImage, then run it (needs FUSE 2, libfuse2).
rootmind.mcpb RootMind for Claude Desktop: double-click it and Claude Desktop installs it. Needs RootMind installed with Serve MCP over HTTP on (the default).
rootmind-backend-windows-x64.zip The backend on its own for Windows, for the command line and servers. Not needed for the app.
rootmind-backend-linux-x64.tar.gz The backend on its own for Linux (x86-64, glibc 2.35 or later), for the command line and servers. Not needed for the app.
SHA256SUMS.txt SHA-256 checksums of these files.

Verify the download

The binaries are not code-signed yet. On the first start, Windows SmartScreen may show "Windows protected your PC" (choose More info, then Run anyway), and Smart App Control, when it is on, may block them; it has no exception for a single app. Check the files before you run them. The hash must match the line for the file in SHA256SUMS.txt:

(Get-FileHash .\RootMind-Setup-x64.exe -Algorithm SHA256).Hash.ToLower()
sha256sum --check --ignore-missing SHA256SUMS.txt
gh attestation verify RootMind-Setup-x64.exe --repo cgaeking/rootmind

Every file has a build provenance attestation that ties it to this repository and to the workflow run that built it.

Code signing policy

See CODE_SIGNING.md: the binaries are not code-signed yet; what will be signed, team roles and the privacy policy.

RootMind 2.3.3

Choose a tag to compare

@github-actions github-actions released this 21 Oct 19:21
b2c50a0

Fixed

  • The agent gave up after one search when the hits did not contain the answer, e.g. "Mitarbeiterzahl der Telekom Austria" against an English annual report that lists "T‑Mobile Austria Holding GmbH" with its "average number of employees". It now searches again in the documents' language and with other names for the same thing, tries at least three searches before saying something is not there, and says when the documents name it differently.

Downloads

File What it is
RootMind-Setup-x64.exe The Windows app with its background service (41.8 MB). Installs for all users of the computer and sets up the service for your account; needs one administrator approval, no Python.
RootMind-amd64.deb The Linux app for Ubuntu and Debian: sudo apt install ./RootMind-amd64.deb. On its first start it sets up its background service as systemd user services of your account; no root needed for that.
RootMind-x86_64.rpm The same for Fedora and openSUSE Tumbleweed: sudo dnf install ./RootMind-x86_64.rpm (openSUSE: sudo zypper install ./RootMind-x86_64.rpm).
RootMind-x86_64.AppImage The same as an AppImage for other distributions, without installation: chmod +x RootMind-x86_64.AppImage, then run it (needs FUSE 2, libfuse2).
rootmind.mcpb RootMind for Claude Desktop: double-click it and Claude Desktop installs it. Needs RootMind installed with Serve MCP over HTTP on (the default).
rootmind-backend-windows-x64.zip The backend on its own for Windows, for the command line and servers. Not needed for the app.
rootmind-backend-linux-x64.tar.gz The backend on its own for Linux (x86-64, glibc 2.35 or later), for the command line and servers. Not needed for the app.
SHA256SUMS.txt SHA-256 checksums of these files.

Verify the download

The binaries are not code-signed yet. On the first start, Windows SmartScreen may show "Windows protected your PC" (choose More info, then Run anyway), and Smart App Control, when it is on, may block them; it has no exception for a single app. Check the files before you run them. The hash must match the line for the file in SHA256SUMS.txt:

(Get-FileHash .\RootMind-Setup-x64.exe -Algorithm SHA256).Hash.ToLower()
sha256sum --check --ignore-missing SHA256SUMS.txt
gh attestation verify RootMind-Setup-x64.exe --repo cgaeking/rootmind

Every file has a build provenance attestation that ties it to this repository and to the workflow run that built it.

Code signing policy

See CODE_SIGNING.md: the binaries are not code-signed yet; what will be signed, team roles and the privacy policy.

RootMind 2.3.2

Choose a tag to compare

@github-actions github-actions released this 21 Oct 11:07
f5ed2fb

Added

  • Linux: installing the .deb or .rpm now prints how to start the app (rootmind-desktop); the README and quickstart say it too, and the README explains how to run RootMind under WSL (systemd on).

Fixed

  • Linux: with the dark theme, drop-down fields (theme, language, model) showed light text on a light box, because WebKitGTK draws native selects in the GTK theme; they now follow the app's palette.
  • Linux: when the systemd user manager cannot be reached, the message now also says how to turn systemd on under WSL.

Downloads

File What it is
RootMind-Setup-x64.exe The Windows app with its background service (41.8 MB). Installs for all users of the computer and sets up the service for your account; needs one administrator approval, no Python.
RootMind-amd64.deb The Linux app for Ubuntu and Debian: sudo apt install ./RootMind-amd64.deb. On its first start it sets up its background service as systemd user services of your account; no root needed for that.
RootMind-x86_64.rpm The same for Fedora and openSUSE Tumbleweed: sudo dnf install ./RootMind-x86_64.rpm (openSUSE: sudo zypper install ./RootMind-x86_64.rpm).
RootMind-x86_64.AppImage The same as an AppImage for other distributions, without installation: chmod +x RootMind-x86_64.AppImage, then run it (needs FUSE 2, libfuse2).
rootmind.mcpb RootMind for Claude Desktop: double-click it and Claude Desktop installs it. Needs RootMind installed with Serve MCP over HTTP on (the default).
rootmind-backend-windows-x64.zip The backend on its own for Windows, for the command line and servers. Not needed for the app.
rootmind-backend-linux-x64.tar.gz The backend on its own for Linux (x86-64, glibc 2.35 or later), for the command line and servers. Not needed for the app.
SHA256SUMS.txt SHA-256 checksums of these files.

Verify the download

The binaries are not code-signed yet. On the first start, Windows SmartScreen may show "Windows protected your PC" (choose More info, then Run anyway), and Smart App Control, when it is on, may block them; it has no exception for a single app. Check the files before you run them. The hash must match the line for the file in SHA256SUMS.txt:

(Get-FileHash .\RootMind-Setup-x64.exe -Algorithm SHA256).Hash.ToLower()
sha256sum --check --ignore-missing SHA256SUMS.txt
gh attestation verify RootMind-Setup-x64.exe --repo cgaeking/rootmind

Every file has a build provenance attestation that ties it to this repository and to the workflow run that built it.

Code signing policy

See CODE_SIGNING.md: the binaries are not code-signed yet; what will be signed, team roles and the privacy policy.

RootMind 2.3.1

Choose a tag to compare

@github-actions github-actions released this 21 Oct 09:33
8f155fe

Fixed

  • The agent could answer a question without ever searching the user's documents, most
    visibly on questions that sound like they are about private information ("do you know my
    tax number?"): some models fall back to a trained "I don't have access to that" refusal
    instead of trying the search_documents tool that exists for exactly that, and a soft
    prompt instruction ("start with search_documents") did not reliably override it on every
    model. The first LLM call of every query now forces a tool call (Anthropic
    tool_choice: {"type": "any"}, OpenAI/xAI tool_choice: "required"); later iterations in
    the same query are unaffected and the model can still answer once it has enough.

Downloads

File What it is
RootMind-Setup-x64.exe The Windows app with its background service (41.8 MB). Installs for all users of the computer and sets up the service for your account; needs one administrator approval, no Python.
RootMind-amd64.deb The Linux app for Ubuntu and Debian: sudo apt install ./RootMind-amd64.deb. On its first start it sets up its background service as systemd user services of your account; no root needed for that.
RootMind-x86_64.rpm The same for Fedora and openSUSE Tumbleweed: sudo dnf install ./RootMind-x86_64.rpm (openSUSE: sudo zypper install ./RootMind-x86_64.rpm).
RootMind-x86_64.AppImage The same as an AppImage for other distributions, without installation: chmod +x RootMind-x86_64.AppImage, then run it (needs FUSE 2, libfuse2).
rootmind.mcpb RootMind for Claude Desktop: double-click it and Claude Desktop installs it. Needs RootMind installed with Serve MCP over HTTP on (the default).
rootmind-backend-windows-x64.zip The backend on its own for Windows, for the command line and servers. Not needed for the app.
rootmind-backend-linux-x64.tar.gz The backend on its own for Linux (x86-64, glibc 2.35 or later), for the command line and servers. Not needed for the app.
SHA256SUMS.txt SHA-256 checksums of these files.

Verify the download

The binaries are not code-signed yet. On the first start, Windows SmartScreen may show "Windows protected your PC" (choose More info, then Run anyway), and Smart App Control, when it is on, may block them; it has no exception for a single app. Check the files before you run them. The hash must match the line for the file in SHA256SUMS.txt:

(Get-FileHash .\RootMind-Setup-x64.exe -Algorithm SHA256).Hash.ToLower()
sha256sum --check --ignore-missing SHA256SUMS.txt
gh attestation verify RootMind-Setup-x64.exe --repo cgaeking/rootmind

Every file has a build provenance attestation that ties it to this repository and to the workflow run that built it.

Code signing policy

See CODE_SIGNING.md: the binaries are not code-signed yet; what will be signed, team roles and the privacy policy.

RootMind 2.3.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 22:18
aad71de

Added

  • RootMind for Linux (#21). Each release ships RootMind-amd64.deb (Ubuntu, Debian), RootMind-x86_64.rpm (Fedora, openSUSE Tumbleweed) and RootMind-x86_64.AppImage (other distributions), built with Tauri on Ubuntu 22.04 (glibc 2.35 or later, x86-64). The app, its window, chat, search, folders, settings, remote access and MCP over HTTP work as on Windows; the texts name systemd user services where Windows names a Windows service.
  • The background service on Linux runs as two systemd user services of your account, rootmind-backend.service (REST API and indexing) and rootmind-mcp-http.service (MCP over HTTP, on by default), in ~/.config/systemd/user/. No root, no system-wide daemon and no administrator prompt: the app sets them up on its first start and updates them when the app is newer than the service (after a package update), with Set up and Repair in Settings › RootMind service as the fallback and the error shown when that fails. The services start when you log in; loginctl enable-linger keeps them running without a login (for example for n8n).
  • rootmind-backend service install | uninstall | status [--json] on Linux, with the same options (except --user-sid), the same status --json shape (plus unit_dir and data_dir) and the same exit codes where they apply; 11 means that the account's systemd user manager cannot be reached (for example under su or sudo), and 8 that it runs as root. The data folder is $XDG_DATA_HOME/rootmind (default ~/.local/share/rootmind) with the same layout as on Windows: folders 0700 and token, authtoken and config files 0600, created with those modes; an existing folder is used only when it belongs to the account and nobody else can change it (else exit 6), and the service checks the folder and its secret files again when it starts. service install copies the program into runtime/<version>-<id>/ of the data folder (an AppImage runs from a temporary mount), points the units there and deletes older copies once the new one runs; it refuses to copy from a folder another account can change (exit 10). It writes service.json (where the copy is; no secret) for the Claude Desktop bundle. uninstall removes the units and the program copies and keeps the data unless --purge.
  • The service reports ready to systemd once it listens (Type=notify). A config, token or folder error ends it with exit code 2, which systemd does not restart; any other failure is restarted after 5 seconds. Like on Windows, service install and the app send a token only after checking that the unit's own process listens on the port (Linux: /proc/net/tcp and the process's sockets).
  • rootmind-backend-linux-x64.tar.gz: the Linux backend on its own, for the command line and servers.
  • The Claude Desktop bundle (rootmind.mcpb) also runs on Linux: it asks the program copy named in ~/.local/share/rootmind/service.json (else /usr/lib/RootMind/backend/rootmind-backend) for service status --json, looks it up again for every connection, and words its hints for Linux.
  • CI: the Linux backend build with its smoke test (PowerShell 7) and an end-to-end test that installs, checks, updates and removes the systemd user units on GitHub's Ubuntu runner (backend-exe.yml); a Linux build and test of the desktop app's Rust shell (desktop.yml); the Linux packages in the release, checked by installing the .deb and running both packaged backends, with checksums and attestations (release.yml).

Changed

  • The service commands say "runs on Windows and Linux only" elsewhere (exit code 2). The Windows service, its installer and their behavior are unchanged.
  • Release notes list the Linux downloads.

Downloads

File What it is
RootMind-Setup-x64.exe The Windows app with its background service (41.8 MB). Installs for all users of the computer and sets up the service for your account; needs one administrator approval, no Python.
RootMind-amd64.deb The Linux app for Ubuntu and Debian: sudo apt install ./RootMind-amd64.deb. On its first start it sets up its background service as systemd user services of your account; no root needed for that.
RootMind-x86_64.rpm The same for Fedora and openSUSE Tumbleweed: sudo dnf install ./RootMind-x86_64.rpm (openSUSE: sudo zypper install ./RootMind-x86_64.rpm).
RootMind-x86_64.AppImage The same as an AppImage for other distributions, without installation: chmod +x RootMind-x86_64.AppImage, then run it (needs FUSE 2, libfuse2).
rootmind.mcpb RootMind for Claude Desktop: double-click it and Claude Desktop installs it. Needs RootMind installed with Serve MCP over HTTP on (the default).
rootmind-backend-windows-x64.zip The backend on its own for Windows, for the command line and servers. Not needed for the app.
rootmind-backend-linux-x64.tar.gz The backend on its own for Linux (x86-64, glibc 2.35 or later), for the command line and servers. Not needed for the app.
SHA256SUMS.txt SHA-256 checksums of these files.

Verify the download

The binaries are not code-signed yet. On the first start, Windows SmartScreen may show "Windows protected your PC" (choose More info, then Run anyway), and Smart App Control, when it is on, may block them; it has no exception for a single app. Check the files before you run them. The hash must match the line for the file in SHA256SUMS.txt:

(Get-FileHash .\RootMind-Setup-x64.exe -Algorithm SHA256).Hash.ToLower()
sha256sum --check --ignore-missing SHA256SUMS.txt
gh attestation verify RootMind-Setup-x64.exe --repo cgaeking/rootmind

Every file has a build provenance attestation that ties it to this repository and to the workflow run that built it.

Code signing policy

See CODE_SIGNING.md: the binaries are not code-signed yet; what will be signed, team roles and the privacy policy.

RootMind 2.2.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 18:38
bcf8fd4

Added

  • Remote access (ngrok) for cloud assistants (Grok Bot, a cloud-hosted n8n, other web agents), off by default (#27). Settings → RootMind service → Remote access (ngrok) takes an ngrok authtoken (write-only: once saved only "Saved" is shown) and an optional reserved domain; one checkbox, after a confirmation that anyone with the MCP token can read every indexed document and that what a cloud assistant reads goes to its provider, gives MCP over HTTP a public HTTPS address. The status (off, connecting, connected with the public MCP endpoint and Copy, or ngrok's error) is shown in the same place. The tunnel runs inside the RootMind-MCP-HTTP service with ngrok's open-source Python SDK (no ngrok program is installed), forwards only to the MCP server, starts with the service, survives updates, reconnects with growing pauses, and closes within seconds when turned off. Requests through it still need the MCP token and pass the Origin check. Disabled while MCP over HTTP is off; turning MCP over HTTP off also turns remote access off. No administrator approval is needed.
  • REST API: GET /remote-access and POST /remote-access (bearer token). The authtoken is stored in %ProgramData%\RootMind\data\ngrok_authtoken.txt, readable only by SYSTEM, Administrators and the MCP service account, never in config.yaml, never returned and never logged; enabled and domain go to config.yaml (remote_access). The MCP service reports the tunnel's state in data\remote_access.json, the one file in the data folder it may write.
  • The smoke test checks that the packaged backend imports the ngrok SDK and that remote access is off by default; the service end-to-end test checks the new files' permissions.

Changed

  • Docs: "Reach RootMind from cloud assistants" now starts with the built-in remote access; your own tunnel (Tailscale Funnel, the ngrok agent) remains the alternative. SECURITY.md describes the threat model of the public address and how the authtoken is stored.

Downloads

File What it is
RootMind-Setup-x64.exe The Windows app with its background service (41.8 MB). Installs for all users of the computer and sets up the service for your account; needs one administrator approval, no Python.
rootmind.mcpb RootMind for Claude Desktop: double-click it and Claude Desktop installs it. Needs RootMind installed with Serve MCP over HTTP on (the default).
rootmind-backend-windows-x64.zip The backend on its own, for the command line and servers. Not needed for the app.
SHA256SUMS.txt SHA-256 checksums of these files.

Verify the download

The binaries are not code-signed yet. On the first start, Windows SmartScreen may show "Windows protected your PC" (choose More info, then Run anyway), and Smart App Control, when it is on, may block them; it has no exception for a single app. Check the files before you run them. The hash must match the line for the file in SHA256SUMS.txt:

(Get-FileHash .\RootMind-Setup-x64.exe -Algorithm SHA256).Hash.ToLower()
sha256sum --check --ignore-missing SHA256SUMS.txt
gh attestation verify RootMind-Setup-x64.exe --repo cgaeking/rootmind

Every file has a build provenance attestation that ties it to this repository and to the workflow run that built it.

Code signing policy

See CODE_SIGNING.md: the binaries are not code-signed yet; what will be signed, team roles and the privacy policy.