API 参考

Images

浏览、搜索和标记照片。支持关键词搜索,以及使用设备端模型进行 AI 语义搜索。

类型定义

bash
type Image {
  id: ID!
  title: String!         # filename
  path: String!
  size: Int!             # bytes
  bucketId: String!      # media store bucket
  createdAt: String!
  updatedAt: String!
  takenAt: String        # EXIF capture time (nullable)
  tags: [Tag!]!
}

type ImageSearchStatus {
  enabled: Boolean!
  indexed: Int!
  total: Int!
  isIndexing: Boolean!
  isDownloading: Boolean!
  downloadProgress: Float!  # 0.0–1.0
}

enum FileSortBy {
  SIZE_ASC SIZE_DESC
  NAME_ASC NAME_DESC
  DATE_ADDED_ASC DATE_ADDED_DESC
  DATE_MODIFIED_ASC DATE_MODIFIED_DESC
}

操作

query

images

搜索图片。查询留空可列出全部。使用 text:<keyword> 进行 AI 语义搜索。

bash
query GetImages($offset: Int!, $limit: Int!, $query: String!, $sortBy: FileSortBy!) {
  images(offset: $offset, limit: $limit, query: $query, sortBy: $sortBy) {
    id title path size bucketId createdAt updatedAt takenAt
    tags { id name }
  }
}
query

imageCount

统计匹配查询的图片数量。

bash
query GetImageCount($query: String!) {
  imageCount(query: $query)
}
query

imageSearchStatus

获取当前 AI 语义搜索的索引状态。

bash
query GetImageSearchStatus {
  imageSearchStatus {
    enabled indexed total isIndexing isDownloading downloadProgress
  }
}
mutation

enableImageSearch

启用 AI 语义图片搜索。如果设备端模型尚不存在,则会下载。

bash
mutation EnableImageSearch {
  enableImageSearch
}
mutation

disableImageSearch

禁用 AI 语义图片搜索并释放资源。

bash
mutation DisableImageSearch {
  disableImageSearch
}
mutation

cancelImageModelDownload

取消进行中的 AI 模型下载。

bash
mutation CancelImageModelDownload {
  cancelImageModelDownload
}
mutation

startImageIndex

开始为 AI 搜索索引图片。传入 force=true 可重新索引全部。

bash
mutation StartImageIndex($force: Boolean) {
  startImageIndex(force: $force)
}
mutation

cancelImageIndex

取消正在运行的索引进程。

bash
mutation CancelImageIndex {
  cancelImageIndex
}