前言
花了一段时间,我终于把小遥搜索 XiaoyaoSearch做出来了。
这是一个支持语音、文本、图片多模态输入的本地AI搜索桌面应用。最特别的是,它100%通过Vibe Coding(AI辅助编程)实现,从零开始,所有源码、设计文档、开发经验,今天全部开源。

为什么要做这个工具?
作为知识工作者,我经常遇到这些痛点:
- 文件太多找不到:电脑里存了成千上万个文档、图片、音视频,想找个特定内容翻半天
- 搜索不够智能:系统自带的搜索只能匹配文件名,搜不到文件内容
- 隐私安全担忧:很多搜索工具要上传数据到云端,不太放心
- AI工具太复杂:想用AI提升效率,但不会配置,门槛太高
所以我就想:能不能做一个本地运行的、支持多种输入方式的AI搜索工具?
小遥搜索是什么?
简单来说,它是一个本地AI搜索桌面应用,核心特点:
🎤 多模态输入
- 语音搜索:点一下录音,说出你要找的内容,30秒内语音自动转文字搜索
- 文本搜索:输入关键词,AI理解语义,精准匹配文件内容
- 图片搜索:上传一张图片,AI理解图像内容,帮你搜索相关文件
🔍 深度检索
- 文档:TXT、Markdown、Word、Excel、PPT、PDF 全文检索
- 音视频:MP4、AVI、MP3、WAV 内容索引和搜索(支持10分钟内音视频字幕提取)
- 文件名:传统的文件名搜索也不缺席
🧠 AI技术
集成了多个先进AI模型:
- BGE-M3:文本嵌入,理解语义
- FasterWhisper:语音识别,语音转文字
- CN-CLIP:图像理解,以图搜图
- Ollama:本地大语言模型
🔒 隐私安全
- 完全本地:所有数据处理都在本地,不上传云端
- 隐私模式:可选不记录搜索历史
- 自主可控:数据完全由你自己掌控
核心界面一览
搜索主界面

文本搜索

语音搜索

图片搜索

技术架构
前端:Electron + Vue 3 + TypeScript
后端:Python 3.10 + FastAPI
AI引擎:BGE-M3 + FasterWhisper + CN-CLIP + Ollama
搜索:Faiss(向量搜索)+ Whoosh(全文搜索)
数据库:SQLite
系统架构图

Vibe Coding 实践案例
这是我特别想分享的部分。
这个项目从零开始,完全通过Vibe Coding实现,包括:
- ✅ 完整源代码(前端 + 后端 + 所有功能模块)
- ✅ 设计文档(PRD、技术方案、数据库设计、API文档)
- ✅ 开发流程(任务分解、进度跟踪、测试验证)
- ✅ 部署配置(环境搭建、依赖管理、打包发布)
开源的价值:对于想要学习AI辅助开发、本地AI应用、Electron桌面应用的开发者,这是一个完整的参考实现。
🚀 快速开始
方式一:整合包部署(推荐普通用户)
适用人群:非开发者、希望快速体验小遥搜索的用户
支持平台:仅支持 Windows
部署难度:⭐ 简单(一键安装)
下载整合包
从百度网盘下载最新的 Windows 整合包:
请选择最新版本下载(如 XiaoyaoSearch-Windows-v1.1.1.zip)
安装步骤
1. 解压整合包
将下载的压缩包解压到任意目录(建议不要包含中文路径)
2. 运行环境准备脚本
双击运行 scripts/setup.bat,脚本会自动完成以下操作:
- 解压 Python 嵌入式运行时
- 安装后端 Python 依赖
- 安装前端 Node 依赖
- 生成配置文件
- 创建数据目录
3. 安装 Ollama
双击运行 runtime\ollama\OllamaSetup.exe,按提示完成安装。
安装完成后,打开命令行运行:
ollama serve
ollama pull qwen2.5:1.5b
4. 下载 AI 模型
从百度网盘下载默认模型:
- 链接:https://pan.baidu.com/s/1jRcTztvjf8aiExUh6oayVg
- 提取码:ycr5
将模型解压到对应目录:
-
data\models\embedding\BAAI\bge-m3\- 嵌入模型 -
data\models\cn-clip\- 视觉模型 -
data\models\faster-whisper\- 语音识别模型
5. 启动应用
双击运行 scripts/startup.bat,脚本会:
- 启动后端服务
- 启动前端服务
方式二:开发者部署
适用人群:开发者、希望参与项目贡献的用户
支持平台:Windows / macOS / Linux
部署难度:⭐⭐⭐ 需要开发环境
环境要求
- 操作系统: Windows / macOS / Linux
- Python: 3.10.11+(https://www.python.org/downloads/)
- Node.js: 21.x+(https://nodejs.org/en/download)
- 内存: 建议16GB 以上
- 显卡: 建议RTX3060 6GB以上
安装步骤
1. 克隆项目
git clone https://github.com/dtsola/xiaoyaosearch.git
cd xiaoyaosearch
2. 后端部署
# 进入后端目录
cd backend
# 安装依赖包(默认CPU版本的推理引擎)
pip install -r requirements.txt
# 安装faster-whisper
pip install faster-whisper
# 启用CUDA(可选,注意:cuda版本需根据环境确定)
pip uninstall torch torchaudio torchvision
pip install torch==2.1.0+cu121 torchaudio==2.1.0+cu121 torchvision==0.16.0+cu121 --index-url https://download.pytorch.org/whl/cu121
安装ffmpeg:
https://ffmpeg.org/download.html
安装ollama:
https://ollama.com/
配置 .env 文件:
# 数据配置
FAISS_INDEX_PATH=../data/indexes/faiss
WHOOSH_INDEX_PATH=../data/indexes/whoosh
DATABASE_PATH=../data/database/xiaoyao_search.db
# API配置
API_HOST=127.0.0.1
API_PORT=8000
API_RELOAD=true
# 日志配置
LOG_LEVEL=info
LOG_FILE=../data/logs/app.log
准备模型:
系统默认模型说明:
- ollama:qwen2.5:1.5b
- 嵌入模型:BAAI/bge-m3
- 语音识别模型:Systran/faster-whisper-base
- 视觉模型:OFA-Sys/chinese-clip-vit-base-patch16
注意:建议先准备默认模型,先成功启动应用后,再更换模型。
ollama模型:
ollama pull qwen2.5:1.5b (根据情况自行选择)
所有模型下载地址:(百度盘)
链接: https://pan.baidu.com/s/1jRcTztvjf8aiExUh6oayVg?pwd=ycr5 提取码: ycr5
嵌入模型:
-
模型根目录:data/models/embedding
-
将下载的模型直接解压放入到根目录即可,以下是对应关系
-
data/models/embedding/BAAI/bge-m3
-
data/models/embedding/BAAI/bge-small-zh
-
data/models/embedding/BAAI/bge-large-zh
语音识别模型:
-
模型根目录:data/models/faster-whisper
-
将下载的模型直接解压放入到根目录即可,以下是对应关系
-
data/models/faster-whisper/Systran/faster-whisper-base
-
data/models/faster-whisper/Systran/faster-whisper-small
-
data/models/faster-whisper/Systran/faster-whisper-medium
-
data/models/faster-whisper/Systran/faster-whisper-large-v3
视觉模型:
-
模型根目录:data/models/cn-clip
-
将下载的模型直接解压放入到根目录即可,以下是对应关系
-
data/models/cn-clip/OFA-Sys/chinese-clip-vit-base-patch16
-
data/models/cn-clip/OFA-Sys/chinese-clip-vit-large-patch14
启动后端服务:
# 使用内置配置启动
python main.py
# 或使用uvicorn启动
uvicorn main:app --host 127.0.0.1 --port 8000 --reload
3. 前端部署
# 进入前端目录
cd frontend
# 安装依赖
npm install
# 启动开发服务器
npm run dev
产品路线图
当前版本(v1.1.1)✅
- 多模态AI搜索(语音、文本、图片)
- 本地文件深度检索
- AI模型灵活配置
- 隐私安全保护
未来规划
🚀 微内核架构演进
插件化系统,支持自定义扩展
🌐 多数据源扩展
- 文档协作平台(语雀、飞书、Notion)
- 项目管理平台(Jira、禅道、GitHub)
- 实时同步和智能缓存
🎬 音视频搜索增强
- 视频画面内容理解和搜索
- 长视频处理(集成水母平台)
- 音频声纹识别和情感分析
🧠 RAG系统升级
- 自适应分块算法
- 知识图谱构建
- 检索结果智能增强
💬 智能聊天助手
- 多轮对话和上下文记忆
- 基于本地知识库的问答
🔌 MCP能力集成
连接Claude生态,扩展AI能力
详细路线图:ROADMAP.md
适合谁使用?
知识工作者
搜索本地文档、笔记、研究报告,快速定位关键信息
内容创作者
搜索素材和灵感,整理音视频内容,管理创作资源
技术开发者
搜索代码库和技术文档,整理学习资料,管理项目文件
研究人员
搜索论文和研究资料,整理文献笔记,管理研究数据
邀请你参与
为什么需要你?
一个人的力量有限,开源社区的力量是无限的!
优先贡献方向
- 插件系统开发(高优先级)
- 设计插件接口规范
- 实现插件加载机制
- 多数据源连接器(高优先级)
- 语雀、飞书、Notion API集成
- UI/UX优化(中优先级)
- 搜索结果展示优化
- 暗色模式支持
- 性能优化(中优先级)
- 大文件处理优化
- 索引构建速度提升
- 测试覆盖(中优先级)
- 单元测试补充
- 集成测试完善
如何贡献?
# 1. Fork 项目
# 2. 创建分支
git checkout -b feature/your-feature-name
# 3. 提交代码
git commit -m "feat: 添加XX功能"
git push origin feature/your-feature-name
# 4. 提交 Pull Request
贡献者权益
- 📝 在贡献者列表中展示你的名字
- 🏆 对项目有重大贡献者可成为核心维护者
- 💼 优秀贡献者可获得推荐信或工作机会
项目地址
GitHub:https://github.com/dtsola/xiaoyaosearch
欢迎:
- ⭐️ Star 本项目,关注最新进展
- 🍴 Fork 本项目,开始你的贡献
- 👀 Watch 本项目,及时获取更新
- 🐛 提Issue,报告问题和建议功能
- 💡 参与讨论,分享你的想法
关于我
dtsola - IT解决方案架构师 | 一人公司实践者
- 网站:https://www.dtsola.com
- B站:https://space.bilibili.com/736015
- 微信:dtsola(请备注"小遥搜索")
开源协议
本项目采用小遥搜索软件授权协议:
- ✅ 免费使用(非商业用途)
- ✅ 可以学习和研究代码
- ✅ 可以修改后二次分发(需保留版权声明和协议)
- ✅ 可以集成到其他非商业项目
- ❌ 商业使用需授权
这是一个类似 CC-BY-NC-SA 的开源协议,鼓励学习、分享和贡献!
详细协议:LICENSE
结语
小遥搜索是我对本地AI搜索工具的一次探索和实践,也是Vibe Coding的完整案例展示。
我相信,开源社区的力量会让这个项目变得更好。
无论你是:
- 🔨 想要贡献代码的开发者
- 💡 想要提供建议的产品经理
- 📖 想要学习AI应用的学生
- 🚀 想要参与创业的伙伴
都欢迎加入我们,一起打造更好的本地AI搜索工具!
让我们一起,用AI技术改变知识管理方式! 🚀
Made with ❤️ by dtsola
#独立开发者 #知识工作者 #知识库 #AI工具 #内容创作者 #一人公司 #ai搜索 #dify #ragflow #vibecoding


8


通过ai进行搜索个人需求量不大,大佬有没有考虑增加一个根据ai进行文件整理的功能呢?比如根据描述把某些文件归档重命名之类的,看到你的项目突然想做这么一个功能,但是个人的技术栈跟你这个项目差别挺大,点了个start以后有空研究一下看能不能加上这种功能
哈哈哈,感谢反馈,你可以尝试一下;你所说的功能其实可以定位是 基于小遥搜索的 上层应用(也有不少用户提过类似的需求)。小遥搜索的定位就是搜索(可以是 多数据源 本地、语雀、飞书、浏览器、网盘等等 自己的数据源、多模态,视频、语音、图片、文档等),服务于知识库、智能体及其他上层应用。
感谢回复,我已经开始在做这么一个项目了,我准备完全使用ai给我生成。我加了你的开发者群,以后可以多交流。如果做出来了会在readme里面挂一个你这个项目的链接,用于感谢你给我提供了一个灵感来做这么一个工具,你不会介意吧?
看到简单问题复杂化
只用Everything