xenodium/agent-shell
A native Emacs buffer to interact with LLM agents powered by ACP
Emacs Agent Shell
是什么 – agent‑shell 是一个 Emacs 包,为与大型语言模型(LLM)代理进行对话提供原生的 REPL 风格缓冲区。它通过 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 增强开发的真实软件工具,而非单纯的清单或教程。
相关
- 项目
- 项目
- 项目
- 项目
- 项目