Files
bot/extensions/llm-task/README.md
zeekay 6e661b15d3 rebrand: complete OpenClaw→Hanzo Bot cleanup across 424 files
- Rename lobster extension → flow (dir, types, env vars, docs)
- LOBSTER_* env vars → BOT_FLOW_* / BOT_*
- 🦞 → 🤖 everywhere (src, docs, skills, zh-CN)
- docs.bot.ai → docs.hanzo.bot
- github.com/bot/bot → github.com/hanzoai/bot
- @bot/* → @hanzo/bot-* (npm scope)
- ~/.bot/ → ~/.hanzo/bot/ (config paths)
- discord.gg/hanzo → discord.gg/XthHQQj (real Hanzo Discord)
- clawhub.com → skills.hanzo.bot
- ClawDock → BotDock in shell helpers
- EXFOLIATE lore → Hanzo Bot branding in all locales
- LOBSTER_PALETTE → BOT_PALETTE, LOBSTER_ASCII → BOT_ASCII
2026-02-13 13:22:53 -08:00

2.2 KiB

LLM Task (plugin)

Adds an optional agent tool llm-task for running JSON-only LLM tasks (drafting, summarizing, classifying) with optional JSON Schema validation.

Designed to be called from workflow engines (for example, Flow via bot.invoke --each) without adding new Hanzo Bot code per workflow.

Enable

  1. Enable the plugin:
{
  "plugins": {
    "entries": {
      "llm-task": { "enabled": true }
    }
  }
}
  1. Allowlist the tool (it is registered with optional: true):
{
  "agents": {
    "list": [
      {
        "id": "main",
        "tools": { "allow": ["llm-task"] }
      }
    ]
  }
}

Config (optional)

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

allowedModels is an allowlist of provider/model strings. If set, any request outside the list is rejected.

Tool API

Parameters

  • prompt (string, required)
  • input (any, optional)
  • schema (object, optional JSON Schema)
  • provider (string, optional)
  • model (string, optional)
  • authProfileId (string, optional)
  • temperature (number, optional)
  • maxTokens (number, optional)
  • timeoutMs (number, optional)

Output

Returns details.json containing the parsed JSON (and validates against schema when provided).

Notes

  • The tool is JSON-only and instructs the model to output only JSON (no code fences, no commentary).
  • No tools are exposed to the model for this run.
  • Side effects should be handled outside this tool (for example, approvals in Flow) before calling tools that send messages/emails.

Bundled extension note

This extension depends on Hanzo Bot internal modules (the embedded agent runner). It is intended to ship as a bundled Hanzo Bot extension (like flow) and be enabled via plugins.entries + tool allowlists.

It is not currently designed to be copied into ~/.hanzo/bot/extensions as a standalone plugin directory.