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-acp、codex-acp、gemini-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-shell、acp.el、shell-maker)取得,可透過use-package或 Doom 的package!宏安裝。
典型工作流程
- 安裝所需代理的外部 CLI(例如
npm install -g @agentclientprotocol/claude-agent-acp)。 - 將
agent-shell加入你的 Emacs 設定中,並可選地設定認證變數。 - 執行
M-x agent-shell(或提供者特定命令)以開啟緩衝區。 - 輸入提示,按
RET,即可在 Emacs 內直接閱讀 LLM 的回應。你也可以貼上圖片或截圖,若後端支援,它們將被傳送給代理。
為何重要 – 它將現代 LLM 程式碼助手的強大功能帶入經典的 Emacs 工作流程,讓開發者能留在編輯器內,同時利用 AI 進行程式碼產生、審查、除錯或任何其他代理驅動的任務。
此專案是用於 AI 增強開發的真實軟體工具,而非單純的清單或教學。
相關
- 專案
- 專案
- 專案
- 專案
- 專案