Компоненты хоста
bb 0.43.3SDK 0.4.104пин e865697 (desktop-v0.43.3)
Рендерит переписку bb, поле ввода и общие иконки приложения внутри страниц плагина. С её помощью плагин может:
Встраивание чата и поля ввода bb
Что даёт эта поверхность
- Встраивать вид треда и поле ввода нового треда как компоненты
- Заполнять experimental_NewThreadComposer или navigate.toCompose через initialPrompt с @thread:<id>, @project:<id> или @section:<id>, чтобы получить чипы упоминаний с подписями, которые разрешает хост; заполнение композера сохраняет непустые черновики
- Отображать текст сообщений тем же Markdown-рендерером, который использует сам bb
- Разрешать ссылки на документы и изображения рядом с файлом рабочего каталога или хранилища треда через Markdown.experimental_document
- Наследовать стили bb, чтобы встроенный UI совпадал с остальным приложением
- Регистрировать inline-графику на React через app.experimental_icons.register({ name, component }); неймспейс в имени рекомендуется, но любой плагин может использовать любое имя
- Добавлять новые имена или переопределять встроенные иконки приложения; при конфликте между плагинами побеждает первый plugin id в лексическом порядке и выводится предупреждение, а повторяющиеся имена внутри одного плагина отклоняют setup
- Рендерить experimental_ProviderIcon с обязательным providerKind (agent, machine, environment), provider={provider} и опциональным fallback (по умолчанию Code). Передавайте существующую запись провайдера: компонент читает id, logoUrl, icon и strings.iconTint и берёт подходящее переопределение слота kind/id, затем устаревшие переопределения без привязки к kind, затем объявленную графику. Метаданные он не запрашивает. По умолчанию значки декоративные; для самостоятельного значимого изображения передайте aria-label
- Иконки провайдеров обновляются при загрузке, перезагрузке и выгрузке плагина; переопределения, которые бросают исключение или рекурсивны, откатываются к переданной графике. Используйте один и тот же компонент для провайдеров агента, машин и окружения
- Рендерить experimental_Icon с именем и опциональным fallback; для отсутствующих имён пробуется fallback, затем Zap. Зарегистрированная графика получает className и должна использовать currentColor
- Ничего не возвращать из функции регистрации иконок: bb заменяет иконки при перезагрузке плагина и восстанавливает прежние определения при выгрузке; брендинг манифеста и декларации SVG-ассетов остаются раздельными
- Загружать те же регистрации в вебе, на десктопе и в веб-приложении мобильного клиента; управлять плагином через bb plugin build, install, reload и remove
API
Каждый символ ведёт на закреплённый коммит, на котором его прочитали.
experimental_Iconconstexperimental_ProviderIconconstExperimentalProviderIconPropsinterfaceExperimentalIconPropsinterfaceExperimentalIconRegistrationinterfaceExperimentalAppIconsinterfacePluginAppBuilder.experimental_iconspropertyThreadChatconstMarkdownconstMarkdownProps.experimental_documentpropertyexperimental_NewThreadComposerconst
Используется в плагинах
Side chat, Provider Usage, Tasks
Бриф — это Markdown для кодинг-агента: что это за возможность, где она регистрируется, каждый символ SDK с постоянной ссылкой на закреплённый коммит, правила, на которых спотыкаются, и что считать готовым.