Bundled plugin guides
Plugin Workboard
Плагін Workboard додає необов’язкову дошку в стилі Kanban до Control UI. Використовуйте її, щоб збирати картки роботи розміру агента, призначати їх агентам і відстежувати пов’язані фонове завдання, запуск і сесію панелі керування з однієї картки.
Workboard навмисно невеликий. Він відстежує локальну операційну роботу для OpenClaw Gateway; це не заміна GitHub Issues, Linear, Jira чи інших систем керування командними проєктами.
Початковий стан
Workboard є bundled plugin і за замовчуванням вимкнений, якщо ви не ввімкнете його в конфігурації plugin.
Увімкніть його так:
openclaw plugins enable workboardopenclaw 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, стартованого з картки
- компактні метадані для спроб, коментарів, посилань, доказів, артефактів, автоматизації, вкладень, журналів worker, стану протоколу worker, заявок, діагностики, сповіщень, шаблонів, стану архіву та виявлення застарілих сесій
- останні події картки, як-от створення, переміщення, пов’язування, заявка, Heartbeat, спроба, доказ, артефакт, діагностика, сповіщення, диспетчеризація, архівування, застаріння або зміни, оновлені агентом
Картки зберігаються у стані Gateway plugin. Вони локальні для каталогу стану Gateway і переміщуються разом з рештою стану OpenClaw цього Gateway.
Workboard зберігає компактні метадані для кожної картки, щоб оператори могли бачити, як картка рухалася дошкою, не відкриваючи пов’язану сесію. Події, зведення спроб, фрагменти доказів, пов’язані посилання, коментарі, маркери архіву та маркери застарілих сесій навмисно є локальними метаданими; вони не замінюють транскрипти сесій або історію issue GitHub.
Виконання карток і завдання
Непов’язані картки можуть запускати роботу з картки. Автономні запуски використовують шлях запуску агента з відстеженням завдань у Gateway, після чого Workboard пов’язує отримані завдання, ідентифікатор запуску та ключ сесії назад із карткою. Запуск використовує налаштовані в Gateway стандартні агент і модель. Дії Codex і Claude є необов’язковими явними виборами моделі:
- Run Codex або Run Claude запускає виконання агента, підкріплене завданням,
надсилає підказку картки та позначає картку як
running. - Open Codex або Open Claude створює пов’язану сесію панелі керування, не надсилаючи підказку картки й не переміщуючи картку, щоб ви могли працювати вручну, поки вона залишається прикріпленою до дошки.
Метадані виконання зберігають вибраний рушій, режим, посилання на модель, ключ
сесії, ідентифікатор запуску, ідентифікатор завдання, коли він доступний, і
стан життєвого циклу на картці. Виконання Codex використовують
openai/gpt-5.5; виконання Claude використовують
anthropic/claude-sonnet-4-6.
Кожне пов’язане виконання також записує зведення спроби в той самий запис картки. Зведення спроби зберігає рушій, режим, модель, ідентифікатор запуску, часові мітки, статус і ковзну кількість невдач, щоб повторні збої залишалися видимими на дошці.
Панель керування оновлює статус завдання з реєстру завдань Gateway і зіставляє завдання назад із картками за ідентифікатором завдання, ідентифікатором запуску або ключем пов’язаної сесії. Якщо завдання стоїть у черзі або виконується, життєвий цикл картки показує активний стан завдання. Якщо завдання завершується, завершується з помилкою, перевищує час очікування або скасовується, життєвий цикл картки переходить до статусу review або blocked, використовуючи таку саму синхронізацію життєвого циклу, як і пов’язані сесії.
Координація агентів
Workboard також надає необов’язкові інструменти агентів для workflow, що враховують дошку:
workboard_listперелічує компактні картки зі станом заявки й діагностики, з необов’язковим фільтром дошки.workboard_readповертає одну картку плюс обмежений контекст worker, створений з нотаток, спроб, коментарів, посилань, доказів, артефактів, результатів батьківських карток, нещодавньої роботи виконавця та активної діагностики.workboard_createстворює картку з необов’язковими батьківськими картками, tenant, Skills, дошкою, метаданими робочого простору, ключем ідемпотентності, лімітом runtime і бюджетом повторних спроб.workboard_linkпов’язує батьківську картку з дочірньою карткою. Дочірні залишаються вtodo, доки кожна батьківська не досягнеdone; потім просування диспетчеризації переміщує їх до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зберігають невеликі вкладення карток у стані plugin SQLite, індексують їх на картці та надають їх у контексті worker.workboard_worker_logіworkboard_protocol_violationзаписують рядки журналу worker і блокують картки, коли автоматизований worker зупиняється без викликуworkboard_completeабоworkboard_block.workboard_board_create,workboard_board_archiveіworkboard_board_deleteкерують збереженими метаданими дошки, такими як відображуване ім’я, опис, стан архіву та стандартний робочий простір.workboard_runsповертає збережену історію спроб запуску, записану на картці.workboard_specifyперетворює грубу картку triage або backlog на уточнену карткуtodoі записує зведення специфікації на картці.workboard_decomposeрозгортає батьківську оркестраційну картку у пов’язані дочірні, успадковує метадані дошки й 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і підштовхувати просування залежностей або очищення застарілих заявок.
Заявлені картки відхиляють мутації agent-tool від інших агентів, якщо викликач
не має токена заявки, повернутого workboard_claim. Оператори панелі керування
все ще використовують звичайну поверхню Gateway RPC і можуть відновлювати або
перепризначати картки.
Workboard зберігає довговічні дані дошки в реляційній базі даних SQLite, що належить plugin, у каталозі стану OpenClaw. Дошки, картки, мітки, події життєвого циклу, спроби запуску, коментарі, посилання залежностей, докази, посилання на артефакти, метадані та blobs вкладень, діагностика, сповіщення, журнали worker, стан протоколу та підписки зберігаються в таблицях Workboard замість записів key-value plugin. Експорт картки все ще зберігає наратив дошки, не вбудовуючи вміст blobs вкладень.
Інсталяції, які використовували Workboard у випуску .28, можуть виконати
openclaw doctor --fix, щоб мігрувати поставлені простори імен застарілого
стану plugin (workboard.cards, workboard.boards і workboard.notify) до
реляційної бази даних. Якщо присутній застарілий простір імен
workboard.attachments, doctor також мігрує ці blobs вкладень.
Діагностика Workboard обчислюється з локальних метаданих карток. Вбудовані
перевірки позначають призначені картки, що надто довго чекають, картки в
running без недавнього Heartbeat, заблоковані картки, які потребують уваги,
повторні невдачі, картки done без доказів і картки в running, які мають
лише вільний зв’язок із сесією.
Диспетчеризація навмисно локальна для Gateway. Вона не запускає довільні
процеси операційної системи; звичайні сесії subagent OpenClaw усе ще володіють
виконанням. Дія dispatch просуває картки з готовими залежностями, записує
метадані dispatch на готові картки, блокує прострочені заявки або запуски з
перевищеним часом очікування, позначає налаштовані дошкою triage-картки як
кандидати на оркестрацію, потім заявляє невелику партію готових карток і
запускає worker-запуски через runtime subagent Gateway. Призначені картки
використовують ключі сесій worker agent:<id>:subagent:workboard-*; непризначені
картки використовують ключі без області subagent:workboard-*, щоб Gateway
усе ще визначав налаштованого стандартного агента. Workers отримують обмежений
контекст картки плюс токен заявки, потрібний їм для Heartbeat, завершення або
блокування картки через інструменти Workboard.
Вибір dispatch worker
Кожен прохід dispatch за замовчуванням запускає щонайбільше трьох workers.
Готові картки впорядковуються за пріоритетом, позицією та часом створення, а
потім фільтруються, щоб уникнути дублювання активного володіння. Dispatch
запускає лише одну картку для певного власника або агента в тому самому проході
й пропускає власників, які вже мають роботу в running або review на дошці.
Архівовані картки, картки з активними заявками та картки без статусу ready не
вибираються для запусків worker. На них усе ще може впливати сторона даних
dispatch, коли застосовується застаріння заявок, просування залежностей або
очищення тайм-аутів.
Підказка worker і життєвий цикл
Підказка worker містить заголовок картки, обмежені нотатки й контекст,
призначену дошку та протокол worker Workboard. Вона також містить власника
заявки й токен заявки, щоб worker міг викликати workboard_heartbeat,
workboard_complete або workboard_block, не дозволяючи іншому актору
перебрати картку.
Коли worker успішно запускається, Workboard зберігає ключ сесії, ідентифікатор запуску, рушій, режим, мітку моделі, статус і журнал worker на картці. Ключ сесії детермінований для дошки й картки, завдяки чому повторні dispatch спрямовуються назад до тієї самої worker lane замість створення непов’язаних сесій.
Якщо worker не вдається запустити після заявки картки, Workboard блокує картку, очищає заявку, записує збій запуску run і додає рядок журналу worker. Цей збій видимий у панелі керування, CLI JSON, інструментах агентів і діагностиці картки.
Точки входу dispatch
Запуски worker для ready-карток можуть відбуватися з:
- дії dispatch на панелі керування
openclaw workboard dispatch/workboard dispatchу каналі, що підтримує команди
Усі три точки входу використовують runtime subagent Gateway, коли Gateway
доступний. CLI має один додатковий fallback для операторів: якщо Gateway
офлайн або не надає метод dispatch Workboard і не було передано явну ціль
--url чи --token, він виконує dispatch лише для даних щодо локального стану
SQLite. Цей fallback може просувати залежності, очищати застарілі заявки та
блокувати запуски з перевищеним часом очікування, але не може запускати workers.
Метадані дошки можуть містити налаштування оркестрації, такі як
autoDecompose, autoDecomposePerDispatch, defaultAssignee і
orchestratorProfile. OpenClaw записує намір оркестрації та надає його в
контексті worker; фактична специфікація й декомпозиція усе ще відбуваються
через звичайні інструменти Workboard.
CLI та slash command
Plugin реєструє кореневу команду CLI:
openclaw workboard listopenclaw workboard create "Fix stale card lifecycle" --priority high --labels bug,workboardopenclaw workboard show <card-id>openclaw workboard dispatchopenclaw workboard dispatch викликає запущений Gateway, щоб запуски worker використовували те саме середовище виконання subagent, що й панель керування. Якщо Gateway недоступний, команда повертається до dispatch лише на основі даних, тож просування залежностей, очищення застарілих claim і блокування за тайм-аутом усе ще можуть виконуватися. Помилки автентифікації, дозволів і валідації й надалі відображаються як помилки команди, як і помилки для явних цілей --url або --token.
Slash-команда /workboard підтримує той самий компактний шлях оператора:
/workboard list, /workboard show <card-id>, /workboard create <title> і
/workboard dispatch. List і show є операціями читання для авторизованих відправників команд. Create і dispatch потребують статусу власника на чат-поверхнях або клієнта Gateway з operator.write чи operator.admin.
Див. CLI Workboard щодо прапорів команд, JSON-виводу, поведінки fallback Gateway, однозначної обробки префіксів id, правил вибору dispatch і усунення несправностей.
Синхронізація життєвого циклу сеансу
Картки можна прив’язувати до наявних сеансів панелі керування або до сеансу, створеного, коли ви починаєте роботу з картки. Прив’язані картки показують життєвий цикл сеансу безпосередньо: виконується, застарілий, прив’язаний неактивний, завершено, невдало або відсутній.
Якщо прив’язаний сеанс відсутній, картка лишається прив’язаною для контексту й усе ще пропонує елементи керування запуском, щоб ви могли перезапустити роботу в новому сеансі панелі керування. Якщо активний прив’язаний сеанс перестає повідомляти про нещодавню активність, Workboard позначає картку як застарілу й зберігає маркер як метадані картки, доки життєвий цикл його не очистить.
Ви також можете захопити наявний сеанс панелі керування з вкладки Sessions за допомогою Add to Workboard. Картка прив’язується до цього сеансу, використовує мітку сеансу або нещодавній запит користувача як заголовок і заповнює нотатки нещодавнім запитом користувача разом з останньою відповіддю асистента, коли доступна історія чату.
Workboard відстежує прив’язаний сеанс, поки картка все ще перебуває в активному робочому стані:
- активний прив’язаний сеанс ->
running - завершений прив’язаний сеанс ->
review - невдалий, примусово завершений, завершений за тайм-аутом або перерваний прив’язаний сеанс ->
blocked
Ручні стани review мають пріоритет. Якщо ви перемістите картку до review, blocked або done, Workboard припинить автоматично переміщати цю картку, доки ви не повернете її до todo або running.
Робочий процес панелі керування
- Відкрийте вкладку Workboard у Control UI.
- Створіть картку із заголовком, нотатками, пріоритетом, мітками, необов’язковим агентом і необов’язковим прив’язаним сеансом.
- Або відкрийте Sessions і виберіть Add to Workboard для наявного сеансу.
- Перетягніть картку між колонками або сфокусуйте компактний елемент керування статусом на картці й скористайтеся його меню чи ArrowLeft/ArrowRight.
- Почніть роботу з картки, щоб створити або повторно використати сеанс панелі керування.
- Відкрийте прив’язаний сеанс із картки, поки агент працює.
- Дозвольте синхронізації життєвого циклу перемістити роботу, що виконується, у review або blocked, а потім вручну перемістіть картку до done, коли її прийнято.
Запуск картки використовує звичайні сеанси Gateway. Plugin Workboard зберігає лише метадані карток і посилання; стенограма розмови, вибір моделі та життєвий цикл запуску лишаються у власності звичайної системи сеансів.
Використовуйте Stop на живій прив’язаній картці, щоб перервати активний запуск сеансу. Workboard позначає цю картку як blocked, щоб вона лишалася видимою для подальших дій.
Нові картки можуть починатися з шаблонів Workboard для виправлень помилок, документації, релізів, PR-рецензій або роботи з Plugin. Шаблони попередньо заповнюють заголовок, нотатки, мітки й пріоритет, а id вибраного шаблону зберігається як метадані картки.
Дозволи
Plugin реєструє RPC-методи Gateway у просторі імен workboard.*:
workboard.cards.listпотребуєoperator.readworkboard.cards.exportпотребуєoperator.readworkboard.cards.diagnosticsпотребуєoperator.readworkboard.cards.diagnostics.refreshпотребуєoperator.write- читання списку/отримання вкладень і подій сповіщень потребують
operator.read - просування курсора сповіщень потребує
operator.write - методи створення, оновлення, переміщення, видалення, коментування, прив’язування, прив’язування залежностей, proof, artifact,
додавання/видалення вкладень, worker log, protocol violation, claim, heartbeat,
release, complete, block, unblock, dispatch, bulk і archive потребують
operator.write
Браузери, під’єднані з operator-доступом лише для читання, можуть переглядати дошку, але не можуть змінювати картки.
Конфігурація
Workboard наразі не має специфічної для Plugin конфігурації. Увімкніть або вимкніть його за допомогою стандартного запису Plugin:
{ plugins: { entries: { workboard: { enabled: true, config: {}, }, }, },}Знову вимкніть його за допомогою:
openclaw plugins disable workboardopenclaw gateway restartУсунення несправностей
Вкладка повідомляє, що Workboard недоступний
Перевірте політику Plugin:
openclaw plugins inspect workboard --runtime --jsonЯкщо plugins.allow налаштовано, додайте workboard до цього allowlist. Якщо
plugins.deny містить workboard, видаліть його перед увімкненням Plugin.
Картки не зберігаються
Переконайтеся, що з’єднання браузера має доступ operator.write. Operator-сеанси лише для читання можуть перелічувати картки, але не можуть створювати, редагувати, переміщати або видаляти їх.
Запуск картки не відкриває очікуваний сеанс
Workboard створює посилання на звичайні сеанси панелі керування. Перевірте id агента картки та прив’язаний сеанс, а потім відкрийте подання Sessions або Chat, щоб переглянути фактичний стан запуску.
Dispatch не запускає worker
Переконайтеся, що є принаймні одна картка ready без активного claim:
openclaw workboard list --status readyЯкщо CLI повідомляє про dispatch лише на основі даних, запустіть або перезапустіть Gateway і повторіть спробу. Dispatch лише на основі даних оновлює локальний стан дошки, але не може запускати запуски worker subagent.
Картки також можуть пропускатися, коли інша картка для того самого власника або агента вже виконується чи очікує review. Завершіть, заблокуйте або звільніть цю активну роботу, перш ніж dispatch нової роботи для того самого власника.