「インストール - Zed」の版間の差分
編集の要約なし |
|||
| 15行目: | 15行目: | ||
* Zedの公式Webサイト | * Zedの公式Webサイト | ||
*: https://zed.dev/ | *: https://zed.dev/ | ||
<br> | |||
Zedエディタは、複数のLLMプロバイダと連携可能なAI機能を備えており、LLMの利用方法は大きく以下の3つに分類される。<br> | |||
<br> | |||
* Zedホスト型モデル | |||
*: Zedのサブスクリプション (Pro等) を通じて提供されるモデル群 | |||
*: 認証とサブスクリプションが必要となる。 | |||
*: <br> | |||
* 自前のAPIキーによる接続 | |||
*: Anthropic、OpenAI、Google等の各プロバイダから直接APIキーを取得して、Zedに登録して使用する方式 | |||
*: サブスクリプションは不要 | |||
*: <br> | |||
* 外部エージェント (ACP) | |||
*: Claude Agent (Claude Code)、Gemini CLI、OpenCode等を、ACP (Agent Client Protocol) 経由でZedのAgent Panel内から直接実行する方式 | |||
<br> | |||
==== 前提条件 ==== | |||
* Zedエディタのバージョン | |||
*: 最新の安定版を推奨する。ACP機能 (Claude Agent連携等) はバージョン 0.202.7以降で利用可能である。 | |||
*: <br> | |||
* APIキーの取得 | |||
*: Claudeを利用する場合は [https://console.anthropic.com/ Anthropic Console] からAPIキーを取得する。 | |||
*: 例えば、GLMを利用する場合は、[https://z.ai/ Z.AI] (旧 bigmodel.cn) からAPIキーを取得する。 | |||
*: <br> | |||
* 設定ファイルの場所 | |||
*: Zedの <u>settings.jsonファイル</u> は、コマンドパレットから <code>zed: open settings</code> を実行することで開くことができる。 | |||
<br><br> | <br><br> | ||
== Zedのインストール == | == Zedのインストール == | ||
==== インストールスクリプトを使用してインストール (推奨) ==== | ==== インストールスクリプトを使用してインストール (推奨) ==== | ||
Zedをインストールする。<br> | |||
# 安定版 | # 安定版 | ||
curl -f https://zed.dev/install.sh | sh | curl -f https://zed.dev/install.sh | sh | ||
# プレビュー版 | # プレビュー版 | ||
# 安定版より約1週間早くアップデートが行われている | # 安定版より約1週間早くアップデートが行われている | ||
| 29行目: | 54行目: | ||
ただし、以下に示すLinuxディストリビューションおよびアーキテクチャは、ソースコードからビルドする必要がある。<br> | ただし、以下に示すLinuxディストリビューションおよびアーキテクチャは、ソースコードからビルドする必要がある。<br> | ||
* x64またはAarch64以外のアーキテクチャ (例: x86, RISC-V) | * x64またはAarch64以外のアーキテクチャ (例: x86, RISC-V) | ||
* 全てのアーキテクチャ上のRHEL 8.x系 (例: RHEL 8 | * 全てのアーキテクチャ上のRHEL 8.x系 (例: RHEL 8, Rocky Linux 8、AlmaLinux 8、Amazon Linux 2等) | ||
* | * AArch64上のRHEL 9.x系 (例: RHEL 9, Rocky Linux 9、AlmaLinux 9、Amazon Linux 2023等) | ||
<br> | <br> | ||
==== 手動でインストール ==== | ==== 手動でインストール ==== | ||
| 62行目: | 87行目: | ||
StartupNotify=true | StartupNotify=true | ||
Actions=NewWorkspace; | Actions=NewWorkspace; | ||
[Desktop Action NewWorkspace] | [Desktop Action NewWorkspace] | ||
Exec=/<Zedのインストールディレクトリ>/bin/zed --new %U | Exec=/<Zedのインストールディレクトリ>/bin/zed --new %U | ||
| 69行目: | 94行目: | ||
<br> | <br> | ||
Zedの起動時において、以下に示すようなエラーが出力される場合は、Zedをソースコードからインストールする。<br> | Zedの起動時において、以下に示すようなエラーが出力される場合は、Zedをソースコードからインストールする。<br> | ||
このエラーは、システムのGLIBCが古いことを意味する。<br> | |||
/lib64/libc.so.6: version 'GLIBC_2.29' not found | /lib64/libc.so.6: version 'GLIBC_2.29' not found | ||
<br> | <br> | ||
| 90行目: | 115行目: | ||
したがって、開発者はこのディレクトリを環境変数<code>PATH</code>に含めるのが一般的である。<br> | したがって、開発者はこのディレクトリを環境変数<code>PATH</code>に含めるのが一般的である。<br> | ||
<br> | <br> | ||
インストールした後、自動的に環境変数<code>PATH</code>の設定が行われるが、なんらかの理由により失敗することがある。<br> | インストールした後、自動的に環境変数 <code>PATH</code> の設定が行われるが、なんらかの理由により失敗することがある。<br> | ||
もし、手動で設定する場合は、~/.profileファイル等に環境変数<code>PATH</code>を設定する。<br> | もし、手動で設定する場合は、~/.profileファイル等に環境変数 <code>PATH</code> を設定する。<br> | ||
vi ~/.profile | vi ~/.profile | ||
<br> | <br> | ||
| 114行目: | 139行目: | ||
以下に示すいずれかの方法を選択して、Zedのビルドに必要な依存関係のライブラリをインストールする。<br> | 以下に示すいずれかの方法を選択して、Zedのビルドに必要な依存関係のライブラリをインストールする。<br> | ||
* スクリプトの使用 | * スクリプトの使用 | ||
*: script/linux | |||
<br> | *: <br> | ||
* パッケージ管理システムから手動でインストール | * パッケージ管理システムから手動でインストール | ||
# RHEL | # RHEL | ||
| 138行目: | 163行目: | ||
Zedは、X11およびWaylandの両方をサポートしている。<br> | Zedは、X11およびWaylandの両方をサポートしている。<br> | ||
デフォルトでは、実行時に検索に成功したものを選択する。<br> | デフォルトでは、実行時に検索に成功したものを選択する。<br> | ||
もし、Waylandを使用しており、X11モードで実行する場合は、環境変数<code>WAYLAND_DISPLAY</code>を<code>""</code>に設定する。<br> | <br> | ||
もし、Waylandを使用しており、X11モードで実行する場合は、環境変数 <code>WAYLAND_DISPLAY</code> を <code>""</code> に設定する。<br> | |||
export WAYLAND_DISPLAY="" | export WAYLAND_DISPLAY="" | ||
/<Zedのインストールディレクトリ>/bin/zed | /<Zedのインストールディレクトリ>/bin/zed | ||
| 157行目: | 183行目: | ||
Zedの設定とデータを手動で削除する場合は、以下に示すディレクトリを削除する。<br> | Zedの設定とデータを手動で削除する場合は、以下に示すディレクトリを削除する。<br> | ||
rm -r ~/.config/zed | rm -r ~/.config/zed | ||
<br><br> | |||
== Claudeの設定 == | |||
==== APIキーによる直接接続 ==== | |||
AnthropicのAPIキーを使い、Zedの[Agent Panel]から直接Claudeモデルを利用する方法である。<br> | |||
この方式では、Anthropicに対してAPI使用料が直接発生する。<br> | |||
<br> | |||
===== APIキーの登録 ===== | |||
APIキーの登録には、UIから行う方法と環境変数を使う方法の2通りがある。<br> | |||
<br> | |||
UI経由での登録を以下に示す。<br> | |||
# <u>[Cmd] + [?]キー</u> (MacOS) または <u>[Ctrl] + [?]キー</u> (Windows / Linux) で[Agent Panel]を開く。 | |||
# 右上のドロップダウンメニューから、[agent: open settings]を選択する。 | |||
# [LLM Providers]セクションの右にある[Add Provider]ボタンを押下する。 | |||
# プロバイダ一覧から <u>Anthropic</u> を選択して、APIキーを入力する。 | |||
<br> | |||
APIキーはOSのキーチェーン (MacOS) または シークレットストレージ (Linux) に保存され、<code>settings.jsonファイル</code> には書き込まれない。<br> | |||
<br> | |||
環境変数による登録を以下に示す。<br> | |||
~/.profileファイルや~/.zprofileファイル等にAPIキーを設定する方法でも認識される。<br> | |||
<br> | |||
<syntaxhighlight lang="sh"> | |||
export ANTHROPIC_API_KEY="sk-ant-xxxxxxxxxxxxxxxxxxxxx" | |||
</syntaxhighlight> | |||
<br> | |||
Zedは起動時にこの環境変数を自動的に読み取る。<br> | |||
<br> | |||
===== モデル定義 (Thinking付き) ===== | |||
Claude 4.6世代では、Adaptive Thinkingが推奨されている。<br> | |||
これはモデルが自動的に思考の必要性と深さを判断するモードであり、従来の手動設定 (<code>"type": "enabled"</code> + <code>budget_tokens</code>) よりも柔軟である。<br> | |||
<br> | |||
<center> | |||
{| class="wikitable" | |||
|+ 設定対象モデルの一覧 | |||
! モデル !! APIモデル文字列 !! Thinking !! 最大入力トークン !! 最大出力トークン | |||
|- | |||
| Claude Opus 4.6 || <code>claude-opus-4-6</code> || Adaptive Thinking対応 || 200,000 (1M Beta対応) || 128,000 | |||
|- | |||
| Claude Sonnet 4.6 || <code>claude-sonnet-4-6</code> || Adaptive Thinking対応 || 200,000 (1M Beta対応) || 64,000 | |||
|- | |||
| Claude Haiku 4.5 || <code>claude-haiku-4-5</code> || 非対応 || 200,000 || 8,192 | |||
|} | |||
</center> | |||
<br> | |||
<u>※注意</u><br> | |||
<u>Extended Thinkingは、Haiku 4.5には搭載されていないが、高速・低コストな推論モデルとして十分な利用価値がある。</u><br> | |||
<br> | |||
<code>settings.json</code> に以下を記述する。<br> | |||
<syntaxhighlight lang="javascript"> | |||
{ | |||
"language_models": { | |||
"anthropic": { | |||
"available_models": [ | |||
{ | |||
// Opus 4.6 - Adaptive Thinking (推奨モード) | |||
// モデルが自動的に思考の深さを判断する | |||
"name": "claude-opus-4-6", | |||
"display_name": "Claude Opus 4.6 (Thinking)", | |||
"max_tokens": 200000, | |||
"max_output_tokens": 128000, | |||
"mode": { | |||
"type": "adaptive" | |||
} | |||
}, | |||
{ | |||
// Sonnet 4.6 - Adaptive Thinking (推奨モード) | |||
// Opus級の性能をSonnet価格帯で実現 | |||
"name": "claude-sonnet-4-6", | |||
"display_name": "Claude Sonnet 4.6 (Thinking)", | |||
"max_tokens": 200000, | |||
"max_output_tokens": 64000, | |||
"mode": { | |||
"type": "adaptive" | |||
} | |||
}, | |||
{ | |||
// Haiku 4.5 - Thinkingなし (高速・低コスト用途) | |||
// コミットメッセージ生成やスレッド要約など軽量タスク向け | |||
"name": "claude-haiku-4-5", | |||
"display_name": "Claude Haiku 4.5", | |||
"max_tokens": 200000, | |||
"max_output_tokens": 8192 | |||
} | |||
] | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
Adaptive Thinkingではなく、思考トークンのバジェットを手動で指定したい場合は、<code>"type": "thinking"</code> と <code>"budget_tokens"</code> を設定する。<br> | |||
ただし、Opus 4.6 / Sonnet 4.6ではAdaptive Thinkingが公式に推奨されている。<br> | |||
<br> | |||
<syntaxhighlight lang="javascript"> | |||
{ | |||
"name": "claude-sonnet-4-6", | |||
"display_name": "Claude Sonnet 4.6 (Manual Thinking)", | |||
"max_tokens": 200000, | |||
"max_output_tokens": 64000, | |||
"mode": { | |||
"type": "thinking", | |||
"budget_tokens": 8192 | |||
} | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
==== Claude Agent (ACP経由) ==== | |||
この方法については、後述の[[#ACP (Agent Client Protocol) の設定|ACPの設定]]セクションで詳述する。<br> | |||
<br><br> | |||
== GLMの設定 == | |||
==== GLMのThinkingモードについて ==== | |||
GLM-4.7 および GLM-5 には Thinking (深層思考) モードが搭載されており、いずれもデフォルトで有効である。<br> | |||
GLM の Thinking は以下の3種類から構成される。<br> | |||
<br> | |||
<center> | |||
{| class="wikitable" | |||
|+ GLM Thinking モードの種類 | |||
! 種類 !! 導入バージョン !! 概要 | |||
|- | |||
| Interleaved Thinking || GLM-4.5 || ツールコールの前後および結果受信後に都度推論を挟む仕組み<br>複雑なマルチステップタスクにおいて、各段階の判断精度が向上する。 | |||
|- | |||
| Preserved Thinking || GLM-4.7 || 会話の各ターンで生成された思考ブロックをコンテキスト内に保持し続ける仕組み<br>通常のモデルはターンごとに推論をリセットするが、<br>この機能により長いコーディングセッション中の文脈整合性が大幅に向上する。<br>APIでは <code>"clear_thinking": false</code> で有効になる。 | |||
|- | |||
| Turn-level Thinking || GLM-4.7 || リクエスト単位で Thinking の有効/無効を切り替え可能にする機能<br>簡単な質問ではオフにして高速応答を得つつ、<br>複雑なデバッグではオンにして精度を上げるといった使い分けが同一セッション内で可能 | |||
|} | |||
</center> | |||
<br> | |||
ClaudeのThinkingとの比較を以下に示す。<br> | |||
<br> | |||
ClaudeのAdaptive Thinkingがモデルに思考量を「お任せ」する設計であるのに対し、<br> | |||
GLMは、より細粒度な制御 (ターンごとのオン / オフ、思考履歴の保持) を開発者に委ねる設計となっている。<br> | |||
<br> | |||
ただし、これらの細かい制御パラメータ (<code>clear_thinking</code> や <code>thinking.type</code>) は、Z.AIのAPIレベルで処理されるため、<br> | |||
Zedの <code>settings.jsonファイル</code> からは直接指定できないことに注意すること。<br> | |||
<br> | |||
==== APIキーの登録 ==== | |||
[https://z.ai/ Z.AI]にアクセスしてアカウントを作成し、APIキーを取得する。<br> | |||
GLMは、Zedのビルトインプロバイダとしては登録されていないため、OpenAI互換プロバイダ機能を利用して接続する。<br> | |||
<br> | |||
APIキーの設定は、[Agent Panel]の設定UI ([agent: open settings] -> [Add Provider] -> [OpenAI Compatible]) から行う、または、<u>settings.jsonファイル</u> に直接記述する。<br> | |||
<br> | |||
==== モデル定義 ==== | |||
<center> | |||
{| class="wikitable" | |||
|+ 設定対象モデルの一覧 | |||
! モデル !! APIモデル文字列 !! Thinking !! パラメータ規模 !! 最大入力トークン !! 最大出力トークン | |||
|- | |||
| GLM-5 || <code>glm-5</code> || デフォルト有効 || 744B (40B active, MoE) || 200,000 || 128,000 | |||
|- | |||
| GLM-4.7 || <code>glm-4.7</code> || デフォルト有効 || 357B (MoE) || 200,000 || 128,000 | |||
|} | |||
</center> | |||
<br> | |||
===== APIエンドポイントの選択 ===== | |||
Z.AIには用途別に異なるエンドポイントが用意されている。<br> | |||
<br> | |||
<center> | |||
{| class="wikitable" | |||
|+ Z.AI APIエンドポイント | |||
! 用途 !! エンドポイントURL | |||
|- | |||
| GLM Coding Plan (コーディング特化サブスクリプション) || https://api.z.ai/api/coding/paas/v4 | |||
|- | |||
| 汎用API || https://api.z.ai/api/paas/v4/ | |||
|} | |||
</center> | |||
<br> | |||
自身の契約プランに応じて適切な方を選択する。<br> | |||
<br> | |||
<u>settings.jsonファイル</u> に、以下に示す設定を記述する。<br> | |||
<br> | |||
<syntaxhighlight lang="javascript"> | |||
{ | |||
"language_models": { | |||
"openai_compatible": { | |||
"Z.ai": { | |||
// GLM Coding Plan 利用時のエンドポイント | |||
// 汎用APIの場合は https://api.z.ai/api/paas/v4/ を指定する | |||
"api_url": "https://api.z.ai/api/coding/paas/v4", | |||
"available_models": [ | |||
{ | |||
// GLM-5 - ThinkingはAPI側でデフォルト有効 | |||
// 744Bパラメータ (40B active)、複雑なシステム設計向け | |||
"name": "glm-5", | |||
"display_name": "GLM-5", | |||
"max_tokens": 200000, | |||
"max_output_tokens": 128000, | |||
"max_completion_tokens": 128000, | |||
"capabilities": { | |||
"tools": true, | |||
"images": false, | |||
"parallel_tool_calls": true, | |||
"prompt_cache_key": true | |||
} | |||
}, | |||
{ | |||
// GLM-4.7 - ThinkingはAPI側でデフォルト有効 | |||
// Preserved Thinking / Turn-level Thinkingを搭載 | |||
"name": "glm-4.7", | |||
"display_name": "GLM-4.7", | |||
"max_tokens": 200000, | |||
"max_output_tokens": 128000, | |||
"max_completion_tokens": 128000, | |||
"capabilities": { | |||
"tools": true, | |||
"images": false, | |||
"parallel_tool_calls": true, | |||
"prompt_cache_key": true | |||
} | |||
} | |||
] | |||
} | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
==== OpenRouter経由での利用 ==== | |||
Z.AIの直接接続に加えて、[https://openrouter.ai/ OpenRouter]経由でもGLMを利用可能である。<br> | |||
OpenRouterはZedにビルトインサポートされているため、設定がやや簡便になるメリットがある。<br> | |||
<br> | |||
# [Agent Panel]設定 ([agent: open settings]) を開く。 | |||
# [LLM Providers]から <u>OpenRouter</u> を追加して、OpenRouterのAPIキーを入力する。 | |||
# モデルセレクタのドロップダウンにGLM系モデルが表示される。 | |||
<br> | |||
環境変数 <code>OPENROUTER_API_KEY</code> を設定しておくことでも認識される。<br> | |||
<br><br> | |||
== ACP (Agent Client Protocol) の設定 == | |||
ACP (Agent Client Protocol) は、Zedが策定したオープンスタンダードであり、任意の外部エージェントをZedの[Agent Panel]内でネイティブに実行するためのプロトコルである。<br> | |||
ターミナル上のCLIツールとは異なり、ファイル差分のチャンク単位での確認・承認、チェックポイント機能、Zed内蔵ツール (リンター、Language Server等) との統合といったメリットがある。<br> | |||
<br> | |||
現在、Zedでは以下に示す外部エージェントがサポートされている。<br> | |||
<br> | |||
<center> | |||
{| class="wikitable" | |||
|+ ACP対応外部エージェントの一覧 | |||
! エージェント !! 概要 !! 認証方式 | |||
|- | |||
| Claude Agent || Claude Code SDKベースのAnthropic製コーディングエージェント || Anthropic APIキー または Claude Pro/Maxサブスクリプション | |||
|- | |||
| Gemini CLI || Google製のACPリファレンス実装 || Googleアカウント | |||
|- | |||
| OpenCode || オープンソースのプロバイダ非依存コーディングエージェント || 各LLMプロバイダのAPIキー または OpenCode Zen | |||
|- | |||
| Codex || OpenAI製のコーディングエージェント || OpenAI APIキー | |||
|- | |||
| GitHub Copilot || GitHub / Microsoft製のAIコーディングアシスタント || GitHubアカウント | |||
|} | |||
</center> | |||
<br> | |||
<u>※注意</u><br> | |||
<u>Zedと外部エージェント間のやり取りはUIレベルのみであり、課金や利用規約は各エージェントプロバイダとの間で直接成立する。</u><br> | |||
<u>Zedは外部エージェントの利用に対して課金せず、Zedのゼロデータ保持契約やプライバシー保証はZedホスト型モデルにのみ適用される。</u><br> | |||
<br> | |||
==== Claude Agent (Claude Code連携) ==== | |||
Claude Agentは、Claude Code SDKをベースとしたACPアダプタを通じてZed内で動作する。<br> | |||
<br> | |||
Zedのファーストパーティエージェントと並行して利用でき、同一の[Agent Panel]内で切り替えながら使用可能である。<br> | |||
<br> | |||
===== セットアップ手順 ===== | |||
# <u>[Cmd] + [?]キー</u> (MacOS) または <u>[Ctrl] + [?]キー</u> (Windows / Linux) で[Agent Panel]を開く。 | |||
# 右上の[+]ボタンを押下する。 | |||
# 表示されるメニューから、[Claude Code]を選択する。 | |||
# 初回起動時には、<code>@zed-industries/claude-agent-acp</code> が自動的にインストールされる。<br>この管理版には、Claude Code CLIのベンダー版が含まれており、グローバルにインストール済みのClaude Codeがあっても、Zedはこの管理版を優先する。 | |||
<br> | |||
===== 認証の設定 ===== | |||
Zed 0.202.7以降、Claude Agentの認証は[Zed Agent Panel]のAPIキー設定とは完全に独立している。<br> | |||
つまり、[Agent Panel]の設定で登録したAnthropic APIキーは、Claude Agent側には使用されない。<br> | |||
<br> | |||
認証を行うには、Claude Agentのスレッドを開いた状態で以下のコマンドを実行する。<br> | |||
/login | |||
<br> | |||
このコマンドにより、以下に示す2つの認証方式から選択できる。<br> | |||
<br> | |||
* APIキー認証 | |||
*: AnthropicのAPIキーを直接入力する方式 | |||
*: API使用料が発生する。 | |||
*: <br> | |||
* Claude Pro / Maxサブスクリプションによるログイン | |||
*: [Log in with Claude Code]を選択すると、既存のClaude Pro / Maxサブスクリプションを利用してログインできる。 | |||
<br> | |||
===== キーボードショートカットの設定 ===== | |||
Claude Agent スレッドを素早く開くためのキーボードショートカットを設定できる。<br> | |||
コマンドパレットから <code>zed: open keymap file</code> を実行して、<code>keymap.jsonファイル</code> に設定を記述する。<br> | |||
<br> | |||
<syntaxhighlight lang="javascript"> | |||
[ | |||
{ | |||
"bindings": { | |||
// MacOS : [Cmd] + [Alt] + [C]キーでClaude Agentスレッドを新規作成 | |||
"cmd-alt-c": ["agent::NewExternalAgentThread", { "agent": "claude_code" }] | |||
} | |||
} | |||
] | |||
</syntaxhighlight> | |||
<br> | |||
===== Claude Code実行ファイルのオーバーライド ===== | |||
Zedが使用するClaude Codeの実行ファイルを、独自にインストールしたバージョンに差し替える場合は、<code>settings.jsonファイル</code> に設定を記述する。<br> | |||
<br> | |||
<syntaxhighlight lang="javascript"> | |||
{ | |||
"agent_servers": { | |||
"claude": { | |||
"env": { | |||
"CLAUDE_CODE_EXECUTABLE": "/path/to/alternate-claude-code-executable" | |||
} | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
==== Gemini CLI連携 ==== | |||
ACPを通じて、Gemini CLIも同様にZed内で動作させることができる。<br> | |||
<br> | |||
# [Agent Panel]を開いて、[+]ボタンから[Gemini CLI]を選択する。 | |||
# 初回起動時に、Gemini CLIが自動的にセットアップされる。 | |||
<br> | |||
キーボードショートカットを設定する場合は、<code>keymap.jsonファイル</code> に設定する。<br> | |||
<br> | |||
<syntaxhighlight lang="javascript"> | |||
[ | |||
{ | |||
"bindings": { | |||
// MacOS : [Cmd] + [Alt] + [G]キーでGemini CLIスレッドを新規作成 | |||
"cmd-alt-g": ["agent::NewExternalAgentThread", { "agent": "gemini" }] | |||
} | |||
} | |||
] | |||
</syntaxhighlight> | |||
<br> | |||
==== OpenCode連携 ==== | |||
[https://opencode.ai/ OpenCode] は、オープンソースのAIコーディングエージェントであり、ACP に完全対応している。<br> | |||
特定のLLMプロバイダに依存せず、Claude、GPT、Gemini、GLM等、任意のモデルを切り替えて利用できる点が大きな特徴である。<br> | |||
<br> | |||
ターミナルネイティブな設計思想を持ちつつ、ACPを通じてZedの[Agent Panel]内でもネイティブに動作する。<br> | |||
<br> | |||
===== インストール ===== | |||
OpenCodeは事前にシステムへインストールしておく必要がある。<br> | |||
<br> | |||
# インストールスクリプト (全プラットフォーム共通) | |||
curl -fsSL https://opencode.ai/install | bash | |||
# npm (Linux) | |||
npm i -g opencode-ai@latest | |||
# Homebrew (MacOS) - anomalyco tap (推奨、常に最新) | |||
brew install anomalyco/tap/opencode | |||
# Homebrew (MacOS) - 公式 formula (更新頻度はやや低い) | |||
brew install opencode | |||
# Windows(Scoop) | |||
scoop install opencode | |||
# Windows(Chocolatey) | |||
choco install opencode | |||
<br> | |||
インストール後、以下のコマンドで正常にインストールされたことを確認する。<br> | |||
opencode --version | |||
<br> | |||
===== セットアップ手順 ===== | |||
OpenCodeのZedへの統合には、ACPレジストリ / Extension経由と手動設定の2つの方法がある。<br> | |||
<br> | |||
* ACPレジストリ / Extension 経由 (推奨) | |||
*: Zed 0.221.x以降では、ACPレジストリが外部エージェントのインストール方法として推奨されている。 | |||
*: この方法では、プラットフォームに応じたバイナリのダウンロードや起動設定が自動的に行われるため、手動設定は不要である。 | |||
*: <br> | |||
*# コマンドパレットから <code>zed: extensions</code> を実行して、[Extensions]パネルを開く。 | |||
*# 検索バーで <u>OpenCode</u> を検索する。フィルターで <u>Agent Servers</u> を選択すると見つけやすい。 | |||
*# OpenCodeのExtensionを見つけたら、[Install]ボタンを押下する。 | |||
*# インストール完了後、[Agent Panel]の[+]ボタンのメニューに <u>OpenCode</u> が追加される。 | |||
*: <br> | |||
*: この方法でインストールした場合、ZedがOpenCodeのバイナリ管理とバージョン更新を自動的に行う。 | |||
*: <u>これは、システムにグローバルインストールしたOpenCodeとは独立して動作する。</u> | |||
*: <br> | |||
* 手動設定 (settings.jsonファイル) | |||
*: システムにインストール済みのOpenCodeを直接利用する場合、または、Extensionが利用できない環境では、<code>settings.jsonファイル</code> に設定を記述して、 | |||
*: 手動でACPエージェントサーバとして登録する。 | |||
*: <syntaxhighlight lang="json"> | |||
{ | |||
"agent_servers": { | |||
"OpenCode": { | |||
"command": "opencode", | |||
"args": ["acp"] | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
上記の設定により、<code>opencode acp</code> コマンドがACP互換のサブプロセスとして起動され、JSON-RPC over stdioでZedと通信する。<br> | |||
スレッドの開始は、コマンドパレットから <code>agent: new thread</code> を実行し、エージェント選択でOpenCodeを指定する。<br> | |||
<br> | |||
===== キーボードショートカットの設定 ===== | |||
OpenCodeスレッドを素早く開くためのキーボードショートカットを設定できる。<br> | |||
<br> | |||
<u>keymap.jsonファイル</u> に設定を記述する。<br> | |||
<br> | |||
<syntaxhighlight lang="javascript"> | |||
[ | |||
{ | |||
"bindings": { | |||
// MacOS : [Cmd] + [Alt] + [O]キーでOpenCodeスレッドを新規作成 | |||
"cmd-alt-o": [ | |||
"agent::NewExternalAgentThread", | |||
{ | |||
"agent": { | |||
"custom": { | |||
"name": "OpenCode", | |||
"command": { | |||
"command": "opencode", | |||
"args": ["acp"] | |||
} | |||
} | |||
} | |||
} | |||
] | |||
} | |||
} | |||
] | |||
</syntaxhighlight> | |||
<br> | |||
<u>※注意</u><br> | |||
<u>Extension経由でインストールした場合と手動設定の場合で、<u>keymap.jsonファイル</u> の記述形式が異なる場合がある。</u><br> | |||
<u>Extension経由の場合は、エージェント名をレジストリ登録名で指定する形式になることがある。</u><br> | |||
<br> | |||
===== 使用するモデルの設定 ===== | |||
OpenCode はプロバイダ非依存であり、使用するモデルはOpenCode側の設定ファイル (<u>~/.config/opencode/opencode.jsonファイル</u>) で管理する。<br> | |||
<br> | |||
<syntaxhighlight lang="javascript"> | |||
{ | |||
// Claudeを使用する場合 | |||
"model": "anthropic/claude-sonnet-4-6" | |||
// GLMを使用する場合 | |||
// "model": "z-ai/glm-4.7" | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
OpenCodeのTUI上で <code>/connect</code> コマンドを実行してプロバイダの認証を行う、または、環境変数 (<code>ANTHROPIC_API_KEY</code> 等) を設定しておくことにより、各プロバイダのAPIが利用可能になる。<br> | |||
<br> | |||
OpenCode独自のOpenCode Zenサービスを利用する場合は、[https://opencode.ai/auth opencode.ai/auth]にアクセスして、APIキーを取得する。<br> | |||
<br> | |||
===== 対応機能 ===== | |||
OpenCodeは、ACP経由で以下に示す機能をサポートしている。<br> | |||
<br> | |||
* ビルトインツール (ファイル操作、ターミナルコマンド実行等) | |||
* カスタムツール および スラッシュコマンド | |||
* OpenCodeの設定ファイルで構成したMCPサーバ | |||
* プロジェクト固有のルール (<u>AGENTS.md</u>) | |||
* カスタムフォーマッタおよびリンター | |||
* エージェント機能とパーミッションシステム | |||
<br> | |||
<u>※注意</u><br> | |||
<u>一部のビルトインスラッシュコマンド (<code>/undo</code>、<code>/redo</code> 等) は、ACP経由では現時点で未サポートである。</u><br> | |||
<br> | |||
===== デバッグ ===== | |||
OpenCodeとZed間のACP通信に問題が発生した場合は、コマンドパレットから <code>dev: open acp logs</code> を実行することにより、送受信されているJSON-RPCメッセージを確認できる。<br> | |||
このログは、GitHub Issueへの報告時にも有用である。<br> | |||
<br> | |||
==== ACP利用時の制限事項 ==== | |||
外部エージェント (Claude Agent、Gemini CLI、OpenCode 等) は、Zedのファーストパーティエージェントと比較して、一部の機能が制限される場合がある。<br> | |||
<br> | |||
具体的には、以下に示す機能が外部エージェントでは利用できない可能性がある。<br> | |||
<br> | |||
* スレッド履歴からの復元 | |||
* チェックポイント機能 | |||
* トークン使用量の表示 | |||
* 過去メッセージの編集 | |||
* 一部のスラッシュコマンド (各エージェントの SDK / ACP 実装がまだ対応していないもの) | |||
<br> | |||
これらの機能の対応状況はエージェントごとに異なり、今後のアップデートで順次拡充される見込みである。<br> | |||
<br><br> | |||
== デフォルトモデルとお気に入りの設定 == | |||
日常的に複数のモデルを切り替えて使う場合は、デフォルトモデルの指定とお気に入り登録を行うと効率的である。<br> | |||
<br> | |||
[Agent Panel]のモデルセレクタは <u>[Cmd] + [Alt] + [/]キー</u> (MacOS) / <u>[Ctrl] + [Alt] + [/]キー</u> (Linux) で開くことができ、<br> | |||
お気に入りモデル間は <u>[Alt] + [Tab]キー</u> (MacOS) / <u>[Alt] + [L]キー</u> (Linux) で素早くサイクルできる。<br> | |||
<br> | |||
<syntaxhighlight lang="javascript"> | |||
{ | |||
"agent": { | |||
// デフォルトモデルの設定 | |||
// [Agent Panel]を開いた際に最初に選択されるモデル | |||
"default_model": { | |||
"provider": "anthropic", | |||
"model": "claude-sonnet-4-6" | |||
}, | |||
// お気に入りモデルの設定 | |||
// [Alt] + [Tab]キー (MacOS) / [Alt] + [L]キー (Linux) で素早く切り替え可能 | |||
"favorite_models": [ | |||
{ "provider": "anthropic", "model": "claude-opus-4-6" }, | |||
{ "provider": "anthropic", "model": "claude-sonnet-4-6" }, | |||
{ "provider": "anthropic", "model": "claude-haiku-4-5" }, | |||
{ "provider": "openai_compatible", "model": "glm-4.7" }, | |||
{ "provider": "openai_compatible", "model": "glm-5" } | |||
], | |||
// コミットメッセージ生成やスレッド要約には、Haikuを割り当て (低コスト) | |||
"inline_model": { | |||
"provider": "anthropic", | |||
"model": "claude-sonnet-4-6" | |||
}, | |||
"commit_message_model": { | |||
"provider": "anthropic", | |||
"model": "claude-haiku-4-5" | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
<br><br> | |||
== Agent Profile (ツールプロファイル) の活用 == | |||
Zedの[Agent Panel]には、タスクの性質に応じたプロファイルが用意されている。<br> | |||
<br> | |||
<u>[Shift] + [Tab]キー</u> でプロファイル間を素早く切り替えることができる。<br> | |||
<br> | |||
<center> | |||
{| class="wikitable" | |||
|+ 標準プロファイル | |||
! プロファイル名 !! 概要 !! 主な用途 | |||
|- | |||
| Write || ファイル書き込みおよびターミナルコマンド実行を含む全ツールが有効 || コード生成、リファクタリング、ファイル操作 | |||
|- | |||
| Ask || 読み取り専用ツールのみ有効 || コードベースに関する質問、コードレビュー (変更リスクなし) | |||
|- | |||
| Minimal || ツールなし || LLMとの一般的な会話 (コードベースの知識が不要な場合) | |||
|} | |||
</center> | |||
<br> | |||
カスタムプロファイルの作成は、コマンドパレットから <code>agent: manage profiles</code> を実行する、または、<br> | |||
<u>[Cmd] + [Alt] + [P]キー</u> (MacOS) / <u>[Ctrl] + [Alt] + [P]キー</u> (Linux) で開くプロファイル管理モーダルから行える。<br> | |||
<br><br> | |||
== settings.jsonの統合例 == | |||
上記の設定を全て統合した <u>settings.jsonファイル</u> の全体を以下に示す。<br> | |||
<br> | |||
<syntaxhighlight lang="javascript"> | |||
{ | |||
// ==================================================================== | |||
// LLM プロバイダ設定 | |||
// ==================================================================== | |||
"language_models": { | |||
// --- Anthropic(Claude)--- | |||
"anthropic": { | |||
"available_models": [ | |||
{ | |||
"name": "claude-opus-4-6", | |||
"display_name": "Claude Opus 4.6 (Thinking)", | |||
"max_tokens": 200000, | |||
"max_output_tokens": 128000, | |||
"mode": { | |||
"type": "adaptive" | |||
} | |||
}, | |||
{ | |||
"name": "claude-sonnet-4-6", | |||
"display_name": "Claude Sonnet 4.6 (Thinking)", | |||
"max_tokens": 200000, | |||
"max_output_tokens": 64000, | |||
"mode": { | |||
"type": "adaptive" | |||
} | |||
}, | |||
{ | |||
"name": "claude-haiku-4-5", | |||
"display_name": "Claude Haiku 4.5", | |||
"max_tokens": 200000, | |||
"max_output_tokens": 8192 | |||
} | |||
] | |||
}, | |||
// --- Z.AI(GLM)--- OpenAI互換プロバイダとして接続 | |||
"openai_compatible": { | |||
"Z.ai": { | |||
"api_url": "https://api.z.ai/api/coding/paas/v4", | |||
"available_models": [ | |||
{ | |||
"name": "glm-4.7", | |||
"display_name": "GLM-4.7", | |||
"max_tokens": 200000, | |||
"max_output_tokens": 128000, | |||
"max_completion_tokens": 128000, | |||
"capabilities": { | |||
"tools": true, | |||
"images": false, | |||
"parallel_tool_calls": true, | |||
"prompt_cache_key": true | |||
} | |||
}, | |||
{ | |||
"name": "glm-5", | |||
"display_name": "GLM-5", | |||
"max_tokens": 200000, | |||
"max_output_tokens": 128000, | |||
"max_completion_tokens": 128000, | |||
"capabilities": { | |||
"tools": true, | |||
"images": false, | |||
"parallel_tool_calls": true, | |||
"prompt_cache_key": true | |||
} | |||
} | |||
] | |||
} | |||
} | |||
}, | |||
// ==================================================================== | |||
// Agent Panel設定 | |||
// ==================================================================== | |||
"agent": { | |||
"default_model": { | |||
"provider": "anthropic", | |||
"model": "claude-sonnet-4-6" | |||
}, | |||
"favorite_models": [ | |||
{ "provider": "anthropic", "model": "claude-opus-4-6" }, | |||
{ "provider": "anthropic", "model": "claude-sonnet-4-6" }, | |||
{ "provider": "anthropic", "model": "claude-haiku-4-5" }, | |||
{ "provider": "openai_compatible", "model": "glm-4.7" }, | |||
{ "provider": "openai_compatible", "model": "glm-5" } | |||
], | |||
"commit_message_model": { | |||
"provider": "anthropic", | |||
"model": "claude-haiku-4-5" | |||
} | |||
}, | |||
// ==================================================================== | |||
// Claude Agent (ACP) の実行ファイルオーバーライド(任意) | |||
// ==================================================================== | |||
// "agent_servers": { | |||
// "claude": { | |||
// "env": { | |||
// "CLAUDE_CODE_EXECUTABLE": "/path/to/alternate-claude-code-executable" | |||
// } | |||
// } | |||
// } | |||
} | |||
</syntaxhighlight> | |||
<br><br> | |||
== キーボードショートカット一覧 == | |||
<center> | |||
{| class="wikitable" | |||
|+ 主要なキーボードショートカット | |||
! 操作 !! <acOS !! Windows / Linux | |||
|- | |||
| [Agent Panel]を開く || <code>[Cmd] + [?]キー</code> || <code>[Ctrl] + [?]キー</code> | |||
|- | |||
| モデルセレクタを開く || <code>[Cmd] + [Alt] + [/]キー</code> || <code>[Ctrl] + [Alt] + [/]キー</code> | |||
|- | |||
| お気に入りモデルのサイクル || <code>[Alt] + [Tab]キー</code> || <code>[Alt] + [L]キー</code> | |||
|- | |||
| Agent Profileの切り替え || <code>[Shift] + [Tab]キー</code> || <code>[Shift] + [Tab]キー</code> | |||
|- | |||
| Agent Profile管理モーダルを開く || <code>[Cmd] + [Alt] + [P]キー</code> || <code>[Alt] + [P]キー</code> | |||
|- | |||
| メッセージエディタの拡大 || <code>[Shift] + [Alt] + [Esc]キー</code> || <code>[Shift] + [Alt] + [Escape]キー</code> | |||
|- | |||
| Claude Agentスレッドを新規作成 (要keymap設定) || <code>[Cmd] + [Alt] + [C]キー</code> || (要keymap設定) | |||
|- | |||
| Gemini CLIスレッドを新規作成 (要keymap設定) || <code>[Cmd] + [Alt] + [G]キー</code> || (要keymap設定) | |||
|- | |||
| OpenCodeスレッドを新規作成 (要keymap設定) || <code>[Cmd] + [Alt] + [O]キー</code> || (要keymap設定) | |||
|} | |||
</center> | |||
<br><br> | <br><br> | ||
| 167行目: | 865行目: | ||
この場合は、RADVまたはMesaドライバを使用する。<br> | この場合は、RADVまたはMesaドライバを使用する。<br> | ||
<br> | <br> | ||
"Zed failed to open a window." | <u>"Zed failed to open a window."</u> エラーが出力される場合は、Vulkanが互換性のあるGPUを見つけられないことを意味する。<br> | ||
"NoSupportedDeviceFound"エラーが出力される場合は、Vulkanが互換性のあるGPUを見つけられないことを意味する。<br> | <u>"NoSupportedDeviceFound"</u> エラーが出力される場合は、Vulkanが互換性のあるGPUを見つけられないことを意味する。<br> | ||
vulkan-toolsパッケージをインストールすることにより、Vulkanのトラブルシューティングを開始できる。<br> | vulkan-toolsパッケージをインストールすることにより、Vulkanのトラブルシューティングを開始できる。<br> | ||
<br> | <br> | ||
<code>vkcube</code>コマンドを実行することにより、現在のグラフィック設定および回転するキューブが表示される。<br> | <code>vkcube</code> コマンドを実行することにより、現在のグラフィック設定および回転するキューブが表示される。<br> | ||
もし、表示されない場合は、Vulkan互換GPUドライバをインストールすることで解決できる。<br> | もし、表示されない場合は、Vulkan互換GPUドライバをインストールすることで解決できる。<br> | ||
ただし、例えば、ARMベースのMacOS上でLinuxを実行している場合は、Vulkanがサポートされていない場合もある。<br> | ただし、例えば、ARMベースのMacOS上でLinuxを実行している場合は、Vulkanがサポートされていない場合もある。<br> | ||
vkcube | vkcube | ||
<br> | <br> | ||
"ERROR_INITIALIZATION_FAILED"エラー、あるいは、"GPU Crashed、ERROR_SURFACE_LOST_KHR"エラーが表示される場合、<br> | <u>"ERROR_INITIALIZATION_FAILED"</u> エラー、あるいは、<u>"GPU Crashed、ERROR_SURFACE_LOST_KHR"</u> エラーが表示される場合、<br> | ||
GPUに別のドライバをインストールする、または、別のGPUを選択して実行することにより回避できる可能性がある。<br> | GPUに別のドライバをインストールする、または、別のGPUを選択して実行することにより回避できる可能性がある。<br> | ||
<br> | <br> | ||
ディスクリートGPUではなく統合GPUを選択してZedを起動する場合、Zedを実行する前に環境変数<code>DRI_PRIME</code>を<code>1</code> | ディスクリートGPUではなく統合GPUを選択してZedを起動する場合、Zedを実行する前に環境変数 <code>DRI_PRIME</code> を <code>1</code> に設定することにより変更できる。<br> | ||
<br> | |||
export DRI_PRIME=1 | export DRI_PRIME=1 | ||
cd /<Zedのインストールディレクトリ>/bin | cd /<Zedのインストールディレクトリ>/bin | ||
| 188行目: | 887行目: | ||
export MESA_VK_DEVICE_SELECT=list zed --foreground | export MESA_VK_DEVICE_SELECT=list zed --foreground | ||
<br> | <br> | ||
amdvlkを使用している場合、sudo $(which zed)コマンドで実行する時のみ、Zedが起動する場合がある。<br> | amdvlkを使用している場合、sudo $(which zed) コマンドで実行する時のみ、Zedが起動する場合がある。<br> | ||
これを修正するには、amdvlkとlib32-amdvlkパッケージをアンインストールして、mesa/vulkanをインストールする。<br> | これを修正するには、amdvlkとlib32-amdvlkパッケージをアンインストールして、mesa/vulkanをインストールする。<br> | ||
<br> | <br> | ||
==== OpenSSLエラー ==== | ==== OpenSSLエラー ==== | ||
システムがFIPSモードで動作している場合 (/proc/sys/crypto/fips_enabledが1に設定されている場合)、Zedが起動しない場合がある。<br> | システムがFIPSモードで動作している場合 (/proc/sys/crypto/fips_enabledが1に設定されている場合)、Zedが起動しない場合がある。<br> | ||
zed -- | <br> | ||
<code>zed --foreground</code> コマンドを実行する時、以下に示すようなエラーが出力される。<br> | |||
crypto/fips/fips.c:154: OpenSSL internal error: FATAL FIPS SELFTEST FAILURE | crypto/fips/fips.c:154: OpenSSL internal error: FATAL FIPS SELFTEST FAILURE | ||
<br> | <br> | ||
| 201行目: | 901行目: | ||
<br> | <br> | ||
これにより、Zedはシステムのlibsslとlibcryptoライブラリにフォールバックすることができる。<br> | これにより、Zedはシステムのlibsslとlibcryptoライブラリにフォールバックすることができる。<br> | ||
<br> | |||
==== APIキーが認識されない ==== | |||
環境変数で設定した APIキーが認識されない場合は、Zedを完全に終了してから再起動する。<br> | |||
<br> | |||
シェルの設定ファイルを変更した後は、新しいターミナルセッションを開いてからZedを起動する必要がある。<br> | |||
<br> | |||
==== GLMモデルがモデルセレクタに表示されない ==== | |||
<u>settings.jsonファイr</u> の <code>openai_compatible</code> セクションのJSON構文が正しいことを確認する。<br> | |||
特に、既存の <code>language_models</code> ブロック内に正しくネストされているかを確認する。<br> | |||
<br> | |||
設定ファイルを保存した後、[Agent Panel]の設定画面を1度閉じて再度開くと反映される場合がある。<br> | |||
<br> | |||
==== Claude Agentの認証エラー ==== | |||
Claude Agentの認証は、[Zed Agent Panel]のAnthropic APIキー設定とは独立している。<br> | |||
Claude Agentスレッド内で <code>/login</code> コマンドを再実行して、認証をやり直す。<br> | |||
<br> | |||
==== スレッドでエラーが発生した場合 ==== | |||
スレッドの内容をMarkdownとして開くことができる。<br> | |||
<br> | |||
コマンドパレットから <code>agent: open thread as markdown</code> を実行する、または、パネルのエディタにフォーカスした状態でファイルアイコンボタンを選択する。<br> | |||
<br> | |||
これを、GitHub Issueに添付して報告すると、問題の解決に役立つ。<br> | |||
<br><br> | |||
== 参考リンク == | |||
* [https://zed.dev/docs/ai/configuration Zed AI Configuration (公式ドキュメント)] | |||
* [https://zed.dev/docs/ai/llm-providers Zed LLM Providers (公式ドキュメント)] | |||
* [https://zed.dev/docs/ai/external-agents Zed External Agents (公式ドキュメント)] | |||
* [https://zed.dev/docs/ai/agent-panel Zed Agent Panel (公式ドキュメント)] | |||
* [https://zed.dev/docs/ai/agent-settings Zed Agent Settings (公式ドキュメント)] | |||
* [https://zed.dev/docs/ai/models Zed AI Models and Pricing] | |||
* [https://docs.z.ai/guides/capabilities/thinking-mode Z.AI Thinking Mode Documentation] | |||
* [https://docs.z.ai/guides/overview/migrate-to-glm-new Migrate to GLM-5 Guide] | |||
* [https://opencode.ai/docs/ OpenCode Documentation] | |||
* [https://opencode.ai/docs/acp/ OpenCode ACP Support] | |||
* [https://zed.dev/acp/agent/opencode OpenCode - ACP Agent (Zed公式)] | |||
* [https://zed.dev/acp Zed Agent Client Protocol (ACP) 概要] | |||
<br><br> | <br><br> | ||
{{#seo: | |||
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki | |||
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板 | |||
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux | |||
|image=/resources/assets/MochiuLogo_Single_Blue.png | |||
}} | |||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]] | [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]] | ||
2026年2月21日 (土) 16:31時点における最新版
概要
Zedは、人間やAIとの高性能なコラボレーションを実現するために設計された次世代コードエディタである。
Atomエディタの共同創設者であるNathan Sobo氏らによって開発されており、複数のCPUコアとGPUを効率的に活用するために、Rustで記述されている。
Zedの主な特徴として、高速性と軽量性が挙げられる。
エディタのコア部分はRustで記述されており、パフォーマンスを重視して設計されている。
また、モダンなユーザインターフェースを採用しており、使いやすさも追求している。
Zedは協調作業に焦点を当てており、リアルタイムでの共同編集機能を備えている。
これにより、複数の開発者が同時に同じコードベースで作業することが可能になる。
AIアシスタント機能も統合されており、コーディング中に支援を受けられるようになっており、コードの補完・提案、エラーの検出等に便利である。
今後リリースされるLLMをワークフローに統合して、コードの生成、変換、解析を行うこともできる。
- Zedの公式Webサイト
Zedエディタは、複数のLLMプロバイダと連携可能なAI機能を備えており、LLMの利用方法は大きく以下の3つに分類される。
- Zedホスト型モデル
- Zedのサブスクリプション (Pro等) を通じて提供されるモデル群
- 認証とサブスクリプションが必要となる。
- 自前のAPIキーによる接続
- Anthropic、OpenAI、Google等の各プロバイダから直接APIキーを取得して、Zedに登録して使用する方式
- サブスクリプションは不要
- 外部エージェント (ACP)
- Claude Agent (Claude Code)、Gemini CLI、OpenCode等を、ACP (Agent Client Protocol) 経由でZedのAgent Panel内から直接実行する方式
前提条件
- Zedエディタのバージョン
- 最新の安定版を推奨する。ACP機能 (Claude Agent連携等) はバージョン 0.202.7以降で利用可能である。
- APIキーの取得
- Claudeを利用する場合は Anthropic Console からAPIキーを取得する。
- 例えば、GLMを利用する場合は、Z.AI (旧 bigmodel.cn) からAPIキーを取得する。
- 設定ファイルの場所
- Zedの settings.jsonファイル は、コマンドパレットから
zed: open settingsを実行することで開くことができる。
- Zedの settings.jsonファイル は、コマンドパレットから
Zedのインストール
インストールスクリプトを使用してインストール (推奨)
Zedをインストールする。
# 安定版 curl -f https://zed.dev/install.sh | sh
# プレビュー版 # 安定版より約1週間早くアップデートが行われている curl -f https://zed.dev/install.sh | ZED_CHANNEL=preview sh
ただし、以下に示すLinuxディストリビューションおよびアーキテクチャは、ソースコードからビルドする必要がある。
- x64またはAarch64以外のアーキテクチャ (例: x86, RISC-V)
- 全てのアーキテクチャ上のRHEL 8.x系 (例: RHEL 8, Rocky Linux 8、AlmaLinux 8、Amazon Linux 2等)
- AArch64上のRHEL 9.x系 (例: RHEL 9, Rocky Linux 9、AlmaLinux 9、Amazon Linux 2023等)
手動でインストール
この方法は、x64およびAarch64のみ可能である。
Zedの公式Webサイトにアクセスして、Zedをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf zed-linux-<アーキテクチャ>.tar.gz
解凍したディレクトリを任意のディレクトリに配置する。
mv zed-linux-<アーキテクチャ> <任意のディレクトリ>
デスクトップエントリファイルを作成する。
vi ~/.local/share/applications/Zed.desktop
# ~/.local/share/applications/Zed.desktopファイル
[Desktop Entry]
Version=1.0
Type=Application
Name=Zed
GenericName=Text Editor
Comment=A high-performance, multiplayer code editor.
TryExec=/<Zedのインストールディレクトリ>/bin/zed
Exec=/<Zedのインストールディレクトリ>/bin/zed %U
Icon=/<Zedのインストールディレクトリ>/share/icons/hicolor/512x512/apps/zed.png
Categories=Utility;TextEditor;Development;IDE;
Keywords=zed;
MimeType=text/plain;application/x-zerosize;x-scheme-handler/zed;
StartupNotify=true
Actions=NewWorkspace;
[Desktop Action NewWorkspace]
Exec=/<Zedのインストールディレクトリ>/bin/zed --new %U
Name=Open a new workspace
Zedの起動時において、以下に示すようなエラーが出力される場合は、Zedをソースコードからインストールする。
このエラーは、システムのGLIBCが古いことを意味する。
/lib64/libc.so.6: version 'GLIBC_2.29' not found
ソースコードからインストール
Rust / Cargoのインストール
Rust / Cargoをインストールする。
# RHEL sudo dnf install rust-toolset cargo-c # SUSE sudo zypper install rust cargo
Rustを最新にアップデートする。
rustup update
また、RustupをダウンロードしてRustをインストールすることもできる。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustc、cargo、rustup等の全てのRustツールチェーンが、~/.cargo/binディレクトリにインストールされる。
したがって、開発者はこのディレクトリを環境変数PATHに含めるのが一般的である。
インストールした後、自動的に環境変数 PATH の設定が行われるが、なんらかの理由により失敗することがある。
もし、手動で設定する場合は、~/.profileファイル等に環境変数 PATH を設定する。
vi ~/.profile
# ~/.profileファイル
export PATH="$HOME/.cargo/bin:$PATH"
Rustが正常にインストールされているかどうかを確認する。
rustc --version
全てのRustツールチェーンをアンインストールする場合は、以下に示すコマンドを実行する。
rustup self uninstall
Zedのインストール
ZedのGuthubにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf zed-<バージョン>.tar.gz cd zed-<バージョン>
以下に示すいずれかの方法を選択して、Zedのビルドに必要な依存関係のライブラリをインストールする。
- スクリプトの使用
- script/linux
- パッケージ管理システムから手動でインストール
# RHEL
sudo dnf install git tar jq cmake gcc clang alsa-lib-devel libzstd-devel openssl-devel sqlite-devel fontconfig-devel \
libxkbcommon-x11-devel wayland-devel vulkan-loader
# SUSE
sudo zypper install git tar gzip jq make cmake gcc gcc-c++ clang libzstd-devel openssl-devel fontconfig-devel sqlite3-devel \
alsa-devel libxkbcommon-x11-devel wayland-devel libvulkan1
Cargoを使用して、Zedをビルドおよびインストールする。
# リリースビルド # リリースビルドの主要なユーザインターフェースはcli crateである cargo run -p cli # デバッグビルド cargo run
Zedの実行テストを行うこともできる。
cargo test --workspace
Zedは、X11およびWaylandの両方をサポートしている。
デフォルトでは、実行時に検索に成功したものを選択する。
もし、Waylandを使用しており、X11モードで実行する場合は、環境変数 WAYLAND_DISPLAY を "" に設定する。
export WAYLAND_DISPLAY="" /<Zedのインストールディレクトリ>/bin/zed
Zedのアンインストール
デフォルトのインストールスクリプトを使用してZedをインストールした場合、zedコマンドに --uninstall オプションを指定することによりアンインストールできる。
zed --uninstall # または ~/.local/bin/zed --uninstall # または ~/.local/zed.app/bin.zed --uninstall # または /<Zedのインストールディレクトリ>/bin/zed --uninstall
また、Zedの設定を保持するかどうかを選択する。
Zedの設定とデータを手動で削除する場合は、以下に示すディレクトリを削除する。
rm -r ~/.config/zed
Claudeの設定
APIキーによる直接接続
AnthropicのAPIキーを使い、Zedの[Agent Panel]から直接Claudeモデルを利用する方法である。
この方式では、Anthropicに対してAPI使用料が直接発生する。
APIキーの登録
APIキーの登録には、UIから行う方法と環境変数を使う方法の2通りがある。
UI経由での登録を以下に示す。
- [Cmd] + [?]キー (MacOS) または [Ctrl] + [?]キー (Windows / Linux) で[Agent Panel]を開く。
- 右上のドロップダウンメニューから、[agent: open settings]を選択する。
- [LLM Providers]セクションの右にある[Add Provider]ボタンを押下する。
- プロバイダ一覧から Anthropic を選択して、APIキーを入力する。
APIキーはOSのキーチェーン (MacOS) または シークレットストレージ (Linux) に保存され、settings.jsonファイル には書き込まれない。
環境変数による登録を以下に示す。
~/.profileファイルや~/.zprofileファイル等にAPIキーを設定する方法でも認識される。
export ANTHROPIC_API_KEY="sk-ant-xxxxxxxxxxxxxxxxxxxxx"
Zedは起動時にこの環境変数を自動的に読み取る。
モデル定義 (Thinking付き)
Claude 4.6世代では、Adaptive Thinkingが推奨されている。
これはモデルが自動的に思考の必要性と深さを判断するモードであり、従来の手動設定 ("type": "enabled" + budget_tokens) よりも柔軟である。
| モデル | APIモデル文字列 | Thinking | 最大入力トークン | 最大出力トークン |
|---|---|---|---|---|
| Claude Opus 4.6 | claude-opus-4-6 |
Adaptive Thinking対応 | 200,000 (1M Beta対応) | 128,000 |
| Claude Sonnet 4.6 | claude-sonnet-4-6 |
Adaptive Thinking対応 | 200,000 (1M Beta対応) | 64,000 |
| Claude Haiku 4.5 | claude-haiku-4-5 |
非対応 | 200,000 | 8,192 |
※注意
Extended Thinkingは、Haiku 4.5には搭載されていないが、高速・低コストな推論モデルとして十分な利用価値がある。
settings.json に以下を記述する。
{
"language_models": {
"anthropic": {
"available_models": [
{
// Opus 4.6 - Adaptive Thinking (推奨モード)
// モデルが自動的に思考の深さを判断する
"name": "claude-opus-4-6",
"display_name": "Claude Opus 4.6 (Thinking)",
"max_tokens": 200000,
"max_output_tokens": 128000,
"mode": {
"type": "adaptive"
}
},
{
// Sonnet 4.6 - Adaptive Thinking (推奨モード)
// Opus級の性能をSonnet価格帯で実現
"name": "claude-sonnet-4-6",
"display_name": "Claude Sonnet 4.6 (Thinking)",
"max_tokens": 200000,
"max_output_tokens": 64000,
"mode": {
"type": "adaptive"
}
},
{
// Haiku 4.5 - Thinkingなし (高速・低コスト用途)
// コミットメッセージ生成やスレッド要約など軽量タスク向け
"name": "claude-haiku-4-5",
"display_name": "Claude Haiku 4.5",
"max_tokens": 200000,
"max_output_tokens": 8192
}
]
}
}
}
Adaptive Thinkingではなく、思考トークンのバジェットを手動で指定したい場合は、"type": "thinking" と "budget_tokens" を設定する。
ただし、Opus 4.6 / Sonnet 4.6ではAdaptive Thinkingが公式に推奨されている。
{
"name": "claude-sonnet-4-6",
"display_name": "Claude Sonnet 4.6 (Manual Thinking)",
"max_tokens": 200000,
"max_output_tokens": 64000,
"mode": {
"type": "thinking",
"budget_tokens": 8192
}
}
Claude Agent (ACP経由)
この方法については、後述のACPの設定セクションで詳述する。
GLMの設定
GLMのThinkingモードについて
GLM-4.7 および GLM-5 には Thinking (深層思考) モードが搭載されており、いずれもデフォルトで有効である。
GLM の Thinking は以下の3種類から構成される。
| 種類 | 導入バージョン | 概要 |
|---|---|---|
| Interleaved Thinking | GLM-4.5 | ツールコールの前後および結果受信後に都度推論を挟む仕組み 複雑なマルチステップタスクにおいて、各段階の判断精度が向上する。 |
| Preserved Thinking | GLM-4.7 | 会話の各ターンで生成された思考ブロックをコンテキスト内に保持し続ける仕組み 通常のモデルはターンごとに推論をリセットするが、 この機能により長いコーディングセッション中の文脈整合性が大幅に向上する。 APIでは "clear_thinking": false で有効になる。
|
| Turn-level Thinking | GLM-4.7 | リクエスト単位で Thinking の有効/無効を切り替え可能にする機能 簡単な質問ではオフにして高速応答を得つつ、 複雑なデバッグではオンにして精度を上げるといった使い分けが同一セッション内で可能 |
ClaudeのThinkingとの比較を以下に示す。
ClaudeのAdaptive Thinkingがモデルに思考量を「お任せ」する設計であるのに対し、
GLMは、より細粒度な制御 (ターンごとのオン / オフ、思考履歴の保持) を開発者に委ねる設計となっている。
ただし、これらの細かい制御パラメータ (clear_thinking や thinking.type) は、Z.AIのAPIレベルで処理されるため、
Zedの settings.jsonファイル からは直接指定できないことに注意すること。
APIキーの登録
Z.AIにアクセスしてアカウントを作成し、APIキーを取得する。
GLMは、Zedのビルトインプロバイダとしては登録されていないため、OpenAI互換プロバイダ機能を利用して接続する。
APIキーの設定は、[Agent Panel]の設定UI ([agent: open settings] -> [Add Provider] -> [OpenAI Compatible]) から行う、または、settings.jsonファイル に直接記述する。
モデル定義
| モデル | APIモデル文字列 | Thinking | パラメータ規模 | 最大入力トークン | 最大出力トークン |
|---|---|---|---|---|---|
| GLM-5 | glm-5 |
デフォルト有効 | 744B (40B active, MoE) | 200,000 | 128,000 |
| GLM-4.7 | glm-4.7 |
デフォルト有効 | 357B (MoE) | 200,000 | 128,000 |
APIエンドポイントの選択
Z.AIには用途別に異なるエンドポイントが用意されている。
| 用途 | エンドポイントURL |
|---|---|
| GLM Coding Plan (コーディング特化サブスクリプション) | https://api.z.ai/api/coding/paas/v4 |
| 汎用API | https://api.z.ai/api/paas/v4/ |
自身の契約プランに応じて適切な方を選択する。
settings.jsonファイル に、以下に示す設定を記述する。
{
"language_models": {
"openai_compatible": {
"Z.ai": {
// GLM Coding Plan 利用時のエンドポイント
// 汎用APIの場合は https://api.z.ai/api/paas/v4/ を指定する
"api_url": "https://api.z.ai/api/coding/paas/v4",
"available_models": [
{
// GLM-5 - ThinkingはAPI側でデフォルト有効
// 744Bパラメータ (40B active)、複雑なシステム設計向け
"name": "glm-5",
"display_name": "GLM-5",
"max_tokens": 200000,
"max_output_tokens": 128000,
"max_completion_tokens": 128000,
"capabilities": {
"tools": true,
"images": false,
"parallel_tool_calls": true,
"prompt_cache_key": true
}
},
{
// GLM-4.7 - ThinkingはAPI側でデフォルト有効
// Preserved Thinking / Turn-level Thinkingを搭載
"name": "glm-4.7",
"display_name": "GLM-4.7",
"max_tokens": 200000,
"max_output_tokens": 128000,
"max_completion_tokens": 128000,
"capabilities": {
"tools": true,
"images": false,
"parallel_tool_calls": true,
"prompt_cache_key": true
}
}
]
}
}
}
}
OpenRouter経由での利用
Z.AIの直接接続に加えて、OpenRouter経由でもGLMを利用可能である。
OpenRouterはZedにビルトインサポートされているため、設定がやや簡便になるメリットがある。
- [Agent Panel]設定 ([agent: open settings]) を開く。
- [LLM Providers]から OpenRouter を追加して、OpenRouterのAPIキーを入力する。
- モデルセレクタのドロップダウンにGLM系モデルが表示される。
環境変数 OPENROUTER_API_KEY を設定しておくことでも認識される。
ACP (Agent Client Protocol) の設定
ACP (Agent Client Protocol) は、Zedが策定したオープンスタンダードであり、任意の外部エージェントをZedの[Agent Panel]内でネイティブに実行するためのプロトコルである。
ターミナル上のCLIツールとは異なり、ファイル差分のチャンク単位での確認・承認、チェックポイント機能、Zed内蔵ツール (リンター、Language Server等) との統合といったメリットがある。
現在、Zedでは以下に示す外部エージェントがサポートされている。
| エージェント | 概要 | 認証方式 |
|---|---|---|
| Claude Agent | Claude Code SDKベースのAnthropic製コーディングエージェント | Anthropic APIキー または Claude Pro/Maxサブスクリプション |
| Gemini CLI | Google製のACPリファレンス実装 | Googleアカウント |
| OpenCode | オープンソースのプロバイダ非依存コーディングエージェント | 各LLMプロバイダのAPIキー または OpenCode Zen |
| Codex | OpenAI製のコーディングエージェント | OpenAI APIキー |
| GitHub Copilot | GitHub / Microsoft製のAIコーディングアシスタント | GitHubアカウント |
※注意
Zedと外部エージェント間のやり取りはUIレベルのみであり、課金や利用規約は各エージェントプロバイダとの間で直接成立する。
Zedは外部エージェントの利用に対して課金せず、Zedのゼロデータ保持契約やプライバシー保証はZedホスト型モデルにのみ適用される。
Claude Agent (Claude Code連携)
Claude Agentは、Claude Code SDKをベースとしたACPアダプタを通じてZed内で動作する。
Zedのファーストパーティエージェントと並行して利用でき、同一の[Agent Panel]内で切り替えながら使用可能である。
セットアップ手順
- [Cmd] + [?]キー (MacOS) または [Ctrl] + [?]キー (Windows / Linux) で[Agent Panel]を開く。
- 右上の[+]ボタンを押下する。
- 表示されるメニューから、[Claude Code]を選択する。
- 初回起動時には、
@zed-industries/claude-agent-acpが自動的にインストールされる。
この管理版には、Claude Code CLIのベンダー版が含まれており、グローバルにインストール済みのClaude Codeがあっても、Zedはこの管理版を優先する。
認証の設定
Zed 0.202.7以降、Claude Agentの認証は[Zed Agent Panel]のAPIキー設定とは完全に独立している。
つまり、[Agent Panel]の設定で登録したAnthropic APIキーは、Claude Agent側には使用されない。
認証を行うには、Claude Agentのスレッドを開いた状態で以下のコマンドを実行する。
/login
このコマンドにより、以下に示す2つの認証方式から選択できる。
- APIキー認証
- AnthropicのAPIキーを直接入力する方式
- API使用料が発生する。
- Claude Pro / Maxサブスクリプションによるログイン
- [Log in with Claude Code]を選択すると、既存のClaude Pro / Maxサブスクリプションを利用してログインできる。
キーボードショートカットの設定
Claude Agent スレッドを素早く開くためのキーボードショートカットを設定できる。
コマンドパレットから zed: open keymap file を実行して、keymap.jsonファイル に設定を記述する。
[
{
"bindings": {
// MacOS : [Cmd] + [Alt] + [C]キーでClaude Agentスレッドを新規作成
"cmd-alt-c": ["agent::NewExternalAgentThread", { "agent": "claude_code" }]
}
}
]
Claude Code実行ファイルのオーバーライド
Zedが使用するClaude Codeの実行ファイルを、独自にインストールしたバージョンに差し替える場合は、settings.jsonファイル に設定を記述する。
{
"agent_servers": {
"claude": {
"env": {
"CLAUDE_CODE_EXECUTABLE": "/path/to/alternate-claude-code-executable"
}
}
}
}
Gemini CLI連携
ACPを通じて、Gemini CLIも同様にZed内で動作させることができる。
- [Agent Panel]を開いて、[+]ボタンから[Gemini CLI]を選択する。
- 初回起動時に、Gemini CLIが自動的にセットアップされる。
キーボードショートカットを設定する場合は、keymap.jsonファイル に設定する。
[
{
"bindings": {
// MacOS : [Cmd] + [Alt] + [G]キーでGemini CLIスレッドを新規作成
"cmd-alt-g": ["agent::NewExternalAgentThread", { "agent": "gemini" }]
}
}
]
OpenCode連携
OpenCode は、オープンソースのAIコーディングエージェントであり、ACP に完全対応している。
特定のLLMプロバイダに依存せず、Claude、GPT、Gemini、GLM等、任意のモデルを切り替えて利用できる点が大きな特徴である。
ターミナルネイティブな設計思想を持ちつつ、ACPを通じてZedの[Agent Panel]内でもネイティブに動作する。
インストール
OpenCodeは事前にシステムへインストールしておく必要がある。
# インストールスクリプト (全プラットフォーム共通) curl -fsSL https://opencode.ai/install | bash # npm (Linux) npm i -g opencode-ai@latest # Homebrew (MacOS) - anomalyco tap (推奨、常に最新) brew install anomalyco/tap/opencode # Homebrew (MacOS) - 公式 formula (更新頻度はやや低い) brew install opencode # Windows(Scoop) scoop install opencode # Windows(Chocolatey) choco install opencode
インストール後、以下のコマンドで正常にインストールされたことを確認する。
opencode --version
セットアップ手順
OpenCodeのZedへの統合には、ACPレジストリ / Extension経由と手動設定の2つの方法がある。
- ACPレジストリ / Extension 経由 (推奨)
- Zed 0.221.x以降では、ACPレジストリが外部エージェントのインストール方法として推奨されている。
- この方法では、プラットフォームに応じたバイナリのダウンロードや起動設定が自動的に行われるため、手動設定は不要である。
- コマンドパレットから
zed: extensionsを実行して、[Extensions]パネルを開く。 - 検索バーで OpenCode を検索する。フィルターで Agent Servers を選択すると見つけやすい。
- OpenCodeのExtensionを見つけたら、[Install]ボタンを押下する。
- インストール完了後、[Agent Panel]の[+]ボタンのメニューに OpenCode が追加される。
- この方法でインストールした場合、ZedがOpenCodeのバイナリ管理とバージョン更新を自動的に行う。
- これは、システムにグローバルインストールしたOpenCodeとは独立して動作する。
- 手動設定 (settings.jsonファイル)
- システムにインストール済みのOpenCodeを直接利用する場合、または、Extensionが利用できない環境では、
settings.jsonファイルに設定を記述して、 - 手動でACPエージェントサーバとして登録する。
{ "agent_servers": { "OpenCode": { "command": "opencode", "args": ["acp"] } } }
- システムにインストール済みのOpenCodeを直接利用する場合、または、Extensionが利用できない環境では、
上記の設定により、opencode acp コマンドがACP互換のサブプロセスとして起動され、JSON-RPC over stdioでZedと通信する。
スレッドの開始は、コマンドパレットから agent: new thread を実行し、エージェント選択でOpenCodeを指定する。
キーボードショートカットの設定
OpenCodeスレッドを素早く開くためのキーボードショートカットを設定できる。
keymap.jsonファイル に設定を記述する。
[
{
"bindings": {
// MacOS : [Cmd] + [Alt] + [O]キーでOpenCodeスレッドを新規作成
"cmd-alt-o": [
"agent::NewExternalAgentThread",
{
"agent": {
"custom": {
"name": "OpenCode",
"command": {
"command": "opencode",
"args": ["acp"]
}
}
}
}
]
}
}
]
※注意
Extension経由でインストールした場合と手動設定の場合で、keymap.jsonファイル の記述形式が異なる場合がある。
Extension経由の場合は、エージェント名をレジストリ登録名で指定する形式になることがある。
使用するモデルの設定
OpenCode はプロバイダ非依存であり、使用するモデルはOpenCode側の設定ファイル (~/.config/opencode/opencode.jsonファイル) で管理する。
{
// Claudeを使用する場合
"model": "anthropic/claude-sonnet-4-6"
// GLMを使用する場合
// "model": "z-ai/glm-4.7"
}
OpenCodeのTUI上で /connect コマンドを実行してプロバイダの認証を行う、または、環境変数 (ANTHROPIC_API_KEY 等) を設定しておくことにより、各プロバイダのAPIが利用可能になる。
OpenCode独自のOpenCode Zenサービスを利用する場合は、opencode.ai/authにアクセスして、APIキーを取得する。
対応機能
OpenCodeは、ACP経由で以下に示す機能をサポートしている。
- ビルトインツール (ファイル操作、ターミナルコマンド実行等)
- カスタムツール および スラッシュコマンド
- OpenCodeの設定ファイルで構成したMCPサーバ
- プロジェクト固有のルール (AGENTS.md)
- カスタムフォーマッタおよびリンター
- エージェント機能とパーミッションシステム
※注意
一部のビルトインスラッシュコマンド (/undo、/redo 等) は、ACP経由では現時点で未サポートである。
デバッグ
OpenCodeとZed間のACP通信に問題が発生した場合は、コマンドパレットから dev: open acp logs を実行することにより、送受信されているJSON-RPCメッセージを確認できる。
このログは、GitHub Issueへの報告時にも有用である。
ACP利用時の制限事項
外部エージェント (Claude Agent、Gemini CLI、OpenCode 等) は、Zedのファーストパーティエージェントと比較して、一部の機能が制限される場合がある。
具体的には、以下に示す機能が外部エージェントでは利用できない可能性がある。
- スレッド履歴からの復元
- チェックポイント機能
- トークン使用量の表示
- 過去メッセージの編集
- 一部のスラッシュコマンド (各エージェントの SDK / ACP 実装がまだ対応していないもの)
これらの機能の対応状況はエージェントごとに異なり、今後のアップデートで順次拡充される見込みである。
デフォルトモデルとお気に入りの設定
日常的に複数のモデルを切り替えて使う場合は、デフォルトモデルの指定とお気に入り登録を行うと効率的である。
[Agent Panel]のモデルセレクタは [Cmd] + [Alt] + [/]キー (MacOS) / [Ctrl] + [Alt] + [/]キー (Linux) で開くことができ、
お気に入りモデル間は [Alt] + [Tab]キー (MacOS) / [Alt] + [L]キー (Linux) で素早くサイクルできる。
{
"agent": {
// デフォルトモデルの設定
// [Agent Panel]を開いた際に最初に選択されるモデル
"default_model": {
"provider": "anthropic",
"model": "claude-sonnet-4-6"
},
// お気に入りモデルの設定
// [Alt] + [Tab]キー (MacOS) / [Alt] + [L]キー (Linux) で素早く切り替え可能
"favorite_models": [
{ "provider": "anthropic", "model": "claude-opus-4-6" },
{ "provider": "anthropic", "model": "claude-sonnet-4-6" },
{ "provider": "anthropic", "model": "claude-haiku-4-5" },
{ "provider": "openai_compatible", "model": "glm-4.7" },
{ "provider": "openai_compatible", "model": "glm-5" }
],
// コミットメッセージ生成やスレッド要約には、Haikuを割り当て (低コスト)
"inline_model": {
"provider": "anthropic",
"model": "claude-sonnet-4-6"
},
"commit_message_model": {
"provider": "anthropic",
"model": "claude-haiku-4-5"
}
}
}
Agent Profile (ツールプロファイル) の活用
Zedの[Agent Panel]には、タスクの性質に応じたプロファイルが用意されている。
[Shift] + [Tab]キー でプロファイル間を素早く切り替えることができる。
| プロファイル名 | 概要 | 主な用途 |
|---|---|---|
| Write | ファイル書き込みおよびターミナルコマンド実行を含む全ツールが有効 | コード生成、リファクタリング、ファイル操作 |
| Ask | 読み取り専用ツールのみ有効 | コードベースに関する質問、コードレビュー (変更リスクなし) |
| Minimal | ツールなし | LLMとの一般的な会話 (コードベースの知識が不要な場合) |
カスタムプロファイルの作成は、コマンドパレットから agent: manage profiles を実行する、または、
[Cmd] + [Alt] + [P]キー (MacOS) / [Ctrl] + [Alt] + [P]キー (Linux) で開くプロファイル管理モーダルから行える。
settings.jsonの統合例
上記の設定を全て統合した settings.jsonファイル の全体を以下に示す。
{
// ====================================================================
// LLM プロバイダ設定
// ====================================================================
"language_models": {
// --- Anthropic(Claude)---
"anthropic": {
"available_models": [
{
"name": "claude-opus-4-6",
"display_name": "Claude Opus 4.6 (Thinking)",
"max_tokens": 200000,
"max_output_tokens": 128000,
"mode": {
"type": "adaptive"
}
},
{
"name": "claude-sonnet-4-6",
"display_name": "Claude Sonnet 4.6 (Thinking)",
"max_tokens": 200000,
"max_output_tokens": 64000,
"mode": {
"type": "adaptive"
}
},
{
"name": "claude-haiku-4-5",
"display_name": "Claude Haiku 4.5",
"max_tokens": 200000,
"max_output_tokens": 8192
}
]
},
// --- Z.AI(GLM)--- OpenAI互換プロバイダとして接続
"openai_compatible": {
"Z.ai": {
"api_url": "https://api.z.ai/api/coding/paas/v4",
"available_models": [
{
"name": "glm-4.7",
"display_name": "GLM-4.7",
"max_tokens": 200000,
"max_output_tokens": 128000,
"max_completion_tokens": 128000,
"capabilities": {
"tools": true,
"images": false,
"parallel_tool_calls": true,
"prompt_cache_key": true
}
},
{
"name": "glm-5",
"display_name": "GLM-5",
"max_tokens": 200000,
"max_output_tokens": 128000,
"max_completion_tokens": 128000,
"capabilities": {
"tools": true,
"images": false,
"parallel_tool_calls": true,
"prompt_cache_key": true
}
}
]
}
}
},
// ====================================================================
// Agent Panel設定
// ====================================================================
"agent": {
"default_model": {
"provider": "anthropic",
"model": "claude-sonnet-4-6"
},
"favorite_models": [
{ "provider": "anthropic", "model": "claude-opus-4-6" },
{ "provider": "anthropic", "model": "claude-sonnet-4-6" },
{ "provider": "anthropic", "model": "claude-haiku-4-5" },
{ "provider": "openai_compatible", "model": "glm-4.7" },
{ "provider": "openai_compatible", "model": "glm-5" }
],
"commit_message_model": {
"provider": "anthropic",
"model": "claude-haiku-4-5"
}
},
// ====================================================================
// Claude Agent (ACP) の実行ファイルオーバーライド(任意)
// ====================================================================
// "agent_servers": {
// "claude": {
// "env": {
// "CLAUDE_CODE_EXECUTABLE": "/path/to/alternate-claude-code-executable"
// }
// }
// }
}
キーボードショートカット一覧
| 操作 | <acOS | Windows / Linux |
|---|---|---|
| [Agent Panel]を開く | [Cmd] + [?]キー |
[Ctrl] + [?]キー
|
| モデルセレクタを開く | [Cmd] + [Alt] + [/]キー |
[Ctrl] + [Alt] + [/]キー
|
| お気に入りモデルのサイクル | [Alt] + [Tab]キー |
[Alt] + [L]キー
|
| Agent Profileの切り替え | [Shift] + [Tab]キー |
[Shift] + [Tab]キー
|
| Agent Profile管理モーダルを開く | [Cmd] + [Alt] + [P]キー |
[Alt] + [P]キー
|
| メッセージエディタの拡大 | [Shift] + [Alt] + [Esc]キー |
[Shift] + [Alt] + [Escape]キー
|
| Claude Agentスレッドを新規作成 (要keymap設定) | [Cmd] + [Alt] + [C]キー |
(要keymap設定) |
| Gemini CLIスレッドを新規作成 (要keymap設定) | [Cmd] + [Alt] + [G]キー |
(要keymap設定) |
| OpenCodeスレッドを新規作成 (要keymap設定) | [Cmd] + [Alt] + [O]キー |
(要keymap設定) |
エラー関連
Zedのパフォーマンスが悪い場合
ZedはVulkanを使用しているため、Zedを効果的に実行するためにはGPUが必要となる。
パフォーマンスに問題がある場合、あるいは、Zedがロードできない場合、Vulkanが原因の可能性がある。
AMD GPUを使用している場合、"Broken Pipe"エラーが発生する可能性がある。
この場合は、RADVまたはMesaドライバを使用する。
"Zed failed to open a window." エラーが出力される場合は、Vulkanが互換性のあるGPUを見つけられないことを意味する。
"NoSupportedDeviceFound" エラーが出力される場合は、Vulkanが互換性のあるGPUを見つけられないことを意味する。
vulkan-toolsパッケージをインストールすることにより、Vulkanのトラブルシューティングを開始できる。
vkcube コマンドを実行することにより、現在のグラフィック設定および回転するキューブが表示される。
もし、表示されない場合は、Vulkan互換GPUドライバをインストールすることで解決できる。
ただし、例えば、ARMベースのMacOS上でLinuxを実行している場合は、Vulkanがサポートされていない場合もある。
vkcube
"ERROR_INITIALIZATION_FAILED" エラー、あるいは、"GPU Crashed、ERROR_SURFACE_LOST_KHR" エラーが表示される場合、
GPUに別のドライバをインストールする、または、別のGPUを選択して実行することにより回避できる可能性がある。
ディスクリートGPUではなく統合GPUを選択してZedを起動する場合、Zedを実行する前に環境変数 DRI_PRIME を 1 に設定することにより変更できる。
export DRI_PRIME=1 cd /<Zedのインストールディレクトリ>/bin ./zed
Mesaを使用している場合、GPUの選択について更に制御する場合は、以下に示すコマンドを実行して利用可能なGPUのリストを取得する。
MESA_VK_DEVICE_SELECT=xxxx:yyyyのように個別に指定することにより、特定のGPUを選択することもできる。
export MESA_VK_DEVICE_SELECT=list zed --foreground
amdvlkを使用している場合、sudo $(which zed) コマンドで実行する時のみ、Zedが起動する場合がある。
これを修正するには、amdvlkとlib32-amdvlkパッケージをアンインストールして、mesa/vulkanをインストールする。
OpenSSLエラー
システムがFIPSモードで動作している場合 (/proc/sys/crypto/fips_enabledが1に設定されている場合)、Zedが起動しない場合がある。
zed --foreground コマンドを実行する時、以下に示すようなエラーが出力される。
crypto/fips/fips.c:154: OpenSSL internal error: FATAL FIPS SELFTEST FAILURE
この時、Zedのインストールディレクトリにあるlibディレクトリから、libsslライブラリおよびlibcryptoライブラリを削除する。
rm /<Zedのインストールディレクトリ>/lib/libssl.so* rm /<Zedのインストールディレクトリ>/lib/libcrypto.so*
これにより、Zedはシステムのlibsslとlibcryptoライブラリにフォールバックすることができる。
APIキーが認識されない
環境変数で設定した APIキーが認識されない場合は、Zedを完全に終了してから再起動する。
シェルの設定ファイルを変更した後は、新しいターミナルセッションを開いてからZedを起動する必要がある。
GLMモデルがモデルセレクタに表示されない
settings.jsonファイr の openai_compatible セクションのJSON構文が正しいことを確認する。
特に、既存の language_models ブロック内に正しくネストされているかを確認する。
設定ファイルを保存した後、[Agent Panel]の設定画面を1度閉じて再度開くと反映される場合がある。
Claude Agentの認証エラー
Claude Agentの認証は、[Zed Agent Panel]のAnthropic APIキー設定とは独立している。
Claude Agentスレッド内で /login コマンドを再実行して、認証をやり直す。
スレッドでエラーが発生した場合
スレッドの内容をMarkdownとして開くことができる。
コマンドパレットから agent: open thread as markdown を実行する、または、パネルのエディタにフォーカスした状態でファイルアイコンボタンを選択する。
これを、GitHub Issueに添付して報告すると、問題の解決に役立つ。
参考リンク
- Zed AI Configuration (公式ドキュメント)
- Zed LLM Providers (公式ドキュメント)
- Zed External Agents (公式ドキュメント)
- Zed Agent Panel (公式ドキュメント)
- Zed Agent Settings (公式ドキュメント)
- Zed AI Models and Pricing
- Z.AI Thinking Mode Documentation
- Migrate to GLM-5 Guide
- OpenCode Documentation
- OpenCode ACP Support
- OpenCode - ACP Agent (Zed公式)
- Zed Agent Client Protocol (ACP) 概要