Цель
Цель — это одна долговременная задача, связанная с текущим сеансом OpenClaw. Она предоставляет агенту и оператору общую точку назначения для длительной работы, не превращая её в фоновую задачу, напоминание, задание Cron или постоянное поручение. Цели являются состоянием сеанса: они перемещаются вместе с ключом сеанса, сохраняются после перезапуска процесса и отображаются в/goal, инструментах целей для модели и нижней
панели TUI.
Быстрый старт
start необязателен: /goal get CI green for PR 87469 также создаёт цель,
поскольку любой текст после /goal, не являющийся известным словом действия, рассматривается как
новая задача.
Для чего нужны цели
Используйте цель, когда у сеанса есть конкретный результат, который должен оставаться видимым на протяжении многих ходов:- Завершение работы над PR: исправить, проверить, выполнить авторевью, отправить изменения и открыть или обновить PR.
- Отладка: воспроизвести ошибку, определить ответственную область, внести исправление и подтвердить его.
- Работа с документацией: прочитать соответствующую документацию, написать новую страницу, добавить перекрёстные ссылки и проверить сборку документации.
- Задача обслуживания: проверить текущее состояние, внести ограниченные изменения, выполнить необходимые проверки и сообщить, что изменилось.
Справочник команд
/goal без аргументов выводит сводку текущей цели:
В одном сеансе одновременно может существовать только одна цель. Попытка создать вторую цель завершается
ошибкой
Goal error: goal already exists, пока текущая цель не будет удалена.
/goal start не принимает флаг бюджета токенов; бюджет можно задать только
через предназначенный для модели инструмент create_goal.
Статусы
active: сеанс работает над достижением цели.paused: оператор приостановил цель;/goal resumeснова делает её активной.blocked: агент или оператор сообщил о реальном препятствии;/goal resumeснова делает цель активной, когда появляются новые сведения или изменяется состояние.budget_limited: настроенный бюджет токенов исчерпан;/goal resumeвозобновляет работу над той же задачей с новым окном бюджета.usage_limited: зарезервировано для будущего состояния остановки из-за ограничения использования;/goal resumeаналогичным образом возобновляет работу.complete: цель достигнута. Завершённые цели являются конечными; перед созданием другой цели используйте/goal clear.
/new и /reset удаляют цель текущего сеанса, поскольку они намеренно
создают новый контекст сеанса.
Бюджеты токенов
Цели могут иметь необязательный положительный бюджет токенов, задаваемый через параметрtoken_budget инструмента create_goal. Бюджет отсчитывается от
актуального количества токенов сеанса на момент создания цели. Если при запуске цели
в сеансе доступен только устаревший снимок количества токенов или оно неизвестно, OpenClaw ожидает
следующий актуальный снимок и использует его в качестве исходного значения, поэтому токены, израсходованные до
создания цели, в её бюджет не включаются.
Когда расход достигает бюджета, цель переходит в состояние budget_limited. Это
не удаляет цель и не стирает задачу; это сообщает оператору и
агенту, что активная работа над целью прекращена до её возобновления или
удаления. При возобновлении создаётся новое окно бюджета, начиная с текущего актуального
количества токенов.
Бюджеты токенов — это ограничитель для цели сеанса, а не предел расходов. Квота
провайдера, отчётность о стоимости и поведение контекстного окна по-прежнему используют обычные
механизмы OpenClaw для управления использованием и моделью.
Инструменты модели
OpenClaw предоставляет средам выполнения агентов три инструмента для работы с целями:
Модель не может незаметно приостановить, возобновить, удалить или заменить цель. Эти действия остаются
элементами управления оператора и сеанса через
/goal и команды сброса, чтобы агент
мог сообщить о достижении цели или реальном препятствии, не изменяя незаметно
саму цель.
update_goal должен отмечать цель как complete, только когда задача
действительно выполнена. Он должен отмечать цель как blocked, только если одно и то же
препятствие возникает как минимум в трёх последовательных ходах работы над целью, а не при
обычных затруднениях или отсутствии окончательной доработки.
Контекст цели при каждом ходе
Каждый пользовательский ход или сообщение чата с активной целью содержит следующую строку контекста с ролью пользователя:Интерфейс управления
Веб-интерфейс управления показывает цель в виде компактной плашки над полем ввода чата: значок статуса, метку статуса (например,Pursuing goal), сокращённую
формулировку задачи и обновляемый таймер прошедшего времени.
Плашка содержит встроенные элементы управления:
- Карандаш предварительно заполняет поле ввода командой
/goal edit <objective>, чтобы задачу можно было переформулировать и отправить. - Приостановить / возобновить переключает между
/goal pauseи/goal resumeв зависимости от текущего статуса. - Корзина отправляет
/goal clear. - Шеврон разворачивает плашку, показывая полную формулировку задачи, последнее примечание о статусе, расход токенов и прошедшее время.
TUI
Нижняя панель TUI отображает цель активного сеанса рядом с полями агента, сеанса и модели, перед индикаторами токенов и режима. Примеры нижней панели:Pursuing goal (12k/50k)для активной цели с бюджетом токенов.Goal paused (/goal resume)для приостановленной цели.Goal blocked (/goal resume)для заблокированной цели.Goal hit usage limits (/goal resume)для цели с ограничением использования.Goal unmet (50k/50k)для цели с исчерпанным бюджетом.Goal achieved (42k)для завершённой цели.
/goal, чтобы увидеть полную формулировку задачи,
примечание, бюджет токенов и доступные команды.
Поведение в каналах
/goal работает в сеансах OpenClaw, поддерживающих команды, включая TUI и
интерфейсы чата, в которых разрешены текстовые команды. Состояние цели связано с
ключом сеанса, а не с транспортом, поэтому два интерфейса с общим ключом сеанса видят одну и ту же
цель.
Состояние цели не является директивой доставки: оно не заставляет отправлять ответы через определённый
канал, не изменяет поведение очереди, не подтверждает инструменты и не планирует работу.
Устранение неполадок
Если для расхода токенов отображается
0 или значение выглядит устаревшим, у активного сеанса может ещё не быть
актуального снимка количества токенов. Данные об использовании обновляются, когда OpenClaw регистрирует использование сеанса
и итоговые значения, полученные из журнала сообщений.