文章摘要
作者介绍了基于ACP协议的Emacs插件agent-shell,这是一个原生集成在Emacs中的AI代理交互环境,通过acp.el客户端库实现,让用户能在文本编辑器中便捷地使用AI代理功能。
文章总结
Emacs agent-shell 简介(基于ACP协议)
2025年9月25日,开发者推出了全新的Emacs插件agent-shell,这是一个基于ACP(Agent Client Protocol)协议的原生Emacs shell环境。
核心功能
技术基础:
- 基于acp.el客户端库(ACP协议的Emacs Lisp实现)
- 采用comint-mode构建,提供标准Emacs缓冲区体验
- 支持多AI代理的无缝切换
代理无关性:
- 通过统一协议支持不同AI代理(如Gemini CLI和Claude Code)
- 提供可定制的shell提示符和认证流程
- 示例配置展示了如何设置不同代理的参数和环境变量
开发辅助工具:
- 流量监控功能(M-x agent-shell-view-traffic)
- 支持流量录制与回放
- 开发了模拟代理功能以降低测试成本
当前进展
- 已实现协议核心功能
- 正在开发差异对比缓冲区功能
- 协议支持仍在完善中
获取方式
- agent-shell:面向终端用户
- acp.el:面向开发者
开发者呼吁使用者通过GitHub赞助支持项目持续发展。
(注:原文中的图片引用、隐私条款等次要内容已酌情删减)
评论总结
评论总结:
- 对Agent Shell的积极评价:
- 用户认为它比终端模拟器更集成自然("feels so much more integrated and natural")
- 新用户体验流畅("It's a really smooth experience for quite a new package")
- 支持多种AI代理("can interact with Claude Code, Gemini CLI, Codex, and Goose")
- 功能建议:
- 希望增加截图展示("I wish that agent-shell-sidebar had some screenshots")
- 期待环境变量文件读取功能("excited for these improvements, especially reading the env from a file")
- 与其他工具的比较:
- 与ECA项目的区别:ECA是编码代理使用LSP类协议,而Agent Protocol支持多种前端使用不同代理("ECA is a coding agent with a LSP-like protocol...where as agent protocol lets you use many agents")
- 用户询问与直接使用Claude Code的优势("why would one want to use this verses using Claude Code directly?")
- 社区期待:
- Neovim用户期待类似功能("I am waiting for someone to build this for Neovim")
- 需要更多赞助支持发展("agent-shell needs more sponsors to become sustainable")