跳到內容

使用 OpenClaw llm-task 插件:快速執行結構化 LLM 任務

每次想從 LLM 拿點結構化資料,結果它回你一堆廢話或是帶 Markdown 標籤的程式碼,真的很讓人崩潰。如果你正在尋找一個簡單的方法來執行純 JSON 的任務,而不想為每個工作流寫一堆重複的程式碼,那麼 llm-task 就是你的救星。

llm-task 是一個選配的外掛工具,專門用來執行純 JSON 的 LLM 任務,並回傳結構化輸出(還可以選擇是否根據 JSON Schema 進行驗證)。

這對於像 Lobster 這樣的工作流引擎來說非常理想:你可以在工作流中直接加入一個 LLM 步驟,而不需要為每個流程編寫自定義的 OpenClaw 程式碼。

  1. 啟用外掛:
{
"plugins": {
"entries": {
"llm-task": { "enabled": true }
}
}
}
  1. 將工具加入允許清單(它註冊時預設為 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 是 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。

回傳包含解析後 JSON 的 details.json(如果提供了 schema,則會進行驗證)。

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-only,並會指示模型僅輸出 JSON(沒有程式碼區塊標籤,也沒有評論)。
  • 這次執行不會對模型開放任何工具。
  • 除非你使用了 schema 進行驗證,否則請將輸出視為不可信。
  • 在執行任何會產生副作用的步驟(如 send, post, exec)之前,請務必加入人工審核。

如果你在設定過程中遇到問題,可以詢問 AI Setup Assistant。

OpenClaw

OpenClaw Expert

還是卡住了?

如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。