卡片 SDK
自定义卡片是一个小型 Web 应用,和你的智能体、终端、笔记一起放在画布上。任何人都可以用卡片 SDK
(@neurosquad/card-sdk)开发一张卡片并推送到 GitHub,其他人只需把 owner/repo 粘贴进 NeuroSquad 就能安装。
本节面向两类读者:
- 所有想使用别人所做卡片的人——请从安装社区卡片开始。那里说明了卡片能做什么、不能做什么, 安装对话框会告诉你哪些信息,以及如何收回授权。
- 想自己开发卡片的开发者——请从快速上手开始:几分钟内就能在画布上跑起一张可用的卡片。
卡片能做什么
自定义卡片是画布上的“一等公民”:它有同样的标题栏,可以调整大小、加入分组、连接箭头, 缩小画布时显示概览图块,也和其他卡片一样出现在侧边栏中。在自己的方框里,它想画什么都行。借助 SDK,它可以:
卡片永远不会越出画布
社区代码不被信任,因此每张卡片都被封闭在自己的方框里运行:
- 它运行在单独的沙箱进程中。卡死或崩溃的卡片不会冻结画布,也不会连累其他任何东西。
- 它无法自行访问应用本身、你的其他卡片、Node.js、你的文件、Cookie 或互联网。一切都要经过 SDK, 而应用会把每一个请求与你的授权逐一核对。
- 它不能打开窗口或弹窗、进入全屏、弹出系统对话框、发送系统通知、下载文件,也不能让应用跳转到别处。它只能在自己的卡片里绘制。
- 当卡片需要你做决定时——确认操作、打开链接、授予权限、发给危险模式下智能体的提示词、API 密钥之类的机密—— 由应用在它自己的对话框中询问你,这个对话框会让整个窗口变暗,包括侧边栏和标题栏。卡片无法在自己的方框之外绘制, 所以永远伪造不了这一点。卡片正文里的一切都属于卡片自己:NeuroSquad 从不在那里索要密钥。
用大白话讲安全模型
卡片会列出它需要的权限。在安装任何东西之前,你都能看到这些权限,高风险的排在最前。 没有任何权限的卡片只能在自己的方框里绘制。
任何到达另一张卡片或智能体的东西——端口上的数据、提示词、命令、读取屏幕——都需要两张卡片之间有一条箭头, 并且具备相应的权限。没有箭头,就没有数据。
一次安装就是“这个仓库的这个确切提交”——是仓库本身的提交,而不是某个分叉(fork)的提交。 不会有任何东西在你背后悄悄改变:更新从不自动进行;要求更多权限、或改变卡片向智能体提供的内容的更新,会再次征求你的同意。
API 密钥只能在应用自己的对话框中输入,加密保存,并由应用添加到发往你授权的互联网主机的请求中。卡片本身永远看不到它们。
即使有文件访问权限,卡片也永远不能修改 .git、智能体的设置和指令(.claude/、.mcp.json、CLAUDE.md、AGENTS.md……)
或 CI 工作流——而如果工作区是你的主文件夹或整个磁盘,它根本得不到任何文件访问权限。
通过卡片发出的提示词或工具调用会点亮它所经过的箭头,并连同卡片名称记入箭头日志。
社区卡片并非由 NeuroSquad 团队制作或审核。只安装你信任的人做的卡片,并仔细阅读权限列表—— 能向智能体发提示词或运行命令的卡片,可以做那些智能体和终端能做的任何事。
本节内容
neurosquad-card.json 的每个字段。CardProvider 与各种 hook。create、dev、validate、pack。卡片 SDK 刚刚推出。这里描述的一切都基于卡片协议第 1 版;有几件事被有意留到以后——卡片市场、自动更新、 完全没有外框就能运行的卡片、文件选择器,以及在手机上运行卡片代码。在相关的地方都会一一注明。