在 Emacs 裡折騰 AI 助手,過去通常得靠外部指令碼、終端切來切去,或者塞進各種輪子的半吊子補丁。agent-shell 想換個思路:直接把 LLM agent 請進 Emacs 的一個原生 buffer 裡,讓你用熟悉的編輯方式跟模型對話,而不是臨時開個瀏覽器。
這個專案到底做了什麼
專案作者 xenodium 寫了個 Emacs 包,核心是藉助 ACP(Agent Client Protocol) 與 LLM agent 通訊。ACP 是最近興起的一套開放協議,類比 LSP 之於程式碼補全,它給客戶端和後端 agent 之間定義了標準介面。這意味著你可以在 Emacs 裡通過一個 buffer 發起請求,接收流式輸出,甚至管理多個 agent 會話。
它不像很多教程裡教的那樣,只是把幾個 prompt 模板綁到快捷鍵上。而是提供了一個真正的互動緩衝區,模型輸出以文字流的形式呈現,你可以繼續在同一片地方追問、修改上下文,整個過程不離開 Emacs。
典型使用場景
對長期泡在 Emacs 裡的開發者來說,這解決了一個很現實的問題:寫程式碼時想快速請 LLM 解釋一段 Lisp、重構一個函式,或者直接在草稿裡生成程式碼片段。以前要 alt-tab 到別的應用,現在只要切換 buffer 就行。更妙的是,因為協議統一,未來可以插拔不同的 agent 後端,而不需要重學一套繫結。
- 在 Emacs 內直接發起 LLM 對話,無需切換視窗
- 基於 ACP 協議,理論上支援符合標準的任何 agent
- 以 buffer 形式儲存會話,天然融入 Emacs 的檔案管理、搜尋和編輯生態
上手難度與專案現狀
安裝過程並不複雜,從 GitHub 拉取包,設定好載入路徑,再配置一下 ACP agent 的可執行檔案就行。但這需要你對 Emacs Lisp 有最基本的認識——至少知道 use-package 或 straight.el 怎麼用。如果你平時只用 Spacemacs 或 Doom 的現成配置,這一步可能稍微有點門檻。
專案目前 star 數接近 1700,在 Emacs AI 生態裡算是相當活躍了。作者還維護著相關的文件和討論,社羣反饋也比較集中。不過它仍然是個比較「折騰」的工具,不適合指望開箱即用的使用者。
說點實在的
這種做法的好處是深度整合,壞處是生態繫結太強。如果你不是 Emacs 使用者,這專案基本與你無關;但如果你是,並且願意花半小時配置,它會是一個相當順手的 LLM 入口。跟很多把 AI 功能硬塞進編輯器的外掛相比,agent-shell 尊重了 Emacs 原有的互動模式——你依然用 buffer 思考,只是裡面多了一個能聊天的對象。
值得留意的是,ACP 協議還在早期階段,agent 生態也遠沒像 LSP 那樣成熟。現在入坑能嚐鮮,但別指望它短期內做到類似 Copilot 的順滑。對喜歡折騰的 Emacs 黨來說,這恰恰是樂趣所在。










評論
暫無評論
成為第一個評論的人