xenodium/agent-shell

A native Emacs buffer to interact with LLM agents powered by ACP

Emacs Agent Shell

是什麼agent‑shell 是一個 Emacs 套件,提供原生的 REPL 風格緩衝區,用於與大型語言模型(LLM)代理對話。它透過 Agent Client Protocol (ACP) 與代理通訊,這是一種由許多商業程式碼助手(Claude、Codex、Gemini、Goose、Grok Build、Cursor、Kimi Code 等)使用的標準化 JSON-over-stdio 接口。

如何運作 – 此套件基於 Emacs 內建的 comint-shell(透過輔助程式庫 shell-maker)。當你啟動一個 agent‑shell 緩衝區時,它會以 --acp 標誌啟動相應的外部 CLI(例如 claude-agent-acpcodex-acpgemini-cli 等)。CLI 以 ACP 模式執行,從 stdin 讀取 JSON 請求,並將 JSON 回應寫入 stdout。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. agent-shell 加入你的 Emacs 設定中,並可選地設定認證變數。
  3. 執行 M-x agent-shell(或提供者特定命令)以開啟緩衝區。
  4. 輸入提示,按 RET,即可在 Emacs 內直接閱讀 LLM 的回應。你也可以貼上圖片或截圖,若後端支援,它們將被傳送給代理。

為何重要 – 它將現代 LLM 程式碼助手的強大功能帶入經典的 Emacs 工作流程,讓開發者能留在編輯器內,同時利用 AI 進行程式碼產生、審查、除錯或任何其他代理驅動的任務。


此專案是用於 AI 增強開發的真實軟體工具,而非單純的清單或教學。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案