本地优先的命令行搜索工具,结合 ripgrep、BM25 和向量检索,供人和 AI 代理查找工作区内容。
kantord/SeaGOAT
本地优先的语义代码搜索工具,结合向量嵌入与 ripgrep,可用自然语言查询代码库。
- Star
- 1,318
- Fork
- 97
- 未关闭 Issue
- 36
- 最近提交
- 前天
这是什么?
SeaGOAT 是一个命令行代码搜索工具,可以按语义而不是精确关键词查找代码。它启动一个本地服务,用 ChromaDB 存储的向量嵌入为代码库建立索引,并把语义匹配结果与 ripgrep 的正则和关键词结果合并展示。查询既可以是“数字在哪里被四舍五入”这样的自然语句,也可以混用正则表达式。
默认情况下所有处理都在本机完成,不调用远程 API。索引在后台进行,文件还在处理时就能开始查询:此时先返回 ripgrep 的结果,并给出语义结果准确度的估计。搜索会遵守 .gitignore 的忽略规则,额外的忽略模式可在 YAML 配置文件中设置。
可选的 --generative 参数会把结果交给大语言模型做增强,默认使用本地 Ollama,也可以改用 OpenAI 或 MiniMax。云端服务会收到代码片段,因此需要显式开启。
核心功能
- 01基于向量嵌入,用自然语言对本地代码做语义搜索
- 02将语义结果与 ripgrep 的正则和关键词匹配合并展示
- 03默认运行本地服务,不调用远程 API
- 04索引尚未完成时即可搜索,并提示结果准确度估计
- 05遵守 .gitignore,并可通过 YAML 配置添加忽略规则
- 06可选通过 Ollama、OpenAI 或 MiniMax 让大模型增强搜索结果
适用场景
- 不知道确切函数名时,按行为描述找到对应实现
- 用自然语言提问,快速熟悉陌生代码库
- 在不向第三方服务发送代码的前提下搜索私有代码
- 在私有网络中为团队搭建共享的代码搜索服务
快速上手
- 1
使用系统包管理器安装 ripgrep(可选安装 bat)
- 2
使用 pipx 安装 SeaGOAT
pipx install seagoat - 3
在你的代码仓库上启动 SeaGOAT 服务器
seagoat-server start /path/to/your/repo - 4
用自然语言查询你的代码仓库
gt "Where are the numbers rounded"
使用前须知
- 仅支持固定列表中的文件类型,例如 Python、JavaScript、Go 和 Markdown。
- macOS 和 Windows 的支持仅部分测试,或需要帮助。
收录于专题
标签
常见问题
- SeaGOAT 是什么?
- 本地优先的语义代码搜索工具,结合向量嵌入与 ripgrep,可用自然语言查询代码库。 SeaGOAT 是一个命令行代码搜索工具,可以按语义而不是精确关键词查找代码。它启动一个本地服务,用 ChromaDB 存储的向量嵌入为代码库建立索引,并把语义匹配结果与 ripgrep 的正则和关键词结果合并展示。查询既可以是“数字在哪里被四舍五入”这样的自然语句,也可以混用正则表达式。
- SeaGOAT 可以免费使用吗?用的什么许可证?
- SeaGOAT 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- SeaGOAT 还在维护吗?
- 活跃维护中。SeaGOAT 最近一次提交是在 2026年11月5日。
- SeaGOAT 适合用来做什么?
- 不知道确切函数名时,按行为描述找到对应实现 用自然语言提问,快速熟悉陌生代码库 在不向第三方服务发送代码的前提下搜索私有代码 在私有网络中为团队搭建共享的代码搜索服务
- SeaGOAT 怎么安装和运行?
- 使用系统包管理器安装 ripgrep(可选安装 bat) 使用 pipx 安装 SeaGOAT: pipx install seagoat 在你的代码仓库上启动 SeaGOAT 服务器: seagoat-server start /path/to/your/repo 用自然语言查询你的代码仓库: gt "Where are the numbers rounded"
- 在哪里获取 SeaGOAT?
- 源代码和安装说明在 GitHub 上:https://github.com/kantord/SeaGOAT
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
本地运行的语义代码搜索命令行工具,支持调用图追踪,并可作为 MCP 服务供 AI 编程助手调用。
面向 AI 应用的开源数据基础设施,用于存储文档与向量并支持语义、混合及全文检索。
Epsilla 是一个开源 C++ 向量数据库,用于嵌入向量相似度搜索,支持元数据过滤、混合检索和 LLM 集成。
基于 AST 的语义代码搜索 CLI 与 MCP 服务,为编码代理按语义查找代码。
本地向量索引与 RAG 工具,通过按需重算向量将存储占用降低约 97%,可在笔记本上检索个人数据。