mcpField
V
VectorCode

VectorCode

本地服务
github.com/Davidyz开发工具87444 周前更新

关于 VectorCode

VectorCode 是一个代码仓库索引工具,为编码 LLM 构建更好的提示词上下文。项目包含命令行工具和 neovim 插件,同时提供用于开发 AI 插件的 API。当前处于 beta 阶段。

主要功能

  1. 01索引代码仓库并检索相关内容
  2. 02基于 .gitignore 过滤文件
  3. 03语法感知的分块,使用 tree-sitter
  4. 04可配置的查询结果筛选
  5. 05neovim 插件与 Lua API
  6. 06支持通过 MCP 进行联合搜索

适用场景

  1. 01为编码 LLM 注入项目相关上下文以减少幻觉
  2. 02在 neovim 中为 AI 插件提供仓库检索能力
  3. 03让 MCP 客户端查询本地代码仓库的索引内容

MCP 相关

VectorCode 通过 MCP 与 codecompanion.nvim 等客户端对接,可供 MCP 客户端调用其仓库检索能力。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

VectorCode

codecov Test and Coverage pypi

VectorCode 是一款代码仓库索引工具。它通过为你正在使用的代码仓库建立索引并提供相关信息,帮助你为编码大模型构建更优质的提示词。本仓库还包含相应的 neovim 插件,提供一组 API,供你构建或增强 AI 插件,并集成了一些热门插件。

说明

本项目目前处于 Beta 阶段,正在快速迭代。 我知道还有很多地方有待改进,欢迎任何形式的帮助。

为什么选择 VectorCode?

大模型通常对闭源项目、知名度不高的项目,以及尚未纳入发行版本的前沿开发成果了解有限。它们在这些项目上的能力也相当有限。借助 VectorCode,你可以轻松地(并通过编程方式)将与任务相关的项目上下文注入提示词。这能显著提升模型输出的质量,并减少幻觉。

asciicast

文档

说明

main 分支上的文档反映的是最新提交中的代码。 若要查看你所用版本对应的文档,可以查看相应的标签。

  • 关于命令行工具的设置和使用,请参阅 CLI 文档;
  • neovim 用户阅读完 CLI 文档后,请参阅 neovim 插件文档(也可以选读 lua API 参考)以了解更多说明。
  • 其他资源:
    • wiki 提供了更多技巧,帮助你充分利用 VectorCode;
    • 讨论区可用于提出一般性问题,分享你使用 VectorCode 的妙招。
    • 如果你喜欢尝试新事物,也可以查看包含开发中功能的拉取请求。

如果你想为本项目做贡献,请阅读贡献指南,其中介绍了一些基本规范以及可能对你有所帮助的建议。

关于版本控制

本项目采用经过调整的语义化版本控制:

  • 在发布 1.0.0 之前,主版本号 保持为 0,这表示 本项目仍处于早期阶段,功能/接口可能会时常变更;
  • 次版本号 表示 破坏性变更。当我决定移除某项功能/配置选项时,实际移除会在提升次 版本号时进行。因此,如果你想避免破坏正常运行的配置,可以 选择使用类似 "vectorcode<0.7.0" 的版本约束;
  • 补丁版本号 表示 非破坏性变更。这包括新 功能和错误修复。当我决定弃用某些内容时,会发布一个提升补丁版本号的新 版本。在次版本号提升之前,已弃用的功能仍可使用,但你会看到警告。建议 更新配置以适配新功能。

待办事项

  • 按 文件路径 排除路径查询;
  • 支持分块;
    • 为文件添加元数据;
    • 配置分块大小;
    • 更智能的分块(基于语义/语法),使用 py-tree-sitter 和 tree-sitter-language-pack 实现;
    • 可配置从查询结果中选择文档。
  • NeoVim Lua API:当项目尚未建立索引时使用缓存跳过检索 改为返回空数组;
  • 用于异步缓存的任务池;
  • 持久化客户端;
  • 完善 远程 Chromadb 支持(包括身份验证等);
  • 遵循 .gitignore;
  • 实现某种项目根目录锚点(例如 .git 或自定义的 .vectorcode.json),以改进项目根目录的自动检测。 已将项目级 .vectorcode/ 和 .git 实现为根目录锚点
  • 能够查看和删除集合中的文件;
  • 联合搜索(部分支持,使用 codecompanion.nvim/MCP);
  • 支持 Nix(非官方软件包见此处);
  • 查询重写(#124)。

致谢

特别感谢

JetBrains 徽标。

Star 历史

Star 历史图表

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。