Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>Sunstone: Codebase Search for CopilotNew to Visual Studio Code? Get it now.
Sunstone: Codebase Search for Copilot

Sunstone: Codebase Search for Copilot

Sunstone North Lab LLC

|
3 installs
| (1) | Free
Your coding agent has your files but cannot find them. Sunstone indexes the folders you open and gives any model in the picker, Copilot's included, a proper way to search them. Your own servers can join the picker too.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Sunstone

Your coding agent already has your files. It greps, misses, and answers anyway.

Sunstone indexes the folders you have open and gives whichever model you are already using, Copilot's Claude and GPT included, a proper way to search them. It also lets you put your own servers in VS Code's model picker, if you want to.

Everything is indexed and held on your machine. There is no account and no key to hand over.

Your AI already has your code. It just cannot find it.

What it does

Five tools and a participant, in the chat you already have. Once you weave a folder, these are offered to every model in the picker, including the hosted ones.

#weave Semantic search over your folders. Returns the passage with the file and the definition it sits in.
#digest Reads a whole file into ordered notes, then notes of notes, so a long file fits in an answer.
#lookup Live lookup with citations, for the facts that are not in your repository.
#remember Keeps a decision across chats, so you stop re-explaining it.
#weaveFolder Indexes another folder without leaving the conversation.
@blackwindow A chat participant that answers straight out of your folders, with citations.

Before each search, whatever changed since it was indexed is read again: a save, an unsaved buffer, a write from a terminal or a patch tool, a deleted or renamed directory, a branch switch. Paths the folder walk excludes stay excluded when they are written later.

The same memory for agents outside the editor. Sunstone: Serve the Weave to MCP Clients lets Claude Code, Cursor or any MCP client on this machine call #weave, #lookup and #remember against this window's weave, through a Unix socket only your user can open. There is no port and no key, and the command copies the client configuration.

Your own servers in the model picker. Anything serving the OpenAI-compatible API appears beside the hosted models: llama.cpp, vLLM, or a router in front of several. Tool calling is enabled for all of them, and image input where the model has it. Start a local llama-server from the sidebar, or paste the pairing line from a box you already run. A Hugging Face link, vscode://sunstonenorth.sunstone/hf?model=<repo>&file=<file.gguf>, has that local server fetch the GGUF and puts the model in the picker, after you confirm.

A context window too small for the conversation is folded rather than hit. The older turns and the longest tool results move into the index and come back when they are the closest match to the question, so what leaves the window is the least relevant part rather than simply the oldest.

What is measured

Every figure carries the population it came from.

Naming the right file first: 272 of 500 on SWE-bench Verified as 0.1.6 ships, 229 in the published run

measured population
The weave finds the file an issue is about recall@1 229/500 (0.458) in the published run, against a permuted-query floor of 5/500 (0.010) and a text-search arm at 58/500 (0.116); as it ships from 0.1.6, 272/500, replayed (255 in 0.1.4 and 0.1.5) every instance of SWE-bench Verified, twelve repositories, one store per instance at its own base_commit. django is 46.2% of the set, and per-repository recall runs 0.265 to 0.688 in the published run
A prompt past the model's window is folded into the weave rather than refused a fact 154,699 characters past the cut returned verbatim in 32.1 s one arm on GLM-4.7-Flash at n_ctx 131,072, cut at 92,160 characters
An agent given the store and a verdict tool over a claims ledger, against one given grep 52.00 against 44.25 of 56 (Claude Sonnet 5) and 53.00 against 44.75 (Opus 5), reading 4.6x and 3.8x less tool output and finishing 2.7x and 3.5x faster 56 items generated from a claim ledger with the figures stripped from the question, 4 runs an arm, 224 item-runs an arm. The control holds grep and cat over the same files. The arms never overlap: the worst run with the two beats the best run without them on both models
Indexing rate through indexFolder, reading and chunking included 267 passages a second 10 files, 454 passages in 1.7 s, WebGPU in the VS Code webview on an M2 Ultra

Four limits travel with that third row. The verdict tool answers from that register's ledger and does not ship in this extension, and the store's own share of the gain was not separated on these items. It is measured over a claims register rather than a codebase, so it is a document-retrieval result. The corpus is 130 lines, and the design predicts retrieval's advantage grows with corpus size, which is unmeasured. Both models are from one vendor.

The first and last rows were measured with the reader before 0.1.4, bge-small-en-v1.5, and the first on the engine as it searched on 2026-09-15. Releases up to 0.1.5 shipped a later engine, whose search reranked a tool's candidates with a lexical bonus, and replayed on it bge-small places the file first for 197 of 500: that is what 0.1.3 and earlier did, not 229. The default reader is now motherlode-code-small-en-v0.1, and on that engine it places the file first for 255 of 500. From 0.1.6 the tool's search drops the bonus, and replayed that way Motherlode places the file first for 272 of 500, and for 221 of the 411 instances its contamination check leaves against 207 with the bonus (28 wins, 14 losses, sign p 0.044). On a replay of the published search path it places it first for 230 of the 411 instances its contamination check leaves, against 192 for bge-small (67 wins, 29 losses, sign p 0.00013). It weaves the folder behind the last row, which has since grown to 10 files and 626 passages, in 1.47 to 1.48 s over three runs, 426 passages a second, where bge-small takes 2.18 to 2.19 s, 286 a second, on the same machine, since it runs from a half-precision file.

Getting started

  1. Install, then open the Sunstone view in the sidebar.
  2. Weave a folder. Nothing is indexed until you ask. Right-click a folder in the Explorer and choose Black Window: Weave This Folder, or use the command palette. The status bar shows a passage count once it is done.
  3. Use #weave in agent mode with any model, or @blackwindow for answers with citations.

To run your own model, add a place: Sunstone: Start llama-server on This Machine, or Sunstone: Add a Place and paste a pairing line.

The full guide is Sunstone: Open the Guide in the command palette, or docs/GUIDE.md. It covers every command, every setting with its default, and what to do when a part misbehaves.

What leaves your machine

What leaves your machine: nothing, and you can check

The index, the passages and the text stay local. The page server binds to 127.0.0.1, and the MCP endpoint, when you turn it on, is a Unix socket only your user can open. A place's key lives in the editor's SecretStorage under sunstone.key:<url>, never in settings.json.

Two things do leave, and you invoke both by name. #lookup fetches from Wikipedia or a news source, because that is what it is for. A place you add is a server you chose. A hosted model you pick in the editor's own picker is between you and that vendor, as usual.

The extension host contains no non-loopback URL, which is a claim you can check rather than take on trust: the source is at space-bacon/sunstone-vscode, and SECURITY.md says where to report anything that contradicts it.

Elsewhere

Sunstone is the VS Code surface of the Black Window suite. The same engine runs in a browser tab at blackwindow.xyz with no account and no install, and keeps working offline.

Licence: BUSL-1.1, which is source-available rather than open source. Read LICENSE before building on it. The Additional Use Grant covers any internal use, including commercial development on your own or your employer's code, with no limit on seats.

Publisher: Sunstone North Lab LLC.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft