| name | zed-editor |
| description | Zed Editorの特徴、ACP(Agent Client Protocol)の仕様、AI統合、パフォーマンス特性、設定方法について包括的な知識を提供します。Zed Editorに関する質問、ACP対応エージェントの統合、設定のカスタマイズが必要な場合に使用してください。 |
| allowed-tools | Read, Write, Edit, Bash, WebFetch, WebSearch |
Zed Editor Skill
このスキルは、Zed Editorとその革新的なAgent Client Protocol (ACP)について包括的な知識を提供します。
Zed Editorとは
Zed は、Rustで完全に書き直された次世代のコードエディタです。以下の特徴を持ちます:
コア特性
- 高速パフォーマンス: 複数のCPUコアとGPUを効率的に活用
- 起動時間が極めて高速
- UIインタラクションの遅延がほぼゼロ
- タイピング遅延が最小限
- Rust製: メモリ安全性とパフォーマンスを両立
- オープンソース: Apache License 2.0の下で公開
主要機能
1. AI統合
- Agentic Editing: エージェントに作業を委譲し、進捗をリアルタイムで追跡
- Edit Prediction: 次の入力を予測するオープンソース言語モデル
- Inline Assistant: 選択したコードをLLMに送信して変換
- Text Threads: プレーンテキストインターフェースでLLMと対話
2. コラボレーション機能
- チームメンバーとのチャット
- 共同でのノート作成
- スクリーンとプロジェクトの共有
- すべてデフォルトで利用可能
3. 開発者機能
- Language Server Protocol対応
- アウトラインビュー
- リモート開発
- マルチバッファ編集
- Vimバインディング
- デバッガ
- Git統合
Agent Client Protocol (ACP)
ACPの概念
ACPは、コードエディタとAIコーディングエージェント間の通信を標準化するプロトコルです。Language Server Protocol (LSP)がIDEから言語インテリジェンスを切り離したように、ACPはエディタからAIエージェントを切り離します。
┌─────────────┐ ACP ┌──────────────┐
│ Editor │◄──────────────────►│ Agent │
│ (Client) │ JSON-RPC/stdio │ (Server) │
└─────────────┘ └──────────────┘
ACPの設計原理
- エディタ非依存: どのエディタでも同じエージェントが動作
- 標準化された通信: JSON-RPCを使用したstdio通信
- MCPとの統合: Model Context Protocol (MCP)の仕様を可能な限り再利用
- セキュリティ: エディタがファイル、ターミナル、ツールへのアクセスを仲介
技術仕様
通信方式
- プロトコル: JSON-RPC over stdio
- 起動: エージェントプロセスはコードエディタによって起動
- スキーマ:
schema/schema.jsonで標準化
公式SDK
| 言語 | パッケージ名 | 配布場所 |
|---|---|---|
| TypeScript | @agentclientprotocol/sdk |
NPM |
| Rust | agent-client-protocol |
crates.io |
| Kotlin | acp-kotlin |
JVM(他ターゲット開発中) |
エコシステム
サポートされているエディタ
- Zed: ネイティブサポート
- Neovim: CodeCompanion、avante.nvim
- Emacs: agent-shell plugin
- JetBrains IDEs: 開発中(公式連携)
- Eclipse: プロトタイプ実装
- marimo: Python notebook環境
サポートされているエージェント
- Claude Code: Anthropic製(パブリックベータ)
- Gemini CLI: Google製(デフォルト)
- Codex CLI: OpenAI製
- カスタムACP対応エージェント
Zed EditorでのACP使用方法
デフォルトエージェントの使用
Gemini CLI
{
"bindings": {
"cmd-alt-g": ["agent::NewExternalAgentThread", { "agent": "gemini" }]
}
}
認証方法:
- Googleログイン
- Gemini APIキー
- Vertex AI
Claude Code
- 初回起動時に自動インストール
/loginコマンドで認証(APIキーまたはClaude Pro)- カスタム実行ファイルの設定(オプション):
{
"agent_servers": {
"claude": {
"env": {
"CLAUDE_CODE_EXECUTABLE": "/path/to/executable"
}
}
}
}
Codex CLI
認証方法(3種類):
- ChatGPTアカウント
CODEX_API_KEY環境変数OPENAI_API_KEY環境変数
カスタムエージェントの追加
任意のACP対応エージェントを追加できます:
{
"agent_servers": {
"Custom Agent": {
"command": "node",
"args": ["~/projects/agent/index.js", "--acp"],
"env": {
"CUSTOM_ENV_VAR": "value"
}
}
}
}
デバッグ
コマンドパレット → "dev: open acp logs" でエージェント間の通信メッセージを確認できます。
Claude Code in Zed
統合の特徴
Zedは、Claude Codeをネイティブに統合しています:
- リアルタイムトラッキング: 複数ファイルにわたる変更を構文ハイライトと共に追跡
- 細かいコードレビュー: マルチバッファ形式で個別の変更を承認/却下
- タスクリストの可視化: サイドバーに永続的に表示
- カスタムワークフロー: スラッシュコマンド対応
技術アーキテクチャ
Zedはアダプター方式を採用:
- Claude Code SDKの操作をACPのJSON RPC形式に変換
- Claude Codeは独立して動作
- ZedがUIレイヤーを提供
アダプターはApacheライセンスでオープンソース化されており、他のACP対応エディタでも利用可能です。
現在の制限事項
ベータ版では以下の機能が未サポート:
- Plan mode
- 組み込みスラッシュコマンド
これらはAnthropicによるSDK拡張待ちです。
MCP (Model Context Protocol) との関係
MCPサポート状況
| エージェント | MCPサポート |
|---|---|
| Claude Code | ✅ 対応 |
| Codex CLI | ✅ 対応 |
| Gemini CLI | ❌ 未対応 |
MCPとACPの違い
- MCP: モデル(AI)がコンテキスト(データ)にアクセスするためのプロトコル
- ACP: エディタとエージェント間の通信プロトコル
- 関係: ACPはMCPの仕様を可能な限り再利用しつつ、独自の型も追加
パートナーシップとエコシステム
JetBrains連携
JetBrainsとZedは、ACP駆動の体験をJetBrains IDEでネイティブに実装する取り組みを進めています:
- JetBrains IDEでのネイティブな統合
- エコシステム全体での互換性維持
- オープンで移植可能な実装
コミュニティの広がり
ACPは、複数のエディタコミュニティで採用されています:
- Neovim: 2つのプラグインで実装
- Emacs: agent-shellプラグイン
- marimo: Pythonノートブック環境
- Eclipse: プロトタイプ実装
設定ファイルの場所
Zed設定ファイル
| 設定タイプ | ファイルパス |
|---|---|
| ユーザー設定 | ~/.config/zed/settings.json |
| キーバインド | ~/.config/zed/keymap.json |
| エージェント設定 | settings.jsonのagent_serversセクション |
設定例
{
// 基本設定
"theme": "One Dark",
"vim_mode": true,
// エージェント設定
"agent_servers": {
"claude": {
"env": {}
},
"gemini": {
"env": {}
}
},
// キーバインド
"bindings": {
"cmd-alt-c": ["agent::NewExternalAgentThread", { "agent": "claude" }],
"cmd-alt-g": ["agent::NewExternalAgentThread", { "agent": "gemini" }]
}
}
ベストプラクティス
エージェント選択の指針
- Claude Code: 複雑なコード編集、リファクタリング、アーキテクチャ設計
- Gemini CLI: Google Cloud連携、Vertex AI利用
- Codex CLI: OpenAI APIとの統合
パフォーマンス最適化
- 不要なエージェントは無効化
- デバッグログは必要時のみ有効化
- 大規模プロジェクトでは言語サーバーの設定を調整
セキュリティ考慮事項
- 信頼できるソースのみ: エージェントは信頼できるソースからのみインストール
- 環境変数の管理: APIキーは環境変数で管理
- アクセス制御: エージェントのファイルアクセスを適切に制限
トラブルシューティング
エージェントが起動しない
- ACPログを確認:
dev: open acp logs - 実行ファイルのパスを確認
- 環境変数が正しく設定されているか確認
認証エラー
- APIキーの有効期限を確認
- 環境変数の設定を確認
- エージェントの再認証を試行
パフォーマンス問題
- 不要なエージェントを無効化
- Zedのバージョンを最新に更新
- システムリソースの使用状況を確認
参考リンク
公式ドキュメント
ブログ記事
コミュニティリソース
- Zed Discord
- GitHub Discussions
- ACP Ecosystem Projects
まとめ
Zed Editorは、高速なRust製エディタとして、Agent Client Protocolを通じて真にオープンなAIエージェント統合を実現しています。ACPは、LSPが言語ツールに対して行ったことをAIエージェントに対して実現し、開発者に選択肢と柔軟性を提供します。
このスキルを使用することで、Zed Editorの設定、ACPエージェントの統合、トラブルシューティング、最適化を効率的に行うことができます。