files-service(文件与对象存储)
定位
files-service 负责文件相关能力:
- 文件上传/下载(对外)
- 预签名 URL(对外/对内)
- 文件元数据存储(fileId/owner/purpose/contentType/size/parseStatus 等)
- 文件解析(internal parse,供 skills 调用)
- 对象存储适配(MinIO/S3;实现以仓库为准)
技术栈
- Java 21 + Spring Boot
- Postgres + Flyway(元数据)
- MinIO/S3(对象存储,按环境配置)
对外 API(/api/v1,摘录)
POST /api/v1/files/upload(multipart)GET /api/v1/files/{fileId}(元信息)GET /api/v1/files/user/{userId}(用户文件列表)GET /api/v1/files/{fileId}/download-url(预签名下载)GET /api/v1/files/{fileId}/download(直下)POST /api/v1/files/upload-url(预签名上传)DELETE /api/v1/files/{fileId}(删除)
鉴权/权限:
- 需要
X-User-Id - 支持 superuser(
X-Is-Superuser)做越权访问控制(具体逻辑以实现为准)
对内 API(/internal,摘录)
供 ai-engine/服务间调用:
POST /api/v1/internal/files/upload(internal 上传)POST /api/v1/internal/files/presigned-urlGET /api/v1/internal/files/{fileId}(内部元信息)GET /api/v1/internal/files/{fileId}/content(内部内容)POST /api/v1/internal/files/{fileId}/parse(解析)PUT /api/v1/internal/files/{fileId}/parse-statusGET /api/v1/internal/files/{fileId}/existsDELETE /api/v1/internal/files/{fileId}
与其它服务的关系
- ai-engine:通过
file__get_info/file__parse等工具读取材料 - matter-service:文件与事项关联(权限校验/访问控制)
- knowledge-service/templates-service:通过 fileId 关联知识/模板素材