recipe_save
Skills e ricette · macOS · Windows
Effetto: scrittura. Stato: disponibilità condizionata.
«Disponibilità condizionata» indica che lo strumento può dipendere da versione, piattaforma, autorizzazioni, account o configurazione. Non è necessariamente attivo ovunque.
macOS
Scopo
Salva una SKILL riutilizzabile, una ricetta con nome (una sequenza ordinata di chiamate a strumenti LMCP con parametri), su questo Mac in modo che l'utente possa rieseguirla in qualsiasi momento con recipe_run. Un utente ne salverebbe una per trasformare in un unico comando riutilizzabile un flusso di lavoro LMCP in più passaggi che ripete (un riepilogo del mattino, lo smistamento della posta, un report settimanale, un'estrazione di dati). Le skill salvate possono essere condivise con altre persone tramite recipe_export. Il manifest deve avere un name e un array steps non vuoto. Un passaggio non può confermare se stesso: `confirm` negli argomenti di un passaggio viene rimosso al salvataggio (confirm_removed_steps indica quanti passaggi ne avevano uno) e ignorato durante l'esecuzione, quindi un passaggio il cui strumento richiede conferma risponde con la sua anteprima invece di eseguire. Un nome che è già una ricetta viene rifiutato con recipe_exists e non viene scritto nulla; passa overwrite: true per sostituirla. Restituisce {name}.
Input obbligatori
manifest
I nomi restano esattamente quelli richiesti dallo strumento. Le definizioni tecniche canoniche in inglese sono nello schema espandibile qui sotto.
Autorizzazioni e conferma
Lo schema non dichiara un parametro di conferma esplicito. Ciò non autorizza azioni senza permesso: controlla l’effetto e ottieni l’autorizzazione.
- Utilizza solo le app, gli account e le risorse autorizzate dall'utente su questa piattaforma. Consulta la descrizione specifica della piattaforma di questo strumento per i suoi requisiti di connessione e autorizzazione; questo catalogo non afferma ambiti OAuth aggiuntivi o diritti del sistema operativo.
Schema tecnico canonico in inglese — 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"
}Esempio documentale
Esempio di documentazione per recipe_save. Non eseguire questo esempio. Gli argomenti mostrati appartengono a un set di dati fittizio; individua gli identificatori reali e ottieni l’autorizzazione prima di una chiamata reale.
{
"manifest": {
"description": "Read the local date and time.",
"name": "Demo morning brief",
"steps": [
{
"args": {},
"tool": "get_datetime"
}
]
}
}Windows
Scopo
Salva una SKILL riutilizzabile, una ricetta con nome (una sequenza ordinata di chiamate a strumenti LMCP con parametri), su questa macchina in modo che l'utente possa rieseguirla in qualsiasi momento con recipe_run. Un utente ne salverebbe una per trasformare in un unico comando riutilizzabile un flusso di lavoro LMCP in più passaggi che ripete (un riepilogo del mattino, lo smistamento della posta, un report settimanale, un'estrazione di dati). Il manifest deve avere un name e un array steps non vuoto. Un passaggio può aggiungere "optional": true (un booleano; predefinito false): se fallisce, recipe_run registra {ok:false, error} per esso, lo elenca in skipped_optional e prosegue con il passaggio successivo invece di fermarsi: usalo per una fonte che l'utente potrebbe non avere (un'app, un permesso). Una stringa di argomento può interpolare un param dichiarato con ${name}; un argomento che è esattamente "${name}" mantiene il tipo del param. Un passaggio successivo può usare l'output di uno precedente con "${steps[N].result.KEY}" (base 0; supporta .key e [i]). Un passaggio non può confermare se stesso: confirm negli argomenti di un passaggio viene rimosso, quindi un passaggio il cui strumento richiede conferma (per inviare, eliminare, sostituire un file, eseguire un comando) restituisce la sua anteprima. Un nome che è già una ricetta viene rifiutato con recipe_exists e non viene scritto nulla; passa overwrite: true per sostituirla. Restituisce {name, step_count}.
Input obbligatori
manifest
I nomi restano esattamente quelli richiesti dallo strumento. Le definizioni tecniche canoniche in inglese sono nello schema espandibile qui sotto.
Autorizzazioni e conferma
Lo schema non dichiara un parametro di conferma esplicito. Ciò non autorizza azioni senza permesso: controlla l’effetto e ottieni l’autorizzazione.
- Utilizza solo le app, gli account e le risorse autorizzate dall'utente su questa piattaforma. Consulta la descrizione specifica della piattaforma di questo strumento per i suoi requisiti di connessione e autorizzazione; questo catalogo non afferma ambiti OAuth aggiuntivi o diritti del sistema operativo.
Schema tecnico canonico in inglese — 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"
}Esempio documentale
Esempio di documentazione per recipe_save. Non eseguire questo esempio. Gli argomenti mostrati appartengono a un set di dati fittizio; individua gli identificatori reali e ottieni l’autorizzazione prima di una chiamata reale.
{
"manifest": {
"description": "Read the local date and time.",
"name": "Demo morning brief",
"steps": [
{
"args": {},
"tool": "get_datetime"
}
]
}
}