ClouisleClouisle

资源包导入导出

跨团队迁移 Agent、工作流、知识库与工具的打包与安装

资源包(.clouisle)把 Agent、工作流、知识库或工具连同依赖元数据打包成一个文件,用于跨团队迁移或备份。流程分两步:先导出,再到目标团队预览并安装。平台端与管理端各挂一套同形路由(/api/v1/packages 与 /api/v1/admin/packages)。

导入是两阶段的:POST /import/preview 只校验依赖并返回会话,不写入任何资源;拿到 session_id 后再调 POST /import/{session_id}/install 落盘。预览会话有有效期,过期需重新上传。

端点总览

方法路径用途
GET/api/v1/packages/{resource_type}/{resource_id}/export导出资源为 .clouisle 包(文件下载)
POST/api/v1/packages/import/preview上传包并预览内容与依赖(multipart:team_id + file)
POST/api/v1/packages/import/{session_id}/install安装预览会话中的资源到目标团队

resource_type 取值:tool、agent、workflow、knowledge_base。导入/导出按资源自身的访问规则校验权限,无独立的包权限码。

1. 导出资源包

GET /api/v1/packages/agent/550e8400-e29b-41d4-a716-446655440000/export

返回文件流(Content-Disposition: attachment),直接保存为 .clouisle 文件。导出与导入操作会记审计日志(export_clouisle_package / preview_clouisle_import)。

2. 预览导入

curl -X POST "https://your-domain.com/api/v1/packages/import/preview" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -F "team_id=TEAM_UUID" \
  -F "file=@assistant.clouisle"

成功响应(200 OK):

{
  "code": 0,
  "data": {
    "session_id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
    "valid": true,
    "resources": [
      { "type": "agent", "name": "Support Assistant", "version": "1.0.0" }
    ],
    "dependencies": [],
    "errors": [],
    "warnings": []
  },
  "msg": "success"
}

依赖逐项标记状态:resolved(目标团队已有)、missing(缺失,需先处理)、forbidden(无权使用)。valid=false 时先解决 errors 再安装。

3. 安装导入

POST /api/v1/packages/import/{session_id}/install
字段类型必填说明
actioninstall(默认)否冲突处理动作
target_namestring(1–100)否重命名后安装,避免与同名资源冲突
dependency_mappingobject否依赖 ID 映射({原ID: 目标团队UUID}),把缺失依赖指向已有资源

成功响应(200 OK):

{
  "code": 0,
  "data": {
    "installed": "550e8400-e29b-41d4-a716-446655440000",
    "updated": null,
    "skipped": false,
    "errors": [],
    "warnings": []
  },
  "msg": "success"
}

相关文档

这篇文章对你有帮助吗?

本页目录