Tools

Завдання LLM

llm-task — це вбудований необов’язковий інструмент Plugin, який виконує один виклик LLM лише з JSON і повертає структурований результат, який за потреби перевіряється за схемою JSON Schema. Він надає рушіям робочих процесів на кшталт Lobster крок LLM без написання спеціального коду OpenClaw для кожного робочого процесу.

Увімкнення

  1. Увімкніть Plugin:
json
{  "plugins": {    "entries": {      "llm-task": { "enabled": true }    }  }}
  1. Дозвольте інструмент:
json
{  "tools": {    "alsoAllow": ["llm-task"]  }}

alsoAllow додає llm-task до активного профілю інструментів, не обмежуючи інші основні інструменти. Натомість використовуйте tools.allow, лише якщо потрібен обмежувальний режим списку дозволених інструментів.

Конфігурація (необов’язково)

json
{  "plugins": {    "entries": {      "llm-task": {        "enabled": true,        "config": {          "defaultProvider": "openai",          "defaultModel": "gpt-5.6-sol",          "defaultAuthProfileId": "main",          "allowedModels": ["openai/gpt-5.6-sol"],          "maxTokens": 800,          "timeoutMs": 30000        }      }    }  }}

allowedModels — це список дозволених рядків provider/model; запит будь-якої іншої моделі відхиляється. Усі інші ключі є резервними значеннями для окремих викликів і використовуються, коли у виклику інструмента відповідний параметр пропущено.

Параметри інструмента

Параметр Тип Примітки
prompt рядок Обов’язковий. Інструкція із завданням для LLM.
input будь-який Необов’язкові вхідні дані; серіалізуються в JSON і додаються до запиту.
schema об’єкт Необов’язкова схема JSON Schema, якій має відповідати розібраний результат.
provider рядок Перевизначає defaultProvider / типового постачальника агента.
model рядок Перевизначає defaultModel; приймає ідентифікатори моделей без префікса, псевдоніми або посилання provider/model (дубльований префікс постачальника автоматично видаляється).
thinking рядок Рівень міркування (наприклад, low, medium); має підтримуватися визначеною моделлю.
authProfileId рядок Перевизначає defaultAuthProfileId.
temperature число Застосовується за можливості; підтримується не всіма постачальниками.
maxTokens число Орієнтовне обмеження кількості токенів у результаті.
timeoutMs число Час очікування виконання; типове значення — 30000.

Результат

Повертає details.json (розібраний JSON, перевірений за схемою), а також details.provider і details.model, які вказують, що саме було фактично виконано.

Приклад: крок робочого процесу Lobster

Важливе обмеження

У наведеному нижче прикладі передбачається, що автономний Lobster CLI працює в середовищі, де openclaw.invoke уже має правильний контекст URL Gateway та автентифікації.

Для вбудованого в OpenClaw інтегрованого засобу запуску Lobster цей шаблон із вкладеним CLI наразі ненадійний:

lobster
openclaw.invoke --tool llm-task --action json --args-json '{ ... }'

Доки інтегрований Lobster не матиме підтримуваного мосту для цього потоку, віддавайте перевагу одному з таких варіантів:

  • прямі виклики інструмента llm-task поза Lobster;
  • кроки Lobster, які не залежать від вкладених викликів openclaw.invoke.

Приклад для автономного Lobster CLI:

lobster
openclaw.invoke --tool llm-task --action json --args-json '{  "prompt": "Given the input email, return intent and draft.",  "thinking": "low",  "input": {    "subject": "Hello",    "body": "Can you help?"  },  "schema": {    "type": "object",    "properties": {      "intent": { "type": "string" },      "draft": { "type": "string" }    },    "required": ["intent", "draft"],    "additionalProperties": false  }}'

Зауваження щодо безпеки

  • Лише JSON: модель отримує вказівку повертати лише значення JSON без блоків коду та коментарів.
  • Без інструментів: інструменти вимкнено для базового виконання, тому модель не може викликати їх під час виконання завдання.
  • Вважайте результат ненадійним, якщо не перевіряєте його за допомогою schema.
  • Розміщуйте підтвердження перед будь-яким кроком із побічними ефектами (надсилання, публікація, виконання), який використовує цей результат.

Пов’язані матеріали

Was this useful?
On this page

On this page