我做了一个本地 AI 搜索工具,今天正式开源了! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
dtsola

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

  •  1
     
  •   dtsola Jan 31 2078 views
    This topic created in 96 days ago, the information mentioned may be changed or developed.

    前言

    花了一段时间,我终于把小遥搜索 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 桌面应用的开发者,这是一个完整的参考实现。

    产品路线图

    当前版本( v1.1.1 ) ● 多模态 AI 搜索(语音、文本、图片) ● 本地文件深度检索 ● AI 模型灵活配置 ● 隐私安全保护

    未来规划

    微内核架构演进 插件化系统,支持自定义扩展

    多数据源扩展 ● 文档协作平台(语雀、飞书、Notion ) ● 项目管理平台( Jira 、禅道、GitHub ) ● 实时同步和智能缓存

    音视频搜索增强 ● 视频画面内容理解和搜索 ● 长视频处理(集成水母平台) ● 音频声纹识别和情感分析

    RAG 系统升级 ● 自适应分块算法 ● 知识图谱构建 ● 检索结果智能增强

    智能聊天助手 ● 多轮对话和上下文记忆 ● 基于本地知识库的问答

    MCP 能力集成 连接 Claude 生态,扩展 AI 能力 详细路线图:ROADMAP.md

    适合谁使用?

    知识工作者 搜索本地文档、笔记、研究报告,快速定位关键信息 内容创作者 搜索素材和灵感,整理音视频内容,管理创作资源 技术开发者 搜索代码库和技术文档,整理学习资料,管理项目文件 研究人员 搜索论文和研究资料,整理文献笔记,管理研究数据

    邀请你参与

    为什么需要你? 一个人的力量有限,开源社区的力量是无限的! 优先贡献方向

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

    项目地址

    GitHub:https://github.com/dtsola/xiaoyaosearch

    欢迎: ● Star 本项目,关注最新进展 ● Fork 本项目,开始你的贡献 ● Watch 本项目,及时获取更新 ● 提 Issue ,报告问题和建议功能 ● 参与讨论,分享你的想法

    关于我

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

    ● 网站:https://www.dtsola.com

    ● B 站:https://space.bilibili.com/736015

    开源协议

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

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

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

    结语

    小遥搜索是我对本地 AI 搜索工具的一次探索和实践,也是 Vibe Coding 的完整案例展示。 我相信,开源社区的力量会让这个项目变得更好。 无论你是: ● 想要贡献代码的开发者 ● 想要提供建议的产品经理 ● 想要学习 AI 应用的学生 ● 想要参与创业的伙伴

    都欢迎加入我们,一起打造更好的本地 AI 搜索工具! 让我们一起,用 AI 技术改变知识管理方式!

    6 replies    2026-02-01 22:20:41 +08:00
    KunpengTalk
        1
    KunpengTalk  
       Jan 31
    我刚看以为是一个搜索引擎
    kuse2001
        2
    kuse2001  
       Jan 31 via Android
    赞!先 star 为敬
    dtsola
        3
    dtsola  
    OP
       Feb 1
    @kuse2001 感谢
    dtsola
        4
    dtsola  
    OP
       Feb 1
    @KunpengTalk 嗯,简单来说小遥搜索是一款能听会看的本地 AI 搜索工具,让你用语音、文字、图片秒找电脑里的任何文件,数据全程本地处理,隐私安全有保障。
    zololiu
        5
    zololiu  
       Feb 1
    先 star 一个了。
    dtsola
        6
    dtsola  
    OP
       Feb 1
    @zololiu 非常感谢
    About     Help     Advertise     Blog     API     FAQ     Solana     6027 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 77ms UTC 03:25 PVG 11:25 LAX 20:25 JFK 23:25
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86