Code Repositories
SynapseOrch can index code repositories and give agents the ability to search them semantically and lexically.
Agents describe what they want in plain language and receive file names, line numbers, and relevant code snippets. They can also grep, glob, and read line ranges — see Code Search for the full tool list.
How it works
- You add a repo by its absolute path on the server.
- SynapseOrch walks the directory tree and splits files into overlapping chunks, following each language's structure where it can.
- Each chunk is embedded with your embedding model and stored in PostgreSQL + pgvector.
- Agents call the code search toolkit (
search_codebase,grep,glob, …) at run time. - SynapseOrch returns ranked chunks for semantic queries, or exact matches for lexical queries.
Prerequisites
- PostgreSQL with the
pgvectorextension - An Embedding model selected in Settings → Models. There is no default — indexing fails with "Embedding model is not configured" until one is set. See Embedding models.
Setting up PostgreSQL + pgvector
In Settings → General, toggle Code repository indexing on. SynapseOrch inspects your machine and shows the right next step:
| What SynapseOrch finds | What it shows |
|---|---|
| Working PostgreSQL with pgvector | Nothing more — you're done |
| PostgreSQL not installed | OS-specific install instructions |
| No database configured | A form for host, port, username, password, database name. Click Create database to provision it and enable pgvector |
| pgvector missing | Instructions to run CREATE EXTENSION vector; plus OS package install commands |
| Connection broken | The credentials form pre-filled, with the failing URL surfaced — click Save & connect |
If you'd rather set it up by hand:
CREATE DATABASE synapse;
\c synapse
CREATE EXTENSION vector;…and then point SynapseOrch at it via the same Settings → General toggle.
The toggle and the connection are stored as the settings embed_code and sql_connection_string. This database holds the code index only; it is separate from SynapseOrch's own store.
Adding a repository
Go to Settings → Repos and click Add repo:
| Field | Default | Description |
|---|---|---|
| Repo name | — | Display name (e.g. "Frontend App") |
| Absolute directory path | — | Full path to the repo on the host |
| Interconnection description | — | Hint for the LLM about what this repo contains |
| Extra excluded patterns (Advanced settings) | — | One per line. Names match anywhere; paths anchor; *.ext works as a glob |
| Included file types (Advanced settings) | the list below | Globs, one per line — only matching files are indexed |
Default included file types: *.py, *.ts, *.tsx, *.js, *.jsx, *.rs, *.go, *.java, *.md, *.html, *.vue, *.svelte, *.css, *.scss, *.cpp, *.c.
Excluded by default: dotfiles, node_modules, __pycache__, venv, .git, *.pyc — plus about fifty patterns that are always excluded (build output, dependencies, caches, editor folders, lock files, logs, minified files). Always excluded automatically in the form lists them.
Click Save repository.
Indexing
Saving a repository starts indexing straight away, as long as the path exists and Code repository indexing is on — there is no separate Index button. The card shows the status:
indexing → indexed— or stopping, stopped or error. While it runs, the card counts chunks indexed so far. Stop indexing cancels it. Large repos (10k+ files) may take several minutes.
Re-indexing
After significant code changes, click Re-index on the repo card. Only changed files are processed, unless the embedding model's vector size has changed, which forces a full rebuild.
Assigning repos to agents
Open the agent in Agents, set Agent Type to Code, and click the repos it should search under Linked Repositories. Only Code agents keep linked repositories. Their system prompt lists the repos and nudges them to use the code search tools early in the loop.
Advanced: equivalent agent JSON
{ "type": "code", "repos": ["repo_1726412345678"] }Filesystem access
A Filesystem server is built in and starts with SynapseOrch. It is rooted at every configured repository's path, the vault, and any Allowed directories in Settings → General, and it restarts when you add or remove a repository. You don't add it yourself.
Every agent gets its read tools by default — read_file, read_multiple_files, search_files, list_directory, get_file_info. The engine's own file tools — grep, glob, read_file_by_lines — read from the same folders and nowhere else; see Code Search → Where they can read. Its write tools, such as write_file and edit_file, reach only agents that are given them — enabled in the agent's Tools section, or through an all tool list. Together, search_codebase (find the relevant files) and the filesystem tools (read and edit them) give an agent a complete software engineering loop.
Embedding models
Pick the model in Settings → Models → Embedding model. The list offers the embedding models of the providers you have configured. For OpenAI Compatible and Local V1 Compatible endpoints, name the models under the card's Embedding model names (comma-separated) first.
SynapseOrch knows the vector size of these models:
| Provider | Models |
|---|---|
| Gemini | gemini-embedding-001, text-embedding-004 |
| OpenAI | text-embedding-3-small, text-embedding-3-large, text-embedding-ada-002 |
| Bedrock | bedrock.amazon.titan-embed-text-v2:0, bedrock.amazon.titan-embed-text-v1, bedrock.cohere.embed-english-v3, bedrock.cohere.embed-multilingual-v3 |
| Ollama | nomic-embed-text, mxbai-embed-large, all-minilm |
Other models work too; SynapseOrch measures their vector size with a test call.
n8n
n8n is an open-source workflow automation tool.
Runs and Logs
Every run is kept: find it on Runs, read its path step by step with each step's output, time and cost, answer it on its page when it waits for you, see why one failed, and read the full transcript of what each model was sent and answered.