上传与分享 Store 对象
每个标准部署都有一个私有 default Store。上传文件后得到 store://default/<objectId>,适合附件、照片、录音和工具产物;不需要先挂载 Context。
Store 与 Context 怎么选
Section titled “Store 与 Context 怎么选”| 需求 | 选择 |
|---|---|
| 上传一份产物,保存其稳定身份 | Store |
| 按目录和文件名管理文档、知识条目 | Context |
| 临时让没有 SK 的接收方下载 | Store 的可撤销 share |
Store URI 只是身份,不是读取授权。普通对象属于稳定 owner,换一把同 owner 的 SK 不改变归属;仍须具备 system/store 的相应动作。跨 owner 的对象以 404 隐藏。
上传和取回文件
Section titled “上传和取回文件”tb store upload ./capture.jpg --jsontb store ls使用上传响应里的真实 URI:
tb store stat 'store://default/<objectId>'tb store get 'store://default/<objectId>' --out ./capture-copy.jpgget 不传 --out 时输出二进制 stdout;输出文件只新建、不覆盖。需要 JSON 下载结果时同时使用 --json --out。
标准 Node 部署使用流式 relay,由网关执行大小和类型边界,single PUT 成功后返回 ready descriptor。CLI 自动处理授权与传输;当前不提供 multipart 或断点续传。
显式创建短期分享
Section titled “显式创建短期分享”tb store share 'store://default/<objectId>' --ttl 3600 --jsontb store revoke-share <share-id>share 返回的 $ref 是带到期时间的匿名 bearer:持有者可下载,应只交给目标接收方,不写进日志、长期数据库或公开网页。撤销后旧分享失效。
tb store rm 'store://default/<objectId>'删除先让对象不可读,再回收字节,旧 ref 随之失效。只有 ready 对象可读、分享并进入 owner 列表。
在 Dashboard 中操作
Section titled “在 Dashboard 中操作”打开实例管理中的 Store,上传本地文件、浏览当前 owner 对象、下载、显式分享或删除。列表与 cache 随当前 profile 隔离;稳定 URI 可以复制,bearer 不进入 toast、最近调用或浏览器地址。
设备产物属于谁
Section titled “设备产物属于谁”实时调用中,网关给设备一份绑定 caller、device 和 call 的窄上传能力。Device handler 通过 call.uploadObject 上传,产物 owner 是调用者、producer 是设备,并受数量、MIME 和字节限额约束。
设备自主上传使用普通 HTTP 身份时,owner / producer 都是设备。Mailbox handler 当前没有实时 call-scoped 上传能力,uploadObject 会返回 unavailable,不能持久保存或延长实时 token 来绕过。
SDK 客户端使用 @tool-bridge/sdk/store,设备助手在 @tool-bridge/sdk/device。store:// 也不会自动成为 MCP image/resource,消费者需要按当次权限显式读取。
管理存储位置
Section titled “管理存储位置”上传时固定 backendId,切换默认后端只影响新上传,不搬迁旧对象。配置位置与凭证见存储后端管理;上传限额和 TTL 见受管理配置。