Card SDK
Своя карточка — это небольшое веб-приложение, которое живёт на холсте рядом с вашими агентами,
терминалами и заметками. Сделать такую может кто угодно с помощью Card SDK (@neurosquad/card-sdk),
выложить на GitHub — а любой другой поставит её, вставив в NeuroSquad адрес owner/repo.
Этот раздел для двух читателей:
- Для всех, кто хочет пользоваться карточкой, сделанной кем-то другим, — начните с Установки карточек сообщества. Там объяснено, что карточка может и чего не может, что говорит диалог установки и как забрать доступ обратно.
- Для разработчиков, которые хотят сделать свою, — начните с Быстрого старта: рабочая карточка на вашем холсте за несколько минут.
Что умеет карточка
Своя карточка — полноправный житель холста: у неё такая же шапка, она меняет размер, входит в группы, принимает стрелки, показывает плитку при отдалении и лежит в сайдбаре, как любая другая карточка. Внутри своей коробки она рисует что угодно. Через SDK она может:
Карточки никогда не покидают холст
Коду сообщества не доверяют по умолчанию, поэтому карточка работает запертой в своей коробке:
- Она работает в отдельном изолированном процессе. Зависшая или упавшая карточка не может заморозить холст или утянуть что-то за собой.
- Сама по себе она не может добраться ни до приложения, ни до ваших других карточек, ни до Node.js, ваших файлов, cookies или интернета. Всё идёт через SDK, и приложение сверяет каждый запрос с тем, что вы разрешили.
- Она не может открывать окна и всплывающие окна, уходить в полноэкранный режим, показывать системные диалоги, присылать уведомления ОС, скачивать файлы или уводить приложение на другую страницу. Она рисует только внутри своей карточки.
- Когда от вас нужно решение — подтверждение, ссылка, разрешение, промпт агенту в опасном режиме, секрет вроде API-ключа, — спрашивает приложение, в своём собственном диалоге, который затемняет всё окно, включая сайдбар и заголовок. Карточка не может рисовать за пределами своей коробки, поэтому подделать такой диалог ей не удастся. Всё, что внутри тела карточки, принадлежит самой карточке: NeuroSquad никогда не спрашивает там ключи.
Модель безопасности простыми словами
Карточка перечисляет нужные ей разрешения. Вы видите их — сначала самые рискованные — ещё до установки. Карточка без разрешений может только рисовать в своей коробке.
Всё, что доходит до другой карточки или агента, — данные через порт, промпт, команда, чтение экрана, — требует стрелки между двумя карточками и соответствующего разрешения. Нет стрелки — нет данных.
Установка — это этот репозиторий на этом конкретном коммите, причём коммите самого репозитория, а не форка. За вашей спиной ничего не меняется: обновления никогда не ставятся сами, а обновление, которому нужно больше доступа или которое меняет то, что карточка даёт агентам, спрашивает вас снова.
API-ключи вводятся только в собственном диалоге приложения, хранятся в зашифрованном виде, и приложение само подставляет их в запросы к тем адресам в интернете, которые вы разрешили. Сама карточка их никогда не видит.
Даже с доступом к файлам карточка никогда не может менять .git, настройки и инструкции ваших
агентов (.claude/, .mcp.json, CLAUDE.md, AGENTS.md…) и CI-процессы — а если воркспейс —
это ваша домашняя папка или целый диск, доступа к файлам у неё нет вообще.
Промпт или вызов инструмента через карточку подсвечивает стрелку, по которой он прошёл, и попадает в журнал стрелки с именем карточки.
Карточки сообщества не делает и не проверяет команда NeuroSquad. Ставьте карточки от тех, кому доверяете, и читайте список разрешений: карточка, которой можно давать указания агентам или запускать команды, может всё, что могут эти агенты и терминалы.
В этом разделе
neurosquad-card.json.CardProvider и хуки.create, dev, validate, pack.Card SDK — новинка. Всё здесь описывает версию 1 протокола карточек; кое-что сознательно отложено на потом — галерея карточек, автоматические обновления, карточки, работающие вовсе без страницы, выбор файла и запуск кода карточек на телефоне. Об этом сказано там, где это важно.