LLM 任务

llm-task 是一个可选插件工具,用于运行纯 JSON 的 LLM 任务并返回结构化输出(可选择根据 JSON Schema 进行验证)。

这非常适合像 Lobster 这样的工作流引擎:你可以添加单个 LLM 步骤,而无需为每个工作流编写自定义 OpenClaw 代码。

启用插件

  1. 启用插件:
  1. {
  2. "plugins": {
  3. "entries": {
  4. "llm-task": { "enabled": true }
  5. }
  6. }
  7. }
  1. 将工具加入允许列表(它以 optional: true 注册):
  1. {
  2. "agents": {
  3. "list": [
  4. {
  5. "id": "main",
  6. "tools": { "allow": ["llm-task"] }
  7. }
  8. ]
  9. }
  10. }

配置(可选)

  1. {
  2. "plugins": {
  3. "entries": {
  4. "llm-task": {
  5. "enabled": true,
  6. "config": {
  7. "defaultProvider": "openai-codex",
  8. "defaultModel": "gpt-5.2",
  9. "defaultAuthProfileId": "main",
  10. "allowedModels": ["openai-codex/gpt-5.2"],
  11. "maxTokens": 800,
  12. "timeoutMs": 30000
  13. }
  14. }
  15. }
  16. }
  17. }

allowedModelsprovider/model 字符串的允许列表。如果设置了该项,任何不在列表中的请求都会被拒绝。

工具参数

  • prompt(字符串,必填)
  • input(任意类型,可选)
  • schema(对象,可选 JSON Schema)
  • provider(字符串,可选)
  • model(字符串,可选)
  • authProfileId(字符串,可选)
  • temperature(数字,可选)
  • maxTokens(数字,可选)
  • timeoutMs(数字,可选)

输出

返回 details.json,包含解析后的 JSON(如果提供了 schema,则会进行验证)。

示例:Lobster 工作流步骤

  1. openclaw.invoke --tool llm-task --action json --args-json '{
  2. "prompt": "Given the input email, return intent and draft.",
  3. "input": {
  4. "subject": "Hello",
  5. "body": "Can you help?"
  6. },
  7. "schema": {
  8. "type": "object",
  9. "properties": {
  10. "intent": { "type": "string" },
  11. "draft": { "type": "string" }
  12. },
  13. "required": ["intent", "draft"],
  14. "additionalProperties": false
  15. }
  16. }'

安全注意事项

  • 该工具为纯 JSON 模式,指示模型仅输出 JSON(无代码围栏、无注释说明)。
  • 此次运行不会向模型暴露任何工具。
  • 除非使用 schema 进行验证,否则应将输出视为不可信。
  • 在任何有副作用的步骤(发送、发布、执行)之前设置审批流程。