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-acpcodex-acpgemini-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-shellacp.elshell-maker)で利用可能。use-packageまたはDoomの package! マクロでインストール可能です。

一般的なワークフロー

  1. 使用したいエージェントの外部CLIをインストール(例:npm install -g @agentclientprotocol/claude-agent-acp)。
  2. Emacs設定に agent-shell を追加し、オプションで認証変数を設定。
  3. M-x agent-shell(またはプロバイダ固有のコマンド)を実行してバッファを開く。
  4. プロンプトを入力し、RET を押すと、LLMの応答がEmacs内に直接表示されます。画像やスクリーンショットを貼り付けることもでき、バックエンドが対応していればエージェントに送信されます。

なぜ重要か – 現代のLLMコードアシスタントの力を、伝統的なEmacsワークフローに取り入れることで、開発者がエディタ内に留まりながら、コード生成、レビュー、デバッグ、またはその他のエージェント駆動タスクにAIを活用できるようになります。


このプロジェクトはAI補助開発のための本格的なソフトウェアツールであり、単なるリストやチュートリアルではありません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト