From 6ec97dec3881a70b28a2d4b67e5c436a022f38cf Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Sun, 3 May 2026 21:44:29 +0000 Subject: [PATCH] chore(i18n): refresh uk translations --- docs/uk/tools/slash-commands.md | 327 ++++++++++++------------- docs/uk/tools/subagents.md | 415 ++++++++++++++++---------------- 2 files changed, 368 insertions(+), 374 deletions(-) diff --git a/docs/uk/tools/slash-commands.md b/docs/uk/tools/slash-commands.md index 57dc1edd9..8a50e39d5 100644 --- a/docs/uk/tools/slash-commands.md +++ b/docs/uk/tools/slash-commands.md @@ -1,22 +1,22 @@ --- read_when: - - Використання або налаштування команд чату + - Використання або налаштування чат-команд - Налагодження маршрутизації команд або дозволів sidebarTitle: Slash commands -summary: 'Слеш-команди: текстові та нативні, конфігурація й підтримувані команди' +summary: 'Слеш-команди: текстові й нативні, конфігурація та підтримувані команди' title: Слеш-команди x-i18n: - generated_at: "2026-05-03T18:10:30Z" + generated_at: "2026-05-03T21:42:02Z" model: gpt-5.5 provider: openai - source_hash: 9fbdd76ccd43159cabfbc3f15f7bddd2a7ada07fcd6eea2e169d2d88df18f28c + source_hash: b95b98f84fd26b706cc38d93935be509033e5df30e00b2f581e326e68b256043 source_path: tools/slash-commands.md workflow: 16 --- -Команди обробляє Gateway. Більшість команд потрібно надсилати як **окреме** повідомлення, що починається з `/`. Команда bash-чату лише для хоста використовує `! ` (з `/bash ` як псевдонімом). +Команди обробляються Gateway. Більшість команд потрібно надсилати як **окреме** повідомлення, що починається з `/`. Команда bash-чату лише для хоста використовує `! ` (з `/bash ` як псевдонімом). -Коли розмову або тред прив’язано до ACP-сесії, звичайний подальший текст спрямовується до цього ACP harness. Команди керування Gateway все одно залишаються локальними: `/acp ...` завжди потрапляє до обробника команд OpenClaw ACP, а `/status` плюс `/unfocus` залишаються локальними щоразу, коли обробку команд увімкнено для поверхні. +Коли розмову або потік прив’язано до сесії ACP, звичайний текст подальших відповідей маршрутизується до цієї ACP-обв’язки. Команди керування Gateway усе одно залишаються локальними: `/acp ...` завжди потрапляє до обробника команд OpenClaw ACP, а `/status` і `/unfocus` залишаються локальними, коли для цієї поверхні ввімкнено обробку команд. Є дві пов’язані системи: @@ -27,14 +27,14 @@ x-i18n: `/think`, `/fast`, `/verbose`, `/trace`, `/reasoning`, `/elevated`, `/exec`, `/model`, `/queue`. - - Директиви вилучаються з повідомлення до того, як модель його побачить. - - У звичайних повідомленнях чату (не лише з директивами) вони трактуються як "inline hints" і **не** зберігають налаштування сесії. - - У повідомленнях лише з директивами (повідомлення містить тільки директиви) вони зберігаються в сесії та відповідають підтвердженням. - - Директиви застосовуються лише для **авторизованих відправників**. Якщо встановлено `commands.allowFrom`, використовується лише цей список дозволених; інакше авторизація надходить зі списків дозволених/спарювання каналу плюс `commands.useAccessGroups`. Неавторизовані відправники бачать директиви як звичайний текст. + - Директиви вилучаються з повідомлення до того, як його побачить модель. + - У звичайних повідомленнях чату (не лише з директивами) вони трактуються як "вбудовані підказки" і **не** зберігають налаштування сесії. + - У повідомленнях лише з директивами (повідомлення містить тільки директиви) вони зберігаються в сесії та повертають підтвердження. + - Директиви застосовуються лише для **авторизованих відправників**. Якщо задано `commands.allowFrom`, це єдиний список дозволених; інакше авторизація надходить зі списків дозволених/спарювання каналу плюс `commands.useAccessGroups`. Неавторизовані відправники бачать директиви як звичайний текст. - Лише відправники зі списку дозволених/авторизовані: `/help`, `/commands`, `/status`, `/whoami` (`/id`). + Лише відправники зі списку дозволених/авторизовані відправники: `/help`, `/commands`, `/status`, `/whoami` (`/id`). Вони виконуються негайно, вилучаються до того, як модель побачить повідомлення, а решта тексту продовжує проходити звичайним потоком. @@ -69,29 +69,29 @@ x-i18n: ``` - Вмикає розбір `/...` у повідомленнях чату. На поверхнях без нативних команд (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams) текстові команди все одно працюють, навіть якщо встановити це значення на `false`. + Вмикає розбір `/...` у повідомленнях чату. На поверхнях без нативних команд (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams) текстові команди й далі працюють, навіть якщо встановити це значення в `false`. - Реєструє нативні команди. Auto: увімкнено для Discord/Telegram; вимкнено для Slack (доки ви не додасте slash-команди); ігнорується для провайдерів без нативної підтримки. Встановіть `channels.discord.commands.native`, `channels.telegram.commands.native` або `channels.slack.commands.native`, щоб перевизначити для окремого провайдера (bool або `"auto"`). У Discord значення `false` пропускає реєстрацію slash-команд і очищення під час запуску; раніше зареєстровані команди можуть залишатися видимими, доки ви не видалите їх із застосунку Discord. Команди Slack керуються в застосунку Slack і не видаляються автоматично. + Реєструє нативні команди. Авто: увімкнено для Discord/Telegram; вимкнено для Slack (доки ви не додасте slash-команди); ігнорується для провайдерів без нативної підтримки. Встановіть `channels.discord.commands.native`, `channels.telegram.commands.native` або `channels.slack.commands.native`, щоб перевизначити для окремого провайдера (bool або `"auto"`). У Discord `false` пропускає реєстрацію та очищення slash-команд під час запуску; раніше зареєстровані команди можуть залишатися видимими, доки ви не видалите їх із застосунку Discord. Команди Slack керуються в застосунку Slack і не видаляються автоматично. -У Discord специфікації нативних команд можуть містити `descriptionLocalizations`, які OpenClaw публікує як Discord `description_localizations` і включає до порівнянь узгодження. +У Discord специфікації нативних команд можуть містити `descriptionLocalizations`, які OpenClaw публікує як Discord `description_localizations` і включає в порівняння узгодження. - Реєструє команди **skill** нативно, коли це підтримується. Auto: увімкнено для Discord/Telegram; вимкнено для Slack (Slack вимагає створити slash-команду для кожного skill). Встановіть `channels.discord.commands.nativeSkills`, `channels.telegram.commands.nativeSkills` або `channels.slack.commands.nativeSkills`, щоб перевизначити для окремого провайдера (bool або `"auto"`). + Реєструє команди **Skills** нативно, коли це підтримується. Авто: увімкнено для Discord/Telegram; вимкнено для Slack (Slack вимагає створення slash-команди для кожної Skills). Встановіть `channels.discord.commands.nativeSkills`, `channels.telegram.commands.nativeSkills` або `channels.slack.commands.nativeSkills`, щоб перевизначити для окремого провайдера (bool або `"auto"`). - Вмикає `! ` для запуску команд shell хоста (`/bash ` є псевдонімом; потребує списків дозволених `tools.elevated`). + Вмикає `! ` для запуску команд оболонки хоста (`/bash ` є псевдонімом; потребує списків дозволених `tools.elevated`). - Керує тим, як довго bash чекає перед перемиканням у фоновий режим (`0` одразу переводить у фон). + Керує тим, як довго bash очікує перед перемиканням у фоновий режим (`0` одразу переводить у фон). Вмикає `/config` (читає/записує `openclaw.json`). - Вмикає `/mcp` (читає/записує керовану OpenClaw MCP-конфігурацію в `mcp.servers`). + Вмикає `/mcp` (читає/записує керовану OpenClaw конфігурацію MCP у `mcp.servers`). - Вмикає `/plugins` (виявлення/статус plugin плюс елементи керування встановленням і ввімкненням/вимкненням). + Вмикає `/plugins` (виявлення/стан plugin плюс елементи керування встановленням і ввімкненням/вимкненням). Вмикає `/debug` (перевизначення лише під час виконання). @@ -100,138 +100,139 @@ x-i18n: Вмикає `/restart` плюс дії інструментів перезапуску gateway. - Встановлює явний список дозволених власників для командних/інструментальних поверхонь лише для власника. Це обліковий запис людини-оператора, який може схвалювати небезпечні дії та виконувати команди на кшталт `/diagnostics`, `/export-trajectory` і `/config`. Він окремий від `commands.allowFrom` і від доступу через спарювання DM. + Задає явний список дозволених власників для поверхонь команд/інструментів лише для власника. Це обліковий запис оператора-людини, який може схвалювати небезпечні дії та виконувати команди на кшталт `/diagnostics`, `/export-trajectory` і `/config`. Він відокремлений від `commands.allowFrom` і від доступу через спарювання DM. - Для кожного каналу: змушує команди лише для власника вимагати **ідентичність власника** для запуску на цій поверхні. Коли `true`, відправник має або збігатися з розв’язаним кандидатом власника (наприклад записом у `commands.ownerAllowFrom` або нативними метаданими власника провайдера), або мати внутрішню область `operator.admin` на внутрішньому каналі повідомлень. Запис із wildcard у `allowFrom` каналу або порожній/нерозв’язаний список кандидатів власника **не** є достатнім — команди лише для власника на цьому каналі відхиляються за замовчуванням. Залиште це вимкненим, якщо хочете, щоб команди лише для власника обмежувалися тільки `ownerAllowFrom` і стандартними списками дозволених команд. + Для кожного каналу: змушує команди лише для власника вимагати **ідентичність власника** для запуску на цій поверхні. Коли `true`, відправник має або відповідати розв’язаному кандидату-власнику (наприклад, запису в `commands.ownerAllowFrom` або нативним метаданим власника провайдера), або мати внутрішню область `operator.admin` у внутрішньому каналі повідомлень. Запис із wildcard у `allowFrom` каналу або порожній/нерозв’язаний список кандидатів-власників **не** є достатнім — команди лише для власника на цьому каналі закриваються за замовчуванням. Залиште це вимкненим, якщо хочете, щоб команди лише для власника обмежувалися тільки `ownerAllowFrom` і стандартними списками дозволених команд. - Керує тим, як ідентифікатори власника з’являються в системному prompt. + Керує тим, як ідентифікатори власників з’являються в системному промпті. - Необов’язково встановлює секрет HMAC, який використовується, коли `commands.ownerDisplay="hash"`. + Необов’язково задає секрет HMAC, що використовується, коли `commands.ownerDisplay="hash"`. - Список дозволених для авторизації команд за провайдерами. Коли налаштовано, це єдине джерело авторизації для команд і директив (списки дозволених/спарювання каналу та `commands.useAccessGroups` ігноруються). Використовуйте `"*"` для глобального значення за замовчуванням; ключі конкретних провайдерів перевизначають його. + Список дозволених для авторизації команд за провайдерами. Коли налаштовано, це єдине джерело авторизації для команд і директив (списки дозволених/спарювання каналів і `commands.useAccessGroups` ігноруються). Використовуйте `"*"` для глобального типового значення; ключі конкретних провайдерів перевизначають його. - Застосовує списки дозволених/політики для команд, коли `commands.allowFrom` не встановлено. + Застосовує списки дозволених/політики для команд, коли `commands.allowFrom` не задано. ## Список команд Поточне джерело істини: -- вбудовані core-команди надходять із `src/auto-reply/commands-registry.shared.ts` +- вбудовані команди ядра надходять із `src/auto-reply/commands-registry.shared.ts` - згенеровані dock-команди надходять із `src/auto-reply/commands-registry.data.ts` -- plugin-команди надходять із викликів plugin `registerCommand()` -- фактична доступність на вашому gateway все одно залежить від прапорців конфігурації, поверхні каналу та встановлених/увімкнених plugins +- команди plugin надходять із викликів plugin `registerCommand()` +- фактична доступність на вашому gateway усе одно залежить від прапорців конфігурації, поверхні каналу та встановлених/увімкнених plugin -### Вбудовані core-команди +### Вбудовані команди ядра - `/new [model]` запускає нову сесію; `/reset` є псевдонімом скидання. - - Control UI перехоплює введене `/new`, щоб створити й перемкнутися на нову сесію панелі; введене `/reset` все одно виконує скидання Gateway на місці. - - `/reset soft [message]` зберігає поточний транскрипт, відкидає повторно використані ідентифікатори сесій CLI backend і повторно запускає завантаження startup/system-prompt на місці. + - Control UI перехоплює введене `/new`, щоб створити й перемкнутися на свіжу сесію dashboard; введене `/reset` і далі виконує скидання Gateway на місці. + - `/reset soft [message]` зберігає поточний transcript, відкидає повторно використані ідентифікатори сесій backend CLI і повторно запускає завантаження startup/system-prompt на місці. - `/compact [instructions]` стискає контекст сесії. Див. [Compaction](/uk/concepts/compaction). - `/stop` перериває поточний запуск. - - `/session idle ` і `/session max-age ` керують завершенням прив’язки треду. + - `/session idle ` і `/session max-age ` керують завершенням терміну дії прив’язки потоку. - `/export-session [path]` експортує поточну сесію в HTML. Псевдонім: `/export`. - - `/export-trajectory [path]` запитує схвалення exec, а потім експортує JSONL [trajectory bundle](/uk/tools/trajectory) для поточної сесії. Використовуйте це, коли вам потрібна часова шкала prompt, інструментів і транскрипту для однієї сесії OpenClaw. У групових чатах prompt схвалення та результат експорту надсилаються власнику приватно. Псевдонім: `/trajectory`. + - `/export-trajectory [path]` запитує схвалення exec, а потім експортує JSONL [пакет траєкторії](/uk/tools/trajectory) для поточної сесії. Використовуйте це, коли потрібна хронологія prompt, інструментів і transcript для однієї сесії OpenClaw. У групових чатах prompt схвалення та результат експорту надсилаються власнику приватно. Псевдонім: `/trajectory`. - - - `/think ` встановлює рівень мислення. Опції надходять із профілю провайдера активної моделі; поширені рівні: `off`, `minimal`, `low`, `medium` і `high`, а користувацькі рівні, як-от `xhigh`, `adaptive`, `max`, або бінарний `on`, доступні лише там, де підтримуються. Псевдоніми: `/thinking`, `/t`. + + - `/think ` задає рівень thinking. Варіанти надходять із профілю провайдера активної моделі; поширені рівні: `off`, `minimal`, `low`, `medium` і `high`, із власними рівнями на кшталт `xhigh`, `adaptive`, `max` або бінарним `on` лише там, де підтримується. Псевдоніми: `/thinking`, `/t`. - `/verbose on|off|full` перемикає докладний вивід. Псевдонім: `/v`. - - `/trace on|off` перемикає трасувальний вивід plugin для поточної сесії. - - `/fast [status|on|off]` показує або встановлює швидкий режим. + - `/trace on|off` перемикає вивід trace plugin для поточної сесії. + - `/fast [status|on|off]` показує або задає швидкий режим. - `/reasoning [on|off|stream]` перемикає видимість reasoning. Псевдонім: `/reason`. - - `/elevated [on|off|ask|full]` перемикає підвищений режим. Псевдонім: `/elev`. - - `/exec host= security= ask= node=` показує або встановлює типові значення exec. - - `/model [name|#|status]` показує або встановлює модель. - - `/models [provider] [page] [limit=|size=|all]` перелічує налаштованих/доступних через автентифікацію провайдерів або моделі для провайдера; додайте `all`, щоб переглянути повний каталог цього провайдера. - - `/queue ` керує поведінкою черги (`steer`, застаріле `queue`, `followup`, `collect`, `steer-backlog`, `interrupt`) плюс опціями на кшталт `debounce:0.5s cap:25 drop:summarize`; `/queue default` або `/queue reset` очищає перевизначення сесії. Див. [Command queue](/uk/concepts/queue) і [Steering queue](/uk/concepts/queue-steering). + - `/elevated [on|off|ask|full]` перемикає elevated-режим. Псевдонім: `/elev`. + - `/exec host= security= ask= node=` показує або задає типові значення exec. + - `/model [name|#|status]` показує або задає модель. + - `/models [provider] [page] [limit=|size=|all]` перелічує налаштованих/доступних через auth провайдерів або моделі для провайдера; додайте `all`, щоб переглянути повний catalog цього провайдера. + - `/queue ` керує поведінкою черги (`steer`, legacy `queue`, `followup`, `collect`, `steer-backlog`, `interrupt`) плюс параметри на кшталт `debounce:0.5s cap:25 drop:summarize`; `/queue default` або `/queue reset` очищає перевизначення сесії. Див. [Черга команд](/uk/concepts/queue) і [Steering-черга](/uk/concepts/queue-steering). + - `/steer ` вводить guidance в активний запуск для поточної сесії, незалежно від режиму `/queue`. Вона не запускає новий запуск, коли сесія idle. Псевдонім: `/tell`. - + - `/help` показує короткий підсумок довідки. - - `/commands` показує згенерований каталог команд. - - `/tools [compact|verbose]` показує, що поточний агент може використовувати прямо зараз. - - `/status` показує статус виконання/runtime, включно з мітками `Execution`/`Runtime` і використанням/квотою провайдера, коли доступно. - - `/diagnostics [note]` — це потік звіту підтримки лише для власника для помилок Gateway і запусків Codex harness. Він щоразу запитує явне схвалення exec перед запуском `openclaw gateway diagnostics export --json`; не схвалюйте діагностику правилом allow-all. Після схвалення він надсилає звіт, який можна вставити, з локальним шляхом bundle, підсумком manifest, примітками про приватність і релевантними ідентифікаторами сесій. У групових чатах prompt схвалення та звіт надсилаються власнику приватно. Коли активна сесія використовує OpenAI Codex harness, те саме схвалення також надсилає релевантний відгук Codex на сервери OpenAI, а завершена відповідь перелічує ідентифікатори сесій OpenClaw, ідентифікатори тредів Codex і команди `codex resume `. Див. [Експорт діагностики](/uk/gateway/diagnostics). - - `/crestodian ` запускає помічник налаштування та ремонту Crestodian з DM власника. - - `/tasks` перелічує активні/недавні фонові завдання для поточної сесії. + - `/commands` показує згенерований catalog команд. + - `/tools [compact|verbose]` показує, що поточний агент може використовувати саме зараз. + - `/status` показує стан виконання/середовища виконання, включно з мітками `Execution`/`Runtime` і використанням/квотою провайдера, коли доступно. + - `/diagnostics [note]` — це потік звіту підтримки лише для власника для помилок Gateway і запусків обв’язки Codex. Він щоразу запитує явне схвалення exec перед запуском `openclaw gateway diagnostics export --json`; не схвалюйте diagnostics правилом allow-all. Після схвалення він надсилає звіт, який можна вставити, з локальним шляхом bundle, підсумком manifest, примітками щодо приватності та відповідними ідентифікаторами сесій. У групових чатах prompt схвалення та звіт надсилаються власнику приватно. Коли активна сесія використовує обв’язку OpenAI Codex, те саме схвалення також надсилає релевантний відгук Codex на сервери OpenAI, а завершена відповідь перелічує ідентифікатори сесій OpenClaw, ідентифікатори потоків Codex і команди `codex resume `. Див. [Експорт diagnostics](/uk/gateway/diagnostics). + - `/crestodian ` запускає помічник налаштування й ремонту Crestodian з DM власника. + - `/tasks` перелічує активні/нещодавні фонові завдання для поточної сесії. - `/context [list|detail|json]` пояснює, як збирається контекст. - - `/whoami` показує ваш ідентифікатор відправника. Псевдонім: `/id`. - - `/usage off|tokens|full|cost` керує футером використання для кожної відповіді або друкує локальний підсумок вартості. + - `/whoami` показує ваш sender id. Псевдонім: `/id`. + - `/usage off|tokens|full|cost` керує footer використання для кожної відповіді або друкує локальний підсумок cost. - - `/skill [input]` запускає skill за назвою. + - `/skill [input]` запускає Skills за назвою. - `/allowlist [list|add|remove] ...` керує записами списку дозволених. Лише текст. - - `/approve ` розв’язує prompts схвалення exec. + - `/approve ` вирішує prompts схвалення exec. - `/btw ` ставить побічне запитання без зміни майбутнього контексту сесії. Псевдонім: `/side`. Див. [BTW](/uk/tools/btw). - - - `/subagents list|kill|log|info|send|steer|spawn` керує запусками під-агентів для поточного сеансу. - - `/acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|help` керує сеансами ACP і параметрами runtime. - - `/focus ` прив’язує поточну гілку Discord або тему/розмову Telegram до цілі сеансу. + + - `/subagents list|kill|log|info|send|steer|spawn` керує запусками субагентів для поточного сеансу. + - `/acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|help` керує сеансами ACP і параметрами середовища виконання. + - `/focus ` прив’язує поточний потік Discord або тему/розмову Telegram до цілі сеансу. - `/unfocus` видаляє поточну прив’язку. - - `/agents` показує агентів, прив’язаних до гілки, для поточного сеансу. - - `/kill ` перериває одного або всіх запущених під-агентів. - - `/steer ` надсилає керування запущеному під-агенту. Псевдонім: `/tell`. + - `/agents` виводить агентів, прив’язаних до потоку, для поточного сеансу. + - `/kill ` перериває одного або всіх запущених субагентів. + - `/subagents steer ` надсилає керування запущеному субагенту. - - - `/config show|get|set|unset` читає або записує `openclaw.json`. Лише для власника. Потребує `commands.config: true`. - - `/mcp show|get|set|unset` читає або записує конфігурацію MCP-сервера, керовану OpenClaw, у `mcp.servers`. Лише для власника. Потребує `commands.mcp: true`. - - `/plugins list|inspect|show|get|install|enable|disable` перевіряє або змінює стан плагінів. `/plugin` є псевдонімом. Запис лише для власника. Потребує `commands.plugins: true`. - - `/debug show|set|unset|reset` керує runtime-перевизначеннями конфігурації. Лише для власника. Потребує `commands.debug: true`. - - `/restart` перезапускає OpenClaw, якщо ввімкнено. За замовчуванням: увімкнено; установіть `commands.restart: false`, щоб вимкнути це. - - `/send on|off|inherit` установлює політику надсилання. Лише для власника. + + - `/config show|get|set|unset` читає або записує `openclaw.json`. Лише для власника. Потрібно `commands.config: true`. + - `/mcp show|get|set|unset` читає або записує конфігурацію сервера MCP, якою керує OpenClaw, у `mcp.servers`. Лише для власника. Потрібно `commands.mcp: true`. + - `/plugins list|inspect|show|get|install|enable|disable` перевіряє або змінює стан plugin. `/plugin` є псевдонімом. Запис лише для власника. Потрібно `commands.plugins: true`. + - `/debug show|set|unset|reset` керує перевизначеннями конфігурації лише для середовища виконання. Лише для власника. Потрібно `commands.debug: true`. + - `/restart` перезапускає OpenClaw, коли ввімкнено. Типово: ввімкнено; задайте `commands.restart: false`, щоб вимкнути. + - `/send on|off|inherit` задає політику надсилання. Лише для власника. - + - `/tts on|off|status|chat|latest|provider|limit|summary|audio|help` керує TTS. Див. [TTS](/uk/tools/tts). - - `/activation mention|always` установлює режим активації групи. - - `/bash ` запускає команду оболонки хоста. Лише текст. Псевдонім: `! `. Потребує `commands.bash: true` плюс списків дозволів `tools.elevated`. + - `/activation mention|always` задає режим активації групи. + - `/bash ` запускає команду оболонки хоста. Лише текст. Псевдонім: `! `. Потрібно `commands.bash: true` плюс allowlists `tools.elevated`. - `!poll [sessionId]` перевіряє фонове завдання bash. - `!stop [sessionId]` зупиняє фонове завдання bash. -### Згенеровані команди докування +### Згенеровані команди закріплення -Команди докування перемикають маршрут відповіді поточного сеансу на інший пов’язаний -канал. Див. [Докування каналів](/uk/concepts/channel-docking), щоб налаштувати, -переглянути приклади й усунути несправності. +Команди закріплення перемикають маршрут відповіді поточного сеансу на інший пов’язаний +канал. Див. [Закріплення каналів](/uk/concepts/channel-docking) для налаштування, +прикладів і усунення несправностей. -Команди докування генеруються з плагінів каналів із підтримкою нативних команд. Поточний вбудований набір: +Команди закріплення генеруються з plugin каналів із підтримкою нативних команд. Поточний вбудований набір: - `/dock-discord` (псевдонім: `/dock_discord`) - `/dock-mattermost` (псевдонім: `/dock_mattermost`) - `/dock-slack` (псевдонім: `/dock_slack`) - `/dock-telegram` (псевдонім: `/dock_telegram`) -Використовуйте команди докування з прямого чату, щоб перемкнути маршрут відповіді поточного сеансу на інший пов’язаний канал. Агент зберігає той самий контекст сеансу, але майбутні відповіді для цього сеансу доставляються вибраному співрозмовнику каналу. +Використовуйте команди закріплення з прямого чату, щоб перемкнути маршрут відповіді поточного сеансу на інший пов’язаний канал. Агент зберігає той самий контекст сеансу, але майбутні відповіді для цього сеансу доставляються вибраному учаснику каналу. -Команди докування потребують `session.identityLinks`. Відправник-джерело й цільовий співрозмовник мають бути в одній групі ідентичності, наприклад `["telegram:123", "discord:456"]`. Якщо користувач Telegram з id `123` надсилає `/dock_discord`, OpenClaw зберігає `lastChannel: "discord"` і `lastTo: "456"` в активному сеансі. Якщо відправника не пов’язано зі співрозмовником Discord, команда відповідає підказкою з налаштування замість переходу до звичайного чату. +Команди закріплення потребують `session.identityLinks`. Відправник-джерело та цільовий учасник мають бути в одній групі ідентичностей, наприклад `["telegram:123", "discord:456"]`. Якщо користувач Telegram з id `123` надсилає `/dock_discord`, OpenClaw зберігає `lastChannel: "discord"` і `lastTo: "456"` в активному сеансі. Якщо відправника не пов’язано з учасником Discord, команда відповідає підказкою з налаштування замість переходу до звичайного чату. -Докування змінює лише маршрут активного сеансу. Воно не створює облікові записи каналів, не надає доступ, не обходить списки дозволів каналу й не переносить історію стенограми до іншого сеансу. Використовуйте `/dock-telegram`, `/dock-slack`, `/dock-mattermost` або іншу згенеровану команду докування, щоб знову перемкнути маршрут. +Закріплення змінює лише маршрут активного сеансу. Воно не створює облікові записи каналів, не надає доступ, не обходить allowlists каналів і не переносить історію транскрипту до іншого сеансу. Використовуйте `/dock-telegram`, `/dock-slack`, `/dock-mattermost` або іншу згенеровану команду закріплення, щоб знову перемкнути маршрут. -### Команди вбудованих плагінів +### Команди вбудованих plugin -Вбудовані плагіни можуть додавати більше slash-команд. Поточні вбудовані команди в цьому репозиторії: +Вбудовані plugins можуть додавати більше slash-команд. Поточні вбудовані команди в цьому репозиторії: -- `/dreaming [on|off|status|help]` перемикає Dreaming пам’яті. Див. [Dreaming](/uk/concepts/dreaming). +- `/dreaming [on|off|status|help]` перемикає dreaming пам’яті. Див. [Dreaming](/uk/concepts/dreaming). - `/pair [qr|status|pending|approve|cleanup|notify]` керує потоком сполучення/налаштування пристрою. Див. [Сполучення](/uk/channels/pairing). -- `/phone status|arm [duration]|disarm` тимчасово озброює високоризикові команди телефонного вузла. +- `/phone status|arm [duration]|disarm` тимчасово активує високоризикові команди телефонного вузла. - `/voice status|list [limit]|set ` керує конфігурацією голосу Talk. У Discord назва нативної команди — `/talkvoice`. -- `/card ...` надсилає пресети rich card LINE. Див. [LINE](/uk/channels/line). -- `/codex status|models|threads|resume|compact|review|diagnostics|account|mcp|skills` перевіряє й керує вбудованим harness app-server Codex. Див. [Harness Codex](/uk/plugins/codex-harness). +- `/card ...` надсилає пресети насичених карток LINE. Див. [LINE](/uk/channels/line). +- `/codex status|models|threads|resume|compact|review|diagnostics|account|mcp|skills` перевіряє та керує вбудованим app-server harness Codex. Див. [Harness Codex](/uk/plugins/codex-harness). - Команди лише для QQBot: - `/bot-ping` - `/bot-version` @@ -241,88 +242,88 @@ x-i18n: ### Динамічні команди Skills -Skills, доступні для виклику користувачем, також відкриваються як slash-команди: +Skills, які може викликати користувач, також доступні як slash-команди: -- `/skill [input]` завжди працює як загальна точка входу. -- Skills також можуть з’являтися як прямі команди, наприклад `/prose`, коли skill/plugin їх реєструє. -- реєстрація нативних команд Skills керується `commands.nativeSkills` і `channels..commands.nativeSkills`. +- `/skill [input]` завжди працює як універсальна точка входу. +- skills також можуть з’являтися як прямі команди, наприклад `/prose`, коли skill/plugin їх реєструє. +- реєстрація нативних команд skills керується `commands.nativeSkills` і `channels..commands.nativeSkills`. - специфікації команд можуть надавати `descriptionLocalizations` для нативних поверхонь, які підтримують локалізовані описи, зокрема Discord. - - - Команди приймають необов’язковий `:` між командою й аргументами (наприклад, `/think: high`, `/send: on`, `/help:`). - - `/new ` приймає псевдонім моделі, `provider/model` або назву провайдера (нечіткий збіг); якщо збігу немає, текст розглядається як тіло повідомлення. - - Для повного розподілу використання за провайдерами використовуйте `openclaw status --usage`. + + - Команди приймають необов’язковий `:` між командою та аргументами (наприклад, `/think: high`, `/send: on`, `/help:`). + - `/new ` приймає псевдонім моделі, `provider/model` або назву провайдера (нечіткий збіг); якщо збігу немає, текст обробляється як тіло повідомлення. + - Для повного розподілу використання провайдера застосовуйте `openclaw status --usage`. - `/allowlist add|remove` потребує `commands.config=true` і враховує `configWrites` каналу. - - У багатокористувацьких каналах `/allowlist --account ` із ціллю конфігурації та `/config set channels..accounts....` також враховують `configWrites` цільового облікового запису. - - `/usage` керує футером використання для кожної відповіді; `/usage cost` друкує локальний підсумок вартості з журналів сеансів OpenClaw. - - `/restart` увімкнено за замовчуванням; установіть `commands.restart: false`, щоб вимкнути це. - - `/plugins install ` приймає ті самі специфікації плагінів, що й `openclaw plugins install`: локальний шлях/архів, npm-пакет, `git:` або `clawhub:`, а потім запитує перезапуск Gateway, бо вихідні модулі плагіна змінилися. - - `/plugins enable|disable` оновлює конфігурацію плагінів і запускає перезавантаження плагінів Gateway для нових ходів агента. + - У багатооблікових каналах `/allowlist --account `, націлений на конфігурацію, і `/config set channels..accounts....` також враховують `configWrites` цільового облікового запису. + - `/usage` керує нижнім колонтитулом використання для кожної відповіді; `/usage cost` друкує локальний підсумок вартості з журналів сеансів OpenClaw. + - `/restart` увімкнено типово; задайте `commands.restart: false`, щоб вимкнути. + - `/plugins install ` приймає ті самі специфікації plugin, що й `openclaw plugins install`: локальний шлях/архів, npm-пакет, `git:` або `clawhub:`, а потім запитує перезапуск Gateway, оскільки вихідні модулі plugin змінилися. + - `/plugins enable|disable` оновлює конфігурацію plugin і запускає перезавантаження plugin Gateway для нових ходів агента. - - - Нативна команда лише для Discord: `/vc join|leave|status` керує голосовими каналами (недоступна як текст). `join` потребує guild і вибраного voice/stage-каналу. Потребує `channels.discord.voice` і нативних команд. - - Команди прив’язки гілок Discord (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age`) потребують увімкнених ефективних прив’язок гілок (`session.threadBindings.enabled` та/або `channels.discord.threadBindings.enabled`). - - Довідник команд ACP і runtime-поведінка: [Агенти ACP](/uk/tools/acp-agents). + + - Нативна команда лише для Discord: `/vc join|leave|status` керує голосовими каналами (недоступна як текст). `join` потребує guild і вибраного voice/stage channel. Потрібні `channels.discord.voice` і нативні команди. + - Команди прив’язки потоків Discord (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age`) потребують увімкнених ефективних прив’язок потоків (`session.threadBindings.enabled` та/або `channels.discord.threadBindings.enabled`). + - Довідник команд ACP і поведінка середовища виконання: [Агенти ACP](/uk/tools/acp-agents). - - - `/verbose` призначено для налагодження й додаткової видимості; тримайте його **вимкненим** під час звичайного використання. - - `/trace` вужчий за `/verbose`: він показує лише trace/debug-рядки, якими володіє плагін, і залишає звичайний докладний шум інструментів вимкненим. - - `/fast on|off` зберігає перевизначення сеансу. Використовуйте параметр `inherit` в UI Sessions, щоб очистити його й повернутися до стандартних значень конфігурації. - - `/fast` залежить від провайдера: OpenAI/OpenAI Codex зіставляють його з `service_tier=priority` на нативних кінцевих точках Responses, тоді як прямі публічні запити Anthropic, зокрема OAuth-автентифікований трафік, надісланий до `api.anthropic.com`, зіставляють його з `service_tier=auto` або `standard_only`. Див. [OpenAI](/uk/providers/openai) і [Anthropic](/uk/providers/anthropic). - - Підсумки збоїв інструментів усе ще показуються, коли це доречно, але докладний текст збою включається лише коли `/verbose` має значення `on` або `full`. - - `/reasoning`, `/verbose` і `/trace` ризиковані в групових налаштуваннях: вони можуть розкрити внутрішнє міркування, вивід інструментів або діагностику плагінів, які ви не планували показувати. Краще залишати їх вимкненими, особливо в групових чатах. + + - `/verbose` призначено для налагодження та додаткової видимості; у звичайному використанні тримайте його **вимкненим**. + - `/trace` вужчий за `/verbose`: він показує лише рядки trace/debug, що належать plugin, і залишає звичайний verbose-шум інструментів вимкненим. + - `/fast on|off` зберігає перевизначення сеансу. Використовуйте опцію `inherit` в UI Sessions, щоб очистити його й повернутися до типових значень конфігурації. + - `/fast` залежить від провайдера: OpenAI/OpenAI Codex зіставляють його з `service_tier=priority` на нативних Responses endpoints, тоді як прямі публічні запити Anthropic, зокрема трафік, автентифікований через OAuth і надісланий до `api.anthropic.com`, зіставляють його з `service_tier=auto` або `standard_only`. Див. [OpenAI](/uk/providers/openai) і [Anthropic](/uk/providers/anthropic). + - Підсумки збоїв інструментів усе ще показуються, коли це доречно, але детальний текст збою включається лише коли `/verbose` має значення `on` або `full`. + - `/reasoning`, `/verbose` і `/trace` ризиковані в групових налаштуваннях: вони можуть розкрити внутрішні міркування, вивід інструментів або діагностику plugin, які ви не мали наміру показувати. Краще залишати їх вимкненими, особливо в групових чатах. - + - `/model` негайно зберігає нову модель сеансу. - - Якщо агент простоює, наступний запуск одразу її використовує. - - Якщо запуск уже активний, OpenClaw позначає live-перемикання як очікуване й перезапускається в нову модель лише в чистій точці повторної спроби. + - Якщо агент простоює, наступний запуск використовує її відразу. + - Якщо запуск уже активний, OpenClaw позначає live-перемикання як очікуване й перезапускає нову модель лише в чистій точці повторної спроби. - Якщо активність інструментів або вивід відповіді вже почалися, очікуване перемикання може залишатися в черзі до пізнішої можливості повторної спроби або наступного ходу користувача. - - У локальному TUI `/crestodian [request]` повертає зі звичайного TUI агента до Crestodian. Це окремо від rescue mode каналу повідомлень і не надає віддалених прав на конфігурацію. + - У локальному TUI `/crestodian [request]` повертає зі звичайного TUI агента до Crestodian. Це окремо від режиму порятунку каналу повідомлень і не надає віддалених повноважень конфігурації. - - - **Швидкий шлях:** повідомлення, що містять лише команди, від відправників зі списку дозволів обробляються негайно (обхід черги + моделі). - - **Обмеження згадок у групі:** повідомлення, що містять лише команди, від відправників зі списку дозволів обходять вимоги до згадок. - - **Вбудовані скорочення (лише відправники зі списку дозволів):** певні команди також працюють, коли вбудовані у звичайне повідомлення, і вилучаються перед тим, як модель побачить решту тексту. - - Приклад: `hey /status` запускає відповідь зі статусом, а решта тексту продовжує проходити звичайним потоком. + + - **Швидкий шлях:** повідомлення лише з командами від відправників з allowlist обробляються негайно (обхід черги + моделі). + - **Фільтрація згадок у групах:** повідомлення лише з командами від відправників з allowlist обходять вимоги щодо згадок. + - **Вбудовані скорочення (лише відправники з allowlist):** певні команди також працюють, коли вбудовані у звичайне повідомлення, і вилучаються до того, як модель побачить решту тексту. + - Приклад: `hey /status` запускає відповідь зі статусом, а решта тексту продовжує звичайний потік. - Наразі: `/help`, `/commands`, `/status`, `/whoami` (`/id`). - - Несанкціоновані повідомлення, що містять лише команди, мовчки ігноруються, а вбудовані токени `/...` розглядаються як звичайний текст. + - Несанкціоновані повідомлення лише з командами мовчки ігноруються, а вбудовані токени `/...` обробляються як звичайний текст. - - - **Команди Skills:** Skills із `user-invocable` відкриваються як slash-команди. Назви нормалізуються до `a-z0-9_` (макс. 32 символи); колізії отримують числові суфікси (наприклад, `_2`). - - `/skill [input]` запускає Skills за назвою (корисно, коли обмеження нативних команд не дозволяють команди для кожного skill). - - За замовчуванням команди Skills пересилаються до моделі як звичайний запит. - - Skills можуть необов’язково оголосити `command-dispatch: tool`, щоб спрямувати команду безпосередньо до інструмента (детерміновано, без моделі). - - Приклад: `/prose` (плагін OpenProse) — див. [OpenProse](/uk/prose). - - **Аргументи нативних команд:** Discord використовує автозаповнення для динамічних параметрів (і меню кнопок, коли ви пропускаєте обов’язкові аргументи). Telegram і Slack показують меню кнопок, коли команда підтримує варіанти, а ви пропускаєте аргумент. Динамічні варіанти розв’язуються відносно моделі цільового сеансу, тому специфічні для моделі параметри, як-от рівні `/think`, наслідують перевизначення `/model` цього сеансу. + + - **Команди Skills:** skills `user-invocable` доступні як slash-команди. Назви санітизуються до `a-z0-9_` (макс. 32 символи); колізії отримують числові суфікси (наприклад, `_2`). + - `/skill [input]` запускає skill за назвою (корисно, коли обмеження нативних команд не дозволяють окремі команди для кожного skill). + - Типово команди skills пересилаються до моделі як звичайний запит. + - Skills можуть необов’язково оголошувати `command-dispatch: tool`, щоб маршрутизувати команду безпосередньо до інструмента (детерміновано, без моделі). + - Приклад: `/prose` (plugin OpenProse) — див. [OpenProse](/uk/prose). + - **Аргументи нативних команд:** Discord використовує автодоповнення для динамічних опцій (і меню кнопок, коли ви пропускаєте обов’язкові аргументи). Telegram і Slack показують меню кнопок, коли команда підтримує варіанти вибору, а ви пропускаєте аргумент. Динамічні варіанти обчислюються відносно цільової моделі сеансу, тому специфічні для моделі опції, як-от рівні `/think`, дотримуються перевизначення `/model` цього сеансу. ## `/tools` -`/tools` відповідає на runtime-запитання, а не на запитання конфігурації: **що цей агент може використовувати прямо зараз у цій розмові**. +`/tools` відповідає на питання про середовище виконання, а не про конфігурацію: **що цей агент може використовувати прямо зараз у цій розмові**. - Типовий `/tools` компактний і оптимізований для швидкого перегляду. - `/tools verbose` додає короткі описи. -- Поверхні нативних команд, які підтримують аргументи, відкривають той самий перемикач режиму `compact|verbose`. -- Результати мають область дії сеансу, тому зміна агента, каналу, гілки, авторизації відправника або моделі може змінити вивід. -- `/tools` включає інструменти, які фактично доступні під час runtime, зокрема основні інструменти, підключені інструменти плагінів та інструменти, якими володіє канал. +- Поверхні нативних команд, що підтримують аргументи, надають той самий перемикач режиму `compact|verbose`. +- Результати прив’язані до сеансу, тому зміна агента, каналу, потоку, авторизації відправника або моделі може змінити вивід. +- `/tools` включає інструменти, які фактично доступні під час виконання, зокрема основні інструменти, підключені інструменти plugin та інструменти, що належать каналу. -Для редагування профілів і перевизначень використовуйте панель Tools у Control UI або поверхні config/catalog замість того, щоб сприймати `/tools` як статичний каталог. +Для редагування профілів і перевизначень використовуйте панель Tools у Control UI або поверхні конфігурації/каталогу, а не сприймайте `/tools` як статичний каталог. ## Поверхні використання (що де показується) -- **Використання/квота провайдера** (приклад: "Claude 80% left") відображається в `/status` для поточного провайдера моделей, коли відстеження використання ввімкнене. OpenClaw нормалізує вікна провайдера до `% left`; для MiniMax поля відсотків лише із залишком інвертуються перед показом, а відповіді `model_remains` надають перевагу запису чат-моделі разом із міткою плану з тегом моделі. -- **Рядки токенів/кешу** у `/status` можуть повертатися до останнього запису використання з транскрипту, коли знімок живої сесії розріджений. Наявні ненульові живі значення все ще мають пріоритет, а fallback із транскрипту також може відновити мітку активної runtime-моделі плюс більший prompt-орієнтований підсумок, коли збережені підсумки відсутні або менші. -- **Виконання vs runtime:** `/status` повідомляє `Execution` для ефективного шляху sandbox і `Runtime` для того, хто фактично запускає сесію: `OpenClaw Pi Default`, `OpenAI Codex`, CLI backend або ACP backend. -- **Токени/вартість за відповідь** керуються `/usage off|tokens|full` (додається до звичайних відповідей). -- `/model status` стосується **моделей/auth/endpoints**, а не використання. +- **Використання/квота провайдера** (приклад: "Claude 80% left") відображається в `/status` для поточного провайдера моделі, коли ввімкнено відстеження використання. OpenClaw нормалізує вікна провайдера до `% left`; для MiniMax поля відсотків лише із залишком інвертуються перед показом, а відповіді `model_remains` надають перевагу запису чат-моделі плюс позначці плану з тегом моделі. +- **Рядки токенів/кешу** в `/status` можуть відступати до останнього запису використання з транскрипта, коли live-знімок сесії неповний. Наявні ненульові live-значення все одно мають пріоритет, а відступ до транскрипта також може відновити мітку активної runtime-моделі плюс більший prompt-орієнтований підсумок, коли збережені підсумки відсутні або менші. +- **Виконання проти runtime:** `/status` повідомляє `Execution` для ефективного шляху пісочниці та `Runtime` для того, хто фактично запускає сесію: `OpenClaw Pi Default`, `OpenAI Codex`, CLI-бекенд або ACP-бекенд. +- **Токени/вартість на відповідь** керуються `/usage off|tokens|full` (додається до звичайних відповідей). +- `/model status` стосується **моделей/автентифікації/ендпоїнтів**, а не використання. ## Вибір моделі (`/model`) @@ -342,13 +343,13 @@ Skills, доступні для виклику користувачем, так Примітки: - `/model` і `/model list` показують компактний нумерований вибір (сімейство моделей + доступні провайдери). -- У Discord `/model` і `/models` відкривають інтерактивний вибір із dropdown-полями провайдера й моделі та кроком Submit. +- У Discord `/model` і `/models` відкривають інтерактивний вибір зі спадними списками провайдера й моделі плюс кроком «Надіслати». - `/model <#>` вибирає з цього списку (і за можливості надає перевагу поточному провайдеру). -- `/model status` показує детальний вигляд, включно з налаштованим endpoint провайдера (`baseUrl`) і API-режимом (`api`), коли вони доступні. +- `/model status` показує детальний вигляд, зокрема налаштований ендпоїнт провайдера (`baseUrl`) і режим API (`api`), коли вони доступні. -## Debug-перевизначення +## Перевизначення для налагодження -`/debug` дає змогу задавати **лише runtime** перевизначення конфігурації (у пам’яті, не на диску). Лише для власника. За замовчуванням вимкнено; увімкніть через `commands.debug: true`. +`/debug` дає змогу задавати **лише runtime** перевизначення конфігурації (у памʼяті, не на диску). Тільки для власника. Вимкнено за замовчуванням; увімкніть через `commands.debug: true`. Приклади: @@ -366,7 +367,7 @@ Skills, доступні для виклику користувачем, так ## Вивід трасування Plugin -`/trace` дає змогу перемикати **рядки трасування/debug плагіна в межах сесії** без увімкнення повного verbose-режиму. +`/trace` дає змогу перемикати **привʼязані до сесії рядки трасування/налагодження plugin** без увімкнення повного докладного режиму. Приклади: @@ -379,15 +380,15 @@ Skills, доступні для виклику користувачем, так Примітки: - `/trace` без аргументу показує поточний стан трасування сесії. -- `/trace on` вмикає рядки трасування плагіна для поточної сесії. +- `/trace on` вмикає рядки трасування plugin для поточної сесії. - `/trace off` знову вимикає їх. -- Рядки трасування плагіна можуть з’являтися в `/status` і як подальше діагностичне повідомлення після звичайної відповіді асистента. +- Рядки трасування plugin можуть зʼявлятися в `/status` і як подальше діагностичне повідомлення після звичайної відповіді асистента. - `/trace` не замінює `/debug`; `/debug` і далі керує лише runtime перевизначеннями конфігурації. -- `/trace` не замінює `/verbose`; звичайний verbose-вивід інструментів/status і далі належить до `/verbose`. +- `/trace` не замінює `/verbose`; звичайний докладний вивід інструментів/стану все ще належить до `/verbose`. ## Оновлення конфігурації -`/config` записує у вашу конфігурацію на диску (`openclaw.json`). Лише для власника. За замовчуванням вимкнено; увімкніть через `commands.config: true`. +`/config` записує у вашу конфігурацію на диску (`openclaw.json`). Тільки для власника. Вимкнено за замовчуванням; увімкніть через `commands.config: true`. Приклади: @@ -405,7 +406,7 @@ Skills, доступні для виклику користувачем, так ## Оновлення MCP -`/mcp` записує керовані OpenClaw визначення MCP-серверів у `mcp.servers`. Лише для власника. За замовчуванням вимкнено; увімкніть через `commands.mcp: true`. +`/mcp` записує керовані OpenClaw визначення MCP-серверів у `mcp.servers`. Тільки для власника. Вимкнено за замовчуванням; увімкніть через `commands.mcp: true`. Приклади: @@ -417,12 +418,12 @@ Skills, доступні для виклику користувачем, так ``` -`/mcp` зберігає конфігурацію в конфігурації OpenClaw, а не в налаштуваннях проєкту, що належать Pi. Runtime-адаптери вирішують, які транспорти фактично виконувані. +`/mcp` зберігає конфігурацію в конфігурації OpenClaw, а не в налаштуваннях проєкту, що належать Pi. Runtime-адаптери вирішують, які транспорти фактично можна виконати. ## Оновлення Plugin -`/plugins` дає операторам змогу переглядати виявлені плагіни й перемикати ввімкнення в конфігурації. Read-only потоки можуть використовувати `/plugin` як alias. За замовчуванням вимкнено; увімкніть через `commands.plugins: true`. +`/plugins` дає операторам змогу переглядати виявлені plugins і перемикати ввімкнення в конфігурації. Потоки лише для читання можуть використовувати `/plugin` як псевдонім. Вимкнено за замовчуванням; увімкніть через `commands.plugins: true`. Приклади: @@ -435,10 +436,10 @@ Skills, доступні для виклику користувачем, так ``` -- `/plugins list` і `/plugins show` використовують справжнє виявлення плагінів у поточному workspace разом із конфігурацією на диску. +- `/plugins list` і `/plugins show` використовують справжнє виявлення plugin для поточного робочого простору плюс конфігурацію на диску. - `/plugins install` встановлює з ClawHub, npm, git, локальних каталогів і архівів. -- `/plugins enable|disable` оновлює лише конфігурацію плагіна; це не встановлює й не видаляє плагіни. -- Зміни ввімкнення й вимкнення hot-reload runtime-поверхні плагінів Gateway для нових ходів агента; встановлення запитує перезапуск Gateway, бо змінилися source-модулі плагіна. +- `/plugins enable|disable` оновлює лише конфігурацію plugin; це не встановлює й не видаляє plugins. +- Зміни ввімкнення та вимкнення гаряче перезавантажують runtime-поверхні plugin Gateway для нових ходів агента; встановлення запитує перезапуск Gateway, бо вихідні модулі plugin змінилися. @@ -446,35 +447,35 @@ Skills, доступні для виклику користувачем, так - - **Текстові команди** виконуються у звичайній чат-сесії (DM спільно використовують `main`, групи мають власну сесію). + - **Текстові команди** виконуються у звичайній чат-сесії (приватні повідомлення спільно використовують `main`, групи мають власну сесію). - **Нативні команди** використовують ізольовані сесії: - Discord: `agent::discord:slash:` - Slack: `agent::slack:slash:` (префікс налаштовується через `channels.slack.slashCommand.sessionPrefix`) - - Telegram: `telegram:slash:` (цілиться в чат-сесію через `CommandTargetSessionKey`) - - **`/stop`** цілиться в активну чат-сесію, щоб вона могла перервати поточний запуск. + - Telegram: `telegram:slash:` (цілить у чат-сесію через `CommandTargetSessionKey`) + - **`/stop`** цілить в активну чат-сесію, щоб вона могла перервати поточний запуск. - `channels.slack.slashCommand` і далі підтримується для однієї команди у стилі `/openclaw`. Якщо ви вмикаєте `commands.native`, потрібно створити одну Slack slash command для кожної вбудованої команди (ті самі назви, що й у `/help`). Меню аргументів команд для Slack доставляються як ephemeral кнопки Block Kit. + `channels.slack.slashCommand` усе ще підтримується для однієї команди стилю `/openclaw`. Якщо ви вмикаєте `commands.native`, потрібно створити по одній slash-команді Slack для кожної вбудованої команди (ті самі назви, що й у `/help`). Меню аргументів команд для Slack доставляються як ефемерні кнопки Block Kit. - Виняток для нативних Slack-команд: зареєструйте `/agentstatus` (не `/status`), бо Slack резервує `/status`. Текстова `/status` і далі працює в повідомленнях Slack. + Нативний виняток Slack: зареєструйте `/agentstatus` (не `/status`), бо Slack резервує `/status`. Текстова `/status` усе ще працює в повідомленнях Slack. -## Побічні питання BTW +## Побічні запитання BTW -`/btw` — це швидке **побічне питання** щодо поточної сесії. `/side` є alias. +`/btw` — це швидке **побічне запитання** про поточну сесію. `/side` є псевдонімом. На відміну від звичайного чату: - воно використовує поточну сесію як фоновий контекст, - воно виконується як окремий одноразовий виклик **без інструментів**, - воно не змінює майбутній контекст сесії, -- воно не записується в історію транскрипту, -- воно доставляється як live побічний результат замість звичайного повідомлення асистента. +- воно не записується в історію транскрипта, +- воно доставляється як live-побічний результат замість звичайного повідомлення асистента. -Це робить `/btw` корисним, коли потрібне тимчасове уточнення, поки основне завдання продовжується. +Це робить `/btw` корисним, коли потрібне тимчасове уточнення, поки основне завдання триває. Приклад: @@ -483,10 +484,10 @@ Skills, доступні для виклику користувачем, так /side what changed while the main run continued? ``` -Див. [Побічні питання BTW](/uk/tools/btw), щоб отримати повну поведінку й деталі UX клієнта. +Див. [Побічні запитання BTW](/uk/tools/btw), щоб отримати повну поведінку та деталі UX клієнта. -## Пов’язане +## Повʼязане -- [Створення Skills](/uk/tools/creating-skills) +- [Створення skills](/uk/tools/creating-skills) - [Skills](/uk/tools/skills) - [Конфігурація Skills](/uk/tools/skills-config) diff --git a/docs/uk/tools/subagents.md b/docs/uk/tools/subagents.md index eff24a8de..b44da55a4 100644 --- a/docs/uk/tools/subagents.md +++ b/docs/uk/tools/subagents.md @@ -1,16 +1,16 @@ --- read_when: - Вам потрібна фонова або паралельна робота через агента - - Ви змінюєте політику sessions_spawn або інструмента під-агентів - - Ви впроваджуєте або усуваєте несправності сеансів субагентів, прив’язаних до потоку + - Ви змінюєте політику sessions_spawn або інструмента для субагентів + - Ви впроваджуєте або усуваєте несправності сеансів субагентів, прив’язаних до потоків sidebarTitle: Sub-agents -summary: Запускайте ізольовані фонові виконання агентів, які повідомляють результати назад у чат запитувача +summary: Запускайте ізольовані фонові запуски агентів, які повідомляють результати назад у чат запитувача title: Субагенти x-i18n: - generated_at: "2026-05-02T06:12:24Z" + generated_at: "2026-05-03T21:42:13Z" model: gpt-5.5 provider: openai - source_hash: 0e964df543bd19435daf94f2c85a34b9d32e07662405d2eac7635935f1e7bf64 + source_hash: e09370a96c3af4752a774aba5db62e38b0afd78bc5e105597d977cb130597daf source_path: tools/subagents.md workflow: 16 --- @@ -23,25 +23,18 @@ x-i18n: Основні цілі: -- Паралелити роботу з «дослідження / довге завдання / повільний інструмент» без блокування основного запуску. -- Тримати субагентів ізольованими за замовчуванням (розділення сеансів + опційна пісочниця). -- Ускладнити неправильне використання поверхні інструментів: субагенти за замовчуванням **не** отримують інструменти сеансу. -- Підтримувати налаштовувану глибину вкладеності для шаблонів оркестратора. +- Паралелізувати роботу "дослідження / довге завдання / повільний інструмент" без блокування основного запуску. +- Типово ізолювати субагентів (розділення сеансів + необов'язкова пісочниця). +- Зробити поверхню інструментів стійкою до неправильного використання: субагенти типово **не** отримують інструменти сеансу. +- Підтримувати налаштовувану глибину вкладеності для шаблонів оркестраторів. -**Примітка щодо вартості:** кожен субагент за замовчуванням має власний -контекст і споживання токенів. Для важких або повторюваних завдань задайте -дешевшу модель для субагентів і залиште основного агента на якіснішій моделі. -Налаштовується через `agents.defaults.subagents.model` або перевизначення -для окремих агентів. Коли дочірньому агенту справді потрібна поточна стенограма -запитувача, агент може запросити `context: "fork"` для цього одного створення. -Прив’язані до потоку сеанси субагентів за замовчуванням мають -`context: "fork"`, бо вони відгалужують поточну розмову в подальший потік. +**Примітка щодо вартості:** кожен субагент типово має власний контекст і використання токенів. Для важких або повторюваних завдань задайте дешевшу модель для субагентів і залиште основного агента на якіснішій моделі. Налаштуйте через `agents.defaults.subagents.model` або перевизначення для окремого агента. Коли дочірньому запуску справді потрібен поточний транскрипт запитувача, агент може запросити `context: "fork"` для цього одного створення. Сеанси субагентів, прив'язані до гілки, типово мають `context: "fork"`, бо вони відгалужують поточну розмову в подальшу гілку. -## Slash-команда +## Слеш-команда -Використовуйте `/subagents`, щоб переглядати або керувати запусками субагентів для **поточного +Використовуйте `/subagents`, щоб переглядати або контролювати запуски субагентів для **поточного сеансу**: ```text @@ -54,15 +47,16 @@ x-i18n: /subagents spawn [--model ] [--thinking ] ``` -`/subagents info` показує метадані запуску (статус, часові позначки, id сеансу, -шлях до стенограми, очищення). Використовуйте `sessions_history` для обмеженого, -відфільтрованого з міркувань безпеки перегляду згадування; переглядайте шлях до стенограми на диску, коли вам -потрібна повна необроблена стенограма. +Використовуйте верхньорівневу `/steer `, щоб скеровувати активний запуск поточного сеансу запитувача. Використовуйте `/subagents steer `, коли ціль — дочірній запуск. -### Елементи керування прив’язкою потоків +`/subagents info` показує метадані запуску (статус, часові позначки, ідентифікатор сеансу, +шлях до транскрипту, очищення). Використовуйте `sessions_history` для обмеженого, +відфільтрованого з міркувань безпеки перегляду відтворення; переглядайте шлях до транскрипту на диску, коли вам потрібен сирий повний транскрипт. -Ці команди працюють у каналах, що підтримують постійні прив’язки потоків. -Див. [Канали з підтримкою потоків](#thread-supporting-channels) нижче. +### Елементи керування прив'язкою гілок + +Ці команди працюють у каналах, які підтримують постійні прив'язки гілок. +Див. [Канали з підтримкою гілок](#thread-supporting-channels) нижче. ```text /focus @@ -74,76 +68,76 @@ x-i18n: ### Поведінка створення -`/subagents spawn` запускає фонового субагента як команду користувача (а не +`/subagents spawn` запускає фонового субагента як користувацьку команду (а не внутрішню ретрансляцію) і надсилає одне фінальне оновлення про завершення назад у чат запитувача, коли запуск завершується. - - - Команда створення не блокує виконання; вона одразу повертає id запуску. + + - Команда створення не блокує виконання; вона одразу повертає ідентифікатор запуску. - Після завершення субагент оголошує повідомлення з підсумком/результатом назад у канал чату запитувача. - - Завершення працює за push-моделлю. Після створення **не** опитуйте `/subagents list`, `sessions_list` або `sessions_history` у циклі лише для очікування завершення; перевіряйте статус лише на вимогу для налагодження або втручання. - - Після завершення OpenClaw у режимі best-effort закриває відстежувані вкладки браузера/процеси, відкриті цим сеансом субагента, перш ніж потік очищення оголошення продовжиться. + - Завершення доставляється за ініціативою системи. Після створення **не** опитуйте `/subagents list`, `sessions_list` або `sessions_history` у циклі лише для очікування завершення; переглядайте статус тільки на вимогу для налагодження або втручання. + - Після завершення OpenClaw намагається закрити відстежувані вкладки браузера/процеси, відкриті цим сеансом субагента, перш ніж продовжиться потік очищення оголошення. - - - OpenClaw спершу пробує пряму доставку `agent` зі стабільним ключем ідемпотентності. - - Якщо пряма доставка завершується невдало, він повертається до маршрутизації через чергу. + + - OpenClaw спершу пробує пряме доставлення `agent` зі стабільним ключем ідемпотентності. + - Якщо пряме доставлення не вдається, він повертається до маршрутизації через чергу. - Якщо маршрутизація через чергу все ще недоступна, оголошення повторюється з коротким експоненційним відступом перед остаточною відмовою. - - Доставка завершення зберігає розв’язаний маршрут запитувача: прив’язані до потоку або розмови маршрути завершення мають пріоритет, коли доступні; якщо джерело завершення надає лише канал, OpenClaw заповнює відсутню ціль/обліковий запис із розв’язаного маршруту сеансу запитувача (`lastChannel` / `lastTo` / `lastAccountId`), щоб пряма доставка все одно працювала. + - Доставлення завершення зберігає визначений маршрут запитувача: маршрути завершення, прив'язані до гілки або розмови, мають пріоритет, коли доступні; якщо джерело завершення надає лише канал, OpenClaw заповнює відсутню ціль/обліковий запис із визначеного маршруту сеансу запитувача (`lastChannel` / `lastTo` / `lastAccountId`), тож пряме доставлення все одно працює. - - Передавання завершення до сеансу запитувача — це згенерований середовищем виконання - внутрішній контекст (не текст, написаний користувачем), який містить: + + Передавання завершення до сеансу запитувача — це внутрішній контекст, згенерований середовищем виконання + (а не текст, написаний користувачем), і він містить: - - `Result` — найновіший видимий текст відповіді `assistant`, інакше очищений найновіший текст tool/toolResult. Термінально невдалі запуски не використовують повторно захоплений текст відповіді. + - `Result` — найновіший видимий текст відповіді `assistant`, інакше очищений найновіший текст tool/toolResult. Запуски, що завершилися невдало в кінцевому стані, не використовують повторно захоплений текст відповіді. - `Status` — `completed successfully` / `failed` / `timed out` / `unknown`. - Стисла статистика середовища виконання/токенів. - - Інструкцію доставки, яка наказує агенту запитувача переписати у звичайному голосі асистента (а не пересилати необроблені внутрішні метадані). + - Інструкцію доставлення, яка наказує агенту-запитувачу переписати відповідь звичайним голосом асистента (а не пересилати сирі внутрішні метадані). - - - `--model` і `--thinking` перевизначають значення за замовчуванням для цього конкретного запуску. - - Використовуйте `info`/`log`, щоб переглянути деталі й вивід після завершення. - - `/subagents spawn` — це одноразовий режим (`mode: "run"`). Для постійних прив’язаних до потоку сеансів використовуйте `sessions_spawn` з `thread: true` і `mode: "session"`. - - Для сеансів ACP harness (Claude Code, Gemini CLI, OpenCode або явно Codex ACP/acpx) використовуйте `sessions_spawn` з `runtime: "acp"`, коли інструмент оголошує це середовище виконання. Див. [модель доставки ACP](/uk/tools/acp-agents#delivery-model) під час налагодження завершень або циклів агент-агент. Коли Plugin `codex` увімкнено, керування чатом/потоками Codex має надавати перевагу `/codex ...` над ACP, якщо користувач явно не просить ACP/acpx. - - OpenClaw приховує `runtime: "acp"`, доки ACP не ввімкнено, запитувач не перебуває в пісочниці, а бекенд-Plugin на кшталт `acpx` завантажено. `runtime: "acp"` очікує зовнішній id ACP harness або запис `agents.list[]` з `runtime.type="acp"`; використовуйте типове середовище виконання субагента для звичайних агентів конфігурації OpenClaw з `agents_list`. + + - `--model` і `--thinking` перевизначають типові значення для цього конкретного запуску. + - Використовуйте `info`/`log`, щоб переглядати подробиці й вивід після завершення. + - `/subagents spawn` — це одноразовий режим (`mode: "run"`). Для постійних сеансів, прив'язаних до гілки, використовуйте `sessions_spawn` з `thread: true` і `mode: "session"`. + - Для сеансів обв'язки ACP (Claude Code, Gemini CLI, OpenCode або явно вказаний Codex ACP/acpx) використовуйте `sessions_spawn` з `runtime: "acp"`, коли інструмент оголошує це середовище виконання. Див. [модель доставлення ACP](/uk/tools/acp-agents#delivery-model) під час налагодження завершень або циклів агент-до-агента. Коли Plugin `codex` увімкнено, керування чатом/гілкою Codex має віддавати перевагу `/codex ...` над ACP, якщо користувач явно не просить ACP/acpx. + - OpenClaw приховує `runtime: "acp"`, доки ACP не ввімкнено, запитувач не перебуває в пісочниці, і не завантажено бекенд-Plugin, як-от `acpx`. `runtime: "acp"` очікує зовнішній ідентифікатор обв'язки ACP або запис `agents.list[]` з `runtime.type="acp"`; використовуйте типове середовище виконання субагента для звичайних агентів конфігурації OpenClaw з `agents_list`. ## Режими контексту -Нативні субагенти стартують ізольовано, якщо викликач явно не просить відгалузити -поточну стенограму. +Нативні субагенти запускаються ізольовано, якщо викликач явно не просить відгалузити +поточний транскрипт. -| Режим | Коли його використовувати | Поведінка | +| Режим | Коли його використовувати | Поведінка | | ---------- | -------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | -| `isolated` | Свіже дослідження, незалежна реалізація, робота з повільними інструментами або будь-що, що можна описати в тексті завдання | Створює чисту дочірню стенограму. Це значення за замовчуванням і воно зменшує використання токенів. | -| `fork` | Робота, що залежить від поточної розмови, попередніх результатів інструментів або нюансованих інструкцій, уже наявних у стенограмі запитувача | Відгалужує стенограму запитувача в дочірній сеанс до старту дочірнього агента. | +| `isolated` | Свіже дослідження, незалежна реалізація, повільна робота інструмента або будь-що, що можна описати в тексті завдання | Створює чистий дочірній транскрипт. Це типове значення, яке зменшує використання токенів. | +| `fork` | Робота, що залежить від поточної розмови, попередніх результатів інструментів або нюансованих інструкцій, уже наявних у транскрипті запитувача | Відгалужує транскрипт запитувача в дочірній сеанс перед стартом дочірнього запуску. | Використовуйте `fork` ощадливо. Він призначений для делегування, чутливого до контексту, а не як заміна написанню чіткого промпта завдання. ## Інструмент: `sessions_spawn` -Запускає субагента з `deliver: false` у глобальній смузі `subagent`, -потім виконує крок оголошення і публікує відповідь оголошення в канал чату +Запускає запуск субагента з `deliver: false` на глобальній доріжці `subagent`, +потім виконує крок оголошення й публікує відповідь оголошення в канал чату запитувача. Доступність залежить від ефективної політики інструментів викликача. Профілі `coding` і -`full` відкривають `sessions_spawn` за замовчуванням. Профіль `messaging` -не відкриває; додайте `tools.alsoAllow: ["sessions_spawn", "sessions_yield", -"subagents"]` або використайте `tools.profile: "coding"` для агентів, які мають делегувати -роботу. Політики дозволу/заборони каналу/групи, провайдера, пісочниці й окремого агента все ще можуть -видалити інструмент після етапу профілю. Використовуйте `/tools` з того самого +`full` типово надають `sessions_spawn`. Профіль `messaging` +цього не робить; додайте `tools.alsoAllow: ["sessions_spawn", "sessions_yield", +"subagents"]` або використовуйте `tools.profile: "coding"` для агентів, які мають делегувати +роботу. Політики каналу/групи, провайдера, пісочниці та дозволів/заборон для окремого агента можуть +усе ще прибрати інструмент після етапу профілю. Використовуйте `/tools` з того самого сеансу, щоб підтвердити ефективний список інструментів. -**Значення за замовчуванням:** +**Типові значення:** - **Модель:** успадковує викликача, якщо ви не задасте `agents.defaults.subagents.model` (або `agents.list[].subagents.model` для окремого агента); явне `sessions_spawn.model` усе одно має пріоритет. -- **Thinking:** успадковує викликача, якщо ви не задасте `agents.defaults.subagents.thinking` (або `agents.list[].subagents.thinking` для окремого агента); явне `sessions_spawn.thinking` усе одно має пріоритет. +- **Мислення:** успадковує викликача, якщо ви не задасте `agents.defaults.subagents.thinking` (або `agents.list[].subagents.thinking` для окремого агента); явне `sessions_spawn.thinking` усе одно має пріоритет. - **Тайм-аут запуску:** якщо `sessions_spawn.runTimeoutSeconds` пропущено, OpenClaw використовує `agents.defaults.subagents.runTimeoutSeconds`, коли його задано; інакше повертається до `0` (без тайм-ауту). ### Параметри інструмента @@ -152,86 +146,86 @@ x-i18n: Опис завдання для субагента. - Необов’язкова зручна для людини мітка. + Необов'язкова зрозуміла для людини мітка. - Створити під іншим id агента, коли це дозволено `subagents.allowAgents`. + Створити під іншим ідентифікатором агента, коли це дозволено `subagents.allowAgents`. - `acp` призначено лише для зовнішніх ACP harness (`claude`, `droid`, `gemini`, `opencode` або явно запитаний Codex ACP/acpx) і для записів `agents.list[]`, у яких `runtime.type` є `acp`. + `acp` призначено лише для зовнішніх обв'язок ACP (`claude`, `droid`, `gemini`, `opencode` або явно запитаний Codex ACP/acpx) і для записів `agents.list[]`, у яких `runtime.type` є `acp`. - Лише ACP. Відновлює наявний сеанс ACP harness, коли `runtime: "acp"`; ігнорується для нативних створень субагентів. + Лише ACP. Відновлює наявний сеанс обв'язки ACP, коли `runtime: "acp"`; ігнорується для нативних створень субагентів. - Лише ACP. Транслює вивід запуску ACP до батьківського сеансу, коли `runtime: "acp"`; пропустіть для нативних створень субагентів. + Лише ACP. Транслює вивід запуску ACP у батьківський сеанс, коли `runtime: "acp"`; пропустіть для нативних створень субагентів. - Перевизначає модель субагента. Недійсні значення пропускаються, і субагент працює на типовій моделі з попередженням у результаті інструмента. + Перевизначає модель субагента. Недійсні значення пропускаються, і субагент запускається на типовій моделі з попередженням у результаті інструмента. - Перевизначає рівень thinking для запуску субагента. + Перевизначає рівень мислення для запуску субагента. - За замовчуванням дорівнює `agents.defaults.subagents.runTimeoutSeconds`, коли задано, інакше `0`. Коли задано, запуск субагента переривається після N секунд. + Типово дорівнює `agents.defaults.subagents.runTimeoutSeconds`, коли задано, інакше `0`. Коли задано, запуск субагента переривається через N секунд. - Коли `true`, запитує прив’язку потоку каналу для цього сеансу субагента. + Коли `true`, запитує прив'язку гілки каналу для цього сеансу субагента. - Якщо `thread: true` і `mode` пропущено, типовим стає `session`. `mode: "session"` потребує `thread: true`. + Якщо `thread: true` і `mode` пропущено, типовим стає `session`. `mode: "session"` вимагає `thread: true`. - `"delete"` архівує одразу після оголошення (і все одно зберігає стенограму через перейменування). + `"delete"` архівує одразу після оголошення (усе ще зберігає транскрипт через перейменування). - `require` відхиляє створення, якщо цільове дочірнє середовище виконання не перебуває в пісочниці. + `require` відхиляє створення, якщо цільове дочірнє середовище виконання не в пісочниці. - `fork` відгалужує поточну стенограму запитувача в дочірній сеанс. Лише нативні субагенти. Прив’язані до потоку створення за замовчуванням мають `fork`; створення без потоку за замовчуванням мають `isolated`. + `fork` відгалужує поточний транскрипт запитувача в дочірній сеанс. Лише нативні субагенти. Створення, прив'язані до гілки, типово використовують `fork`; створення без гілки типово використовують `isolated`. -`sessions_spawn` **не** приймає параметри доставки в канал (`target`, -`channel`, `to`, `threadId`, `replyTo`, `transport`). Для доставки використовуйте +`sessions_spawn` **не** приймає параметри доставлення каналу (`target`, +`channel`, `to`, `threadId`, `replyTo`, `transport`). Для доставлення використовуйте `message`/`sessions_send` зі створеного запуску. -## Прив’язані до потоку сеанси +## Сеанси, прив'язані до гілки -Коли для каналу ввімкнено прив’язки потоків, субагент може залишатися прив’язаним -до потоку, щоб подальші повідомлення користувача в цьому потоці продовжували маршрутизуватися до +Коли для каналу ввімкнено прив'язки гілок, субагент може залишатися прив'язаним +до гілки, щоб подальші повідомлення користувача в цій гілці продовжували маршрутизуватися до того самого сеансу субагента. -### Канали з підтримкою потоків +### Канали з підтримкою гілок **Discord** наразі є єдиним підтримуваним каналом. Він підтримує -постійні прив’язані до потоку сеанси субагентів (`sessions_spawn` з -`thread: true`), ручні елементи керування потоками (`/focus`, `/unfocus`, `/agents`, -`/session idle`, `/session max-age`) і ключі адаптера +постійні сеанси субагентів, прив'язані до гілки (`sessions_spawn` з +`thread: true`), ручні елементи керування гілками (`/focus`, `/unfocus`, `/agents`, +`/session idle`, `/session max-age`) та ключі адаптера `channels.discord.threadBindings.enabled`, `channels.discord.threadBindings.idleHours`, -`channels.discord.threadBindings.maxAgeHours` та +`channels.discord.threadBindings.maxAgeHours` і `channels.discord.threadBindings.spawnSessions`. ### Швидкий потік - - `sessions_spawn` з `thread: true` (і необов’язково `mode: "session"`). + + `sessions_spawn` з `thread: true` (і необов'язково `mode: "session"`). - - OpenClaw створює або прив’язує потік до цілі цього сеансу в активному каналі. + + OpenClaw створює або прив'язує гілку до цілі цього сеансу в активному каналі. - - Відповіді й подальші повідомлення в цьому потоці маршрутизуються до прив’язаного сеансу. + + Відповіді й подальші повідомлення в цій гілці маршрутизуються до прив'язаного сеансу. - - Використовуйте `/session idle`, щоб переглянути/оновити автоматичне скасування фокуса через неактивність, і - `/session max-age`, щоб керувати жорстким обмеженням. + + Використовуйте `/session idle`, щоб переглядати/оновлювати автоматичне зняття фокуса через неактивність, і + `/session max-age`, щоб контролювати жорстку верхню межу. - - Використовуйте `/unfocus`, щоб від’єднати вручну. + + Використовуйте `/unfocus`, щоб від'єднати вручну. @@ -239,30 +233,30 @@ x-i18n: | Команда | Дія | | ------------------ | --------------------------------------------------------------------- | -| `/focus ` | Прив’язати поточну гілку (або створити її) до цілі субагента/сеансу | -| `/unfocus` | Видалити прив’язку для поточної прив’язаної гілки | -| `/agents` | Показати активні запуски та стан прив’язки (`thread:` або `unbound`) | -| `/session idle` | Переглянути/оновити автоматичне зняття фокуса під час простою (лише сфокусовані прив’язані гілки) | -| `/session max-age` | Переглянути/оновити жорстке обмеження (лише сфокусовані прив’язані гілки) | +| `/focus ` | Прив'язати поточний потік (або створити його) до цілі субагента/сеансу | +| `/unfocus` | Прибрати прив'язку для поточного прив'язаного потоку | +| `/agents` | Показати активні запуски та стан прив'язки (`thread:` або `unbound`) | +| `/session idle` | Переглянути/оновити автоматичне скасування фокуса через бездіяльність (лише сфокусовані прив'язані потоки) | +| `/session max-age` | Переглянути/оновити жорстке обмеження (лише сфокусовані прив'язані потоки) | ### Перемикачі конфігурації - **Глобальне значення за замовчуванням:** `session.threadBindings.enabled`, `session.threadBindings.idleHours`, `session.threadBindings.maxAgeHours`. -- **Ключі перевизначення каналу та автоматичної прив’язки під час створення** залежать від адаптера. Див. [Канали з підтримкою гілок](#thread-supporting-channels) вище. +- **Перевизначення каналу та ключі автоматичної прив'язки під час створення** залежать від адаптера. Див. [Канали з підтримкою потоків](#thread-supporting-channels) вище. Див. [Довідник конфігурації](/uk/gateway/configuration-reference) і -[Slash-команди](/uk/tools/slash-commands), щоб дізнатися поточні деталі адаптера. +[Slash-команди](/uk/tools/slash-commands), щоб дізнатися поточні деталі адаптерів. ### Список дозволених - Список ідентифікаторів агентів, на які можна націлюватися через явний `agentId` (`["*"]` дозволяє будь-який). За замовчуванням: лише агент-запитувач. Якщо ви задаєте список і все одно хочете, щоб запитувач міг створювати самого себе з `agentId`, додайте ідентифікатор запитувача до списку. + Список ідентифікаторів агентів, на які можна націлюватися через явний `agentId` (`["*"]` дозволяє будь-який). За замовчуванням: лише агент-запитувач. Якщо ви задаєте список і все одно хочете, щоб запитувач створював себе з `agentId`, включіть ідентифікатор запитувача до списку. - Стандартний список дозволених цільових агентів, який використовується, коли агент-запитувач не задає власний `subagents.allowAgents`. + Типовий список дозволених цільових агентів, який використовується, коли агент-запитувач не задає власний `subagents.allowAgents`. - Блокувати виклики `sessions_spawn`, які пропускають `agentId` (примушує до явного вибору профілю). Перевизначення для окремого агента: `agents.list[].subagents.requireAgentId`. + Блокувати виклики `sessions_spawn`, які пропускають `agentId` (примусово вимагає явного вибору профілю). Перевизначення для окремого агента: `agents.list[].subagents.requireAgentId`. Якщо сеанс запитувача ізольований у пісочниці, `sessions_spawn` відхиляє цілі, @@ -270,26 +264,26 @@ x-i18n: ### Виявлення -Використовуйте `agents_list`, щоб побачити, які ідентифікатори агентів наразі дозволені для +Використовуйте `agents_list`, щоб побачити, які ідентифікатори агентів зараз дозволені для `sessions_spawn`. Відповідь містить ефективну модель кожного переліченого агента та вбудовані метадані середовища виконання, щоб виклики могли відрізняти PI, сервер застосунку Codex -та інші налаштовані власні середовища виконання. +та інші налаштовані нативні середовища виконання. ### Автоархівація - Сеанси субагентів автоматично архівуються після `agents.defaults.subagents.archiveAfterMinutes` (за замовчуванням `60`). -- Архівація використовує `sessions.delete` і перейменовує транскрипт на `*.deleted.` (у тій самій папці). -- `cleanup: "delete"` архівує одразу після оголошення (транскрипт усе одно зберігається через перейменування). -- Автоархівація виконується за найкращої можливості; очікувані таймери втрачаються, якщо Gateway перезапускається. -- `runTimeoutSeconds` **не** виконує автоархівацію; він лише зупиняє запуск. Сеанс залишається до автоархівації. +- Архівування використовує `sessions.delete` і перейменовує транскрипт на `*.deleted.` (у тій самій папці). +- `cleanup: "delete"` архівує одразу після сповіщення (транскрипт усе одно зберігається через перейменування). +- Автоархівація виконується за принципом найкращих зусиль; очікувані таймери втрачаються, якщо Gateway перезапускається. +- `runTimeoutSeconds` **не** виконує автоархівацію; він лише зупиняє запуск. Сеанс лишається до автоархівації. - Автоархівація однаково застосовується до сеансів глибини 1 і глибини 2. -- Очищення браузера відокремлене від архівного очищення: відстежувані вкладки/процеси браузера за найкращої можливості закриваються після завершення запуску, навіть якщо запис транскрипту/сеансу зберігається. +- Очищення браузера відокремлене від архівного очищення: відстежувані вкладки/процеси браузера за найкращими зусиллями закриваються після завершення запуску, навіть якщо запис транскрипта/сеансу зберігається. ## Вкладені субагенти За замовчуванням субагенти не можуть створювати власних субагентів -(`maxSpawnDepth: 1`). Установіть `maxSpawnDepth: 2`, щоб увімкнути один рівень -вкладеності — **шаблон оркестратора**: головний → субагент-оркестратор → +(`maxSpawnDepth: 1`). Задайте `maxSpawnDepth: 2`, щоб увімкнути один рівень +вкладеності — **патерн оркестратора**: основний → субагент-оркестратор → робочі субсубагенти. ```json5 @@ -309,42 +303,42 @@ x-i18n: ### Рівні глибини -| Глибина | Форма ключа сеансу | Роль | Може створювати? | +| Глибина | Форма ключа сеансу | Роль | Може створювати? | | ----- | -------------------------------------------- | --------------------------------------------- | ---------------------------- | -| 0 | `agent::main` | Головний агент | Завжди | -| 1 | `agent::subagent:` | Субагент (оркестратор, коли дозволена глибина 2) | Лише якщо `maxSpawnDepth >= 2` | -| 2 | `agent::subagent::subagent:` | Субсубагент (кінцевий виконавець) | Ніколи | +| 0 | `agent::main` | Основний агент | Завжди | +| 1 | `agent::subagent:` | Субагент (оркестратор, коли дозволено глибину 2) | Лише якщо `maxSpawnDepth >= 2` | +| 2 | `agent::subagent::subagent:` | Субсубагент (листовий робітник) | Ніколи | -### Ланцюг оголошення +### Ланцюжок сповіщень -Результати передаються назад угору ланцюгом: +Результати передаються назад ланцюжком: -1. Виконавець глибини 2 завершує роботу → оголошує своєму батьківському елементу (оркестратору глибини 1). -2. Оркестратор глибини 1 отримує оголошення, узагальнює результати, завершує роботу → оголошує головному. -3. Головний агент отримує оголошення та доставляє його користувачу. +1. Робітник глибини 2 завершує роботу → сповіщає свого батька (оркестратора глибини 1). +2. Оркестратор глибини 1 отримує сповіщення, синтезує результати, завершує роботу → сповіщає основний сеанс. +3. Основний агент отримує сповіщення та доставляє його користувачу. -Кожен рівень бачить лише оголошення від своїх безпосередніх дочірніх елементів. +Кожен рівень бачить лише сповіщення від своїх прямих дочірніх елементів. -**Операційні рекомендації:** запускайте дочірню роботу один раз і чекайте подій -завершення, замість того щоб будувати цикли опитування навколо `sessions_list`, -`sessions_history`, `/subagents list` або команд `exec` із паузами. -`sessions_list` і `/subagents list` тримають зв’язки дочірніх сеансів -зосередженими на живій роботі — активні дочірні елементи залишаються прикріпленими, завершені дочірні елементи залишаються -видимими протягом короткого недавнього вікна, а застарілі посилання на дочірні елементи лише зі сховища -ігноруються після завершення їхнього вікна актуальності. Це не дає старим метаданим `spawnedBy` / -`parentSessionKey` відновлювати примарні дочірні елементи після +**Операційні вказівки:** запускайте дочірню роботу один раз і чекайте подій +завершення замість побудови циклів опитування навколо `sessions_list`, +`sessions_history`, `/subagents list` або команд сну `exec`. +`sessions_list` і `/subagents list` утримують зв'язки дочірніх сеансів +сфокусованими на живій роботі — живі дочірні елементи залишаються приєднаними, завершені дочірні елементи +залишаються видимими в короткому недавньому вікні, а застарілі посилання лише зі сховища на дочірні елементи +ігноруються після завершення їхнього вікна свіжості. Це запобігає тому, щоб старі метадані `spawnedBy` / +`parentSessionKey` повторно відроджували примарні дочірні елементи після перезапуску. Якщо подія завершення дочірнього елемента надходить після того, як ви вже надіслали -остаточну відповідь, правильна подальша дія — точний мовчазний токен +фінальну відповідь, правильне подальше повідомлення — точний мовчазний токен `NO_REPLY` / `no_reply`. ### Політика інструментів за глибиною -- Роль і область керування записуються в метадані сеансу під час створення. Це не дає пласким або відновленим ключам сеансів випадково знову отримати привілеї оркестратора. -- **Глибина 1 (оркестратор, коли `maxSpawnDepth >= 2`):** отримує `sessions_spawn`, `subagents`, `sessions_list`, `sessions_history`, щоб керувати своїми дочірніми елементами. Інші інструменти сеансу/системи залишаються забороненими. -- **Глибина 1 (кінцевий елемент, коли `maxSpawnDepth == 1`):** без інструментів сеансу (поточна поведінка за замовчуванням). -- **Глибина 2 (кінцевий виконавець):** без інструментів сеансу — `sessions_spawn` завжди заборонено на глибині 2. Не може створювати подальших дочірніх елементів. +- Роль і область керування записуються в метадані сеансу під час створення. Це запобігає випадковому повторному отриманню привілеїв оркестратора пласкими або відновленими ключами сеансу. +- **Глибина 1 (оркестратор, коли `maxSpawnDepth >= 2`):** отримує `sessions_spawn`, `subagents`, `sessions_list`, `sessions_history`, щоб керувати своїми дочірніми елементами. Інші інструменти сеансів/системи лишаються забороненими. +- **Глибина 1 (лист, коли `maxSpawnDepth == 1`):** без інструментів сеансів (поточна поведінка за замовчуванням). +- **Глибина 2 (листовий робітник):** без інструментів сеансів — `sessions_spawn` завжди заборонено на глибині 2. Не може створювати подальші дочірні елементи. ### Ліміт створення для окремого агента @@ -354,11 +348,10 @@ x-i18n: ### Каскадна зупинка -Зупинка оркестратора глибини 1 автоматично зупиняє всі його дочірні елементи -глибини 2: +Зупинка оркестратора глибини 1 автоматично зупиняє всі його дочірні елементи глибини 2: -- `/stop` у головному чаті зупиняє всіх агентів глибини 1 і каскадно зупиняє їхніх дочірніх елементів глибини 2. -- `/subagents kill ` зупиняє конкретного субагента та каскадно зупиняє його дочірні елементи. +- `/stop` в основному чаті зупиняє всіх агентів глибини 1 і каскадно зупиняє їхні дочірні елементи глибини 2. +- `/subagents kill ` зупиняє конкретного субагента й каскадно зупиняє його дочірні елементи. - `/subagents kill all` зупиняє всіх субагентів для запитувача та виконує каскадну зупинку. ## Автентифікація @@ -367,92 +360,92 @@ x-i18n: - Ключ сеансу субагента — `agent::subagent:`. - Сховище автентифікації завантажується з `agentDir` цього агента. -- Профілі автентифікації головного агента об’єднуються як **резервні**; профілі агента перевизначають головні профілі у разі конфліктів. +- Профілі автентифікації основного агента об'єднуються як **резервні**; профілі агента перевизначають основні профілі у разі конфліктів. -Об’єднання є додавальним, тому головні профілі завжди доступні як -резервні. Повністю ізольована автентифікація для кожного агента ще не підтримується. +Об'єднання є адитивним, тому основні профілі завжди доступні як +резервні. Повністю ізольована автентифікація для кожного агента поки не підтримується. -## Оголошення +## Сповіщення -Субагенти звітують назад через крок оголошення: +Субагенти звітують через крок сповіщення: -- Крок оголошення виконується всередині сеансу субагента (не в сеансі запитувача). +- Крок сповіщення виконується всередині сеансу субагента (не сеансу запитувача). - Якщо субагент відповідає точно `ANNOUNCE_SKIP`, нічого не публікується. -- Якщо найновіший текст помічника є точним мовчазним токеном `NO_REPLY` / `no_reply`, вивід оголошення пригнічується, навіть якщо раніше був видимий прогрес. +- Якщо останній текст асистента є точним мовчазним токеном `NO_REPLY` / `no_reply`, вивід сповіщення пригнічується, навіть якщо раніше був видимий прогрес. Доставка залежить від глибини запитувача: - Сеанси запитувача верхнього рівня використовують подальший виклик `agent` із зовнішньою доставкою (`deliver=true`). -- Вкладені сеанси субагента-запитувача отримують внутрішнє подальше впровадження (`deliver=false`), щоб оркестратор міг узагальнити дочірні результати в межах сеансу. +- Вкладені сеанси субагентів-запитувачів отримують внутрішню подальшу ін'єкцію (`deliver=false`), щоб оркестратор міг синтезувати дочірні результати в межах сеансу. - Якщо вкладений сеанс субагента-запитувача зник, OpenClaw повертається до запитувача цього сеансу, коли він доступний. Для сеансів запитувача верхнього рівня пряма доставка в режимі завершення спочатку -визначає будь-який прив’язаний маршрут розмови/гілки та перевизначення хука, а потім заповнює +вирішує будь-який прив'язаний маршрут розмови/потоку та перевизначення hook, а потім заповнює відсутні поля цілі каналу зі збереженого маршруту сеансу запитувача. Це утримує завершення в правильному чаті/темі, навіть коли джерело завершення ідентифікує лише канал. Агрегація завершень дочірніх елементів обмежена поточним запуском запитувача під час -побудови вкладених результатів завершення, запобігаючи витоку дочірніх -виводів із застарілих попередніх запусків у поточне оголошення. Відповіді оголошення зберігають -маршрутизацію гілки/теми, коли вона доступна в адаптерах каналів. +побудови вкладених результатів завершення, запобігаючи витоку застарілих дочірніх +виводів із попередніх запусків у поточне сповіщення. Відповіді сповіщень зберігають +маршрутизацію потоку/теми, коли вона доступна в адаптерах каналів. -### Контекст оголошення +### Контекст сповіщення -Контекст оголошення нормалізується до стабільного внутрішнього блоку події: +Контекст сповіщення нормалізується до стабільного внутрішнього блока події: -| Поле | Джерело | +| Поле | Джерело | | -------------- | ------------------------------------------------------------------------------------------------------------- | | Джерело | `subagent` або `cron` | -| Ідентифікатори сеансу | Ключ/ідентифікатор дочірнього сеансу | -| Тип | Тип оголошення + мітка завдання | -| Статус | Виводиться з результату середовища виконання (`success`, `error`, `timeout` або `unknown`) — **не** виводиться з тексту моделі | -| Вміст результату | Найновіший видимий текст помічника, інакше очищений найновіший текст інструмента/toolResult | -| Подальша дія | Інструкція, що описує, коли відповідати, а коли мовчати | +| Ідентифікатори сеансу | Ключ/ідентифікатор дочірнього сеансу | +| Тип | Тип сповіщення + мітка завдання | +| Статус | Виведено з результату середовища виконання (`success`, `error`, `timeout` або `unknown`) — **не** виводиться з тексту моделі | +| Вміст результату | Останній видимий текст асистента, інакше санітизований останній текст tool/toolResult | +| Подальша дія | Інструкція, що описує, коли відповідати, а коли лишатися мовчазним | Термінальні невдалі запуски повідомляють статус помилки без повторного відтворення захопленого -тексту відповіді. У разі тайм-ауту, якщо дочірній елемент встиг лише виконати виклики інструментів, оголошення -може згорнути цю історію в короткий підсумок часткового прогресу замість -повторного відтворення необробленого виводу інструментів. +тексту відповіді. У разі тайм-ауту, якщо дочірній елемент устиг лише виконати виклики інструментів, сповіщення +може стиснути цю історію в короткий підсумок часткового прогресу замість +повторного відтворення сирого виводу інструментів. ### Рядок статистики -Корисні навантаження оголошення містять рядок статистики в кінці (навіть коли перенесені): +Корисні навантаження сповіщень містять рядок статистики в кінці (навіть коли обгорнуті): - Час виконання (наприклад, `runtime 5m12s`). -- Використання токенів (вхід/вихід/загалом). +- Використання токенів (вхідні/вихідні/усього). - Орієнтовна вартість, коли налаштовано ціни моделі (`models.providers.*.models[].cost`). -- `sessionKey`, `sessionId` і шлях транскрипту, щоб головний агент міг отримати історію через `sessions_history` або переглянути файл на диску. +- `sessionKey`, `sessionId` і шлях транскрипта, щоб основний агент міг отримати історію через `sessions_history` або переглянути файл на диску. -Внутрішні метадані призначені лише для оркестрації; відповіді для користувача -слід переписувати звичайним голосом помічника. +Внутрішні метадані призначені лише для оркестрації; відповіді для користувачів +слід переписувати звичайним голосом асистента. ### Чому варто надавати перевагу `sessions_history` `sessions_history` — безпечніший шлях оркестрації: -- Спершу нормалізується пригадування помічника: видаляються теги мислення; видаляється каркас `` / ``; видаляються простотекстові XML-блоки корисного навантаження викликів інструментів (``, ``, ``, ``), включно з обрізаними корисними навантаженнями, які ніколи коректно не закриваються; видаляється понижений каркас виклику/результату інструментів і маркери історичного контексту; видаляються витеклі керівні токени моделі (`<|assistant|>`, інші ASCII `<|...|>`, повноширинні `<|...|>`); видаляється неправильно сформований XML виклику інструментів MiniMax. +- Згадування асистента спочатку нормалізується: теги мислення видаляються; каркаси `` / `` видаляються; XML-блоки корисного навантаження викликів інструментів у простому тексті (``, ``, ``, ``) видаляються, включно з обрізаними корисними навантаженнями, які ніколи не закриваються коректно; понижені каркаси викликів/результатів інструментів і маркери історичного контексту видаляються; витеклі керівні токени моделі (`<|assistant|>`, інші ASCII `<|...|>`, повної ширини `<|...|>`) видаляються; некоректний XML викликів інструментів MiniMax видаляється. - Текст, схожий на облікові дані/токени, редагується. - Довгі блоки можуть обрізатися. - Дуже великі історії можуть відкидати старіші рядки або замінювати завеликий рядок на `[sessions_history omitted: message too large]`. -- Перегляд необробленого транскрипту на диску є резервним варіантом, коли потрібен повний побайтовий транскрипт. +- Перегляд сирого транскрипта на диску є резервним варіантом, коли потрібен повний побайтово точний транскрипт. ## Політика інструментів Субагенти спочатку використовують той самий профіль і конвеєр політики інструментів, що й батьківський -або цільовий агент. Після цього OpenClaw застосовує рівень обмежень +або цільовий агент. Після цього OpenClaw застосовує шар обмежень субагента. Без обмежувального `tools.profile` субагенти отримують **усі інструменти, крім -інструментів сеансу** та системних інструментів: +інструментів сеансів** і системних інструментів: - `sessions_list` - `sessions_history` - `sessions_send` - `sessions_spawn` -`sessions_history` тут також залишається обмеженим, очищеним представленням пригадування — -це не дамп необробленого транскрипту. +`sessions_history` і тут лишається обмеженим, санітизованим поданням згадування — +це не сирий дамп транскрипта. Коли `maxSpawnDepth >= 2`, субагенти-оркестратори глибини 1 додатково отримують `sessions_spawn`, `subagents`, `sessions_list` і @@ -482,11 +475,11 @@ x-i18n: } ``` -`tools.subagents.tools.allow` є фінальним фільтром лише дозволених інструментів. Він може звузити -вже визначений набір інструментів, але не може **додати назад** інструмент, видалений +`tools.subagents.tools.allow` — це остаточний фільтр лише дозволеного. Він може звузити +вже визначений набір інструментів, але не може **додати назад** інструмент, вилучений через `tools.profile`. Наприклад, `tools.profile: "coding"` включає `web_search`/`web_fetch`, але не інструмент `browser`. Щоб дозволити -під-агентам із профілем `coding` використовувати автоматизацію браузера, додайте browser на +під-агентам із профілем coding використовувати автоматизацію браузера, додайте browser на етапі профілю: ```json5 @@ -498,65 +491,65 @@ x-i18n: } ``` -Використовуйте `agents.list[].tools.alsoAllow: ["browser"]` для окремого агента, коли лише один -агент має отримати автоматизацію браузера. +Використовуйте `agents.list[].tools.alsoAllow: ["browser"]` для окремого агента, коли автоматизацію браузера має отримати лише один +агент. ## Паралельність -Під-агенти використовують окрему внутрішньопроцесну чергу: +Під-агенти використовують окрему чергу виконання в межах процесу: - **Назва черги:** `subagent` -- **Паралельність:** `agents.defaults.subagents.maxConcurrent` (типово `8`) +- **Паралельність:** `agents.defaults.subagents.maxConcurrent` (за замовчуванням `8`) ## Живучість і відновлення OpenClaw не вважає відсутність `endedAt` постійним доказом того, що -під-агент усе ще активний. Незавершені запуски, старші за вікно застарілого запуску, +під-агент досі активний. Незавершені запуски, старші за вікно застарілого запуску, перестають враховуватися як активні/очікувані в `/subagents list`, зведеннях стану, -блокуванні завершення нащадків і перевірках паралельності для окремого сеансу. +блокуванні завершення нащадків і перевірках паралельності для окремої сесії. -Після перезапуску Gateway застарілі відновлені виконання, які не були завершені, обрізаються, якщо -їхній дочірній сеанс не позначено як `abortedLastRun: true`. Ці -дочірні сеанси, перервані перезапуском, залишаються відновлюваними через потік -відновлення осиротілих sub-agent, який надсилає синтетичне повідомлення resume перед +Після перезапуску Gateway застарілі незавершені відновлені запуски обрізаються, якщо +їхня дочірня сесія не позначена як `abortedLastRun: true`. Такі +перервані перезапуском дочірні сесії залишаються придатними для відновлення через потік +відновлення осиротілих під-агентів, який надсилає синтетичне повідомлення resume перед очищенням маркера переривання. -Автоматичне відновлення після перезапуску обмежене для кожного дочірнього сеансу. Якщо той самий -дочірній sub-agent повторно приймається для відновлення осиротілого сеансу всередині -швидкого вікна повторного заклинювання, OpenClaw зберігає tombstone відновлення в цьому -сеансі й припиняє автоматично відновлювати його під час наступних перезапусків. Запустіть +Автоматичне відновлення після перезапуску обмежене для кожної дочірньої сесії. Якщо той самий +дочірній під-агент неодноразово приймається для відновлення осиротілих у межах +швидкого вікна повторного зависання, OpenClaw зберігає tombstone відновлення в цій +сесії та припиняє автоматично відновлювати її під час наступних перезапусків. Запустіть `openclaw tasks maintenance --apply`, щоб узгодити запис завдання, або -`openclaw doctor --fix`, щоб очистити застарілі прапорці перерваного відновлення на -сеансах із tombstone. +`openclaw doctor --fix`, щоб очистити застарілі прапорці перерваного відновлення в +сесіях із tombstone. -Якщо створення sub-agent завершується помилкою Gateway `PAIRING_REQUIRED` / -`scope-upgrade`, перевірте RPC-викликач перед редагуванням стану pairing. +Якщо створення під-агента завершується помилкою Gateway `PAIRING_REQUIRED` / +`scope-upgrade`, перевірте викликача RPC перед редагуванням стану спарювання. Внутрішня координація `sessions_spawn` має підключатися як -`client.id: "gateway-client"` з `client.mode: "backend"` через пряму -loopback-автентифікацію shared-token/password; цей шлях не залежить від -базового scope парного пристрою CLI. Віддалені викликачі, явні -`deviceIdentity`, явні шляхи device-token, а також browser/Node-клієнти -все ще потребують звичайного схвалення пристрою для підвищення scope. +`client.id: "gateway-client"` з `client.mode: "backend"` через прямий +local loopback з автентифікацією за спільним токеном/паролем; цей шлях не залежить від +базового рівня області paired-device для CLI. Віддалені викликачі, явні +`deviceIdentity`, явні шляхи device-token і клієнти browser/node +досі потребують звичайного схвалення пристрою для підвищення області. -## Зупинення +## Зупинка -- Надсилання `/stop` у чаті запитувача перериває сеанс запитувача й зупиняє всі активні виконання sub-agent, породжені з нього, каскадно поширюючись на вкладених дочірніх агентів. -- `/subagents kill ` зупиняє конкретний sub-agent і каскадно зупиняє його дочірні агенти. +- Надсилання `/stop` у чаті запитувача перериває сесію запитувача й зупиняє всі активні запуски під-агентів, створені з неї, каскадно переходячи до вкладених дочірніх елементів. +- `/subagents kill ` зупиняє конкретного під-агента й каскадно зупиняє його дочірні елементи. ## Обмеження -- Оголошення sub-agent працює за принципом **best-effort**. Якщо Gateway перезапускається, незавершена робота "announce back" втрачається. -- Sub-agent усе ще спільно використовують ресурси того самого процесу Gateway; розглядайте `maxConcurrent` як запобіжний клапан. -- `sessions_spawn` завжди неблокувальний: він негайно повертає `{ status: "accepted", runId, childSessionKey }`. -- Контекст sub-agent додає лише `AGENTS.md` + `TOOLS.md` (без `SOUL.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md` або `BOOTSTRAP.md`). -- Максимальна глибина вкладення становить 5 (діапазон `maxSpawnDepth`: 1–5). Для більшості випадків використання рекомендовано глибину 2. -- `maxChildrenPerAgent` обмежує активних дочірніх агентів для кожного сеансу (типово `5`, діапазон `1–20`). +- Оголошення під-агента виконується за принципом **best-effort**. Якщо gateway перезапускається, очікувана робота "announce back" втрачається. +- Під-агенти досі спільно використовують ресурси того самого процесу gateway; розглядайте `maxConcurrent` як запобіжний клапан. +- `sessions_spawn` завжди неблокувальний: він одразу повертає `{ status: "accepted", runId, childSessionKey }`. +- Контекст під-агента вставляє лише `AGENTS.md` + `TOOLS.md` (без `SOUL.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md` або `BOOTSTRAP.md`). +- Максимальна глибина вкладеності становить 5 (діапазон `maxSpawnDepth`: 1–5). Для більшості випадків використання рекомендовано глибину 2. +- `maxChildrenPerAgent` обмежує кількість активних дочірніх елементів на сесію (за замовчуванням `5`, діапазон `1–20`). ## Пов’язане -- [ACP-агенти](/uk/tools/acp-agents) +- [Агенти ACP](/uk/tools/acp-agents) - [Надсилання агенту](/uk/tools/agent-send) - [Фонові завдання](/uk/automation/tasks) -- [Інструменти ізольованого середовища для кількох агентів](/uk/tools/multi-agent-sandbox-tools) +- [Інструменти пісочниці для кількох агентів](/uk/tools/multi-agent-sandbox-tools)