.zip / .skill 不能作为普通附件使用,自定义 Skill 必须先通过 Skills API 上传。
附件的两种来源
| 已有公网 HTTP(S) URL | 直接放入
attachments[ ].url |
| 仅存在于本地设备或私有服务 | 先签发直传票据并上传,再使用返回的 file_url |
Meoo 会拒绝本地、私网和链路本地地址。URL 必须能被服务端直接访问;Agent 下载链路对每个附件的实际响应执行 50 MiB 上限。
Run 附件 Schema
attachments 合计 1~10 项,按 kind 使用严格对象 Schema。
图片或视频
kind=image 或 video 时只允许 kind、url,不能携带 filename 或 type。
普通文件
签发附件直传票据
agent.run
允许的
type 包括 image/*、video/*、audio/*、text/*,以及 application/pdf、application/json、application/octet-stream。
响应:
- 对
upload_url发起一次 HTTPPUT。 Content-Type必须与签发票据时的type相同;未传时用application/octet-stream。- 上传完成后,把
file_url放入 Run 的attachments[ ].url。 - 两个签名 URL 过期后重新签发,不要长期保存。
upload_url 和 file_url 使用随机对象路径,但服务端不承诺签名 URL 强制 single-use。不要把地址交给无关调用方,也不要依赖它可重复使用。
size 是准入时的调用方声明值,不是存储侧强制的实际字节数;请填写真实大小。无论声明值如何,Agent 下载实际响应时仍执行 50 MiB 上限。
带附件启动 Run
在 Run 中选择 Skill
skills 数组每项只包含一个十进制字符串 skill_id:
skills 的三种语义
|
"skills": [ ] | 清除继承的用户 Skill;服务端内置 Skill 不受影响 |
| 非空数组 | 用本次显式选择替换继承选择,并把结果保存到会话配置 |
显式选择的每个 Skill 都是 mandatory selection:运行时按 preload=true 处理,不允许静默过滤。选择会在 blocking/resume 以及后续省略 skills 的 Run 中继续生效。
以下情况会在启动前返回通用 404:
- Skill ID 不存在或已软删除。
- 私有 Skill 不属于当前用户。
- 团队 Skill 的租户、成员或套餐权限不可用。
- 非 owner 的市场 Skill 已下架或没有当前可消费状态。
400 invalid_request。
权限边界
- 上传/更新私有 Skill:需要
skill.write。 - 在 Agent Run 中使用已可访问 Skill:只需要
agent.run。 - 当前不支持通过 Run 锁定 Skill 版本。
- 当前不支持需要 MCP OAuth 的 Skill 授权流程。
SKILL.md 规则和响应字段见 Skills API。

