MANUAL
VS Code連携の設定
VS CodeのClaude Code・Codexの判定を、SBBにつなぎます。
OVERVIEW
概要
VS Codeで使うClaude Code / CodexをSBBにつなぐには、Sanary Build Interface(SBI)のVS Code拡張機能(SBI for VS Code Extension)を使います。拡張機能がAgentのフックを設定し、Agentの完了時に、結果をSBBへ渡して判定します。
SBBは、任意です。
SBBが起動していないときも、Agentは通常どおり動作します。その場合、評価は「利用できない」と表示され、承認された扱いにはなりません。
SBB側の設定は不要です。拡張機能をインストールすると、接続・再接続は自動で行われます。
BEFORE YOU START
準備
- macOS 13以降・Apple Silicon(arm64)のMac。Intel Mac、Windows、Linuxでは動作しません。
- VS Code 1.100以降。
- お使いのAgentのCLI(Claude Code / Codex)が、ご自身でインストール済みであること。拡張機能は、自動ではインストールしません。
- SBBが起動していること(SBBによる判定を使う場合)。
拡張機能の入手方法は、公開時にご案内します。
STEPS
設定の手順
- 拡張機能(.vsix)をインストールします。VS Codeのコマンドパレットで
Extensions: Install from VSIX…を実行するか、ターミナルでcode --install-extension <ファイル名>.vsixを実行します。 - ワークスペースのフォルダを開きます。拡張機能は、VS Codeの起動が完了してから有効になります。信頼されていないワークスペースと、仮想(リモートファイルシステム)のワークスペースでは動作しません。
- 初回の起動時に、拡張機能は
127.0.0.1:8788に互換性のあるSBI Runtimeがあるかを確認します。あればそれを再利用し、なければ拡張機能が自身のRuntimeを起動します。すでに別のサービスがそのポートを使っている場合、そのサービスを終了させたり、上書きしたりはしません。 - コマンドパレットで
SBI: Run Agentを実行し(またはChatで@sbi /claude …/@sbi /codex …)、Agentを選んで指示を入力します。結果は、SBIのOutput Channelと通知に表示されます。 - SBBの設定(Settings)のConnectionsタブで、「Visual Studio Code」の状態が Connected になることを確認します。
SBBの設定 > Connections(Visual Studio Codeの行がConnectedの状態)
CHECK
接続の確認
- SBBの設定 > Connections > Visual Studio Code の状態が Connected になっている(Not Connected は未接続です。表示は2秒ごとに更新されます)。
- Agentに短い作業を頼み、終わったときにSBBの判定結果の通知が表示される。
XcodeのAgentも同じSBBで使う場合は、SBBのXcodeの欄に VS Code拡張が設定済み と表示されることがあります。これは、二重に評価しないために、SBBがフックを追加しないという意味です。
SBB DashboardでJudge結果を確認する
メニューバーのSBBアイコンから ダッシュボードを開く を選ぶと、Dashboardが開きます。今日のCONTINUE・FIX・HUMAN_REQUIREDの件数、直近の判定結果(理由や次の指示つき)、それまでの判定履歴(History)を確認できます。
SBB Dashboard(直近の判定とHistory)
DISABLE / UNINSTALL
停止・削除
- 無効にする、またはVS Codeを閉じる:ClaudeとCodexの設定は、そのまま残ります。拡張機能が動いていない間、フックは何にも届かず、すべてのプロンプトがそのまま通ります。再度有効にすれば、そのまま使えます。
- アンインストールする:拡張機能が追加した項目が取り除かれます(
~/.claude/settings.jsonのフック項目、~/.codex/hooks.json、~/.codex/config.tomlの信頼ブロック、~/.sbi/hooks/)。あなた自身のフックや設定には触れません。この後片付けは、アンインストール後に次にVS Codeを起動したときに、一度だけ実行されます。 - 拡張機能の更新(別のバージョンを上書きインストール)では、何も削除されません。
TROUBLESHOOTING
困ったとき
Not Connected のままになる
- 拡張機能が有効で、ワークスペースが信頼済みかをご確認ください。
- VS CodeのOutput Channel「SBI」のログをご確認ください。
- SBBが起動しているかをご確認ください。
「:8788 is occupied by a service that is not a compatible SBI Runtime」と表示される
別のプログラムがそのポートを使っています。そのプログラムを終了し、VS Codeのウィンドウを再読み込みしてください。
「the SBI Runtime on :8788 is outdated」と表示される
古いバージョンのSBI Runtimeが残っています。自動では停止されません。終了してから、ウィンドウを再読み込みしてください。
複数のVS Codeウィンドウを開いている
すべてのウィンドウが、ひとつのRuntime(:8788)を共有します。Runtimeを起動したウィンドウを閉じると、ほかのウィンドウが20秒ほどで新しく起動します。その間、そのRuntime経由で実行中だったAgentは中断されます。
Agentの実行ファイルが見つからない
次の順に探します。(1) VS Codeの設定 sbi.claudeCodeExecutablePath / sbi.codexExecutablePath、(2) 環境変数 CLAUDE_CODE_EXECUTABLE_PATH / CODEX_EXECUTABLE_PATH、(3) PATH。見つからない場合、どのAgentが見つからないかを示すメッセージが表示されます。
WHAT THE EXTENSION CHANGES
拡張機能がMacに加える変更
以下は、拡張機能のREADMEに基づく内容です。すべて、お使いのMacの中にとどまります。
- ローカルのRuntime:
127.0.0.1:8788だけで待ち受けます。 - Claude Codeのフック:
~/.claude/settings.jsonにUserPromptSubmitとStopを追加し、小さなヘルパーを~/.sbi/hooks/に置きます。 - Codexのフック:Codexがある場合、
~/.codex/hooks.jsonに同じ2つのフックを追加し、そのフックの信頼を、~/.codex/config.tomlの目印つきの1ブロックに記録します。 - 読み取り専用の観測:Agentが作業中かを示すために、Claude CodeのセッションファイルとCodexのセッション記録を読みます。ターミナルに入力した内容は読みません。
- 送信:Sanaryへは何も送信しません。テレメトリもありません。フックが動くと、プロンプト、作業フォルダ、Agentの最後の返信が、この Mac内のRuntimeに渡り、SBBが動いていれば、判定のためにSBBへ渡されます。