Ga naar hoofdinhoud

Chattools

Een beurt met tools voert een native meer-rondenlus uit: het model vraagt, Libre WebUI voert uit onder de identiteit en rechten van de gebruiker, het resultaat gaat terug tot er een antwoord is — maximaal acht ronden en acht oproepen per ronde. Stop annuleert het model, de lopende tool en de goedkeuring.

Oproepen zijn genormaliseerde gebeurtenissen (chat.tool-call.v1, chat.tool-result.v1, chat.approval.v1) die identiek via private WebSocket en duurzame stream lopen. Vernieuwen speelt dezelfde toestand af. De afgeronde beurt bewaart oproepen met begrensde voorbeeldresultaten.

Tools inschakelen

Standaard uit. Een beheerder opent ze onder Settings → Gebruikersbeheer; elke beurt kiest via de steeksleutel exact de ingebouwde tools en servers. De kiezer kan een profiel beperken, nooit verruimen. Privéchats bieden geen tools omdat externe acties goedkeuring/audit kunnen achterlaten.

Een assistentprofiel kan servers, ingebouwde tools, vaardigheden en kenniscollecties beperken.

Ingebouwde tools

Dertien tools; alleen notitie- en agendawijzigingen hebben effecten en goedkeuring:

  • web_search — beheerderszoekmachine en toegangsmodus.
  • search_documents — hybride zoeken in eigen/gedeelde documenten en kennis, met citaten.
  • list_documents — IDs, typen en groottes.
  • read_document — begrensd venster per ID/offset met bron.
  • load_skill — volledige instructies per slug; manifest blijft lazy, bestandenlijst wordt toegevoegd.
  • read_skill_file — bijbestand per slug/relatief pad.
  • list_notes — eigen/gedeelde notities.
  • read_note — volledige notitie.
  • create_note — maken, goedkeuring.
  • update_note — vervangen met herstelbare revisie, goedkeuring.
  • list_calendar_events — gebeurtenissen binnen epoch-millisecondbereik.
  • create_calendar_event — maken, goedkeuring.
  • delete_calendar_event — verwijderen, goedkeuring.

Toolservers

Beheerders registreren onder Instellingen → Tools:

  • OpenAPI: JSON OpenAPI 3.x wordt eenmaal opgehaald en met SHA-256 vastgezet. Iedere operatie wordt tool; GET lezen, overige effect totdat beheerder dit per tool wijzigt. Uitvoering bouwt vanuit vastgezette operatie; model kiest bestemming niet.
  • MCP (Streamable HTTP): lijst via JSON-RPC, op dezelfde manier vastgezet. annotations.readOnlyHint markeert lezen. stdio wordt bewust niet ondersteund; externe processen draaien niet in webproces.

Wijzigingen gelden na refresh door beheerder, met behoud van overrides. Beschikbaarheid kan admin, iedereen of rechten per gebruiker/groep zijn.

Referenties

Authenticatie gebruikt referenties per gebruiker (Bearer of benoemde header), versleuteld met extra geauthenticeerde gegevens voor exacte gebruiker/server, nooit gedeeld.

Uitgaand beleid

Elke aanvraag resolveert bestemming, weigert private/loopback/metadata en pint de verbinding tegen DNS rebind. Redirects geweigerd, omvang en timeout begrensd. Exacte interne hosts kunnen in TOOLS_PRIVATE_NETWORK_ALLOWLIST; blijven gepind. Output keert terug als onbetrouwbare tekst.

Goedkeuringen

Leestools draaien direct. Effecttool pauzeert met eenmaal, deze chat, altijd voor tool/server, of weigeren. "Altijd" blijft na herstart en is intrekbaar. Na twee minuten vervalt als weigering. Weigering/timeout voert niets uit. Alles laat geredigeerde audit achter.

Voorbeelden

Wat veranderde in de nieuwste SQLite-release? Zoek op het web.

Roept {"query": "SQLite latest release changelog"} aan en citeert resultaten.

search_documents

Zoek de beëindigingsclausule en citeer exact.

Gebruikt {"query": "termination clause"}.

load_skill

Maak $release-notes, dan roept het model load_skill {"slug": "release-notes"}. $ voltooit slugs.

OpenAPI-weer

  1. Registreer Weather, OpenAPI, https://api.example-weather.dev, specificatie https://api.example-weather.dev/openapi.json, auth bearer.
  2. getForecast (GET) en createAlert (POST).
  3. Ieder slaat eigen sleutel op.
  4. weather__getForecast {"city": "Montreal"} draait direct; weather__createAlert vraagt Eenmalig, Deze chat, Altijd of Weigeren.

MCP-issues

Registreer Issues, MCP, https://mcp.example-tracker.dev/mcp, auth header met X-Api-Key. De server kan search_issues als alleen-lezen en create_issue als effecttool aanbieden. issues__search_issues draait, issues__create_issue toont argumenten.

Omgevingsvariabelen

VariabeleEffect
TOOLS_ACCESS_MODEadmins of all-users
TOOLS_PRIVATE_NETWORK_ALLOWLISTExacte private hosts

Grenzen

  • Aanroepen werken op WebSocket en duurzaam generatiepad; legacy REST-stream niet.
  • Work-agents roepen dezelfde servers aan via dezelfde gateway: alleen uitvoeringen met netwerk, servers zonder opgeslagen referenties worden bij het aanbod gefilterd, tools met neveneffecten vallen onder Work-goedkeuringen.
  • Gemini en agent CLI krijgen geen tools; Ollama, OpenAI-compatible, Responses-API en Anthropic wel.
  • MCP gebruikt statische referenties per gebruiker; alleen interactieve OAuth wordt nog niet ondersteund.