概述

llm-task 是可选插件工具,在工作流中运行 JSON-only LLM 任务并返回结构化输出(可选 JSON Schema 验证)。适合在 Lobster 等工作流引擎中嵌入单个 LLM 步骤。

核心功能

  • JSON-only 输出:指示模型只输出 JSON(无代码块、无注释)
  • 可选 JSON Schema 验证
  • 支持指定 provider、model、thinking 级别、temperature、maxTokens
  • allowedModels 白名单:限制可使用的模型
  • 不向模型暴露任何工具(纯 LLM 推理)

配置/使用

启用插件:

{
  "plugins": {
    "entries": {
      "llm-task": { "enabled": true }
    }
  },
  "tools": {
    "alsoAllow": ["llm-task"]
  }
}

工具参数:

  • prompt(必填):任务描述
  • input(可选):输入数据
  • schema(可选):JSON Schema 验证
  • provider、model、thinking、temperature、maxTokens、timeoutMs

示例:

await llm_task({
  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
  }
});

注意事项

  • 输出存储在 details.json 中
  • 在嵌入式 Lobster runner 中,openclaw.invoke --tool llm-task 模式不可靠;建议在 Lobster 外直接调用
  • 将输出视为不可信,除非通过 schema 验证
  • 副作用步骤(发送、发布、执行)前应设置审批

相关页面

  • concepts/tool-lobster — Lobster 工作流引擎
  • concepts/tool-subagents — Sub-agents(另一种任务委托方式)
  • concepts/thinking — Thinking 级别配置