Zum Inhalt springen
Alle Werkzeuge

recipe_save

Skills und Rezepte · macOS · Windows

Wirkung: Schreiben. Status: bedingt verfügbar.

„Bedingte Verfügbarkeit“ bedeutet, dass das Werkzeug von Version, Plattform, Berechtigungen, Konto oder Konfiguration abhängen kann. Es ist nicht in jeder Installation aktiv.

macOS

Zweck

Speichert einen wiederverwendbaren SKILL – ein benanntes Rezept (eine geordnete Folge von LMCP-Tool-Aufrufen mit Parametern) – auf diesem Mac, damit der Benutzer ihn jederzeit mit recipe_run erneut ausführen kann. Ein Benutzer würde einen speichern, um einen mehrstufigen LMCP-Ablauf, den er wiederholt (ein Morgenbriefing, Posteingangs-Triage, ein Wochenbericht, ein Datenabruf), in einen einzigen wiederverwendbaren Befehl zu verwandeln. Gespeicherte Skills können über recipe_export mit anderen Personen geteilt werden. Das Manifest muss einen name und ein nicht leeres steps-Array haben. Ein Schritt kann sich nicht selbst bestätigen: `confirm` in den Argumenten eines Schritts wird beim Speichern entfernt (confirm_removed_steps sagt, bei wie vielen Schritten eines vorhanden war) und bei der Ausführung ignoriert, sodass ein Schritt, dessen Tool eine Bestätigung verlangt, mit seiner Vorschau antwortet, statt ausgeführt zu werden. Ein Name, der bereits ein Rezept ist, wird mit recipe_exists abgelehnt und nichts wird geschrieben; übergeben Sie overwrite: true, um es zu ersetzen. Gibt {name} zurück.

Erforderliche Eingaben

Die Namen bleiben exakt so erhalten, wie das Werkzeug sie verlangt. Die kanonischen technischen Definitionen auf Englisch stehen im ausklappbaren Schema unten.

Berechtigungen und Bestätigung

Das Schema deklariert keinen ausdrücklichen Bestätigungsparameter. Das erlaubt keine Handlung ohne Zustimmung; prüfen Sie die Wirkung und holen Sie eine Autorisierung ein.

Kanonisches technisches Schema auf Englisch — macOS
{
  "properties": {
    "manifest": {
      "description": "The recipe manifest. Shape: {\"name\": string (required), \"description\": string, \"params\": [{\"name\": string, \"type\": \"string\"|\"int\"|\"bool\", \"default\": any}], \"steps\": [ ... ] (required, non-empty), \"outputs\": [{\"kind\": string}]}. A step is EITHER a tool call {\"tool\": <tool_name>, \"args\": {...}} OR a pause {\"wait\": {\"seconds\": N}} (also {\"wait\": N}). A tool-call step may add \"optional\": true (a boolean; default false): if it fails, recipe_run records {ok:false, error} for it, lists it in skipped_optional and carries on with the next step, instead of stopping — use it for a source the user may not have (an app, a permission). Any arg string may interpolate a declared param with ${name} (e.g. \"limit\": \"${count}\"); an arg that is exactly \"${name}\" keeps the param's type. Steps run in order; a later step can consume an EARLIER step's output with \"${steps[N].result.KEY}\" (0-based; supports .key and [i], e.g. \"account\": \"${steps[0].result.accounts[0].name}\"). A step cannot confirm itself: do not put `confirm` in a step's args (it is removed when saving and ignored when running). recipe_run asks for one confirmation when the recipe has state-changing steps; a step whose tool asks for its own confirmation then answers with its preview and is not executed. A step that names a note should give note_name (the note's title): a note_id only names the note on the Mac that issued it, so a step that gives both is saved with note_name alone.",
      "type": "object"
    },
    "overwrite": {
      "description": "Must be true to replace a recipe that already has this name. Without it, a taken name is refused with recipe_exists and the existing recipe is left as it was.",
      "type": "boolean"
    }
  },
  "required": [
    "manifest"
  ],
  "type": "object"
}

Dokumentationsbeispiel

Dokumentationsbeispiel für recipe_save. Führen Sie dieses Beispiel nicht aus. Die gezeigten Argumente gehören zu einem fiktiven Datensatz; ermitteln Sie reale Kennungen und holen Sie vor einem echten Aufruf die Genehmigung ein.

{
  "manifest": {
    "description": "Read the local date and time.",
    "name": "Demo morning brief",
    "steps": [
      {
        "args": {},
        "tool": "get_datetime"
      }
    ]
  }
}

Windows

Zweck

Speichert einen wiederverwendbaren SKILL – ein benanntes Rezept (eine geordnete Folge von LMCP-Tool-Aufrufen mit Parametern) – auf diesem Rechner, damit der Benutzer ihn jederzeit mit recipe_run erneut ausführen kann. Ein Benutzer würde einen speichern, um einen mehrstufigen LMCP-Ablauf, den er wiederholt (ein Morgenbriefing, Posteingangs-Triage, ein Wochenbericht, ein Datenabruf), in einen einzigen wiederverwendbaren Befehl zu verwandeln. Das Manifest muss einen name und ein nicht leeres steps-Array haben. Ein Schritt kann "optional": true hinzufügen (ein Boolean; Standard false): Schlägt er fehl, hält recipe_run {ok:false, error} dafür fest, listet ihn in skipped_optional auf und macht mit dem nächsten Schritt weiter, statt zu stoppen – verwenden Sie es für eine Quelle, die der Benutzer womöglich nicht hat (eine App, eine Berechtigung). Ein Argument-String kann einen deklarierten Parameter mit ${name} einsetzen; ein Argument, das genau "${name}" ist, behält den Typ des Parameters. Ein späterer Schritt kann die Ausgabe eines früheren mit "${steps[N].result.KEY}" verwenden (0-basiert; unterstützt .key und [i]). Ein Schritt kann sich nicht selbst bestätigen: confirm in den Argumenten eines Schritts wird entfernt, sodass ein Schritt, dessen Tool eine Bestätigung verlangt (senden, löschen, eine Datei ersetzen, einen Befehl ausführen), seine Vorschau zurückgibt. Ein Name, der bereits ein Rezept ist, wird mit recipe_exists abgelehnt und nichts wird geschrieben; übergeben Sie overwrite: true, um es zu ersetzen. Gibt {name, step_count} zurück.

Erforderliche Eingaben

Die Namen bleiben exakt so erhalten, wie das Werkzeug sie verlangt. Die kanonischen technischen Definitionen auf Englisch stehen im ausklappbaren Schema unten.

Berechtigungen und Bestätigung

Das Schema deklariert keinen ausdrücklichen Bestätigungsparameter. Das erlaubt keine Handlung ohne Zustimmung; prüfen Sie die Wirkung und holen Sie eine Autorisierung ein.

Kanonisches technisches Schema auf Englisch — Windows
{
  "properties": {
    "manifest": {
      "description": "The recipe manifest. Shape: {\"name\": string (required), \"description\": string, \"schema_version\": int, \"params\": [{\"name\": string, \"type\": string, \"default\": any}], \"steps\": [{\"tool\": string, \"args\": object, \"optional\": bool}] (required, non-empty)}.",
      "type": "object"
    },
    "overwrite": {
      "description": "Must be true to replace a recipe that already has this name. Without it, a taken name is refused with recipe_exists and the existing recipe is left as it was.",
      "type": "boolean"
    }
  },
  "required": [
    "manifest"
  ],
  "type": "object"
}

Dokumentationsbeispiel

Dokumentationsbeispiel für recipe_save. Führen Sie dieses Beispiel nicht aus. Die gezeigten Argumente gehören zu einem fiktiven Datensatz; ermitteln Sie reale Kennungen und holen Sie vor einem echten Aufruf die Genehmigung ein.

{
  "manifest": {
    "description": "Read the local date and time.",
    "name": "Demo morning brief",
    "steps": [
      {
        "args": {},
        "tool": "get_datetime"
      }
    ]
  }
}