AI Search

提供 AI 語意搜尋功能,支援文字搜尋、以圖搜圖等智慧搜尋能力。

triangle-exclamation

AI Search 插件簡介

「AI Search」是一款提供 AI 語意搜尋功能的插件,支援文字語意搜尋、以圖搜圖等智慧搜尋能力。透過整合此插件,開發者可以在自己的插件中輕鬆實現強大的 AI 搜尋功能。

主要功能

  • 文字語意搜尋 - 使用自然語言描述,搜尋相關圖片

  • 以圖搜圖 - 使用圖片搜尋相似的圖片

  • Item ID 搜尋 - 根據已有項目搜尋相似圖片


使用 eagle.extraModule.aiSearch 來呼叫 AI Search 插件提供的功能。

狀態查詢

在呼叫搜尋方法前,建議先檢查服務狀態:

eagle.onPluginCreate(async (plugin) => {
    const aiSearch = eagle.extraModule.aiSearch;

    // 檢查插件是否已安裝
    const isInstalled = await aiSearch.isInstalled();
    console.log('已安裝:', isInstalled);

    // 檢查服務是否就緒
    const isReady = await aiSearch.isReady();
    console.log('服務就緒:', isReady);

    // 檢查是否正在啟動中
    const isStarting = await aiSearch.isStarting();
    console.log('啟動中:', isStarting);

    // 檢查是否正在同步資料
    const isSyncing = await aiSearch.isSyncing();
    console.log('同步中:', isSyncing);
});

服務控制


搜尋方法

searchByText(query, options) - 文字語意搜尋

使用自然語言描述搜尋相關圖片。

  • query string - 搜尋關鍵字或描述

  • options Object (可選) - 搜尋選項

    • limit number - 結果數量限制,預設 20

  • 返回 Promise<Object> - 搜尋結果

    • results Array - 搜尋結果陣列

      • item Item - 完整的 Item 物件

      • score number - 相似度分數

searchByBase64(base64, options) - Base64 圖片搜尋

使用 Base64 編碼的圖片搜尋相似圖片。

  • base64 string - Base64 編碼的圖片字串

  • options Object (可選) - 搜尋選項

    • limit number - 結果數量限制,預設 20

  • 返回 Promise<Object> - 搜尋結果

searchByItemId(itemId, options) - 以現有項目搜尋

使用已存在的 Eagle 項目 ID 搜尋相似圖片。

  • itemId string - Eagle 項目 ID

  • options Object (可選) - 搜尋選項

    • limit number - 結果數量限制,預設 20

  • 返回 Promise<Object> - 搜尋結果


完整範例

建立相似圖片搜尋功能


API 參考

狀態查詢方法

方法
返回類型
說明

isInstalled()

Promise<boolean>

檢查 AI Search 插件是否已安裝

isReady()

Promise<boolean>

檢查服務是否就緒可用

isStarting()

Promise<boolean>

檢查服務是否正在啟動中

isSyncing()

Promise<boolean>

檢查是否正在同步資料

服務控制方法

方法
返回類型
說明

open()

Promise<void>

開啟 AI Search 插件

checkServiceHealth()

Promise<boolean>

檢查服務健康狀態

getSyncStatus()

Promise<Object>

取得詳細的同步狀態

搜尋方法

方法
返回類型
說明

searchByText(query, options?)

Promise<Object>

文字語意搜尋

searchByBase64(base64, options?)

Promise<Object>

Base64 圖片搜尋

searchByItemId(itemId, options?)

Promise<Object>

以項目 ID 搜尋相似圖片

搜尋結果格式

circle-info

提示:搜尋結果中的 item 是完整的 Item 物件實例,可以直接使用 save()refreshThumbnail() 等所有 Item 方法。

Last updated