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-acpcodex-acpgemini-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-shellacp.elshell-maker)获取,可通过 use-package 或 Doom 的 package! 宏安装。

典型工作流程

  1. 安装所需代理的外部 CLI(例如 npm install -g @agentclientprotocol/claude-agent-acp)。
  2. agent-shell 添加到你的 Emacs 配置中,并可选地配置认证变量。
  3. 运行 M-x agent-shell(或特定提供者的命令)打开一个缓冲区。
  4. 输入提示,按 RET,即可在 Emacs 内直接阅读 LLM 的响应。你还可以粘贴图像或截图,如果后端支持,它们将被发送给代理。

为何重要 – 它将现代 LLM 代码助手的强大功能带入经典的 Emacs 工作流,使开发者能够在编辑器内停留,同时利用 AI 进行代码生成、审查、调试或任何其他代理驱动的任务。


该项目是用于 AI 增强开发的真实软件工具,而非单纯的清单或教程。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目