kantord/SeaGOAT
local-first semantic code search engine
解决的问题
SeaGOAT 是一个本地代码搜索引擎,允许开发者以语义方式搜索代码库,而不是仅仅依赖关键词搜索。它使用户能够根据查询的含义(例如“数字在哪里被四舍五入”)来查找代码片段,而不是依赖精确的字符串匹配。
工作原理
该工具通过本地服务器(seagoat-server)运行,处理仓库并创建代码的向量嵌入。它使用 ChromaDB 作为本地向量数据库,并使用本地嵌入引擎,以确保数据隐私。为了提供全面的结果,它将基于 AI 的语义匹配与由 ripgrep 提供的传统的正则表达式和关键词搜索相结合。
适用人群
希望在 Python、C++、TypeScript、Go 和 Java 等多种支持语言的本地代码库中,获得快速、私密且语义化搜索体验的开发者。
主要亮点
- 本地优先架构:所有处理和嵌入均在本地完成,不依赖 ChatGPT 等第三方 API。
- 混合搜索:结合基于向量的语义搜索与 ripgrep 提供的正则表达式和关键词匹配。
- 后台处理:在后台索引文件,避免拖慢系统。
- Git 集成:自动尊重
.gitignore文件。 - 灵活部署:可在本地机器上运行,也可在远程服务器上自托管,供团队访问。
相关
- 项目
- 项目
- 项目
- 项目
- 项目