mcpField
V
VectorCode

VectorCode

ローカル
github.com/Davidyz開発ツール87444 週間前に更新

VectorCode について

VectorCode は、コーディング向け LLM のプロンプトを改善するためにコードリポジトリをインデックス化するツールです。コマンドラインツールと、AI プラグイン開発用 API を備えた neovim プラグインを含み、現在はベータ版です。

主な機能

  1. 01リポジトリのインデックス作成と関連コードの検索
  2. 02選択時に .gitignore を考慮
  3. 03tree-sitter による構文を意識したチャンク分割
  4. 04検索結果のドキュメント選択を設定可能
  5. 05Lua API を備えた neovim プラグイン
  6. 06MCP を介した codecompanion.nvim との統合検索

活用シーン

  1. 01コーディング LLM のプロンプトにプロジェクト固有のコンテキストを追加する
  2. 02neovim の AI プラグインにリポジトリ検索を組み込む
  3. 03MCP クライアントからインデックス済みのローカルリポジトリを照会する

MCP 対応

VectorCode は codecompanion.nvim などの MCP クライアントと連携し、それらのクライアントから MCP 経由でリポジトリ検索機能を利用できるようにします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

VectorCode

codecov Test and Coverage pypi

VectorCode は、コードリポジトリのインデックス作成ツールです。作業中のコードリポジトリに関する情報をインデックス化して提供することで、コーディング用 LLM のプロンプトを改善できます。このリポジトリには、AI プラグインの作成や機能強化に使える API セットを提供する対応する neovim プラグインと、人気のプラグイン向けの連携機能も含まれています。

メモ

このプロジェクトはベータ版の品質で、急速に反復開発が進められています。 改善の余地が多くあることは承知しており、どのようなご協力も歓迎します。

VectorCode を使う理由

LLM は通常、クローズドソースのプロジェクト、あまり知られていないプロジェクト、リリースに含まれていない最先端の開発について、理解が非常に限られています。これらのプロジェクトに対する能力もかなり限られています。VectorCode を使うと、プロジェクトからタスクに関連するコンテキストを簡単に(そしてプログラムで)プロンプトに追加できます。これにより、モデルの出力品質が大幅に向上し、ハルシネーションを減らせます。

asciicast

ドキュメント

メモ

main ブランチのドキュメントは、最新のコミット時点のコードを反映しています。 使用中のバージョンに対応するドキュメントを確認するには、対応するタグを確認してください。

  • コマンドラインツールのセットアップと使い方については、CLI ドキュメントを参照してください。
  • neovim ユーザーは、CLI ドキュメントを確認してから、neovim プラグインのドキュメント(必要に応じて lua API リファレンス)を参照してください。
  • その他のリソース:
    • VectorCode を最大限に活用するための追加のコツやヒントについては、Wikiをご覧ください。
    • VectorCode に関する一般的な質問をしたり、便利な使い方を共有したりするには、ディスカッションをご利用ください。
    • 冒険心がある方は、開発中の機能についてプルリクエストをご覧ください。

このプロジェクトへの貢献をお考えの場合は、守るべき基本的なガイドラインや役立つヒントが記載された貢献ガイドをご覧ください。

バージョン管理について

このプロジェクトでは、独自に調整したセマンティックバージョニングを採用しています。

  • 1.0.0 がリリースされるまでは、メジャーバージョン番号 は 0 のままです。これは、このプロジェクトがまだ初期段階にあり、機能やインターフェースが随時変更される可能性があることを示します。
  • マイナーバージョン番号 は 破壊的変更 を示します。機能や設定オプションを削除する場合、実際の削除はマイナーバージョン番号を上げるタイミングで行います。そのため、動作中のセットアップに影響が及ぶのを避けたい場合は、"vectorcode<0.7.0" のようなバージョン制約を指定できます。
  • パッチバージョン番号 は 破壊的でない変更 を示します。新機能やバグ修正が含まれる場合があります。機能を非推奨にする場合は、パッチバージョン番号を上げた新しいリリースを作成します。マイナーバージョン番号が上がるまでは、非推奨の機能も引き続き動作しますが、警告が表示されます。新機能に対応するよう、セットアップを更新することをおすすめします。

TODO

  • ファイルパス 除外パスでクエリを実行;
  • チャンク分割のサポート;
    • ファイルのメタデータを追加;
    • チャンクサイズの設定;
    • py-tree-sitter と tree-sitter-language-pack を使用した、よりスマートなチャンク分割(セマンティクス/構文ベース)を実装;
    • クエリ結果から選択するドキュメントを設定可能にする。
  • プロジェクトがインデックス化されていない場合に検索を省略するキャッシュ付き NeoVim Lua API 代わりに空の配列を返す;
  • 非同期キャッシュ用のジョブプール;
  • 永続クライアント;
  • 適切なリモート Chromadbのサポート(認証など);
  • .gitignore を尊重;
  • 自動的なプロジェクトルート検出を強化する、プロジェクトルートアンカー(.git やカスタムの .vectorcode.json など)を実装。 プロジェクトレベルの .vectorcode/ と .git をルートアンカーとして実装
  • コレクション内のファイルを表示および削除する機能;
  • 統合検索(一部対応、codecompanion.nvim/MCP を使用);
  • Nix のサポート(非公式パッケージはこちら);
  • クエリの書き換え(#124)。

謝辞

  • このプロジェクトがまだ初期段階だったころに支援してくださった @milanglacier 氏(および minuet-ai.nvim);
  • このプロジェクトがツール呼び出しを初めて試みた際に、個人的に、また codecompanion.nvim を通じて支援してくださった @olimorris 氏;
  • VectorCode と MCP の連携を支援してくださった @ravitemer 氏;
  • Nix パッケージをメンテナンスしてくださっている Nix コミュニティ(特に @sarahec 氏と @GaetanLepage 氏)。
特別な感謝

JetBrains のロゴ。

Star の履歴

Star の履歴グラフ

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。