AI プロバイダー
VMark の AI ジーニーは提案を生成するために AI プロバイダーが必要です。ローカルにインストールされた CLI ツールを使用するか、REST API に直接接続できます。
クイックセットアップ
最速で始める方法:
- 設定 > インテグレーション を開く
- 検出 をクリックしてインストールされた CLI ツールをスキャン
- CLI が見つかった場合(例:Claude、Gemini)、それを選択——完了
- CLI が利用できない場合は、REST プロバイダーを選択し、API キーを入力してモデルを選択
一度にアクティブにできるプロバイダーは 1 つだけです。
CLI プロバイダー
CLI プロバイダーはローカルにインストールされた AI ツールを使用します。VMark はそれらをサブプロセスとして実行し、出力をエディタにストリーミングします。
| プロバイダー | CLI コマンド | インストール |
|---|---|---|
| Claude | claude | Claude Code |
| Codex | codex | OpenAI Codex CLI |
| Gemini | gemini | Google Gemini CLI |
CLI 検出の仕組み
設定 > インテグレーションで 検出 をクリックします。VMark は $PATH から各 CLI コマンドを探し、利用可否を報告します。CLI が見つかった場合、そのラジオボタンが選択可能になります。検出 はクリックするたびに再スキャンします。自動検出(アプリ起動時、設定を開いたとき、Genie ピッカーのプロバイダー切り替え)では前回のスキャン結果が再利用されます。検出 をクリックするとログインシェルから $PATH も読み直すため、シェルプロファイルに追加したばかりのディレクトリにある CLI も VMark を再起動せずに見つかります。自動検出では最後に読み取った $PATH が使われます。VMark がログインシェルから $PATH を一度も読み取れていない場合は、起動元から継承した $PATH を検索し、見つからない CLI がある間は、設定にシェル名、理由、検索したディレクトリを示す通知を表示します。検出 での読み取りに失敗しても、以前に正常に読み取った $PATH は保持されます。
メリット
- API キー不要——CLI は既存のログインを使用して認証を処理
- 劇的に安価——CLI ツールはサブスクリプションプラン(例:Claude Max、ChatGPT Plus/Pro、Google One AI Premium)を使用し、固定の月額料金がかかります。REST API プロバイダーはトークンごとに課金され、高負荷使用では 10〜30 倍のコストになる可能性があります
- CLI の設定を使用——モデルの設定、システムプロンプト、請求は CLI 自体によって管理されます
開発者向けのサブスクリプション vs API
これらのツールをバイブコーディング(Claude Code、Codex CLI、Gemini CLI)にも使用している場合、同じサブスクリプションが VMark の AI ジーニーとコーディングセッションの両方をカバーします——追加費用なし。
セットアップ:Claude CLI
- Claude Code をインストール:
npm install -g @anthropic-ai/claude-code - ターミナルで
claudeを一度実行して認証 - VMark で 検出 をクリックして Claude を選択
セットアップ:Gemini CLI
- Gemini CLI をインストール:
npm install -g @google/gemini-cli(または公式リポジトリから) geminiを一度実行して Google アカウントで認証- VMark で 検出 をクリックして Gemini を選択
REST API プロバイダー
REST プロバイダーはクラウド(またはローカル)の API に直接接続します。各プロバイダーにはエンドポイント、API キー、モデル名が必要です。レスポンスはリクエストの完了時にまとめて届きます——REST プロバイダーはトークンをストリーミングしません。ストリーミングするのは CLI プロバイダーです。
| プロバイダー | デフォルトエンドポイント | 環境変数 |
|---|---|---|
| Anthropic | https://api.anthropic.com | ANTHROPIC_API_KEY |
| OpenAI | https://api.openai.com | OPENAI_API_KEY |
| OpenAI 互換 | (自分で設定) | — |
| Google AI | (組み込み) | GOOGLE_API_KEY または GEMINI_API_KEY |
| Ollama (API) | http://localhost:11434 | — |
設定フィールド
REST プロバイダーを選択すると、3 つのフィールドが表示されます。
- APIエンドポイント——ベース URL(Google AI は固定エンドポイントを使用するため非表示)。末尾に
/v1があっても構いません——VMark がパスが二重にならないよう正規化します(例:https://host/v1とhttps://hostのどちらも動作します) - APIキー——シークレットキー。OS の資格情報ストアに保管され、
localStorageや平文の設定ファイルには決して保存されません——API キーの保存場所を参照してください - モデル——モデル識別子(例:
claude-sonnet-4-5-20250929、gpt-4o、gemini-2.0-flash)
環境変数の自動入力
VMark は自身のプロセス環境から標準的な環境変数を読み取ります。ANTHROPIC_API_KEY、OPENAI_API_KEY、または GOOGLE_API_KEY / GEMINI_API_KEY(この順に確認)が設定されている場合、そのプロバイダーを選択すると API キーフィールドが自動的に入力されます。
VMark からどの変数が見えるかは、起動方法によって決まります。~/.zshrc や ~/.bashrc などのシェルプロファイルでエクスポートしたキー:
export ANTHROPIC_API_KEY="sk-ant-..."は、そのシェルからアプリを起動した場合にのみ VMark に届きます。Dock、Finder、Spotlight、デスクトップランチャーから起動した場合、VMark はシェルプロファイルを読み込まないため、フィールドは空のままです——代わりにキーを貼り付けてください。Windows では、ユーザーまたはシステムの環境変数は、VMark をどの方法で起動しても有効です。
セットアップ:Anthropic(REST)
- console.anthropic.com から API キーを取得
- VMark の設定 > インテグレーションで Anthropic を選択
- API キーを貼り付け
- モデルを選択(デフォルト:
claude-sonnet-4-5-20250929)
セットアップ:OpenAI(REST)
- platform.openai.com から API キーを取得
- VMark の設定 > インテグレーションで OpenAI を選択
- API キーを貼り付け
- モデルを選択(デフォルト:
gpt-4o)
セットアップ:OpenAI 互換(DeepSeek、Groq、OpenRouter など)
多くのプロバイダーは OpenAI と同じワイヤープロトコル(/v1/chat/completions、Bearer 認証)を話します。OpenAI 互換 スロットは、ベンダーごとのエントリなしで、そのいずれにも——DeepSeek、Groq、OpenRouter、Together、Moonshot、セルフホストのゲートウェイなど——接続できます。
他の REST プロバイダーに比べてフィールドが 1 つ増えます。編集可能な プロバイダー名 で、汎用ラベルの代わりに「DeepSeek」(または設定した名前)と表示されます。
例——DeepSeek:
- platform.deepseek.com から API キーを取得
- VMark の設定 > インテグレーションで OpenAI 互換 を選択
- プロバイダー名 を
DeepSeekに設定(任意、表示上のみ) - APIエンドポイント を
https://api.deepseek.comに設定(末尾の/v1があっても構いません——VMark が正規化します) - API キーを貼り付け
- モデル を
deepseek-chat(またはdeepseek-reasoner)に設定。直接入力するか、更新ボタンをクリックしてエンドポイントのモデル一覧を取得します
エンドポイントは必須です——このスロットにはデフォルトのホストがありません。ジーニーを実行する前に、APIキーをテスト(⚡)と モデルをテスト(🧪)ボタンで接続を確認してください。
セットアップ:Google AI(REST)
- aistudio.google.com から API キーを取得
- VMark の設定 > インテグレーションで Google AI を選択
- API キーを貼り付け
- モデルを選択(デフォルト:
gemini-2.0-flash)
セットアップ:Ollama API(REST)
ローカルの Ollama インスタンスに REST 形式でアクセスしたい場合、または Ollama がネットワーク上の別のマシンで実行されている場合に使用します。
- Ollama が実行されていることを確認:
ollama serve - VMark の設定 > インテグレーションで Ollama (API) を選択
- エンドポイントを
http://localhost:11434(または Ollama ホスト)に設定 - API キーは空欄のまま
- モデルをプルしたモデル名に設定(例:
llama3.2)
プロバイダーの選択
| 状況 | 推奨 |
|---|---|
| Claude Code が既にインストールされている | Claude(CLI)——ゼロ設定、サブスクリプションを使用 |
| Codex または Gemini が既にインストールされている | Codex / Gemini(CLI)——サブスクリプションを使用 |
| プライバシー / オフラインが必要 | Ollama をインストール → http://localhost:11434 で Ollama(API) |
| カスタムまたはセルフホストのモデル | エンドポイントを指定した Ollama(API) |
| DeepSeek / Groq / OpenRouter / 任意の OpenAI 互換 API | OpenAI 互換——エンドポイント、キー、モデルを設定 |
| 最安値のクラウドオプションが欲しい | 任意の CLI プロバイダー——サブスクリプションは API より劇的に安価 |
| サブスクリプションなし、軽い利用のみ | API キーの環境変数を設定 → REST プロバイダー(トークン課金) |
| 最高品質の出力が必要 | Claude(CLI) または claude-sonnet-4-5-20250929 を使う Anthropic(REST) |
ジーニーごとのモデルオーバーライド
個々のジーニーは model フロントマターフィールドを使用してプロバイダーのデフォルトモデルをオーバーライドできます。
---
name: quick-fix
description: Quick grammar fix
scope: selection
model: claude-haiku-4-5-20251001
---これは、強力なデフォルトを維持しつつ、単純なタスクを高速 / 低コストなモデルに振り分けるのに便利です。
信頼性とタイムアウト
VMark はすべてのプロバイダー呼び出しを保護しており、ハングした CLI や不正な API レスポンスがエディタをブロックすることはありません。
- CLI サブプロセスのタイムアウト:すべての CLI プロバイダーの呼び出しは実行タイムアウトのもとで実行されます。CLI が応答しない場合、VMark は呼び出しをキャンセルし、エラーをジーニーに返し、ワーカーを解放します——暴走したサブプロセスによってスレッドプールが詰まることはありません。
- REST JSON パースの安全性:REST プロバイダーが予期しないレスポンス形状(HTML エラーページ、切り捨てられた JSON、上流の変更後のスキーマドリフト)を返した場合、VMark は AI リスナーを永遠に待たせる代わりに、型付きエラーをフロントエンドに返します。ジーニーのステータスバナーにエラーが表示され、再試行するオプションが提供されます。
- キャンセルトークン:長時間実行中のジーニーやワークフローのステップはいつでもキャンセルできます——ジーニーピッカーでキャンセルするか、パネルを閉じると、実行中のリクエストがクリーンに中止されます。
- 共有 HTTP クライアント:REST プロバイダーはコネクションプールを持つ単一の
reqwestクライアントを共有するため、連続したジーニー実行のたびに TCP/TLS ハンドシェイクのコストを払う必要はありません。 - Windows のパス検出:Windows では、VMark は CLI を検出する際にユーザーの完全な
PATH(PowerShell 専用のエントリを含む)を読み取るため、ターミナルで動作するユーザーインストールのツールは VMark 内でも動作します。
API キーの保存場所
API キーは OS の資格情報ストア——macOS キーチェーン、Windows 資格情報マネージャー、Linux Secret Service——に、サービス名 app.vmark.secrets でプロバイダーごとに 1 エントリずつ保管されます。VMark は実行中のセッションの間だけメモリにコピーを保持します。永続化されるプロバイダー設定にキーが含まれることはなく、localStorage にも何も書き込まれません。古い VMark が平文の設定ファイルに保存したキーは、新しいバージョンが最初に読み込んだときにキーチェーンへ移され、平文のコピーはキーチェーンへの書き込みを読み戻して確認できた後にのみ削除されます。
キーチェーンが書き込みを拒否した場合、VMark はキーを黙ってメモリに保持するのではなく、エラートーストを表示します。macOS では、アドホック署名の開発ビルドは再署名のたびにキーチェーンへのアクセスを再度求めることがあります。リリースビルドが求めるのは 1 回だけです。
セキュリティノート
- API キーは OS のキーチェーンに保管——上記のとおり、VMark の設定ファイルや
localStorageに書き込まれることはありません - 環境変数 はプロバイダーを選択したときに読み取られ、空のキーフィールドを埋めるだけです
- CLI プロバイダー は既存の CLI 認証を使用——VMark は認証情報を見ません
- すべてのリクエストは直接 マシンからプロバイダーへ送信——中間に VMark のサーバーはありません
トラブルシューティング
「利用可能なAIプロバイダーがありません」——検出 をクリックして CLI をスキャンするか、API キーで REST プロバイダーを設定してください。
CLI が「見つかりません」と表示される——CLI が $PATH にありません。インストールするかシェルプロファイルを確認してください。macOS では、GUI アプリがターミナルの $PATH を継承しない場合があります——パスを /etc/paths.d/ に追加してみてください。設定に VMark が $PATH を読み取れなかったという通知も表示されている場合、CLI は実際にはインストールされている可能性があります。シェルプロファイルが失敗する、または遅くなる原因を解消してから(VMark は数秒しか待ちません)、検出 をクリックしてください。
CLI がハング / 応答なし——VMark の実行タイムアウトが自動的に呼び出しをキャンセルし、ジーニーのステータスバナーにエラーが表示されます。特定の CLI が常にタイムアウトに達する場合は、ターミナルから一度実行して動作を確認し、対話的な認証が必要かどうか確認してください。
REST プロバイダーが 401 を返す——API キーが無効か期限切れです。プロバイダーのコンソールで新しいキーを生成してください。
REST プロバイダーが 429 を返す——レート制限に達しました。少し待ってから再試行するか、別のプロバイダーに切り替えてください。
REST プロバイダーが壊れた / 予期しない JSON を返す——VMark は型付きのパースエラーを表示します(例:「list_models returned an unexpected response shape」)。エンドポイント URL と、選択したプロバイダー種別と API の仕様が一致しているかを確認してください。一部のセルフホストゲートウェイは OpenAI 互換の URL を掲げながら、異なるスキーマを返します。
応答が遅い——CLI プロバイダーにはサブプロセスのオーバーヘッドがあります。より速い応答のためには、直接接続する REST プロバイダーを使用してください。最速のローカルオプションには、小さなモデルで Ollama を使用してください。
モデルが見つからないエラー——モデル識別子がプロバイダーの提供するものと一致しません。有効なモデル名についてはプロバイダーのドキュメントを確認してください。
関連情報
- AI ジーニー——AI によるライティング支援の使い方
- MCP セットアップ——Model Context Protocol による外部 AI 連携