recipe_save
Навыки и сценарии · macOS · Windows
Эффект: запись. Статус: условно доступен.
«Условная доступность» означает, что инструмент может зависеть от версии, платформы, разрешений, учётной записи или настроек. Он доступен не во всех установках.
macOS
Назначение
Сохраняет на этот Mac повторно используемый НАВЫК (SKILL) — именованный рецепт (упорядоченную последовательность вызовов инструментов LMCP с параметрами), чтобы пользователь мог в любой момент запустить его снова через recipe_run. Пользователь сохраняет его, чтобы превратить повторяющийся многошаговый рабочий процесс LMCP (утреннюю сводку, разбор входящих, еженедельный отчёт, выгрузку данных) в одну повторно используемую команду. Сохранёнными навыками можно делиться с другими людьми через recipe_export. Манифест должен содержать имя и непустой массив steps. Шаг не может подтвердить сам себя: `confirm` в аргументах шага удаляется при сохранении (confirm_removed_steps сообщает, у скольких шагов он был) и игнорируется при запуске, поэтому шаг, чей инструмент запрашивает подтверждение, отвечает предпросмотром вместо выполнения. Имя, которое уже является рецептом, отклоняется с recipe_exists, и ничего не записывается; передайте overwrite: true, чтобы заменить. Возвращает {name}.
Обязательные входные данные
manifest
Имена сохранены в точности как их требует инструмент. Канонические технические определения на английском находятся в раскрываемой схеме ниже.
Разрешения и подтверждение
Схема не объявляет явного параметра подтверждения. Это не разрешает действовать без согласия: проверьте эффект и получите разрешение.
- Используйте на этой платформе только приложения, учетные записи и ресурсы, разрешенные пользователем. Требования к подключению и разрешениям приведены в описании инструмента для конкретной платформы; этот каталог не заявляет о дополнительных областях OAuth или разрешениях OS.
Каноническая техническая схема на английском — 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"
}Пример для документации
Пример документации для recipe_save. Не выполняйте этот пример. Показанные аргументы относятся к вымышленному набору данных; перед реальным вызовом найдите настоящие идентификаторы и получите разрешение.
{
"manifest": {
"description": "Read the local date and time.",
"name": "Demo morning brief",
"steps": [
{
"args": {},
"tool": "get_datetime"
}
]
}
}Windows
Назначение
Сохраняет на эту машину повторно используемый НАВЫК (SKILL) — именованный рецепт (упорядоченную последовательность вызовов инструментов LMCP с параметрами), чтобы пользователь мог в любой момент запустить его снова через recipe_run. Пользователь сохраняет его, чтобы превратить повторяющийся многошаговый рабочий процесс LMCP (утреннюю сводку, разбор входящих, еженедельный отчёт, выгрузку данных) в одну повторно используемую команду. Манифест должен содержать имя и непустой массив steps. Шаг может добавить "optional": true (логическое значение; по умолчанию false): если он завершается ошибкой, recipe_run записывает для него {ok:false, error}, перечисляет его в skipped_optional и переходит к следующему шагу вместо остановки — используйте это для источника, которого у пользователя может не быть (приложение, разрешение). Строка аргумента может подставлять объявленный параметр через ${name}; аргумент, равный в точности "${name}", сохраняет тип параметра. Последующий шаг может использовать результат предыдущего через "${steps[N].result.KEY}" (индексация с 0; поддерживает .key и [i]). Шаг не может подтвердить сам себя: confirm в аргументах шага удаляется, поэтому шаг, чей инструмент запрашивает подтверждение (отправить, удалить, заменить файл, выполнить команду), возвращает предпросмотр. Имя, которое уже является рецептом, отклоняется с recipe_exists, и ничего не записывается; передайте overwrite: true, чтобы заменить. Возвращает {name, step_count}.
Обязательные входные данные
manifest
Имена сохранены в точности как их требует инструмент. Канонические технические определения на английском находятся в раскрываемой схеме ниже.
Разрешения и подтверждение
Схема не объявляет явного параметра подтверждения. Это не разрешает действовать без согласия: проверьте эффект и получите разрешение.
- Используйте на этой платформе только приложения, учетные записи и ресурсы, разрешенные пользователем. Требования к подключению и разрешениям приведены в описании инструмента для конкретной платформы; этот каталог не заявляет о дополнительных областях OAuth или разрешениях OS.
Каноническая техническая схема на английском — 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"
}Пример для документации
Пример документации для recipe_save. Не выполняйте этот пример. Показанные аргументы относятся к вымышленному набору данных; перед реальным вызовом найдите настоящие идентификаторы и получите разрешение.
{
"manifest": {
"description": "Read the local date and time.",
"name": "Demo morning brief",
"steps": [
{
"args": {},
"tool": "get_datetime"
}
]
}
}