# Zed エディタ接続設定

[Zed](https://zed.dev) は Rust で書かれた高性能でモダンなコードエディタで、2026 Q1 から [Agent Client Protocol (ACP)](https://github.com/agentclientprotocol/agent-client-protocol) をネイティブにサポートしています——これは IDE と AI agent の通信を疎結合にするオープン標準で、言語サーバーに対する LSP に相当します。Zed は ACP を通じて Claude Code と統合し、複数ステップのコードタスクを編成するための agent panel を提供します。本ガイドでは、QCode.cc を Zed の Claude Code の上流として設定する方法、および QCode を Anthropic 互換 / OpenAI 互換 provider として Zed の `settings.json` に直接記述する方法を紹介します。

QCode は全体を通じて同一の API Key（`cr_` で始まる）を使用します。同じ Key で Anthropic、OpenAI Chat、OpenAI Responses、Gemini、画像の各プロトコルをサポートし、`api` / `asia` / `us` / `eu` の 4 つの接続ドメインに対応します（中国本土のユーザーは `asia.qcode.cc` を優先してください）。

## Zed を使う理由

- **ネイティブ ACP 統合**：agent panel 内で Claude Code セッションを開き、エディタで直接 agent の推論とツール呼び出しを確認できます
- **1M コンテキスト**：BYOK モードで Opus 5 / 4.8 / 4.7 の 1M token フルコンテキストウィンドウをサポート
- **Rust の性能**：起動が極めて速く、メモリ消費は VS Code / Electron 系列より一桁少ない
- **マルチパネルレイアウト**：エディタ + ターミナル + agent panel の 3 列並列で、ワークフローがコンパクト
- **2 つの接続パス**：Claude Code CLI（全ツール保持）経由でも、`settings.json` で QCode を内蔵 provider として接続でも可能

## 2 つの接続方式の比較

Zed から QCode に到達するには相補的な 2 つのパスがあります。用途に応じて選択してください：

| パス | 説明 | 適した用途 |
|------|------|------|
| **A. ACP / Claude Code**（推奨） | agent panel が `claude` CLI 子プロセスを spawn し、CLI の環境変数を再利用 | 完全な hooks / skills / MCP が必要、ターミナルワークフローと設定を共有したい |
| **B. settings.json provider** | Zed 設定で base URL + Key を直接記述し、Zed 内蔵 HTTP クライアントを使用 | CLI をインストールしたくない、純粋な IDE 内の assistant / inline 補完 |

以下の「設定手順」はパス A を、「settings.json での provider 設定」はパス B をカバーします。

## 前提条件

- [Zed](https://zed.dev/download) がインストール済み（macOS / Linux）
- [Claude Code CLI](/docs/getting-started/installation) がインストール済み（Zed の ACP 統合は CLI バックエンドを使用します。パス B のみ使用する場合はスキップ可）
- QCode.cc API Key（`cr_` で始まる）を保有、[ダッシュボード](https://qcode.cc/dashboard) で取得
- Claude Code CLI が QCode 環境変数で設定済み（[クイックスタート](/docs/getting-started/quick-start) を参照）

## 設定手順（パス A：ACP / Claude Code）

### ステップ 1：まず Claude Code CLI がターミナルで動作することを確認

Zed は `claude` プロセスを spawn して ACP を起動するため、先にターミナルで動作確認します：

```bash
export ANTHROPIC_BASE_URL="https://api.qcode.cc/api"
export ANTHROPIC_AUTH_TOKEN="cr_xxxxxxxx"
claude --version   # バージョン番号が出るはず（本機と公式 Releases を正本に）
echo "ping" | claude   # 簡単なエコーテスト
```

> `ANTHROPIC_BASE_URL` の末尾に**スラッシュを付けないでください**。Anthropic SDK が自動で `/v1/messages` を追加します。シェル設定（`~/.zshrc` / `~/.bashrc`）でこれら 2 つの環境変数を永続化し、Zed 起動時にも継承されることを保証してください。

### ステップ 2：Zed の agent panel を開く

- macOS：`Cmd + ?`
- Linux：`Ctrl + ?`

初回起動時に agent provider の選択を求められるので、**Claude Code** を選択してください（BYOK Anthropic API は選ばないでください——そのパスは CLI を経由せず、Zed の設定で別途 base URL を入力する必要があります。パス B を参照）。

### ステップ 3：agent セッションの検証

agent panel の入力欄に「現在のファイルのエクスポートシンボルを列挙して」と入力します。Zed は現在開いているファイルをコンテキストとして Claude Code に渡し、agent は `read` / `grep` ツールを呼び出して解析後に応答します。

agent panel に `claude` コマンドが見つからないと表示される場合、Zed の設定（`Cmd+,`）で `agent.path` に CLI バイナリの完全パスを指定してください：

```json
{
  "agent": {
    "path": "/usr/local/bin/claude"
  }
}
```

> Zed の agent / assistant 設定項目はリリースごとに変化が速いため、正確なキー名は [Zed 公式ドキュメント](https://zed.dev/docs/ai/overview) を基準としてください。

## settings.json での provider 設定（パス B）

CLI をインストールしたくない場合、QCode を Zed の内蔵 provider として `settings.json`（`Cmd+,` で開く）に直接記述できます。QCode は Anthropic 互換と OpenAI 互換の両プロトコルをサポートし、両者は**同一の `cr_` Key** を使用します。

### Anthropic 互換 provider

Zed 内蔵の Anthropic provider の base を QCode の Anthropic エンドポイントに向けます：

```json
{
  "language_models": {
    "anthropic": {
      "api_url": "https://api.qcode.cc/api"
    }
  }
}
```

Key は環境変数で提供します（Zed が起動時に継承）：

```bash
export ANTHROPIC_API_KEY="cr_xxxxxxxx"
```

> Zed のバージョンにより、このキーは `language_models.anthropic.api_url` または `assistant.providers.anthropic.api_url` の場合があります。記述方法は公式ドキュメントを基準としてください。base URL は `/api` までで、SDK が `/v1/messages` を自動追加します。

### OpenAI 互換 provider

Zed は OpenAI 互換 provider もサポートしており、QCode の GPT 系モデルに接続できます。base を QCode の OpenAI Chat エンドポイントに向けます：

```json
{
  "language_models": {
    "openai": {
      "api_url": "https://api.qcode.cc/openai/v1",
      "available_models": [
        { "name": "gpt-5.5",      "max_tokens": 1000000 },
        { "name": "gpt-5.4",      "max_tokens": 1000000 },
        { "name": "gpt-5.6-mini", "max_tokens": 272000 },
        { "name": "gpt-5.6-terra","max_tokens": 272000 }
      ]
    }
  }
}
```

Key は同様に環境変数で：

```bash
export OPENAI_API_KEY="cr_xxxxxxxx"
```

> OpenAI Chat プロトコルの base は `https://api.qcode.cc/openai/v1`（SDK がさらに `/chat/completions` を追加）です。末尾にスラッシュを付けないでください。`available_models` のフィールド名（`name` / `max_tokens` など）は Zed 公式ドキュメントを基準としてください。

## モデル選択

QCode の同一 Key で複数ベンダーのモデルを利用できます。agent panel または assistant のモデルドロップダウンで必要に応じて切り替えます：

> **どのレッグか**：`claude-*` は Anthropic provider（`https://api.qcode.cc/api`）のみ、`gpt-*` は OpenAI provider（`https://api.qcode.cc/openai/v1`）のみです。取り違えると `model_not_available_on_endpoint` が返ります。

| モデル | 入力 / 出力（1M token あたり）| コンテキスト | 用途 |
|------|------|------|------|
| `claude-opus-5` | $5 / $25 | 1M | 旗艦、複雑な推論・大規模リファクタ |
| `claude-opus-4-7` | 同ティア | 1M | 旗艦の代替 |
| `claude-sonnet-5` | $2 / $10 | 1M | 日常コーディングの主力、コスパ良好 |
| `claude-haiku-4-5` | $1 / $5 | 200K | 高速補完、軽量タスク |
| `gpt-5.5` | $5 / $30 | 1M | GPT 旗艦 |
| `gpt-5.4` | $2.5 / $15 | 1M | GPT 汎用 |
| `gpt-5.6-mini` | — | 272K | GPT 軽量 |
| `gpt-5.6-terra` | — | 272K | コード特化 |

> 上表は現行の推奨です。`claude-sonnet-4-6`、`claude-opus-4-8`、`claude-opus-4-7` などの 4.x は引き続き販売中です。一覧は [qcode.cc/models](https://qcode.cc/models)。

- パス A（Claude Code）では、モデルは Claude Code 自身の設定で決まります（`/model` で切り替え、または `ANTHROPIC_MODEL` 環境変数）。
- パス B で Anthropic provider を使う場合は `claude-*` のモデル ID を、OpenAI provider を使う場合は `gpt-*` のモデル ID を記述します。
- Gemini と画像（`gpt-image-2`）プロトコルは Zed の assistant で必ずしもネイティブに公開されません。CLI / スクリプトから直接呼び出せます。詳細は [接続点と API 形式](/docs/getting-started/endpoints-and-api-paths) と [gpt-image-2 画像生成](/docs/usage/image-2) を参照してください。

## 使用例

### agent panel：ファイル横断タスク

agent panel は複数ステップ・ファイル横断のタスクに向いています。例：

> 「`utils/` 以下のすべての同期 IO を async に変更し、呼び出し側も更新して。」

agent は自動的に `grep` で特定し、`read` で読み取り、`edit` で変更し、エディタで diff を段階的に表示するので、一つずつ accept / reject できます。

### スクリーンショットを agent に渡す（ビジョン入力）

Claude Opus 5 / Sonnet 5 と GPT-5.x はすべてビジョン対応モデルです。UI モック、エラーのスクリーンショット、アーキテクチャ図を**入力**として agent に渡せます：

- 画像を貼り付け（`Ctrl+V`）または agent panel 入力欄にドラッグ＆ドロップ
- もしくは prompt 内でローカル画像ファイルパスを参照

典型的なシナリオ：デザイン稿から UI を生成、エラースクリーンショットからバグを特定、アーキテクチャ図 / チャートを読む。

> 注意：これはモデルに画像を**渡す**こと（ビジョン入力）であり、画像を**生成**することではありません。画像生成には `gpt-image-2` を使用してください。[gpt-image-2 画像生成](/docs/usage/image-2) を参照。

### Dynamic Workflows（バックグラウンド子エージェント編成）

Claude Code は Dynamic Workflows をサポートします：数十〜数百のバックグラウンド子エージェントを編成でき、リポジトリ全体のレビュー、移行、調査といった大規模タスクに適しています。トリガー方法は prompt にキーワード `ultracode` を含めるか、単に「workflow を実行して」と頼むこと。実行中のタスクは `/workflows` コマンドで確認します。子エージェントはバックグラウンドで動き続け、その間あなたは別の作業を続けられます。Claude Code が設定しているモデル上で実行されるため、Claude Code が QCode を指しているときも利用可能です。関連：[サブエージェント](/docs/advanced/subagents)。

### ヘッドレス / 自動化の出力フォーマット

CI / スクリプトで Claude Code を呼ぶ場合は `claude -p` と `--output-format` を併用します：

```bash
# JSON：result / total_cost_usd / usage / session_id を含む単一の構造化オブジェクト
claude -p "この変更を要約して" --output-format json | jq .result

# stream-json：改行区切りの JSON イベントストリーム、リアルタイムパイプライン向け
claude -p "このモジュールをリファクタして" --output-format stream-json

# text：デフォルトのプレーンテキスト
claude -p "このコードを説明して" --output-format text
```

その他の使い方は [自動化と CI/CD](/docs/advanced/headless) を参照してください。

## フォールバックエンドポイント

プライマリエンドポイントへのアクセスに問題がある場合は `ANTHROPIC_BASE_URL`（または settings.json の `api_url`）を切り替えてください：

| エンドポイント | Anthropic Base URL |
|------|---------|
| 国際 CDN | `https://api.qcode.cc/api` |
| 北米 | `https://us.qcode.cc/api` |
| 欧州 | `https://eu.qcode.cc/api` |
| アジア（大陸ユーザー優先） | `https://asia.qcode.cc/api` |

OpenAI 互換パスはドメインを同様に置き換えるだけです。例えばアジアノードの OpenAI Chat base は `https://asia.qcode.cc/openai/v1` です。完全なエンドポイント一覧は [接続点と API 形式](/docs/getting-started/endpoints-and-api-paths) を参照してください。

## 共有クォータ

Zed 内の Claude Code agent は CLI / Claude Desktop / Codex CLI と同じ QCode API Key を使用してクォータを共有し、二重請求にはなりません。パス A とパス B も同一 Key のクォータを共有します。詳細は [請求について](/docs/reference/billing) を参照してください。

## 制限と注意

- **Zed の BYOK Anthropic 直接接続モード**は Zed 内蔵の Anthropic provider を経由し、**Claude Code CLI を通りません**。Zed の設定で `api_url` に QCode エンドポイントを手動入力する必要があります（パス B）。本ガイドが対象とする ACP / Claude Code モード（パス A）の方が推奨です——CLI のすべてのツール（hooks、skills、MCP）が保持されます。
- **base URL の末尾にスラッシュを付けないでください**。自己チェックで base パスに直接アクセスすると `401` が返るのは正常です（パスは正しく、認証がないだけ）。
- ACP 統合は Public Beta（2026-04 以降）で、一部の API は今後変更される可能性があります。挙動の差異が見つかった場合は [Zed 公式ドキュメント](https://zed.dev/docs/ai/models) を基準としてください。
- Linux サンドボックスユーザー：Zed が Flatpak でインストールされている場合、`claude` 子プロセスの spawn がサンドボックスに制限される可能性があります。.deb / AppImage / Homebrew 版を直接ダウンロードすることを推奨します。
- Gemini CLI は退役しました（Pro/無料版は 2026-06-18 EOL、企業有料 Key は影響なし）。後継は Google Antigravity CLI です。**Antigravity CLI が受け付けるのは Gemini 互換エンドポイントのみ**（環境変数 `GOOGLE_GEMINI_BASE_URL`）で、OpenAI 互換ではありません。接続方法は [Antigravity CLI 接続](/docs/ide/antigravity) を参照。

## よくある質問

### agent panel で "Failed to start agent" と表示される

- ターミナルで手動の `claude` が正常に起動するか？まず CLI 自身の設定問題を排除してください
- Zed が `ANTHROPIC_*` 環境変数を継承しているか？ターミナルから `open -a Zed` で起動すると継承を保証できます（macOS）
- 設定の `agent.path` に指定したパスが存在するか？`which claude` で確認してください

### settings.json provider で 401 / 認証失敗が出る

- 該当する環境変数（`ANTHROPIC_API_KEY` / `OPENAI_API_KEY`）が設定済みで、`cr_` で始まる QCode Key になっているか確認
- Zed がその環境変数を継承しているか？ターミナルから Zed を起動して確認
- `api_url` の末尾に誤ってスラッシュが付いていないか？付いていたら削除

### モデルドロップダウンに目的のモデルが表示されない

- パス B の OpenAI provider は、`available_models` にモデルを明示的に列挙しないとドロップダウンに表示されません
- パス A の選択可能モデルは Claude Code が決定します。`/model` で確認・切り替えできます

### モデル名が無効 / 404

- モデル ID のスペルが上表と完全に一致しているか確認（例：`claude-opus-5`、`gpt-5.6-mini`）
- base URL のプロトコルがモデルと一致しているか確認：`claude-*` は Anthropic エンドポイント、`gpt-*` は OpenAI エンドポイント

### BYOK Anthropic モードとの違い

| 観点 | ACP / Claude Code モード（パス A）| Zed BYOK provider モード（パス B）|
|---|---|---|
| バックエンド | `claude` CLI 子プロセスを spawn | Zed 内蔵 HTTP クライアント |
| ツールサポート | 完全（CLI のすべての hooks / skills / MCP）| Zed 内蔵 agent フレームワークの制限を受ける |
| 設定場所 | Claude Code CLI 環境変数 | Zed 設定 `language_models.*.api_url` |
| モデル範囲 | Claude Code が設定したモデル | settings.json に記述した Anthropic / OpenAI モデル |
| 推奨シナリオ | ターミナル CLI ワークフローと設定を共有 | CLI をインストールしたくない、純粋な IDE 統合 |

## 次のステップ

- [Claude Code 完全チュートリアル](/docs/getting-started/claude-code-tutorial) — CLI の全機能の使い方
- [接続点と API 形式](/docs/getting-started/endpoints-and-api-paths) — 4 つの接続ドメイン全表
- [サブエージェント](/docs/advanced/subagents) — Dynamic Workflows とマルチエージェント編成
- [自動化と CI/CD](/docs/advanced/headless) — ヘッドレスモードと出力フォーマット
- [gpt-image-2 画像生成](/docs/usage/image-2) — 画像生成（ビジョン入力とは別）
- [VS Code 統合](/docs/ide/vscode) — Electron 系エディタとの比較
- [請求について](/docs/reference/billing) — 共有クォータのルール

> 各モデルのリアルタイム価格とコンテキスト仕様を確認したいですか？[QCode 価格ページ](https://qcode.cc/pricing) へどうぞ。