Технологии
«Опишите словами, а не верстайте»: GitHub выпустила инструкцию по canvas-расширениям в Copilot app
25 сентября The GitHub Blog выпустил вводную инструкцию по canvases — расширениям приложения GitHub Copilot, на которых человек и агент работают на одной поверхности. Canvas собирается без кода и вёрстки: достаточно описать нужный интерфейс в сессии агента командой /create-canvas. Документация GitHub называет canvas-расширение общей интерактивной поверхностью рабочего артефакта — плана, доски разбора задач, чек-листа релиза, дашборда или таблицы.

Что такое canvas
По документации, canvas-расширение — это общая интерактивная поверхность для рабочего артефакта: плана, доски разбора задач, сессии браузера, чек-листа релиза, дашборда, инцидента или таблицы.
В блоге объяснение проще: canvas, он же canvas-расширение, — настраиваемый интерфейс, которым человек и агент пользуются вместе.
Поверхность двусторонняя: агент обновляет её по ходу работы, а человек пользуется кнопками, карточками и фильтрами.
Расширение может входить в плагин вместе с другими возможностями — например, навыками или MCP-серверами.
Готовые canvas открываются в правой панели приложения.
Автор инструкции Кейла Синнамон сравнивает такую работу с живой общей доской.
Полезен canvas там, где задаче нужны структура, итерации и проверка, а одного чата для этого мало.
Документация называет две ценности: общая поверхность, на которой партнёрство человека и агента становится предметным, и возможность подогнать эту поверхность под свой рабочий процесс.
Как его создать
Для создания не нужно ни кодить, ни верстать вручную: надо открыть сессию агента, ввести навык /create-canvas и описать желаемое словами.
Дальше агент сам собирает интерфейс и открывает его в правой панели.
Пример из публикации — canvas для заметок о релизе: он отслеживает завершённую работу по сессиям приложения GitHub Copilot и позволяет проверять и упорядочивать записи.
Где живут canvas и из чего состоят
Canvas бывает общим для команды или личным: документация разводит два пространства — расширение для команды коммитится в репозиторий, личное остаётся на машине.
Состав у расширений бывает разным, но обычно это метаданные с зависимостями, файл-точка входа, описывающий поведение и возможности canvas, и необязательные JSON-артефакты для сохранённого состояния.
Что писать в запросе
Инструкция требует, чтобы в запросе было три вещи: рабочий процесс, который поддержит canvas, что человек сможет делать в интерфейсе и что в нём сможет делать агент.
Первая версия — только отправная точка: интерфейс строится из описания, и его можно дорабатывать до нужного вида.
Агента можно попросить добавить колонку или фильтр, подтянуть открытые пул-реквесты или превратить всё полотно в чек-лист на день.
Фиксированного меню раскладок нет: если процесс описывается словами, его, скорее всего, получится превратить в canvas.
Совместное состояние
Главное свойство canvas — одновременная работа: нажатие кнопки, правка поля или перенос карточки меняют общее состояние сразу.
Агент видит это изменение без отдельной отправки или синхронизации.
Обратно тоже работает: агенту можно поручить воспользоваться возможностями самого canvas, а затем увидеть результат прямо в интерфейсе.
Вместо команды с ожиданием ответа получается совместное управление работой.
Документация описывает это как прямое управление: работу можно поправить на самой поверхности, а агент продолжит уже с этих правок.
Второй аргумент — непрерывность: работа не рвётся между ходами, сессиями и передачами.
Готовые расширения и зачем это нужно
Сообщество выложило готовые canvas-расширения через Awesome Copilot — среди них инструменты заметок о релизе, канбан-доски и сценарии разбора задач.
Готовое расширение можно установить, а потом попросить агента доработать его под свой процесс — так же, как собственный canvas.
Смысл canvases документация объясняет тем, что основная работа идёт не в чате, а на рабочих поверхностях: в терминале, браузере, документе или дашборде.
Canvas добавляет структуру там, где одного чата мало: в чате агент уточняет задачу и разбирает неоднозначности, а на поверхности работу можно осмотреть, направить и проверить.
Ограничение тоже честно обозначено: у canvas нет фиксированного набора раскладок, и всё держится на качестве описания и итераций.
Типовые сценарии в документации — агентские канбан-доски, где карточки добавляют и двигают обе стороны, доски разбора задач со сводкой повторяющихся проблем, markdown-canvas для планирования дня и запуска сессий, а также документы и таблицы прямо в приложении.
Часть canvas поставляется в плагинах: установка плагина Azure DevOps даёт доступ к canvas для планирования и управления этой работой.
Когда canvas открыт, обе стороны работают с одним общим состоянием — через действия интерфейса и возможности, доступные агенту.
В блоге исходная претензия к инструментам звучит так: они дают фиксированный набор экранов и заставляют подстраивать под него работу.
Вместо команды с ожиданием ответа обе стороны ведут работу вместе.