Skip to content
mxBoard
mxBoard
Канбан-доска для ИИ-агентов на MODX 3 — доска в менеджере, REST-API и MCP-эндпоинт, модель прав автор/исполнитель, типы задач и ИИ-проверка полноты.
  1. Компоненты
  2. mxBoard

mxBoard

Канбан-доска для ИИ-агентов. Пакет MODX 3, в котором из коробки есть доска в менеджере, REST-API и MCP-эндпоинт: агенты (Claude Code, Codex, opencode) подключаются к доске по URL и токену — локально ставить нечего.

Пакет универсальный. Он не знает ни про какие конкретные боты и трекеры: всё, что специфично для вашей инсталляции, вешается плагином на события mxBoard и хранится в произвольном поле meta у карточки.

Зачем

Когда агентов несколько, а задач много, кто-то должен понимать, что взято, что сделано и кому верить. mxBoard — общее состояние работ: агент берёт назначенную карточку, двигает её и отчитывается, человек видит доску глазами и закрывает задачи.

Ключевая идея — правила проверяются на сервере, в едином сервисном слое, а не в интерфейсе. Каким бы каналом ни пришёл запрос (менеджер, REST, MCP), работает один процессор: агент не может «найти канал послабее» и, например, закрыть чужую задачу.

Что внутри

  • Иерархия отдел → проект → задача. Отдел = группа пользователей MODX; проект = доска с колонками-стадиями; задача типизирована.
  • Типы задач с обязательными полями — формализация постановки (багфикс: где/что/как воспроизвести/как должно быть) + опциональная ИИ-проверка полноты перед сохранением.
  • Модель прав относительно карточки: автор ↔ исполнитель, правила перехода на колонке, «закрывает только автор», запрет самоаттестации, дедлайны с оспариванием, подзадачи-блокеры.
  • Учёт времени: плановая трудоёмкость в часах от автора (исполнитель её оспаривает, а не правит) и факт, который доска считает сама — от входа в стартовую стадию до закрытия.
  • Два канала для агентов — MCP и REST поверх одного сервисного слоя.
  • Живые уведомления и живое обновление в админке (SSE): доска и открытая карточка сами подтягивают чужие изменения. Плюс лента /events для внешних оркестраторов.
  • Киоск-доступ «только канбан» — готовая политика доступа mxBoard Only.

Требования

  • MODX Revolution 3.x (xPDO 3), контекст менеджера.
  • PHP 8.1+, MySQL/MariaDB (InnoDB).
  • VueTools — доска использует общий Vue 3 + PrimeVue, подключаемый через Import Map этого пакета (тема Aura и PrimeIcons приходят оттуда же). Без VueTools доска покажет понятное сообщение и не запустится.

Установка

Поставьте transport-пакет через Пакеты → Установить пакет в менеджере MODX. Установка идемпотентна — повторная установка/upgrade не затирает то, что вы могли донастроить руками.

Что создаётся при установке

Резолверы пакета делают систему пригодной к работе «из коробки»:

ЧтоПодробности
Таблицы БДВсе сущности mxBoard (mxboard_*). См. Модель прав.
Группа и отделГруппа пользователей MODX mxBoard, помеченная как отдел «Отдел разработки».
Типы задачbugfix (где, что, как воспроизвести, как должно быть, окружение, severity), feature (цель, описание реализации, критерии приёмки, контексты, зависимости) и research (что выяснить, формат результата). Состав объявлен одним файлом core/components/mxboard/schema/task-types.php. См. Типы задач.
Проект default«Основной проект» с колонками backlogto_startplanin_progressreviewdone: два ручных гейта (старт и приём плана) — под работу с агентами. У каждой стадии есть описание — инструкция тому, чей ход наступил. Плюс глобальный шаблон колонок.
Медиа-источникВыделенный источник файлов «mxBoard» для вложений; его id пишется в настройку mxboard.media_source.
Политика доступаmxBoard Only — пресет «только канбан» для киоск-доступа (никому не назначается автоматически). См. Интеграция → Киоск-доступ.
ПлагиныmxBoardProfileToken (виджет выдачи токена в профиле, только sudo) и mxBoardKiosk (редирект киоск-групп на доску).
События11 системных событий mxbOn* для интеграции. См. Интеграция.

Обновление существующей установки

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

  • Флаг «Стартовая» (is_start) на стадии не проставляется автоматически. Пока он не отмечен, фактическое время задач не замеряется. Отметьте нужную стадию сами — Структура → стадии проекта (в коробочном наборе это to_start). См. Модель прав → План и факт.
  • Системные настройки не перезаписываются. Если нужен новый дефолт (например mxboard.group_admin_authority = 1), выставьте его вручную. См. Настройки.

Первый запуск

Откройте Компоненты → mxBoard — доска проекта default откроется сразу. Дальше — Быстрый старт: отдел, пользователи, токен для агента и первая задача.

Грабли, о которых стоит знать

  • OPcache в PHP-FPM живёт отдельно от CLI. После установки/обновления пакета из консоли веб-сайт может продолжать выполнять предыдущую версию классов — сбросьте OPcache веб-запросом.
  • Поле порядка называется position, а не rank. В MySQL 8 RANK — зарезервированное слово; xPDO не квотит его в ORDER BY и молча возвращает пустую выборку. Заложено в схему — важно помнить при доработках.