xenodium/agent-shell
A native Emacs buffer to interact with LLM agents powered by ACP
Emacs Agent Shell
何であるか – agent‑shell は、大規模言語モデル(LLM)エージェントと対話するためのネイティブなREPL風バッファを提供するEmacsパッケージです。このパッケージは Agent Client Protocol (ACP) を介してエージェントと通信しており、多くの商用コードアシスタント(Claude、Codex、Gemini、Goose、Grok Build、Cursor、Kimi Codeなど)で使用される標準化されたJSON-over-stdioインターフェースです。
動作方法 – このパッケージはEmacsの組み込み comint-shell(ヘルパーライブラリ shell-maker を介して)に基づいています。agent‑shell バッファを開始すると、適切な外部CLI(例:claude-agent-acp、codex-acp、gemini-cliなど)が --acp フラグとともに起動されます。CLIはACPモードで実行され、stdinからJSONリクエストを読み取り、stdoutにJSONレスポンスを出力します。agent-shellはプロンプトをフォーマットし、送信し、アシスタントの返答をバッファ内に直接表示します。マルチライン入力、画像の貼り付け、スクリーンショットのキャプチャ、環境変数の設定をサポートしています。
主な機能
- マルチエージェント対応 – ACP互換エージェントであれば何でも使用可能。READMEには数十種類がリストアップされています(Anthropic Claude、OpenAI Codex、Google Gemini、Goose、Grok Build、Cursor、Kimi、CodeBuddy、Kiro、Qwen Code、Auggie、Mistral Vibe、Factory Droid、Pi、Oh‑My‑Pi、Opencodeなど)。
- 豊富なEmacs統合 – ベーシックなEmacs、Doom Emacsと互換性があり、サブサイドバー、ワークスペース、通知、Org-modeトランスクリプト、Dockerサンドボックスなど、拡張機能のエコシステムが成長中です。
- 認証ヘルパー – 各プロバイダ向けにAPIキー、OAuthトークン、ログインベースの認証のための便利な関数を提供。
.envファイルから環境変数を読み込む、またはEmacs環境を継承するユーティリティも備えています。 - 画像およびスクリーンショット処理 – macOS、Linux(Wayland/X11)、Windowsでは外部ツールを介してクリップボードからの画像貼り付けおよび画面キャプチャをサポートしています。
- パッケージ配布 – MELPA(
agent-shell、acp.el、shell-maker)で利用可能。use-packageまたはDoomのpackage!マクロでインストール可能です。
一般的なワークフロー
- 使用したいエージェントの外部CLIをインストール(例:
npm install -g @agentclientprotocol/claude-agent-acp)。 - Emacs設定に
agent-shellを追加し、オプションで認証変数を設定。 M-x agent-shell(またはプロバイダ固有のコマンド)を実行してバッファを開く。- プロンプトを入力し、
RETを押すと、LLMの応答がEmacs内に直接表示されます。画像やスクリーンショットを貼り付けることもでき、バックエンドが対応していればエージェントに送信されます。
なぜ重要か – 現代のLLMコードアシスタントの力を、伝統的なEmacsワークフローに取り入れることで、開発者がエディタ内に留まりながら、コード生成、レビュー、デバッグ、またはその他のエージェント駆動タスクにAIを活用できるようになります。
このプロジェクトはAI補助開発のための本格的なソフトウェアツールであり、単なるリストやチュートリアルではありません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト