# ===================================================================== # 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