Перейти до основного вмісту

Завдання LLM

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

Увімкнення plugin

  1. Увімкніть plugin:
{
  "plugins": {
    "entries": {
      "llm-task": { "enabled": true }
    }
  }
}
  1. Додайте інструмент до allowlist (він реєструється з optional: true):
{
  "agents": {
    "list": [
      {
        "id": "main",
        "tools": { "allow": ["llm-task"] }
      }
    ]
  }
}

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

{
  "plugins": {
    "entries": {
      "llm-task": {
        "enabled": true,
        "config": {
          "defaultProvider": "openai-codex",
          "defaultModel": "gpt-5.4",
          "defaultAuthProfileId": "main",
          "allowedModels": ["openai-codex/gpt-5.4"],
          "maxTokens": 800,
          "timeoutMs": 30000
        }
      }
    }
  }
}
allowedModels — це allowlist рядків provider/model. Якщо його задано, будь-який запит поза цим списком відхиляється.

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

  • prompt (string, обов’язково)
  • input (any, необов’язково)
  • schema (object, необов’язкова JSON Schema)
  • provider (string, необов’язково)
  • model (string, необов’язково)
  • thinking (string, необов’язково)
  • authProfileId (string, необов’язково)
  • temperature (number, необов’язково)
  • maxTokens (number, необов’язково)
  • timeoutMs (number, необов’язково)
thinking приймає стандартні пресети міркування OpenClaw, наприклад low або medium.

Вивід

Повертає details.json, який містить розібраний JSON (і виконує валідацію за schema, якщо її надано).

Приклад: крок робочого процесу 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 (без code fences, без коментарів).
  • Для цього запуску моделі не надаються жодні інструменти.
  • Вважайте вивід недовіреним, якщо не виконуєте валідацію через schema.
  • Розміщуйте approvals перед будь-яким кроком із побічними ефектами (send, post, exec).