{"adoption": {"forks": 60, "observed_at": "2026-08-28T04:03:31.133374+00:00", "stars": 1083}, "canonical_url": "https://ross.abutalabs.com/products/xiaoyaosearch", "card": {"archived": false, "artifact_type": "application", "description": "小遥搜索，听懂你的话、看懂你的图，用AI找到本地任何文件。让搜索像聊天一样简单。XiaoyaoSearch: Understands your words, reads your images, finds any local file with AI. Making search as easy as chatting.", "domain": ["desktop-applications", "developer-tools", "files", "artificial-intelligence"], "enriched": true, "function": ["search-engine", "speech-recognition", "nlp", "machine-learning", "llm-inference", "mcp"], "health_score": 88, "homepage": "https://project.xiaoyaosai.com", "language": "Python", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["dtsola/xiaoyaosearch"], "name": "dtsola/xiaoyaosearch", "platform": ["windows", "cross-platform", "python"], "pushed_at": "2026-05-22T09:48:18+00:00", "repo": "dtsola/xiaoyaosearch", "stars": 1083, "tags": ["semantic-search", "local-search", "file-search", "multimodal-ai", "voice-search", "hybrid-search", "vector-search", "faiss", "whoosh", "ollama", "mcp-server", "agent-skills", "electron-app", "privacy-first", "chinese-language", "search", "natural-language-processing", "macos", "linux", "desktop"], "topics": ["agent-skills", "ai-search", "document-search", "file-search", "local-search", "mcp", "multimodal-ai", "natural-language", "semantic-search", "productivity"], "urls": [], "use_cases": ["find any file on my computer by describing it in natural language", "search the contents of pdf, office, and markdown documents locally with AI", "search local files by speaking instead of typing", "locate a video or audio file by what is said or shown in it", "find files using an image as the search query", "let Claude Desktop or Cursor search my local files through MCP", "run private semantic file search offline without uploading my data", "improve recall for domain jargon and synonyms when searching documents"], "what_it_is": "XiaoyaoSearch is a cross-platform desktop application (Electron + Python/FastAPI) that lets users find local files using AI-powered semantic search with text, voice, or image queries. It combines hybrid retrieval (Faiss vector search + Whoosh full-text) with models like BGE-M3, FasterWhisper, and CN-CLIP to index and search documents, audio, and video entirely on the local machine, and exposes itself as an MCP server and Agent Skill for AI assistants.", "when_to_avoid": ["you need an OSI-approved open-source license for commercial use - commercial deployment requires separate authorization", "you need server-side or multi-user enterprise search across a network rather than a single-user desktop tool", "your machine cannot run local AI models and you are unwilling to depend on cloud embedding/LLM APIs", "you want a lightweight file indexer without downloading AI models or index-building overhead"], "when_to_choose": ["you need AI-powered search over your own local files with strong privacy (local-first, optional cloud APIs)", "you want multimodal querying - voice, text, or image - against documents, audio, and video", "you work with Chinese-language content and want models like BGE-M3/CN-CLIP plus a terminology library", "you want to give AI assistants (Claude Desktop, Claude Code, Cursor) standardized access to local file search via MCP or Agent Skills"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/xiaoyaosearch", "repo": "dtsola/xiaoyaosearch", "role": "main", "score": 70}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.133374+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:51:10.053126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0e171debf71b97b87418e07dc6c67fdf9c808d1d51cd6ee10b25f5faa0edf28", "fetched_at": "2026-08-28T04:03:31.133374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dtsola/xiaoyaosearch"}, {"content_hash": "f26bf9c5317aca1f05c09495f6256314f21212c404b63f44ae6c186601ee5431", "fetched_at": "2026-08-29T12:53:32.726021+00:00", "kind": "homepage", "missing": false, "url": "https://project.xiaoyaosai.com"}, {"content_hash": "da94d1cfd1a7f6366c68ccd3ce1aae953d341c88b9962e91f97eb110afc47302", "fetched_at": "2026-08-29T12:53:32.735259+00:00", "kind": "site_page", "missing": false, "url": "https://project.xiaoyaosai.com/about"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.133374+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:51:10.053126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0e171debf71b97b87418e07dc6c67fdf9c808d1d51cd6ee10b25f5faa0edf28", "fetched_at": "2026-08-28T04:03:31.133374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dtsola/xiaoyaosearch"}, {"content_hash": "f26bf9c5317aca1f05c09495f6256314f21212c404b63f44ae6c186601ee5431", "fetched_at": "2026-08-29T12:53:32.726021+00:00", "kind": "homepage", "missing": false, "url": "https://project.xiaoyaosai.com"}, {"content_hash": "da94d1cfd1a7f6366c68ccd3ce1aae953d341c88b9962e91f97eb110afc47302", "fetched_at": "2026-08-29T12:53:32.735259+00:00", "kind": "site_page", "missing": false, "url": "https://project.xiaoyaosai.com/about"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:51:10.053126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0e171debf71b97b87418e07dc6c67fdf9c808d1d51cd6ee10b25f5faa0edf28", "fetched_at": "2026-08-28T04:03:31.133374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dtsola/xiaoyaosearch"}, {"content_hash": "f26bf9c5317aca1f05c09495f6256314f21212c404b63f44ae6c186601ee5431", "fetched_at": "2026-08-29T12:53:32.726021+00:00", "kind": "homepage", "missing": false, "url": "https://project.xiaoyaosai.com"}, {"content_hash": "da94d1cfd1a7f6366c68ccd3ce1aae953d341c88b9962e91f97eb110afc47302", "fetched_at": "2026-08-29T12:53:32.735259+00:00", "kind": "site_page", "missing": false, "url": "https://project.xiaoyaosai.com/about"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.133374+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.133374+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.133374+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:51:10.053126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0e171debf71b97b87418e07dc6c67fdf9c808d1d51cd6ee10b25f5faa0edf28", "fetched_at": "2026-08-28T04:03:31.133374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dtsola/xiaoyaosearch"}, {"content_hash": "f26bf9c5317aca1f05c09495f6256314f21212c404b63f44ae6c186601ee5431", "fetched_at": "2026-08-29T12:53:32.726021+00:00", "kind": "homepage", "missing": false, "url": "https://project.xiaoyaosai.com"}, {"content_hash": "da94d1cfd1a7f6366c68ccd3ce1aae953d341c88b9962e91f97eb110afc47302", "fetched_at": "2026-08-29T12:53:32.735259+00:00", "kind": "site_page", "missing": false, "url": "https://project.xiaoyaosai.com/about"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.133374+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.133374+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:51:10.053126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0e171debf71b97b87418e07dc6c67fdf9c808d1d51cd6ee10b25f5faa0edf28", "fetched_at": "2026-08-28T04:03:31.133374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dtsola/xiaoyaosearch"}, {"content_hash": "f26bf9c5317aca1f05c09495f6256314f21212c404b63f44ae6c186601ee5431", "fetched_at": "2026-08-29T12:53:32.726021+00:00", "kind": "homepage", "missing": false, "url": "https://project.xiaoyaosai.com"}, {"content_hash": "da94d1cfd1a7f6366c68ccd3ce1aae953d341c88b9962e91f97eb110afc47302", "fetched_at": "2026-08-29T12:53:32.735259+00:00", "kind": "site_page", "missing": false, "url": "https://project.xiaoyaosai.com/about"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.133374+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.133374+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.133374+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:51:10.053126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0e171debf71b97b87418e07dc6c67fdf9c808d1d51cd6ee10b25f5faa0edf28", "fetched_at": "2026-08-28T04:03:31.133374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dtsola/xiaoyaosearch"}, {"content_hash": "f26bf9c5317aca1f05c09495f6256314f21212c404b63f44ae6c186601ee5431", "fetched_at": "2026-08-29T12:53:32.726021+00:00", "kind": "homepage", "missing": false, "url": "https://project.xiaoyaosai.com"}, {"content_hash": "da94d1cfd1a7f6366c68ccd3ce1aae953d341c88b9962e91f97eb110afc47302", "fetched_at": "2026-08-29T12:53:32.735259+00:00", "kind": "site_page", "missing": false, "url": "https://project.xiaoyaosai.com/about"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.133374+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.133374+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:51:10.053126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0e171debf71b97b87418e07dc6c67fdf9c808d1d51cd6ee10b25f5faa0edf28", "fetched_at": "2026-08-28T04:03:31.133374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dtsola/xiaoyaosearch"}, {"content_hash": "f26bf9c5317aca1f05c09495f6256314f21212c404b63f44ae6c186601ee5431", "fetched_at": "2026-08-29T12:53:32.726021+00:00", "kind": "homepage", "missing": false, "url": "https://project.xiaoyaosai.com"}, {"content_hash": "da94d1cfd1a7f6366c68ccd3ce1aae953d341c88b9962e91f97eb110afc47302", "fetched_at": "2026-08-29T12:53:32.735259+00:00", "kind": "site_page", "missing": false, "url": "https://project.xiaoyaosai.com/about"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:51:10.053126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0e171debf71b97b87418e07dc6c67fdf9c808d1d51cd6ee10b25f5faa0edf28", "fetched_at": "2026-08-28T04:03:31.133374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dtsola/xiaoyaosearch"}, {"content_hash": "f26bf9c5317aca1f05c09495f6256314f21212c404b63f44ae6c186601ee5431", "fetched_at": "2026-08-29T12:53:32.726021+00:00", "kind": "homepage", "missing": false, "url": "https://project.xiaoyaosai.com"}, {"content_hash": "da94d1cfd1a7f6366c68ccd3ce1aae953d341c88b9962e91f97eb110afc47302", "fetched_at": "2026-08-29T12:53:32.735259+00:00", "kind": "site_page", "missing": false, "url": "https://project.xiaoyaosai.com/about"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:51:10.053126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0e171debf71b97b87418e07dc6c67fdf9c808d1d51cd6ee10b25f5faa0edf28", "fetched_at": "2026-08-28T04:03:31.133374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dtsola/xiaoyaosearch"}, {"content_hash": "f26bf9c5317aca1f05c09495f6256314f21212c404b63f44ae6c186601ee5431", "fetched_at": "2026-08-29T12:53:32.726021+00:00", "kind": "homepage", "missing": false, "url": "https://project.xiaoyaosai.com"}, {"content_hash": "da94d1cfd1a7f6366c68ccd3ce1aae953d341c88b9962e91f97eb110afc47302", "fetched_at": "2026-08-29T12:53:32.735259+00:00", "kind": "site_page", "missing": false, "url": "https://project.xiaoyaosai.com/about"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:51:10.053126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c0e171debf71b97b87418e07dc6c67fdf9c808d1d51cd6ee10b25f5faa0edf28", "fetched_at": "2026-08-28T04:03:31.133374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dtsola/xiaoyaosearch"}, {"content_hash": "f26bf9c5317aca1f05c09495f6256314f21212c404b63f44ae6c186601ee5431", "fetched_at": "2026-08-29T12:53:32.726021+00:00", "kind": "homepage", "missing": false, "url": "https://project.xiaoyaosai.com"}, {"content_hash": "da94d1cfd1a7f6366c68ccd3ce1aae953d341c88b9962e91f97eb110afc47302", "fetched_at": "2026-08-29T12:53:32.735259+00:00", "kind": "site_page", "missing": false, "url": "https://project.xiaoyaosai.com/about"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 83, "longevity": 21, "rhythm": 81}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 295, "days_push": 103, "days_rel": 131, "gap_med": 6.5, "n_releases_24m": 13}, "score": 70, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}