kantord/SeaGOAT

local-first semantic code search engine

解决的问题

SeaGOAT 是一个本地代码搜索引擎,允许开发者以语义方式搜索代码库,而不是仅仅依赖关键词搜索。它使用户能够根据查询的含义(例如“数字在哪里被四舍五入”)来查找代码片段,而不是依赖精确的字符串匹配。

工作原理

该工具通过本地服务器(seagoat-server)运行,处理仓库并创建代码的向量嵌入。它使用 ChromaDB 作为本地向量数据库,并使用本地嵌入引擎,以确保数据隐私。为了提供全面的结果,它将基于 AI 的语义匹配与由 ripgrep 提供的传统的正则表达式和关键词搜索相结合。

适用人群

希望在 Python、C++、TypeScript、Go 和 Java 等多种支持语言的本地代码库中,获得快速、私密且语义化搜索体验的开发者。

主要亮点

  • 本地优先架构:所有处理和嵌入均在本地完成,不依赖 ChatGPT 等第三方 API。
  • 混合搜索:结合基于向量的语义搜索与 ripgrep 提供的正则表达式和关键词匹配。
  • 后台处理:在后台索引文件,避免拖慢系统。
  • Git 集成:自动尊重 .gitignore 文件。
  • 灵活部署:可在本地机器上运行,也可在远程服务器上自托管,供团队访问。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目