Skip to content

Conversation

@daniel-lxs
Copy link
Member

@daniel-lxs daniel-lxs commented Apr 7, 2025

Context

This PR implements codebase indexing using OpenAI embeddings models and Qdrant as a vector storage.
Also allows a new tool codebase_search which allows Roo to use natural language to search the code indexed.

The implementation reuses the tree sitter queries already present in the project.

Implementation

The implementation uses the tree sitter to parse code files, the list of compatible files is already defined in the project and is based on the queries already implemented. The code segments have to comply with a certain size to be indexed, if the code segment is too big, the parser will instead process the each individual children instead.

The quality of the code segments depends on the tree sitter queries already defined.

After the initial indexing, the codebase indexing service will start a file watcher to watch for any changes in the files it already indexed, this includes deleted files.

Screenshots

image
image

How to Test

  1. Go to Settings and scroll down, setup your openAI key and Qdrant url and click Save
  2. After the service is fully initialized the codebase_search tool will be made available to new tasks.

Note: The tool is conditionally added to the system prompt, if the service is disabled the tool will be completely missing from the system prompt.

Get in Touch

You know where to find me.

daniel-lxs and others added 30 commits April 3, 2025 13:14
@daniel-lxs daniel-lxs closed this May 3, 2025
@github-project-automation github-project-automation bot moved this from PR [Pre Approval Review] to Done in Roo Code Roadmap May 3, 2025
@daniel-lxs
Copy link
Member Author

daniel-lxs commented May 3, 2025

I am closing this PR cause I messed up and ruined the history, I will open a new one and reference it here #3137

SmartManoj pushed a commit to SmartManoj/Raa-Code that referenced this pull request May 6, 2025
* RooCodeInc#2272 fix 'see more' not showing up

* changeset & format

---------

Co-authored-by: Andrei Edell <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants