---
title: "SeaGOAT"
type: "tool"
slug: "kantord-seagoat"
canonical_url: "https://www.graphcanon.com/tools/kantord-seagoat"
github_url: "https://github.com/kantord/SeaGOAT"
homepage_url: "https://kantord.github.io/SeaGOAT/"
stars: 1299
forks: 93
primary_language: "Python"
license: "MIT"
categories: ["developer-tools", "data-retrieval"]
tags: ["code-search-engine", "embeddings", "vector-database", "llm", "ai"]
updated_at: "2026-07-07T19:49:21.703948+00:00"
---

# SeaGOAT

> local-first semantic code search engine

SeaGOAT leverages vector embeddings to enable local, semantic searching of a codebase.

## Facts

- Repository: https://github.com/kantord/SeaGOAT
- Homepage: https://kantord.github.io/SeaGOAT/
- Stars: 1,299 · Forks: 93 · Open issues: 45 · Watchers: 6
- Primary language: Python
- License: MIT
- Last pushed: 2026-07-06T07:00:47+00:00

## Categories

- [Developer Tools](/categories/developer-tools.md)
- [Data & Retrieval](/categories/data-retrieval.md)

## Tags

code-search-engine, embeddings, vector-database, llm, ai

## Related tools

- [ECC](/tools/affaan-m-ecc.md) - The agent harness performance optimization system (★ 226,991)
- [AutoGPT](/tools/significant-gravitas-autogpt.md) - AutoGPT: Build, Deploy, and Run AI Agents (★ 185,420)
- [prompts.chat](/tools/f-prompts-chat.md) - The world's largest open-source prompt library for AI (★ 165,025)
- [transformers](/tools/huggingface-transformers.md) - 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models (★ 162,350)
- [JavaGuide](/tools/snailclimb-javaguide.md) - Snailclimb/JavaGuide: 面试 & 后端通用面试指南，覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发 (★ 156,863)
- [langflow](/tools/langflow-ai-langflow.md) - Langflow is a powerful platform for building and deploying AI-powered agents and workflows. (★ 151,311)
- [firecrawl](/tools/firecrawl-firecrawl.md) - The API to search, scrape, and interact with the web at scale. (★ 147,150)
- [browser-use](/tools/browser-use-browser-use.md) - 🌐 Make websites accessible for AI agents. Automate tasks online with ease. (★ 103,325)

## README (excerpt)

```text
> [!TIP]
> Check out [zeitgrep](https://github.com/kantord/zeitgrep), another search tool I am working on!

<h1>
  <p align="center">
    <img src="assets/logo-small.png" alt="Logo" width="200"/>
    <font size="8"><b>SeaGOAT</b></font>
  </p>
</h1>

A code search engine for the AI age. SeaGOAT is a local search tool that
leverages vector embeddings to enable you to search your codebase semantically.

<p align="center">
  <img src="assets/demo-slideshow.gif" alt="" />
</p>

## Getting started

### Install SeaGOAT

In order to install SeaGOAT, you need to have the following
dependencies already installed on your computer:

- Python 3.11 or newer
- ripgrep
- [bat](https://github.com/sharkdp/bat) (**optional**, highly recommended)

When `bat` is [installed](https://github.com/sharkdp/bat#on-ubuntu-using-apt),
it is used to display results as long as color is enabled. When SeaGOAT is
used as part of a pipeline, a grep-line output format is used. When color is
enabled, but `bat` is not installed, SeaGOAT will highlight the output using
pygments. Using `bat` is recommended.

To install SeaGOAT using `pipx`, use the following command:

```bash
pipx install seagoat
```

### System requirements

#### Hardware

Should work on any decent laptop.

#### Operating system

SeaGOAT is designed to work on Linux (*tested* ✅),
macOS ([partly tested, **help**](https://github.com/kantord/SeaGOAT/issues/178) 🙏)
and Windows ([**help needed**](https://github.com/kantord/SeaGOAT/issues/179) 🙏).

### Start SeaGOAT server

In order to use SeaGOAT in your project, you have to start the SeaGOAT server
using the following command:

```bash
seagoat-server start /path/to/your/repo
```

### Search your repository

If you have the server running, you can simply use the
`gt` or `seagoat` command to query your repository. For example:

```bash
gt "Where are the numbers rounded"
```

You can also use
[Regular Expressions](https://en.wikipedia.org/wiki/Regular_expression)
in your queries, for example

```bash
gt "function calc_.* that deals with taxes"
```

### Stopping the server

You can stop the running server using the following command:

```bash
seagoat-server stop /path/to/your/repo
```

### Configuring SeaGOAT

SeaGOAT can be tailored to your needs through YAML configuration files,
either globally or project-specifically with a `.seagoat.yml` file.
For instance:

```yaml
# .seagoat.yml

server:
  port: 31134  # Specify server port
```

[Check out the documentation](https://kantord.github.io/SeaGOAT/latest/configuration/)
for more details!

## Development

**Requirements**:

- [Poetry](https://python-poetry.org/)
- Python 3.11 or newer
- [ripgrep](https://github.com/BurntSushi/ripgrep)

### Install dependencies

After cloning the repository, install dependencies using the following command:

```bash
poetry install
```

### Running tests

#### Watch mode (recommended)

```bash
poetry run ptw
```

#### Test changed files

```bash
poetry run pytest .  --testmon
```

#### Test all files

```bash
poetry run pytest .
```

### Manual testing

You can test any SeaGOAT command manually in your local development
environment. For example to test the development version of the
`seagoat-server` command, you can run:

```bash
poetry run seagoat-server start ~/path/an/example/repository
```

## FAQ

The points in this FAQ are indications of how SeaGOAT works, but are not
a legal contract. SeaGOAT is licensed under an open source license and if you
are in doubt about the privacy/safety/etc implications of SeaGOAT, you are
welcome to examine the source code,
[raise your concerns](https://github.com/kantord/SeaGOAT/issues/new),
or create a pull request to fix a problem.

### How does SeaGOAT work? Does it send my data to ChatGPT?

SeaGOAT does not rely on 3rd party APIs or any remote APIs and executes all
functionality locally using the SeaGOAT server that you are able to run on
your own machine.

Instead of relying on APIs or "connecting to ChatGPT", it uses the vector
dat
```

---

**Machine-readable endpoints**

- JSON: [`/api/graphcanon/tools/kantord-seagoat`](/api/graphcanon/tools/kantord-seagoat)
- LLM index: [/llms.txt](/llms.txt)
- Full corpus: [/llms-full.txt](/llms-full.txt)

_GraphCanon - The knowledge graph for AI development. https://www.graphcanon.com/_
