Ugrás a fő tartalomra

Csevegési eszközök

A Csevegés lehetővé teheti, hogy a modell eszközöket hívjon. Egy engedélyezett eszközökkel futó forduló natív, többkörös ciklust futtat: a modell eszközt kér, a Libre WebUI a hívó felhasználó identitásával és jogosultságaival végrehajtja, az eredmény visszakerül a modellhez, és a ciklus a modell válaszáig folytatódik — fordulónként legfeljebb nyolc körrel, körönként legfeljebb nyolc hívással. A Leállítás megszakítja a modellhívást, a folyamatban lévő eszközhívásokat és a függő jóváhagyási várakozásokat.

Az eszközhívások normalizált eseményekként (chat.tool-call.v1, chat.tool-result.v1, chat.approval.v1) rögzítődnek, amelyek azonos módon haladnak a privát WebSocket-útvonalon és a tartós eseményfolyamon, így a frissítés vagy újracsatlakozás ugyanazt az állapotot játssza vissza. A befejezett forduló a hívásokat korlátozott eredmény-előnézetekkel együtt az asszisztens üzenetében tárolja.

Eszközök engedélyezése

Az eszközök alapértelmezés szerint ki vannak kapcsolva. A rendszergazda a Beállítások → Felhasználókezelés alatt nyitja meg őket (csak rendszergazdák vagy minden felhasználó számára); ezután minden forduló a szerkesztő villáskulcsán keresztül választja őket. A választó egy főkapcsolót, valamint beépített eszközönként és regisztrált szerverenként egy jelölőnégyzetet tartalmaz, így a forduló pontosan a kiválasztott eszközökkel fut. A választó szűkítheti a profil kötéseit, de soha nem bővítheti. A privát (inkognitó) csevegések soha nem kínálnak eszközöket: az eszközhívás kifelé irányuló művelet, és jóváhagyásokat, valamint auditbejegyzéseket hagyhat maga után.

Egy asszisztensprofil (perszóna) korlátozhatja a kínált eszközöket: a kötött eszközszerverek, a beépített eszközök egy részhalmaza, a kötött készségek és tudásgyűjtemények szűkítik, hogy mit lát a modell a profilt használó munkamenetekben.

Beépített eszközök

A Csevegés tizenhárom saját eszközt tartalmaz (mind csak olvasható, kivéve a jegyzeteket és naptárt módosító eszközöket, amelyek a mellékhatás-jóváhagyási folyamaton mennek keresztül):

  • web_search — a rendszergazda által beállított keresőmotor, amely tiszteletben tartja a webes keresés hozzáférési módját.
  • search_documents — hibrid keresés a felhasználó feltöltött dokumentumaiban és tudásgyűjteményeiben, beleértve a vele megosztott gyűjteményeket (a profilkötések korlátozhatják a gyűjteményeket); minden szakasz a töredékére és forráshelyére hivatkozik.
  • list_documents — felsorolja a csevegés hatókörébe tartozó dokumentumokat ID-val, típussal és mérettel, így a modell eldöntheti, mit olvasson.
  • read_document — ID és eltolás alapján egy elérhető dokumentum korlátozott ablakát olvassa, a forráshely címkéjével; olyan fájlok bejárásához, amelyekből a visszakeresés önmagában nem ad választ.
  • load_skill — slug alapján betölti egy készség teljes utasításait; az eszköz leírása tartalmazza a felhasználó engedélyezett készségeinek manifestjét, így a készségek addig nem töltődnek be, amíg a modellnek nincs rájuk szüksége. Ha a készség kísérőfájlokat tartalmaz, a betöltött utasítások fájlleltárral zárulnak.
  • read_skill_file — slug és relatív útvonal alapján elolvas egy készséghez mellékelt kísérőfájlt, így egy nagy referenciadokumentum addig nem foglal kontextust, amíg a modell ténylegesen meg nem nyitja.
  • list_notes — felsorolja a felhasználó saját és megosztott jegyzeteit az ID-jukkal.
  • read_note — ID alapján elolvassa egy jegyzet teljes tartalmát.
  • create_note — jegyzetet hoz létre (mellékhatással jár, jóváhagyást igényel).
  • update_note — lecseréli egy jegyzet tartalmát; az előző állapot visszaállítható verzióként megmarad, így a modell szerkesztése mindig visszafordítható (mellékhatással jár, jóváhagyást igényel).
  • list_calendar_events — felsorolja a felhasználó saját és megosztott naptáreseményeit egy epoch-ezredmásodperc tartományban.
  • create_calendar_event — naptáreseményt hoz létre (mellékhatással jár, jóváhagyást igényel).
  • delete_calendar_event — ID alapján töröl egy naptáreseményt (mellékhatással jár, jóváhagyást igényel).

Eszközszerverek

A rendszergazdák a Beállítások → Eszközök alatt regisztrálják a külső eszközszervereket (az induló sablonok előre kitöltik az űrlapot, többek között egy biztonságos nyilvános bemutató API-val):

  • OpenAPI: egy JSON OpenAPI 3.x specifikáció egyszer letöltődik, majd SHA-256 kivonattal rögzítődik. Minden művelet eszközzé válik; a GET műveletek csak olvashatóként, minden más mellékhatásként osztályozódik, amíg a rendszergazda eszközönként felül nem írja. A végrehajtás a rögzített műveletből építi újra a hívást — a modell argumentumai soha nem választják ki a célt.
  • MCP (Streamable HTTP): a szerver eszközlistája JSON-RPC-n keresztül töltődik le és ugyanígy rögzítődik. Az annotations.readOnlyHint csak olvashatóként jelöli az eszközt. Az stdio MCP-szerverek szándékosan nem támogatottak: a webfolyamaton belül soha nem futnak külső folyamatok.

A módosított leltár csak akkor lép érvénybe, amikor a rendszergazda frissíti a szervert, ami továbblépteti a rögzített verziót és megőrzi az eszközönkénti felülírásokat. A szerverenkénti elérhetőség lehet csak rendszergazdák számára, minden felhasználó számára vagy jogosultságalapú a közös erőforrás-jogosultsági modellen keresztül (felhasználói és csoportjogosultságok az eszközszerveren).

Hitelesítő adatok

A hitelesítést igénylő szerverek felhasználónkénti hitelesítő adatokat használnak (bearer token vagy megnevezett fejléc). Minden titkos érték további hitelesített adatokkal titkosított, amelyek a pontos felhasználóhoz és szerverhez kötik; minden felhasználó a Beállítások → Eszközök alatt adja meg, és soha nem osztódik meg fiókok között.

Kimenőforgalmi szabályzat

Minden eszközkérés maga oldja fel a célját, elutasítja a privát, loopback- és metaadat-címtereket, majd a feloldott címhez rögzíti a kapcsolatot, így a DNS-újrakötés nem irányíthatja át a hívást. Az átirányítási válaszok elutasításra kerülnek. A válaszok mérete korlátozott, minden hívás szigorú időkorláttal rendelkezik. Pontos belső gazdagépnevek engedélyezhetők a TOOLS_PRIVATE_NETWORK_ALLOWLIST segítségével (vesszővel elválasztva); az engedélyezett gazdagépek rögzítve és korlátozva maradnak. Az eszköz kimenete nem megbízható szövegként kerül vissza a modellbe.

Jóváhagyások

A csak olvasható eszközök kérdés nélkül futnak. A mellékhatással járó eszköz szünetelteti a fordulót, és megkérdezi a felhasználót: egyszer engedélyezi, erre a csevegésre engedélyezi, mindig engedélyezi ezt az eszközt ezen a szerveren, vagy elutasítja. A döntések tartósak — a „mindig” jogosultság túléli az újraindítást, és a Beállítások → Eszközök alatt visszavonható —, a függő kérés pedig két perc után lejár, amit a modell elutasításként lát. Az elutasítás és az időtúllépés soha nem hajtja végre a hívást. Minden döntés és hívás kitakart biztonsági auditeseményt hagy maga után.

Példák

Először kapcsolja be a villáskulcs kapcsolóját a szerkesztőben; az alábbi példák mind normál csevegési üzenetek.

web_search — információ keresése

Mi változott a legújabb SQLite-kiadásban? Válasz előtt keress az interneten.

A modell például {"query": "SQLite latest release changelog"} lekérdezéssel hívja a web_search eszközt, a híváskártya megjeleníti a kapott találatrészleteket, a válasz pedig hivatkozik a találtakra. Ehhez a webes keresésnek beállítva és a fióknál engedélyezve kell lennie.

search_documents — kérdezés saját fájlokról

Töltsön fel PDF-et, vagy adjon dokumentumokat egy tudásgyűjteményhez, majd:

Keresd meg a dokumentumaimban a felmondási záradékot, és idézd pontosan.

A modell {"query": "termination clause"} argumentummal hívja a search_documents eszközt, és a forrásdokumentummal megjelölt egyező szakaszokat kap, így a válasz idézheti és megjelölheti őket.

load_skill — mentett készség alkalmazása

Hozzon létre készséget a Beállítások → Készségek alatt (például $release-notes néven, amely leírja a kívánt kiadási jegyzetstílust), majd:

Készíts kiadási jegyzeteket ehhez az eltéréshez a $release-notes használatával.

A modell látja a készséget a manifestjében, a load_skill {"slug": "release-notes"} hívással letölti a teljes utasításokat, és követi őket. A szerkesztőben beírt $ automatikusan kiegészíti a készségslugokat.

OpenAPI-szerver — például időjárási API

  1. Beállítások → Eszközök → Szerver regisztrálása: név Weather, típus OpenAPI, alap-URL https://api.example-weather.dev, specifikáció URL-je https://api.example-weather.dev/openapi.json, hitelesítési mód bearer.

  2. A specifikáció rögzítődik, műveletei pedig eszközként jelennek meg — például getForecast (GET, csak olvasható) és createAlert (POST, mellékhatás).

  3. Minden használni kívánó felhasználó saját API-kulcsát menti a szerver kártyáján.

  4. A csevegésben:

    Milyen idő lesz Montrealban ezen a hétvégén?

    A modell meghívja a weather__getForecast {"city": "Montreal"} eszközt, amely azonnal fut — a csak olvasható eszközök nem kérnek jóváhagyást.

    Értesíts, ha ma este -20 alá esik.

    A weather__createAlert mellékhatással jár, ezért a forduló egy jóváhagyási kártyán megáll: Engedélyezés egyszer, Engedélyezés erre a csevegésre, Mindig engedélyezés vagy Elutasítás. A választásig semmi nem kerül elküldésre.

MCP-szerver — például hibakövető

  1. Beállítások → Eszközök → Szerver regisztrálása: név Issues, típus MCP, alap-URL https://mcp.example-tracker.dev/mcp, hitelesítési mód header, a fejléc neve X-Api-Key.

  2. Az eszközlista rögzítődik; a szerver által csak olvashatóként jelölt eszközök (például search_issues) szabadon futnak, minden más (például create_issue) előbb jóváhagyást kér.

  3. A csevegésben:

    Keresd meg a „database lock” kifejezést említő nyitott hibajegyeket, és hozz létre egy újat, amely összefoglalja a mintát.

    Az issues__search_issues azonnal fut; az issues__create_issue a jóváhagyási kártyán megmutatja a pontos argumentumokat, így engedélyezés előtt elolvasható, mi kerülne beküldésre.

Környezeti változók

VáltozóHatás
TOOLS_ACCESS_MODEAz eszközfunkciót admins vagy all-users értékre rögzíti, és zárolja a rendszergazdai kapcsolót.
TOOLS_PRIVATE_NETWORK_ALLOWLISTPontos gazdagépnevek, amelyeket az eszközszerverek privát címre oldhatnak fel (vesszővel elválasztva).

Határok

  • Az eszközhívások a WebSocket-útvonalon (a privát munkamenet átvitele tervezetten kizárt) és a tartós csevegések által használt tartós generálási útvonalon futnak. A régi REST streaming endpoint nem futtatja az eszközciklust.
  • A Work agentek ugyanazokat a szervereket hívják ugyanazon az átjárón át: csak hálózatot használó futásoknál, a tárolt hitelesítő adat nélküli szerverek már a felajánláskor kiszűrődnek, a mellékhatással járó eszközöket pedig a Work jóváhagyásai szabályozzák.
  • A Gemini és az agent CLI modellek nem kapnak eszközöket; az Ollama, az OpenAI-kompatibilis, a Responses-API és az Anthropic szolgáltatók igen.
  • Az MCP-szerverek statikus, felhasználónkénti hitelesítő adatokkal hitelesítenek; a csak interaktív OAuth-ot támogató MCP-szerver még nem regisztrálható.