概要
acp.el は、Emacsで ACP (Agent Client Protocol) を利用可能にする新しいクライアントライブラリ。 agent-shell は、Emacs上でエージェントと対話できるシェル環境を提供。 複数のAIエージェント(例:Gemini, Claude Code)を 統一的な操作感 で切り替え可能。 トラフィック監視 や フェイクエージェント によるデバッグ機能も搭載。 GitHubで公開中、フィードバックや支援を歓迎。
EmacsでAIエージェントを自在に操る:agent-shellとacp.elの紹介
- acp.el は、 Zed と Google が策定した Agent Client Protocol (ACP) をEmacsで実装したパッケージ。
- chatgpt-shell の開発経験を活かし、AIエージェントとの連携を Emacs 上で実現。
- agent-shell は、 comint-mode をベースにしたEmacsネイティブのシェルバッファ。
- 通常のEmacsバッファと同様の操作性。
- char/lineモードの切り替え不要。
- エージェント非依存設計 により、複数のAIエージェントを統一プロトコルで利用可能。
- 設定例:Gemini CLIとClaude Codeの切り替え。
- Gemini用:APIキー認証、コマンドパラメータ設定
- Claude Code用:Anthropic APIキー環境変数設定
- 設定例:Gemini CLIとClaude Codeの切り替え。
- 他のエージェントにも対応可能。Pull Requestも歓迎。
トラフィック監視とフェイクエージェント
- acp.el のプロトコル理解を深めるため、 トラフィック監視バッファ を開発。
M-x agent-shell-view-trafficで通信内容を確認可能。
- 有料エージェント の利用コスト削減と開発効率向上のため フェイクエージェント 機能を実装。
- 通信内容(トラフィック)を保存し、後でリプレイ可能。
- 問題のあるセッションを1回記録→何度も再生してデバッグ
- リプレイには制約もあるが、実用面で十分効果あり。
今後の展望とユーザーへの呼びかけ
- Agent Client Protocol Schema の実装はまだ発展途上。
- 利用体験(UX)をEmacsらしく進化させるため、継続的に改善予定。
- 例:許可ダイアログ横にn/pキーで操作できるdiffバッファの実験
- agent-shell と acp.el はどちらも GitHub で公開中。
- 一般ユーザーはagent-shell
- パッケージ開発者はacp.elを推奨
- バグ報告 や 機能要望、 資金援助 を歓迎
- クラウドLLMサービス利用者は、支援も検討
- 企業利用者は、会社からの支援も呼びかけ
関連リンク・追加情報
- 最新情報・改善点: https://xenodium.com/agent-shell-0-5-improvements
- パッケージ配布先: GitHub(agent-shell, acp.el)
- 運営: LMNO.lol
- ポリシー: privacy policy · terms of service
agent-shell と acp.el は、EmacsユーザーにとってAIエージェント活用の新たな道を切り拓くパッケージ。 気軽に試して、フィードバックや支援で開発を盛り上げてほしい。