OSSで無料で使えるAIコードエディタの「Void」が「Amazon Bedrock」に対応したので一緒に使ってみました!
VoidとAmazon Bedrockとの連携の設定時に少しつまづいた箇所があったので、デモだけでなく設定手順も記載しています。

Voidとは

そもそもVoidというソフトウェアが初耳だという方もいると思うので、簡単に紹介します。

概要

Visual Studio CodeのフォークプロジェクトでOSS版のCursorを目指したソフトウェアです。
以下のような機能があります。

  • AIによるコード自動補完機能(執筆時点では一部のモデルのみ対応)
  • AIエージェントチャット機能(ファイルの編集やコマンドの実行)
  • MCP連携
  • 様々なAIプロバイダとの連携

様々なAIプロバイダと連携できるためOpenAIなどのモデルだけでなく、ローカルLLM(Ollama)やAmazon Bedrockなどとも連携が可能になっています。

競合との比較

OSSのAIコードエージェントとして有名なClineも比較に入れています。

Void Cursor Cline
ライセンス Apache License 2.0 プロプライエタリ Apache License 2.0
特性 独立したエディタ 独立したエディタ VScodeの拡張機能

Amazon Bedrockとの連携

LiteLLMで中継してVoidからAmazon Bedrockに接続します。

LiteLLMの準備

こちらの作業の前提条件は以下です。

  • Pythonがインストールされている(筆者環境だと3.13では動かず、3.11で動作しました。)
  • 利用したいAmazon Bedrockのモデルが利用許可状態になっている

まずはLiteLLM用のディレクトリを作成

mkdir litellm-bedrock
cd litellm-bedrock

必要なパッケージのインストール

python3 -m venv .venv
source .venv/bin/activate
pip install litellm\[proxy\] boto3

設定ファイルの作成

touch config.yaml

設定ファイルの中身

model_list:
  - model_name: bedrock-claude-4-sonnet
    litellm_params:
      model: bedrock/us.anthropic.claude-sonnet-4-20250514-v1:0
      aws_access_key_id: os.environ/AWS_ACCESS_KEY_ID
      aws_secret_access_key: os.environ/AWS_SECRET_ACCESS_KEY
      aws_region_name: os.environ/AWS_REGION_NAME

モデルは利用したいものに書き換えてください。例はClaude Sonnet 4の設定です。
アクセスキーやリージョン名に環境変数を指定しています。必要に応じて環境変数の設定をしてください。

最後にLiteLLMを起動します。

litellm --config config.yaml
コマンド成功時の出力内容
INFO:     Started server process [13689]
INFO:     Waiting for application startup.

#------------------------------------------------------------#
#                                                            #
#               'A feature I really want is...'               #
#        https://github.com/BerriAI/litellm/issues/new        #
#                                                            #
#------------------------------------------------------------#

 Thank you for using LiteLLM! - Krrish & Ishaan



Give Feedback / Get Help: https://github.com/BerriAI/litellm/issues/new


LiteLLM: Proxy initialized with Config, Set models:
    bedrock-claude-4-sonnet
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:4000 (Press CTRL+C to quit)

 

Voidの設定

Voidの設定画面からOther Providersを開きます。
LLMのプロバイダ設定画面
一番下スクロールするとAmazon Bedrockの設定箇所があるので設定を行います。
API Keyの箇所にはAWS_ACCESS_KEY_IDと同じ値を入れています。
Amazon Bedrockの接続設定画面
Modelsの設定を開きます。
Voidのモデル選択画面
下にスクロールしてAmazon Bedrockのモデルを追加して、Addボタンを押下します。
新規LLMモデルの追加画面
新規のLLMモデル追加画面
こちらで連携のための作業は完了です。

デモ

最後にVoidに連携させたAmazon Bedrock上のClaude Sonnet 4のエージェント動作のデモを行います。
今回はVoidプロジェクトのソースコードを利用します。
VoidのGatherモードを利用してAIエージェントにプロジェクトの構造を教えてもらいます。
VoidのプロジェクトとAIエージェントチャットを開いた画面
結果はこのようになりました。
Voidがプロジェクトの構造を解説している画像

AIエージェントの解説内容

今まで収集した情報を基に、このVoidプロジェクトのディレクトリ構造とそれぞれの役割を説明いたします。

Voidプロジェクトのディレクトリ構造と役割
ルートレベル

  • .config/ – プロジェクト設定ファイル
  • .configurations/ – ビルドやデプロイの設定
  • .devcontainer/ – Docker開発環境の設定
  • .editorconfig – エディタ設定
  • package.json – Node.jsプロジェクトの依存関係とスクリプト
  • README.md – プロジェクトの説明書

メインソースコード (src/)
これがVSCodeフォークの中核部分です:

  • src/vs/ – VSCode のコア部分
  • base/ – 基盤となるユーティリティやコンポーネント
    • browser/ – ブラウザ固有の実装
    • その他のプラットフォーム抽象化
  • code/ – VSCode アプリケーションのエントリーポイント
  • editor/ – Monaco Editor (テキストエディタエンジン)
  • workbench/ – VSCode のUI とワークベンチ機能
    • api/ – 拡張機能API
    • browser/ – ブラウザ版の実装
    • common/ – プラットフォーム共通のロジック
    • electron-sandbox/ – Electronサンドボックス実装

src/vs/workbench/contrib/ – 機能コントリビューション
このディレクトリには様々な機能モジュールが含まれます:

  • accessibility/ – アクセシビリティ機能
  • authenti.../ – 認証関連機能
  • void/ – Void独自の機能実装
    • browser/ – ブラウザ固有の実装
    • common/ – プラットフォーム共通のロジック
    • electron-main/ – Electronメインプロセスの実装
      その他の重要なディレクトリ
  • scripts/ – ビルドとデプロイスクリプト
    • appimage/ – Linux AppImage作成用
      重要なポイント
  1. src/vs/workbench/contrib/void/ が、このフォークの独自機能が実装されている最も重要なディレクトリです。
  2. VSCodeの標準的なアーキテクチャに従って、機能は以下の3層に分かれています:
    • common/ – プラットフォーム非依存のビジネスロジック
    • browser/ – ブラウザ/Webアプリケーション向けの実装
    • electron-main/ – Electronデスクトップアプリ向けの実装
  3. このプロジェクトはVSCode(code-oss-dev)をベースとしたフォークで、Voidという名前の独自エディタとして開発されています。

新しい機能を追加する場合は、主に src/vs/workbench/contrib/void/ 内で作業することになります。

 

終わりに

今回はOSSのAIコードエディタのVoidをAmazon Bedrockと一緒に使ってみました。
デモではGatherモードの1機能しか紹介できませんでしたが、他にも様々な機能があります。
また、Amazon Bedrock以外にも接続先はたくさんあります。
皆さんもお気に入りのAIプロバイダを利用してぜひVoidを使ってみてください!