跳转到内容

上传与分享 Store 对象

每个标准部署都有一个私有 default Store。上传文件后得到 store://default/<objectId>,适合附件、照片、录音和工具产物;不需要先挂载 Context。

需求 选择
上传一份产物,保存其稳定身份 Store
按目录和文件名管理文档、知识条目 Context
临时让没有 SK 的接收方下载 Store 的可撤销 share

Store URI 只是身份,不是读取授权。普通对象属于稳定 owner,换一把同 owner 的 SK 不改变归属;仍须具备 system/store 的相应动作。跨 owner 的对象以 404 隐藏。

Terminal window
tb store upload ./capture.jpg --json
tb store ls

使用上传响应里的真实 URI:

Terminal window
tb store stat 'store://default/<objectId>'
tb store get 'store://default/<objectId>' --out ./capture-copy.jpg

get 不传 --out 时输出二进制 stdout;输出文件只新建、不覆盖。需要 JSON 下载结果时同时使用 --json --out。

标准 Node 部署使用流式 relay,由网关执行大小和类型边界,single PUT 成功后返回 ready descriptor。CLI 自动处理授权与传输;当前不提供 multipart 或断点续传。

Terminal window
tb store share 'store://default/<objectId>' --ttl 3600 --json
tb store revoke-share <share-id>

share 返回的 $ref 是带到期时间的匿名 bearer:持有者可下载,应只交给目标接收方,不写进日志、长期数据库或公开网页。撤销后旧分享失效。

Terminal window
tb store rm 'store://default/<objectId>'

删除先让对象不可读,再回收字节,旧 ref 随之失效。只有 ready 对象可读、分享并进入 owner 列表。

打开实例管理中的 Store,上传本地文件、浏览当前 owner 对象、下载、显式分享或删除。列表与 cache 随当前 profile 隔离;稳定 URI 可以复制,bearer 不进入 toast、最近调用或浏览器地址。

实时调用中,网关给设备一份绑定 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,消费者需要按当次权限显式读取。

上传时固定 backendId,切换默认后端只影响新上传,不搬迁旧对象。配置位置与凭证见存储后端管理;上传限额和 TTL 见受管理配置。