Fabric API 是一个面向 AI 工具的技能,用于通过 HTTP 接口读取与写入用户 Fabric 工作区中的内容。它基于 curl 调用 Fabric 的 HTTP API,基础地址为 https://api.fabric.so。
用途 该技能适用于在用户 Fabric 工作区内创建与检索资源,包括记事本(notepads)、文件夹(folders)、书签(bookmarks)和文件(files)等。
主要能力
- 创建记事本:端点 POST /v2/notepads。
- 创建文件夹:端点 POST /v2/folders。
- 创建书签:端点 POST /v2/bookmarks。
- 浏览资源:端点 POST /v2/resources/filter,可列出某个文件夹下的子资源,以文件夹 UUID 作为 parentId。
- 搜索:端点 POST /v2/search,适用于用户给出模糊描述(如“那条关于……的笔记”)时查找资源。
- 标签管理:GET /v2/tags?limit=100 列出标签;POST /v2/tags 创建标签;创建资源时可附带标签。
关键注意事项
- “笔记”需通过 POST /v2/notepads 创建,而非 /v2/notes。
- 多数创建端点需要 parentId,可以是 UUID 或以下别名之一:@alias::inbox、@alias::bin。
- 记事本创建需要 parentId,并且必须提供 text(Markdown 字符串)或 ydoc(高级/结构化)。
- tags 必须是对象数组,每个对象为 { "name": "标签名" } 或 { "id": "<uuid>" };不可使用嵌套数组,也不可用字符串。
- 当用户未指定目标文件夹时,默认 parentId 为 "@alias::inbox"。
- 若标签引发校验问题,可先省略标签,之后通过 /v2/tags 创建或分配。
使用方式
- 基础地址:https://api.fabric.so
- 认证:请求头 X-Api-Key: $FABRIC_API_KEY
- 数据传输:Content-Type: application/json
- 调试建议:使用 --fail-with-body,以便在 4xx 时显示响应体。
- 推荐使用 heredoc 编写 curl 请求体,避免引号问题。
设置(Clawdbot)
- 该技能从环境变量 FABRIC_API_KEY 读取 API 密钥。
- 推荐配置使用 apiKey 字段;由于设置了 primaryEnv,Clawdbot 会注入 FABRIC_API_KEY。
- 配置示例: { skills: { entries: { "fabric-api": { enabled: true, apiKey: "YOUR_FABRIC_API_KEY" } } } }
限流与重试
- 遇到 429 Too Many Requests 时:退避(sleep 加抖动)后重试。
- 避免紧密循环;分页应缓慢进行。
- 不要在没有幂等保障的情况下盲目重试创建请求,否则可能创建重复资源。
故障排查
- 404 Not Found:通常是端点错误、resourceId/parentId 错误或权限问题。
- 400 Bad Request:请求体模式校验失败;检查必填字段和标签格式。
- 403 Forbidden:订阅或权限限制。
- 429 Too Many Requests:退避并重试。
API 参考 OpenAPI 规范位于:{baseDir}/fabric-api.yaml。在不确定端点名称或请求体结构时,应先查阅该文件再操作。
限制 除上述内容外,关于该技能的定价、收费、具体平台支持范围或效果等事实,资料中暂未提供。