Skip to main content
Skill Workshop — это управляемый OpenClaw процесс создания и обновления Skills рабочего пространства. Агенты и операторы никогда не записывают SKILL.md напрямую в рамках этого процесса — они создают предложение (ожидающий черновик с содержимым, привязкой к цели, состоянием сканера, хешами и метаданными отката), которое становится действующим навыком только после применения. Skill Workshop записывает только Skills рабочего пространства. Он никогда не затрагивает встроенные Skills, плагины, ClawHub, дополнительные корни, управляемые, персональные агентские или системные Skills.

Как это работает

  • Сначала предложение: сгенерированное содержимое хранится как PROPOSAL.md, а не SKILL.md.
  • Применение — единственная операция записи в действующую версию: создание, обновление и пересмотр никогда не изменяют активные Skills.
  • Область действия — рабочее пространство: создаваемые Skills помещаются в корень skills/ рабочего пространства; обновления разрешены только для доступных для записи Skills рабочего пространства.
  • Без перезаписи: создание завершается ошибкой, если целевой навык уже существует.
  • Привязка по хешу: предложения обновления привязываются к текущему хешу цели и переходят в состояние stale, если действующий навык изменяется до применения.
  • Проверка сканером: перед записью применение повторно запускает сканер безопасности.
  • Возможность восстановления: перед изменением действующих файлов применение записывает метаданные отката.
  • Единообразные интерфейсы: чат, CLI и Gateway вызывают один и тот же сервис.

Жизненный цикл

Только предложение pending можно пересматривать, применять, отклонять или помещать в карантин.

Управление жизненным циклом

Gateway отслеживает совокупное использование Skills в общей базе данных состояния. Один раз в день он проверяет Skills, созданные и применённые через Skill Workshop. Skills, не использовавшиеся более 30 дней, переходят в состояние stale; через 90 дней они переходят в состояние archived и не включаются в новые снимки Skills агентов. Файлы архивированных Skills на диске не изменяются. Созданные вручную Skills никогда не управляются автоматически; в управление жизненным циклом попадают только Skills, созданные из предложений Skill Workshop. Закреплённые Skills не проходят переходы жизненного цикла. Устаревший навык возвращается в состояние active после его использования и выполнения следующей проверки. Архивированные Skills возвращаются только посредством явного восстановления: Переходы жизненного цикла и восстановления применяются к новым сеансам; выполняющиеся сеансы сохраняют текущий снимок Skills.
Все команды управления принимают --json. Команда состояния также сообщает о детерминированно выявленных кандидатах на перекрытие исключительно в виде предложений; она никогда не объединяет Skills и не вызывает модель.

Чат

Попросите агента создать нужный навык; он вызовет skill_workshop и вернёт идентификатор предложения.

Обучение на недавней работе

Используйте /learn, чтобы преобразовать текущий разговор или указанные источники в одно предложение навыка, составленное с учётом стандартов:
Если запрос отсутствует, /learn просит агента выделить многократно применимый рабочий процесс из текущего разговора. Если запрос задан, агент рассматривает пути, URL, вставленные заметки и ссылки на разговор как источники, соблюдая требования к направленности, области действия и именованию. Он собирает источники с помощью имеющихся инструментов, а затем вызывает skill_workshop с action: "create". Полученное предложение остаётся в состоянии pending; /learn никогда его не применяет. Проверьте и примените его через обычный процесс утверждения или с помощью openclaw skills workshop. Создание:
Обновление существующего навыка рабочего пространства:
Доработка ожидающего предложения:
Инициированные агентом apply, reject и quarantine по умолчанию выполняются без дополнительного запроса подтверждения. Установите skills.workshop.approvalPolicy в "pending", чтобы требовать подтверждения оператора перед этими действиями. Когда подтверждение обязательно, запрос указывает идентификатор предложения и целевой навык, а также показывает описание предложения, количество вспомогательных файлов и размер основного текста. Время ожидания подтверждения ограничено так, чтобы запрос завершился до срабатывания сторожевого таймера инструмента агента. Если решение не поступает до истечения срока запроса, действие жизненного цикла не выполняется: предложение остаётся ожидающим и неизменённым. Решение можно принять позднее в интерфейсе Skill Workshop или выполнить openclaw skills workshop apply|reject|quarantine <proposal-id>. Агентам не следует циклически повторять действие жизненного цикла, срок ожидания которого истёк.

CLI

Каждая подкоманда принимает --agent <id> (целевое рабочее пространство; по умолчанию определяется из текущего рабочего каталога, а затем используется агент по умолчанию) и --json (структурированный вывод). propose-create, propose-update и revise также принимают --goal <text> и --evidence <text>, чтобы записать контекст предложения вместе с --proposal.

Содержимое предложения

Пока предложение ожидает обработки, оно хранится как PROPOSAL.md с относящимися только к предложению метаданными frontmatter:
При применении Skill Workshop записывает активный SKILL.md и удаляет поля, относящиеся только к предложению: status, version предложения и date предложения.

Вспомогательные файлы

Используйте --proposal-dir, когда предлагаемому навыку нужны файлы рядом с PROPOSAL.md:
Каталог должен содержать PROPOSAL.md. Вспомогательные файлы должны находиться в assets/, examples/, references/, scripts/ или templates/. Skill Workshop сканирует, хеширует и сохраняет их вместе с предложением, а затем записывает рядом с действующим SKILL.md только при применении. Отклоняются следующие пути вспомогательных файлов: абсолютные пути, скрытые сегменты пути, обход каталогов, перекрывающиеся пути, исполняемые файлы, текст не в UTF-8, нулевые байты и пути за пределами стандартных каталогов вспомогательных файлов.

Инструмент агента

Модель использует skill_workshop с одним обязательным action: create | update | revise | list | inspect | apply | reject | quarantine. Остальные параметры применяются в зависимости от действия: Агенты должны использовать skill_workshop для работы с генерируемыми Skills. Они не должны создавать или изменять файлы предложений через write, edit, exec, команды оболочки или прямые операции с файловой системой.
skill_workshop — это встроенный инструмент агента, включённый в tools.profile: "coding". Если более строгая политика скрывает его, добавьте skill_workshop в активный список tools.allow или используйте tools.alsoAllow: ["skill_workshop"], когда область действия использует профиль без явного tools.allow. Запуски в песочнице не создают инструмент Skill Workshop на стороне хоста, поэтому выполняйте действия проверки предложений из обычного сеанса агента на стороне хоста или через CLI.

Предлагаемые Skills

OpenClaw обнаруживает долговременные инструкции, такие как «в следующий раз», «запомни» и корректирующие замечания по завершении интерактивного хода, включая неудачные ходы. На следующем ходу агент предлагает сохранить последний обнаруженный рабочий процесс через skill_workshop; пользователь решает, создавать ли предложение. Эта встроенная рекомендация сама по себе не создаёт и не изменяет навык. Включите skills.workshop.autonomous.enabled, чтобы вместо этого напрямую создавать ожидающие предложения. В Control UI вкладка Workshop предоставляет ту же настройку в виде переключателя Self-learning в заголовке страницы и кнопки включения на пустой доске предложений.

Сканирование прошлых сеансов

Control UI может проверять более раннюю работу без включения автономного самообучения. Откройте Plugins → Workshop и выберите Find skill ideas. Сканирование начинается с самых новых подходящих сеансов и проверяет ограниченное окно содержательной работы. Оно пропускает сеансы cron, heartbeat, hook, субагентов, ACP, принадлежащие плагинам и внутренние сеансы проверки, а также разговоры, содержащие менее шести ходов модели. Средство проверки использует настроенную модель выбранного агента и получает пакет расшифровок ограниченного размера с удалёнными секретами. Оно применяет те же строгие критерии, что и проверка опыта: конкретный шаблон восстановления или стабильную процедуру, которая позволит исключить не менее двух будущих вызовов модели или инструментов. Обычная работа и единичные факты не должны приводить к созданию предложения. Одно сканирование может создать или пересмотреть не более трёх ожидающих предложений. Оно не может применять, отклонять, помещать в карантин или изменять действующий навык. Workshop показывает совокупный охват, например Проверено 20 сеансов · 18 июня–сегодня · Найдено 2 идеи. Выберите Scan earlier work, чтобы продолжить с сохранённого указателя на самый старый сеанс. После исчерпания доступной истории действие меняется на Scan new work. Историческая проверка выполняется вручную, даже когда skills.workshop.autonomous.enabled имеет значение false. Каждый щелчок запускает выполнение модели, поэтому применяются тарифы провайдера и его условия обработки данных. Позиция курсора и показатели охвата хранятся в общей базе данных состояния OpenClaw; содержимое расшифровки не копируется в состояние сканирования. Если включён автономный сбор, OpenClaw также может выполнить консервативную проверку после успешной существенной работы и после перехода всей агентной системы в состояние простоя. Такая изолированная проверка может создать или изменить не более одного ожидающего предложения. Она не может обновить активный навык или применить, отклонить либо поместить в карантин предложение, даже когда approvalPolicy имеет значение "auto". Сведения о включении, критериях применимости, конфиденциальности, затратах, пороговом значении для предложений и устранении неполадок см. в разделе Самообучение.

Одобрение и автономность

Автономный сбор распознаёт перспективные правила (например, «в дальнейшем») и реактивные исправления (например, «это не то, что было запрошено»). Новые инструкции группируются по темам в не более чем три предложения за один ход, совпадения в терминологии направляются в существующие доступные для записи навыки рабочей области, а собственное ожидающее предложение изменяется, когда другое исправление относится к тому же навыку. Для успешной существенной работы без явного исправления изолированный запуск выбранной модели определяет, соответствует ли завершённая траектория консервативному порогу создания предложения. Модели, работающей на переднем плане, не предлагается обучаться до отправки ответа. Фоновый проверяющий сохраняет запуск на переднем плане как источник происхождения предложения, не имеет доступа к общим инструментам агента и не может принимать решения о жизненном цикле. Проверка начинается только тогда, когда среда выполнения на переднем плане сообщает как точную разрешённую модель, так и то, что skill_workshop действительно был доступен. Поэтому ограничительная или неизвестная политика инструментов приводит к безопасному отказу и не создаёт предложение. Полное описание поведения автономной проверки и модели безопасности см. в разделе Самообучение. Размер описаний предложений всегда ограничен 160 байтами независимо от maxSkillBytes.

Методы Gateway

requestRevision доступен только через Gateway (без эквивалента в CLI или инструментах агента): он пересылает текстовые инструкции по изменению в сеанс чата владеющего агента вместо непосредственной замены PROPOSAL.md; это предназначено для интерфейсов, которые просят агента внести изменения, а не отправляют новое содержимое буквально. historyStatus и historyScan — вспомогательные методы Control UI. historyScan принимает direction: "older" | "newer"; результаты всегда остаются ожидающими предложениями.

Хранение

Каталог состояния по умолчанию: ~/.openclaw.
  • proposal.json: каноническая запись предложения.
  • proposals.json: индекс для быстрого формирования списка, который можно перестроить из папок предложений.
  • PROPOSAL.md: ожидающее предложение навыка.
  • rollback.json: метаданные восстановления, записываемые до того, как применение изменит активные файлы.

Ограничения

Устранение неполадок

Диагностика политики инструментов

Когда автономный сбор включён, openclaw doctor выполняет проверку core/doctor/skill-workshop-tool-policy для агента по умолчанию. Если политика скрывает skill_workshop, предупреждение указывает первый исключающий слой конфигурации и точное изменение allow или alsoAllow, которое необходимо внести. В старых инструкциях по эксплуатации всё ещё может использоваться openclaw plugins inspect skill-workshop; теперь эта команда поясняет, что Skill Workshop является встроенным, и выводит ту же подсказку по политике, когда она применима.

Связанные разделы