在 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 党来说,这恰恰是乐趣所在。










评论
暂无评论
成为第一个评论的人