Перейти к основному содержанию
Plugin Workboard добавляет необязательную доску в стиле Kanban в Control UI. Используйте ее, чтобы собирать рабочие карточки размера задачи для агента, назначать их агентам и отслеживать связанную фоновую задачу, запуск и сессию панели мониторинга из одной карточки. Workboard намеренно небольшой. Он отслеживает локальную операционную работу для OpenClaw Gateway; это не замена GitHub Issues, Linear, Jira или другим системам управления командными проектами.

Состояние по умолчанию

Workboard — это встроенный Plugin, и по умолчанию он отключен, пока вы не включите его в конфигурации Plugin. Включите его так:
openclaw plugins enable workboard
openclaw gateway restart
Затем откройте панель мониторинга:
openclaw dashboard
Вкладка Workboard появится в навигации панели мониторинга. Если вкладка видна, но Plugin отключен или заблокирован plugins.allow / plugins.deny, представление показывает состояние недоступного Plugin вместо локальных данных карточек.

Что содержат карточки

Каждая карточка хранит:
  • заголовок и заметки
  • статус: triage, backlog, todo, scheduled, ready, running, review, blocked или done
  • приоритет: low, normal, high или urgent
  • метки
  • необязательный идентификатор агента
  • необязательную связанную задачу, запуск, сессию или URL источника
  • необязательные метаданные выполнения для запуска Codex или Claude, начатого из карточки
  • компактные метаданные для попыток, комментариев, ссылок, подтверждений, артефактов, автоматизации, вложений, журналов воркеров, состояния протокола воркера, заявок, диагностики, уведомлений, шаблонов, состояния архива и обнаружения устаревших сессий
  • недавние события карточки, такие как создание, перемещение, связывание, назначение заявки, Heartbeat, попытка, подтверждение, артефакт, диагностика, уведомление, dispatch, архивирование, устаревание или изменения, обновленные агентом
Карточки хранятся в состоянии Gateway этого Plugin. Они локальны для каталога состояния Gateway и перемещаются вместе с остальным состоянием OpenClaw этого Gateway. Workboard хранит компактные метаданные для каждой карточки, чтобы операторы могли видеть, как карточка двигалась по доске, не открывая связанную сессию. События, сводки попыток, фрагменты подтверждений, связанные ссылки, комментарии, маркеры архива и маркеры устаревших сессий намеренно являются локальными метаданными; они не заменяют расшифровки сессий или историю issue в GitHub.

Выполнения карточек и задачи

Несвязанные карточки могут запускать работу из карточки. Автономные запуски используют путь запуска агента с отслеживанием задач в Gateway, затем Workboard связывает полученные задачу, идентификатор запуска и ключ сессии обратно с карточкой. Запуск использует настроенные в Gateway агента и модель по умолчанию. Действия Codex и Claude являются необязательными явными вариантами выбора модели:
  • Run Codex или Run Claude запускает агентский запуск с поддержкой задачи, отправляет prompt карточки и помечает карточку как running.
  • Open Codex или Open Claude создает связанную сессию панели мониторинга без отправки prompt карточки и без перемещения карточки, чтобы вы могли работать вручную, пока она остается прикрепленной к доске.
Метаданные выполнения хранят выбранный движок, режим, ссылку на модель, ключ сессии, идентификатор запуска, идентификатор задачи при наличии и статус жизненного цикла на карточке. Выполнения Codex используют openai/gpt-5.5; выполнения Claude используют anthropic/claude-sonnet-4-6. Каждое связанное выполнение также записывает сводку попытки в ту же запись карточки. Сводка попытки хранит движок, режим, модель, идентификатор запуска, временные метки, статус и скользящий счетчик сбоев, чтобы повторяющиеся сбои оставались видимыми на доске. Панель мониторинга обновляет статус задачи из журнала задач Gateway и сопоставляет задачи с карточками по идентификатору задачи, идентификатору запуска или связанному ключу сессии. Если задача находится в очереди или выполняется, жизненный цикл карточки показывает активное состояние задачи. Если задача завершается, завершается ошибкой, истекает по времени или отменяется, жизненный цикл карточки перемещается к статусу review или blocked, используя ту же синхронизацию жизненного цикла, что и связанные сессии.

Координация агентов

Workboard также предоставляет необязательные инструменты агента для рабочих процессов с учетом доски:
  • workboard_list выводит компактные карточки с состоянием заявки и диагностики, с необязательным фильтром доски.
  • workboard_read возвращает одну карточку плюс ограниченный контекст воркера, построенный из заметок, попыток, комментариев, ссылок, подтверждений, артефактов, результатов родительских карточек, недавней работы исполнителя и активной диагностики.
  • workboard_create создает карточку с необязательными родителями, tenant, Skills, доской, метаданными рабочей области, ключом идемпотентности, лимитом времени выполнения и бюджетом повторных попыток.
  • workboard_link связывает родительскую карточку с дочерней карточкой. Дочерние карточки остаются в todo, пока каждый родитель не достигнет done; затем продвижение dispatch перемещает их в ready.
  • workboard_claim назначает заявку на карточку вызывающему агенту и перемещает карточки backlog, todo или ready в running.
  • workboard_heartbeat обновляет Heartbeat заявки во время более долгих запусков.
  • workboard_release освобождает заявку после завершения, паузы или передачи и может переместить карточку в следующий статус.
  • workboard_complete и workboard_block — это структурированные инструменты жизненного цикла для итоговых сводок, подтверждений, артефактов, манифестов созданных карточек и причин блокировки. Манифесты созданных карточек должны ссылаться на карточки, связанные обратно с завершенной карточкой, что не допускает фантомных дочерних карточек в сводках.
  • workboard_attachment_add, workboard_attachment_read и workboard_attachment_delete хранят небольшие вложения карточек в состоянии SQLite этого Plugin, индексируют их на карточке и предоставляют их в контексте воркера.
  • workboard_worker_log и workboard_protocol_violation записывают строки журнала воркера и блокируют карточки, когда автоматизированный воркер останавливается без вызова workboard_complete или workboard_block.
  • workboard_board_create, workboard_board_archive и workboard_board_delete управляют сохраняемыми метаданными доски, такими как отображаемое имя, описание, состояние архива и рабочая область по умолчанию.
  • workboard_runs возвращает сохраняемую историю попыток запуска, сохраненную на карточке.
  • workboard_specify превращает черновую карточку triage или backlog в уточненную карточку todo и записывает сводку спецификации на карточке.
  • workboard_decompose распределяет родительскую orchestration-карточку на связанные дочерние карточки, наследует метаданные доски и tenant и может завершить родителя с манифестом созданных карточек.
  • workboard_notify_subscribe, workboard_notify_list, workboard_notify_events, workboard_notify_advance и workboard_notify_unsubscribe управляют подписками на уведомления в состоянии Plugin. Чтение событий безопасно для повторного воспроизведения; инструмент advance перемещает долговечный курсор, чтобы вызывающие стороны могли возобновить работу без потери или повторного чтения завершенных, неудачных или устаревших событий карточек.
  • workboard_boards, workboard_stats, workboard_promote, workboard_reassign, workboard_reclaim, workboard_comment, workboard_proof, workboard_unblock и workboard_dispatch позволяют агенту проверять пространства имен досок, просматривать статистику очередей, восстанавливать зависшую работу, добавлять заметки передачи, прикреплять ссылки на подтверждения или артефакты, возвращать заблокированную работу в todo и подталкивать продвижение зависимостей или очистку устаревших заявок.
Карточки с заявкой отклоняют мутации через инструменты агента от других агентов, если у вызывающей стороны нет токена заявки, возвращенного workboard_claim. Операторы панели мониторинга по-прежнему используют обычную поверхность RPC Gateway и могут восстанавливать или переназначать карточки. Workboard хранит долговечные данные доски в принадлежащей Plugin реляционной базе данных SQLite в каталоге состояния OpenClaw. Доски, карточки, метки, события жизненного цикла, попытки запусков, комментарии, ссылки зависимостей, подтверждения, ссылки на артефакты, метаданные и содержимое вложений, диагностика, уведомления, журналы воркеров, состояние протокола и подписки сохраняются в таблицах Workboard вместо записей key-value Plugin. Экспорт карточки по-прежнему сохраняет повествование доски без встраивания содержимого blob вложений. Установки, которые использовали Workboard в релизе .28, могут выполнить openclaw doctor --fix, чтобы перенести поставлявшиеся legacy-пространства имен состояния Plugin (workboard.cards, workboard.boards и workboard.notify) в реляционную базу данных. Если присутствует legacy-пространство имен workboard.attachments, doctor также переносит эти blob вложений. Диагностика Workboard вычисляется из локальных метаданных карточек. Встроенные проверки отмечают назначенные карточки, которые ждут слишком долго, карточки running без недавнего Heartbeat, заблокированные карточки, требующие внимания, повторяющиеся сбои, карточки done без подтверждения и карточки running, у которых есть только свободная ссылка на сессию. Dispatch намеренно локален для Gateway. Он не запускает произвольные процессы операционной системы; обычные сессии subagent OpenClaw по-прежнему владеют выполнением. Действие dispatch продвигает карточки с готовыми зависимостями, записывает метаданные dispatch на готовые карточки, блокирует истекшие заявки или запуски с тайм-аутом, помечает настроенные доской triage-карточки как кандидатов на orchestration, затем назначает заявку на небольшой пакет готовых карточек и запускает запуски воркеров через runtime subagent Gateway. Назначенные карточки используют ключи сессий воркеров agent:<id>:subagent:workboard-*; неназначенные карточки используют неограниченные ключи subagent:workboard-*, чтобы Gateway по-прежнему разрешал настроенного агента по умолчанию. Воркеры получают ограниченный контекст карточки плюс токен заявки, который нужен им для Heartbeat, завершения или блокировки карточки через инструменты Workboard.

Выбор воркеров dispatch

Каждый проход dispatch по умолчанию запускает не более трех воркеров. Готовые карточки упорядочиваются по приоритету, позиции и времени создания, затем фильтруются, чтобы избежать дублирующего активного владения. Dispatch запускает только одну карточку для данного владельца или агента в одном проходе и пропускает владельцев, у которых на доске уже есть работа running или review. Архивированные карточки, карточки с активными заявками и карточки без статуса ready не выбираются для запусков воркеров. На них все равно может повлиять сторона dispatch, работающая с данными, когда применяются устаревшие заявки, продвижение зависимостей или очистка тайм-аутов.

Prompt воркера и жизненный цикл

Prompt воркера включает заголовок карточки, ограниченные заметки и контекст, назначенную доску и протокол воркера Workboard. Он также включает владельца заявки и токен заявки, чтобы воркер мог вызвать workboard_heartbeat, workboard_complete или workboard_block без перехода карточки под управление другого участника. Когда воркер успешно запускается, Workboard сохраняет на карточке ключ сессии, идентификатор запуска, движок, режим, метку модели, статус и журнал воркера. Ключ сессии детерминирован для доски и карточки, благодаря чему повторные dispatch направляются обратно в ту же линию воркера вместо создания несвязанных сессий. Если воркер не может быть запущен после назначения заявки на карточку, Workboard блокирует карточку, очищает заявку, записывает сбой запуска и добавляет строку журнала воркера. Этот сбой виден в панели мониторинга, JSON CLI, инструментах агента и диагностике карточки.

Точки входа dispatch

Запуски воркеров для карточек ready могут происходить из:
  • действия dispatch на панели мониторинга
  • openclaw workboard dispatch
  • /workboard dispatch в канале с поддержкой команд
Все три точки входа используют runtime subagent Gateway, когда Gateway доступен. У CLI есть один дополнительный fallback для оператора: если Gateway офлайн или не предоставляет метод dispatch Workboard и явная цель --url или --token не была указана, он выполняет dispatch только для данных по локальному состоянию SQLite. Этот fallback может продвигать зависимости, очищать устаревшие заявки и блокировать запуски с тайм-аутом, но не может запускать воркеров. Метаданные доски могут включать настройки orchestration, такие как autoDecompose, autoDecomposePerDispatch, defaultAssignee и orchestratorProfile. OpenClaw записывает намерение orchestration и предоставляет его в контексте воркера; фактическая спецификация и декомпозиция по-прежнему выполняются через обычные инструменты Workboard.

CLI и slash-команда

Plugin регистрирует корневую команду CLI:
openclaw workboard list
openclaw workboard create "Fix stale card lifecycle" --priority high --labels bug,workboard
openclaw workboard show <card-id>
openclaw workboard dispatch
openclaw workboard dispatch вызывает запущенный Gateway, чтобы запуски воркеров использовали ту же среду выполнения субагентов, что и панель управления. Если Gateway недоступен, команда откатывается к диспетчеризации только по данным, чтобы повышение зависимостей, очистка устаревших заявок и блокировка по тайм-ауту всё равно могли выполняться. Ошибки аутентификации, разрешений и валидации по-прежнему отображаются как ошибки команды, как и сбои для явных целей --url или --token. Slash-команда /workboard поддерживает такой же компактный путь оператора: /workboard list, /workboard show <card-id>, /workboard create <title> и /workboard dispatch. Список и просмотр — операции чтения для авторизованных отправителей команд. Создание и диспетчеризация требуют статуса владельца в чат-поверхностях или клиента Gateway с operator.write или operator.admin. См. CLI Workboard, чтобы узнать о флагах команд, выводе JSON, резервном поведении Gateway, однозначной обработке префиксов идентификаторов, правилах выбора для диспетчеризации и устранении неполадок.

Синхронизация жизненного цикла сеанса

Карточки можно связывать с существующими сеансами панели управления или с сеансом, созданным при запуске работы из карточки. Связанные карточки показывают жизненный цикл сеанса прямо внутри: выполняется, устарел, связанный простаивает, готово, сбой или отсутствует. Если связанный сеанс отсутствует, карточка остаётся связанной для контекста и по-прежнему предлагает элементы запуска, чтобы вы могли перезапустить работу в новом сеансе панели управления. Если активный связанный сеанс перестаёт сообщать о недавней активности, Workboard помечает карточку как устаревшую и сохраняет маркер в метаданных карточки, пока жизненный цикл не очистит его. Вы также можете захватить существующий сеанс панели управления на вкладке «Сеансы» с помощью «Добавить в Workboard». Карточка связывается с этим сеансом, использует метку сеанса или недавний пользовательский запрос как заголовок и заполняет заметки недавним пользовательским запросом плюс последним ответом ассистента, когда доступна история чата. Workboard отслеживает связанный сеанс, пока карточка всё ещё находится в активном рабочем состоянии:
  • активный связанный сеанс -> running
  • завершённый связанный сеанс -> review
  • связанный сеанс со сбоем, принудительно остановленный, завершившийся по тайм-ауту или прерванный -> blocked
Ручные состояния проверки имеют приоритет. Если вы перемещаете карточку в review, blocked или done, Workboard перестаёт автоматически перемещать эту карточку, пока вы не вернёте её в todo или running.

Рабочий процесс панели управления

  1. Откройте вкладку Workboard в Control UI.
  2. Создайте карточку с заголовком, заметками, приоритетом, метками, необязательным агентом и необязательным связанным сеансом.
  3. Или откройте «Сеансы» и выберите «Добавить в Workboard» для существующего сеанса.
  4. Перетащите карточку между колонками или сфокусируйте компактный элемент управления статусом на карточке и используйте его меню или ArrowLeft/ArrowRight.
  5. Запустите работу из карточки, чтобы создать или повторно использовать сеанс панели управления.
  6. Откройте связанный сеанс из карточки, пока агент работает.
  7. Позвольте синхронизации жизненного цикла переместить выполняемую работу на проверку или в блокировку, затем вручную переместите карточку в готово после принятия.
Запуск карточки использует обычные сеансы Gateway. Плагин Workboard хранит только метаданные карточек и ссылки; стенограмма разговора, выбор модели и жизненный цикл запуска остаются во владении обычной системы сеансов. Используйте «Остановить» на активной связанной карточке, чтобы прервать активный запуск сеанса. Workboard помечает эту карточку как blocked, чтобы она оставалась видимой для последующих действий. Новые карточки можно запускать из шаблонов Workboard для исправления ошибок, документации, релизов, проверок PR или работы с плагинами. Шаблоны заранее заполняют заголовок, заметки, метки и приоритет, а идентификатор выбранного шаблона сохраняется как метаданные карточки.

Разрешения

Плагин регистрирует RPC-методы Gateway в пространстве имён workboard.*:
  • workboard.cards.list требует operator.read
  • workboard.cards.export требует operator.read
  • workboard.cards.diagnostics требует operator.read
  • workboard.cards.diagnostics.refresh требует operator.write
  • чтение списка/получения вложений и событий уведомлений требует operator.read
  • продвижение курсора уведомлений требует operator.write
  • методы создания, обновления, перемещения, удаления, комментирования, связывания, связывания зависимостей, доказательств, артефактов, добавления/удаления вложений, журнала воркера, нарушения протокола, заявки, Heartbeat, релиза, завершения, блокировки, разблокировки, диспетчеризации, массовых операций и архивации требуют operator.write
Браузеры, подключённые с доступом оператора только для чтения, могут просматривать доску, но не могут изменять карточки.

Конфигурация

Сегодня у Workboard нет конфигурации, специфичной для плагина. Включайте или отключайте его с помощью стандартной записи плагина:
{
  plugins: {
    entries: {
      workboard: {
        enabled: true,
        config: {},
      },
    },
  },
}
Снова отключите его с помощью:
openclaw plugins disable workboard
openclaw gateway restart

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

Вкладка сообщает, что Workboard недоступен

Проверьте политику плагинов:
openclaw plugins inspect workboard --runtime --json
Если настроен plugins.allow, добавьте workboard в этот список разрешённых. Если plugins.deny содержит workboard, удалите его перед включением плагина.

Карточки не сохраняются

Убедитесь, что подключение браузера имеет доступ operator.write. Операторские сеансы только для чтения могут перечислять карточки, но не могут создавать, редактировать, перемещать или удалять их.

Запуск карточки не открывает ожидаемый сеанс

Workboard создаёт связи с обычными сеансами панели управления. Проверьте идентификатор агента карточки и связанный сеанс, затем откройте представление «Сеансы» или «Чат», чтобы проверить фактическое состояние запуска.

Диспетчеризация не запускает воркера

Убедитесь, что есть хотя бы одна карточка ready без активной заявки:
openclaw workboard list --status ready
Если CLI сообщает о диспетчеризации только по данным, запустите или перезапустите Gateway и повторите попытку. Диспетчеризация только по данным обновляет локальное состояние доски, но не может запускать запуски воркеров-субагентов. Карточки также могут пропускаться, когда другая карточка для того же владельца или агента уже выполняется или ожидает проверки. Завершите, заблокируйте или освободите эту активную работу перед диспетчеризацией дополнительной работы для того же владельца.

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