我做了一个本地AI搜索工具,今天正式开源了!

我做了一个本地AI搜索工具,今天正式开源了!

前言

花了一段时间,我终于把小遥搜索 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 / MacOS / Linux
  • Python:3.10.11+
  • Node.js:21.x+
  • 内存:建议8GB以上

安装步骤

1. 克隆项目
git clone https://github.com/dtsola/xiaoyaosearch.git cd xiaoyaosearch
2. 后端启动
cd backend pip install -r requirements.txt python main.py
3. 前端启动
cd frontend npm install npm run dev

详细安装指南:README.md


产品路线图

当前版本(v1.1.1)✅

  • 多模态AI搜索(语音、文本、图片)
  • 本地文件深度检索
  • AI模型灵活配置
  • 隐私安全保护

未来规划

🚀 微内核架构演进

插件化系统,支持自定义扩展

🌐 多数据源扩展
  • 文档协作平台(语雀、飞书、Notion)
  • 项目管理平台(Jira、禅道、GitHub)
  • 实时同步和智能缓存
🎬 音视频搜索增强
  • 视频画面内容理解和搜索
  • 长视频处理(集成水母平台)
  • 音频声纹识别和情感分析
🧠 RAG系统升级
  • 自适应分块算法
  • 知识图谱构建
  • 检索结果智能增强
💬 智能聊天助手
  • 多轮对话和上下文记忆
  • 基于本地知识库的问答
🔌 MCP能力集成

连接Claude生态,扩展AI能力

详细路线图:ROADMAP.md


适合谁使用?

知识工作者

搜索本地文档、笔记、研究报告,快速定位关键信息

内容创作者

搜索素材和灵感,整理音视频内容,管理创作资源

技术开发者

搜索代码库和技术文档,整理学习资料,管理项目文件

研究人员

搜索论文和研究资料,整理文献笔记,管理研究数据


邀请你参与

为什么需要你?

一个人的力量有限,开源社区的力量是无限的!

优先贡献方向

  1. 插件系统开发(高优先级)
    • 设计插件接口规范
    • 实现插件加载机制
  1. 多数据源连接器(高优先级)
    • 语雀、飞书、Notion API集成
  1. UI/UX优化(中优先级)
    • 搜索结果展示优化
    • 暗色模式支持
  1. 性能优化(中优先级)
    • 大文件处理优化
    • 索引构建速度提升
  1. 测试覆盖(中优先级)
    • 单元测试补充
    • 集成测试完善

如何贡献?

# 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

贡献者权益

  • 📝 在贡献者列表中展示你的名字
  • 🏆 对项目有重大贡献者可成为核心维护者
  • 💼 优秀贡献者可获得推荐信或工作机会

项目地址

GitHubhttps://github.com/dtsola/xiaoyaosearch

欢迎:

  • ⭐️ Star 本项目,关注最新进展
  • 🍴 Fork 本项目,开始你的贡献
  • 👀 Watch 本项目,及时获取更新
  • 🐛 提Issue,报告问题和建议功能
  • 💡 参与讨论,分享你的想法

关于我

dtsola - IT解决方案架构师 | 一人公司实践者


开源协议

本项目采用小遥搜索软件授权协议

  • ✅ 免费使用(非商业用途)
  • ✅ 可以学习和研究代码
  • ✅ 可以修改后二次分发(需保留版权声明和协议)
  • ✅ 可以集成到其他非商业项目
  • ❌ 商业使用需授权

这是一个类似 CC-BY-NC-SA 的开源协议,鼓励学习、分享和贡献!

详细协议:LICENSE


结语

小遥搜索是我对本地AI搜索工具的一次探索和实践,也是Vibe Coding的完整案例展示。

我相信,开源社区的力量会让这个项目变得更好。

无论你是:

  • 🔨 想要贡献代码的开发者
  • 💡 想要提供建议的产品经理
  • 📖 想要学习AI应用的学生
  • 🚀 想要参与创业的伙伴

都欢迎加入我们,一起打造更好的本地AI搜索工具!

让我们一起,用AI技术改变知识管理方式! 🚀


#独立开发者 #知识工作者 #知识库 #AI工具 #内容创作者 #一人公司 #ai搜索 #dify #ragflow #vibecoding

Read more

告别 Copilot 时代:Cursor, Kiro 与 Google Antigravity 如何重新定义编程?

如果说 GitHub Copilot 开启了 AI 辅助编程的“副驾驶”时代,那么 2024-2025 年则是 AI Agent(智能体) 全面接管 IDE 的元年。 现在的开发者不再满足于简单的代码补全,我们需要的是能理解整个项目架构、能自主规划任务、甚至能像真人同事一样工作的“编程搭子”。 今天,我们盘点三款目前最受瞩目、处于风口浪尖的 AI 编程工具:Cursor、Kiro 以及 Google 的重磅新品 Antigravity。无论你是想提升效率,还是想尝鲜最前沿的 Agentic Workflow,这三款神器都不容错过。 1. Cursor:当下体验最好的 AI 代码编辑器 定位:目前最成熟、最流畅的 VS Code 替代者 Cursor

By Ne0inhk

AI绘画报错

提示输出验证失败:CheckpointLoaderSimple: - 值不在列表中:ckpt_name: 'v1-5-pruned-emaonly-fp16.safetensors' 不在 ['anything-v5-PrtRE.safetensors'] 中 模型文件夹里面没模型 这是官方链接:v1-5-pruned-emaonly.safetensors https://huggingface.co/runwayml/stable-diffusion-v1-5/tree/main 点击同一行的小下载箭头。然后把文件放在:models/checkpoints文件夹里 你还需要标准的VAE文件,也就是:vae-ft-mse-840000-ema-pruned.safetensors https://huggingface.co/stabilityai/sd-vae-ft-mse-original/tree/main 这个文件放在:models/vae文件夹里 现在你已经拥有运行所需的一切了。慢慢来。你最初生成的图片会很糟糕。但是继续尝试,很快你就能得到很棒的结果。

By Ne0inhk
我用Openclaw + Claude搭了一套自动写作系统,每天省3小时

我用Openclaw + Claude搭了一套自动写作系统,每天省3小时

这是我目前最重要的一套AI工作流。从信息获取到发布,几乎不用手动完成。 一、为什么我要搭建这套系统? 信息过载的困境 如果你也在持续关注AI,应该会有同样的感受: 信息太多了。 每天打开 X、公众号、GitHub、技术社区,都会冒出大量新内容。 AI模型更新、工具更新、Agent框架、自动化方案…… 想跟上这些信息,本身就已经是一项工作。 手动写作的低效循环 更别说: * 整理信息 * 找选题 * 写文章 * 配图 * 发布到各个平台 如果全部手动完成,写作就会变成一件非常消耗精力的事。 我一度也在这种状态里: 想持续输出,但写作本身占用了太多时间。 一个关键问题 后来我开始思考一个问题: 如果写作这件事可以被"系统化",会发生什么? 于是,我不再把AI当成写作工具。 而是开始搭一套完整的 AI写作工作流。 二、思路转变:从优化写作到优化流程 大多数人的AI写作方式 大多数人使用AI写作,是这样:

By Ne0inhk
实现GitHub和Google第三方登录

实现GitHub和Google第三方登录

第三方登录流程图如下: 一、在第三方平台创建OAuth GitHub: 1.登录GitHub ➡ 右上角个人设置 ➡ 开发者设置 2.OAuth Apps  ➡ 右上角创建新OAuth应用  ➡ 重点填写Authorization callback URL; Authorization callback URL为流程图中第七步第三方code和state返回的路径,后续前端用于获取系统服务端token GitHub的Authorization callback URL返回路径没有具体要求,填什么地址,code和state就返到对应的页面 Enable Device Flow(是否启动设备流): 如无法使用web形式授权输入邮箱密码登录,启动设备流可通过其他设备扫码等形式完成授权登录 3.保存Client ID和Client secrets Google: 1.登录https://console.cloud.google.com ➡ New project ➡ 测试项目信息可随意填写 2. APIs & Services ➡ Credentia

By Ne0inhk