feat: implement codebase indexing#6966
Conversation
b9d9019 to
6b25ca8
Compare
Code Review SummaryStatus: 15 Issues Found | Recommendation: Address before merge Overview
Fix these issues in Kilo Cloud Issue Details (click to expand)WARNING
Other Observations (not in diff)Issues found in unchanged code that cannot receive inline comments:
Files Reviewed (21 files)
Reviewed by gpt-5.5-2026-04-23 · 3,236,054 tokens |
6b25ca8 to
9e15982
Compare
9e15982 to
c304cb1
Compare
c304cb1 to
e5048ed
Compare
c4f3628 to
ce53de9
Compare
ce53de9 to
9b1158d
Compare
9b1158d to
6acc654
Compare
3e77793 to
6eb59de
Compare
2d73fcf to
232dc09
Compare
5214dc0 to
d585b58
Compare
d585b58 to
d87bccc
Compare
|
@marius-kilocode per the discussion on Discord, added an experimental flag to gate the indexing feature. This can be enabled in the VSCode Experimental Settings tab, or in the config file via The test failures seem to be occurring on |
|
@shssoichiro , @marius-kilocode -> Are we going to get at least OpenAI compatible provider as possible Embedding provider as well? Reason I am asking is that we need to make use of our own proxy to run through... |
|
@shssoichiro retested this. This seems to work now. Feature flag also works. I will look into the test failures and check how we can reduce conflicts with upstream for this PR. |
|
@shssoichiro I merged the feature. There are some issues with startup time (that I could reproduce in large repositories). #9573 We probably want to re-enable those and find the fix for it. I will look into it already, but it looks tricky. |

Context
Closes #6144
Related indexing/search issues: #7986, #8385, #7352, #8311, #6391, #6453, #6490, #6936, #6482, #6047, #1105, #912, #4080, #4635.
Implementation
For the backend, migrates the legacy codebase indexing backend into the new codebase, locating as much code as possible in a
kilo-indexingpackage as an opencode plugin, which currently is automatically enabled, but allows the indexing backend to be easier to maintain. This preserves support for the embedding and storage backends that previously existed. It maintains the previous tree-sitter-based chunking approach. The embedders, storage providers, and chunking implementation are copied directly with minor adaptations for the new codebase. The file watcher was rewritten, as the legacy file watcher depended on VSCode's file watcher infrastructure.Migrates the
codebase_searchtool, adapted for the tool definition format preferred by OpenCode, and renamed tosemantic_searchas to not collide with Warpgrep.Indexing can be configured in any of the following ways:
indexingsection in thekilo.jsonconfig file/indexingcommand in the CLIAdds an indexing status indicator to the bottom of the CLI, and to the prompt input panel in the VSCode extension.
Screenshots
How to Test
To enable indexing, utilize any of the available configuration methods and then set indexing to enabled.
This should trigger indexing to start on the current codebase. Tasks should have access to the
semantic_searchtool, which they will use in appropriate situations as defined by the tool description.Get in Touch
ExpedientFalcon on Discord