Files
owui-tools/configs/tools.toml
T
2026-09-15 15:24:03 -04:00

131 lines
5.1 KiB
TOML

# =====================================================================
# Which tools the assistant can see.
#
# `false` does not hide a tool, it REMOVES it: the operation is dropped
# from the OpenAPI spec, so the model is never told it exists, and the
# endpoint stops answering. Both halves matter. Every tool's schema is
# paid on every turn of every conversation - the full set is roughly
# 9,700 tokens - so a tool you will not use is a standing tax on every
# message, and one that is described but broken is worse than absent.
#
# AFTER EDITING THIS FILE:
#
# docker compose restart api
# then re-save the tool connection in Open WebUI
# (Admin -> Settings -> Integrations -> the owuitools connection -> Save)
#
# Both are needed. The spec is built once per process here, and Open WebUI
# caches what it fetched when the connection was saved.
#
# A tool listed here that the server does not have is reported at startup
# and ignored - usually a typo. A tool the server has and this file does
# not mention stays ON, so an older config never silently removes tools.
# =====================================================================
[tools]
# --- Web and research -------------------------------------------------
# Searches through the SearXNG container in this compose file, which is
# reachable only inside the guarded namespace. Nothing to sign up for.
# Setup: docs/setup/searxng.md
web_search = true
# Reads a web page or PDF and returns it as text. Goes out through squid,
# which refuses private addresses however it is asked. No setup.
fetch_page = true
# Wikipedia via the Wikimedia REST API. REQUIRES a descriptive contact in
# OWUITOOLS_CONTACT - Wikimedia returns 403 to a blank or generic
# User-Agent, so this one fails hard rather than slowly if it is unset.
# Setup: docs/setup/contact.md
wikipedia_lookup = true
# Stack Exchange search. Works with no key at 300 requests/day for the
# whole stack's IP; a free key takes it to 10,000.
# Setup: docs/setup/stackexchange.md
search_stackexchange = true
# Academic papers through OpenAlex. Sends OWUITOOLS_CONTACT to get into
# the polite pool, which is markedly faster. Works without it.
# Setup: docs/setup/contact.md
search_papers = true
# --- IT and reference -------------------------------------------------
# IETF RFCs, read or searched. No key, no setup.
lookup_rfc = true
# CVE lookup: CIRCL first, MITRE as fallback, NVD for CVSS and CPE detail.
# Keyless NVD is throttled to 5 requests per 30 seconds; a free key lifts
# that. Only matters if you lean on the CVSS breakdown.
# Setup: docs/setup/nvd.md
lookup_cve = true
# Linux manual pages from man.archlinux.org. No setup.
read_man_page = true
# Current version of a package across PyPI, npm, crates.io, Docker Hub,
# GitHub releases and Debian. Unauthenticated GitHub is 60 requests/hour
# for the WHOLE stack's IP, which a single conversation can exhaust; a
# read-only token takes it to 5,000.
# Setup: docs/setup/github-token.md
lookup_package = true
# --- Networking -------------------------------------------------------
# The four probe tools below reach out and touch a host the user named.
# They share a per-user hourly budget, OWUITOOLS_PROBE_RATE_PER_HOUR.
# Turning them off is the blunt version of setting that to zero.
# Pure arithmetic on a prefix. Offline, no limit, nothing to set up.
subnet_calc = true
dns_lookup = true
inspect_tls = true
http_headers = true
lookup_ip_or_asn = true
# MAC vendor, port number and HTTP status lookups, from datasets baked
# into the image at build time. Offline and unlimited. If the build could
# not download them the tool says so rather than guessing.
network_reference = true
# --- Electronics ------------------------------------------------------
# All four are deterministic arithmetic with no network access at all.
# They are also the cheapest ones to turn off if you never do electronics
# and want the context back.
ohms_law_power = true
component_calc = true
pcb_calc = true
wiring_calc = true
# Datasheet search. Uses SearXNG with a PDF-scoped query, so it needs the
# same container web_search does.
# Setup: docs/setup/searxng.md
find_datasheet = true
# --- Code execution ---------------------------------------------------
# Runs MATLAB/Octave code in a network-less sandbox container and reports
# output, errors and MATLAB-vs-Octave compatibility. Needs the
# owuitools-octave image built, which `docker compose up -d --build` does.
# Setup: docs/setup/octave.md
matlab_run = true
# --- The VM sub-agent -------------------------------------------------
# Hands a task to a second model driving a real throwaway Ubuntu or
# Windows machine, and returns what actually happened.
#
# This is the one tool with substantial setup. It needs KVM, a ZFS pool,
# the host daemon installed by vm/host/install.sh, a built base image
# (~25 minutes unattended for Ubuntu), and a Gitea bot to publish results
# to. Without the Gitea half a session still runs and keeps its files, it
# just returns no link.
#
# It is also removed automatically when the VM job volume is not mounted,
# so on a host without the VM stack this setting does nothing.
# Setup: docs/setup/vm-agent.md
vm_agent = true