feat: use new search/people API for People search mode

This commit is contained in:
2026-07-25 20:33:15 +08:00
parent 9691e75e36
commit fb9a55a64c
2 changed files with 17 additions and 7 deletions

View File

@@ -263,6 +263,13 @@ case 'search_keyword': {
case 'search_identities': {
return { url: `/api/v1/identities/search?q=${encodeURIComponent(a.query)}&limit=${a.limit || 50}`, method: 'GET' }
}
case 'search_people': {
const params = new URLSearchParams()
if (a.query) params.set('query', a.query)
if (a.fileUuid) params.set('file_uuid', a.fileUuid)
if (a.limit) params.set('limit', String(a.limit))
return { url: `/api/v1/search/people?${params.toString()}`, method: 'GET' }
}
// --- Image APIs ---
case 'get_thumbnail': {

View File

@@ -722,15 +722,18 @@ async function sendMessage() {
messages.value[msgIdx].loading = false
if (res?.chips) messages.value[msgIdx].chips = res.chips
} else if (mode.value === 'people') {
const raw: any = await apiCall('search_identities', { query: q, limit: 50 })
const raw: any = await apiCall('search_people', { query: q, limit: 50 })
if (searchSeq !== seq) return
const results = (Array.isArray(raw) ? raw : []).filter((p: any) => p.file_uuid).map((p: any) => ({
file_uuid: p.file_uuid,
file_name: p.name,
summary: `FS - ${p.source || 'unknown'}`,
const peopleList = raw?.people || []
const results = peopleList.map((p: any) => ({
type: 'person',
identity_id: p.identity_id,
identity_uuid: p.identity_uuid,
file_name: p.name || 'Unknown',
summary: `People · ${p.appearance_count || 0} appearances`,
similarity: 1.0,
start_frame: p.startFrame || p.start_frame,
end_frame: p.endFrame || p.end_frame,
start_frame: p.first_appearance_time,
end_frame: p.last_appearance_time,
search_query: q,
}))
messages.value[msgIdx].results = results