Cover image
Try Now
2025-04-14

代码存储库索引工具,以增强您的LLM体验。

3 years

Works with Finder

4

Github Watches

13

Github Forks

272

Github Stars

VectorCode

codecov Test and Coverage pypi

VectorCode is a code repository indexing tool. It helps you write better prompt for your coding LLMs by indexing and providing information about the code repository you're working on. This repository also contains the corresponding neovim plugin because that's what I used to write this tool.

[!NOTE] This project is in beta quality and only implements very basic retrieval and embedding functionalities. There are plenty of rooms for improvements and any help is welcomed.

[!NOTE] Chromadb, the vector database backend behind this project, supports multiple embedding engines. I developed this tool using SentenceTransformer, but if you encounter any issues with a different embedding function, please open an issue (or even better, a pull request :D).

Why VectorCode?

LLMs usually have very limited understanding about close-source projects, projects that are not well-known, and cutting edge developments that have not made it into releases. Their capabilities on these projects are quite limited. Take my little toy sudoku-solving project as an example: When I wrote the first few lines and want the LLM to fill in the list of solvers that I implemented in solver_candidates, without project context, the completions are simply random guesses that might be part of another sudoku project: But with RAG context provided by VectorCode, my completion LLM was able to provide completions that I actually implemented: This makes the completion results far more usable. A similar strategy is implemented in continue, a popular AI completion and chat plugin available on VSCode and JetBrain products.

Documentation

[!NOTE] The documentation on the main branch reflects the code on the latest commit (apologies if I forget to update the docs, but this will be what I aim for). To check for the documentation for the version you're using, you can check out the corresponding tags.

If you're trying to contribute to this project, take a look at the contribution guide, which contains information about some basic guidelines that you should follow and tips that you may find helpful.

TODOs

  • query by file path excluded paths;
  • chunking support;
    • add metadata for files;
    • chunk-size configuration;
    • smarter chunking (semantics/syntax based), implemented with py-tree-sitter and tree-sitter-language-pack;
    • configurable document selection from query results.
  • NeoVim Lua API with cache to skip the retrieval when a project has not been indexed Returns empty array instead;
  • job pool for async caching;
  • persistent-client;
  • [-] proper remote Chromadb support (with authentication, etc.);
  • respect .gitignore;
  • implement some sort of project-root anchors (such as .git or a custom .vectorcode.json) that enhances automatic project-root detection. Implemented project-level .vectorcode/ and .git as root anchor
  • ability to view and delete files in a collection (atm you can only drop and vectorise again);
  • joint search (kinda, using codecompanion.nvim/MCP).

Credit

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • Yasir Eryilmaz
  • AI scriptwriting assistant for short, engaging video content.

  • J. DE HARO OLLE
  • Especialista en juegos de palabras en varios idiomas.

  • Daren White
  • A supportive coach for mastering all Spanish tenses.

  • albert tan
  • Japanese education, creating tailored learning experiences.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Alexandru Strujac
  • Efficient thumbnail creator for YouTube videos

  • apappascs
  • 发现市场上最全面,最新的MCP服务器集合。该存储库充当集中式枢纽,提供了广泛的开源和专有MCP服务器目录,并提供功能,文档链接和贡献者。

  • ShrimpingIt
  • MCP系列GPIO Expander的基于Micropython I2C的操作,源自ADAFRUIT_MCP230XX

  • huahuayu
  • 统一的API网关,用于将多个Etherscan样区块链Explorer API与对AI助手的模型上下文协议(MCP)支持。

  • deemkeen
  • 用电源组合控制您的MBOT2:MQTT+MCP+LLM

  • zhaoyunxing92
  • MCP(消息连接器协议)服务

  • pontusab
  • 光标与风浪冲浪社区,查找规则和MCP

    Reviews

    2 (1)
    Avatar
    user_m22PRPrh
    2025-04-17

    VectorCode by Davidyz is a game-changer for developers seeking advanced vector manipulation in their projects. It’s open-source, with comprehensive features that simplify complex vector tasks effortlessly. The helpful documentation on GitHub is a plus. Highly recommend it!