用途:Artifact 页面通过向 Artifact 工具传入 capabilities: {name: config} 声明运行时能力,由 claude.ai 查看器在打开时授予。控制平面是有效名称与配置形状的权威。重新部署时省略 capabilities 会沿用已存声明;空对象 {} 表示显式清空;非空对象为全量声明,未重述的已存能力会被撤销。切换运行时版本需显式传 contract: 'latest' 或指定版本,不会因编辑而自动改变。
可用能力名称:artifact、assets、comments、db、downloads、mcp、room、sample、self、user;permissions 为内置,无需声明。未列出的能力对该用户不可用。
用法:能力命名空间通过 claude.use(name) 获取,返回命名空间或 null(未提供、未授予或加载失败,设计上不可区分)。window.claude 只承诺 use,不承诺 .db、.room、.artifact 等成员。解析出的命名空间为冻结且平台所有,只能调用其函数,不可赋值或替换成员。权限提示、限流或策略拒绝发生在首次调用时,而非 use()。
各能力要点:artifact 让页面记住用户操作,通过 publish(html) 发布新版本并让所有视图重载;assets 存储上传资源(20 MiB 上限,CSS/JS 16 MiB,SVG 2 MiB 且上传时净化),声明后页面为组织内部;comments 将页面评论 UI 接入共享评论存储,仅写不读;db 为 JSON 文档存储,支持 get/set/update/delete、查询与订阅,最后写入者胜出,无事务;downloads 让页面向查看者提供生成文件,需显式意图并处理拒绝;mcp 调用查看者的 claude.ai 连接器,使用其凭据,需声明 servers 与 tools;room 面向当前打开页面的用户,不持久化且消息可能丢失;sample 请求 Claude 生成文本或 JSON,查看者付费,首次调用需同意;self 是 artifact 的旧名,仅为兼容保留,新页面应使用 artifact;user 提供查看者身份与资料,读取不拒绝,应只存 id。
限制:类型定义仅覆盖调用信封,不覆盖连接器工具的参数名与结果形状;需从本会话工具定义或真实调用中获知,不可猜测。发布时若缺少 schema 且无法安全调用,应在回复中告知用户。