☰
Emacs原生AI编程Agent终端agent-shell:一次接入19款LLM智能体的终极指南
2026/10/9 20:06:56 网站建设 项目流程

Emacs原生AI编程Agent终端agent-shell:一次接入19款LLM智能体的终极指南

【免费下载链接】agent-shellA native Emacs buffer to interact with LLM agents powered by ACP项目地址: https://gitcode.com/gh_mirrors/ag/agent-shell

agent-shell是一个运行在 Emacs 内的原生 AI 编程 Agent 终端,它基于 ACP(Agent Client Protocol)协议,让你在一个 Emacs 缓冲区里就能接入并驾驭 Claude、Gemini、Codex 等 19 款 LLM 智能体——无需切换终端、无需浏览器,打字、审 diff、批准权限全部就地完成。

它是什么?为什么值得关注

传统玩法是"终端跑 CLI Agent + 编辑器写代码"两屏切换,而 agent-shell 把 Agent 的交互界面直接做成了 Emacs 主模式(major mode)。它底层依赖 acp.el 通信库,通过 ACP 协议与各智能体进程对话,因此只要一个 Agent 支持 ACP,agent-shell 就能"零适配成本"接入。

核心源码都在仓库根目录,可按需阅读:

  • 主程序与主模式:agent-shell.el
  • 聊天风格标签模式:agent-shell-chat-mode.el
  • SUI 块折叠/导航 UI:agent-shell-ui.el
  • 视口(Viewport)交互界面:agent-shell-viewport.el

上图虽名为 slash-commands,展示的是 agent-shell 把 Agent 暴露的 /commands 技能列表(如 /memory)渲染成可展开面板的效果——这是它与 CLI Agent 最大的体验差异之一:斜杠命令变成了 Emacs 里的原生 UI。

一次接入:19款LLM智能体全家福

agent-shell 内置了几乎所有主流编码 Agent 的启动配置(agent-shell-agent-configs),覆盖 19 款智能体,每款对应一个独立的接入模块:

智能体厂商接入模块
Claude AgentAnthropicagent-shell-anthropic.el
CodexOpenAIagent-shell-openai.el
Gemini CLI / AntigravityGoogleagent-shell-google.el、agent-shell-antigravity.el
GooseBlockagent-shell-goose.el
Grok BuildxAIagent-shell-xai.el
CursorAnysphereagent-shell-cursor.el
Kimi Code月之暗面agent-shell-kimi.el
CodeBuddy腾讯agent-shell-codebuddy.el
Qwen Code阿里agent-shell-qwen.el
Qoder CLI阿里agent-shell-qoder.el
AuggieAugmentagent-shell-auggie.el
Mistral VibeMistralagent-shell-mistral.el
Factory DroidFactoryagent-shell-droid.el
Kiro CLIAWSagent-shell-kiro.el
JunieJetBrainsagent-shell-junie.el
OpenCodeSSTagent-shell-opencode.el
ClineClineagent-shell-cline.el
Pi / Oh My Pi社区agent-shell-pi.el、agent-shell-omp.el
GitHub CopilotGitHubagent-shell-github.el

最快安装与启动步骤

  1. 安装 Emacs 包(MELPA 已收录 agent-shell 及其依赖 acp、shell-maker),例如用use-package加入:ensure t,并可顺带声明 Agent CLI 的系统包安装命令;
  2. 在系统终端安装你想用的 Agent CLI(如 Claude Agent 需要npm install -g @agentclientprotocol/claude-agent-acp,Gemini CLI 需要支持--experimental-acp的版本),并完成一次登录/鉴权;
  3. 在 Emacs 里执行M-x agent-shell,从候选列表选择智能体即可开工;加C-u前缀可强制新建会话。

如果偏好源码方式获取:

git clone https://gitcode.com/gh_mirrors/ag/agent-shell

Doom Emacs 用户只需package! agent-shell后执行doom sync。完整配置示例见 README.org 的 Setup 章节。

日常使用:像聊天一样驱动编码Agent

进入 shell 缓冲区后,操作非常直觉:

  • RET发送提示词;M-J换行;TAB / Shift-TAB在权限按钮等交互元素间移动
  • C-c C-c中断当前 Agent 操作
  • C-c C-w快速开/复用当前项目的 agent-shell
  • 头部显示当前模型与会话模式,C-c C-v切换模型、C-c C-m切换模式、C-c C-t调整思考强度(reasoning effort),C-循环模式

几个面向老手的设计细节:

  • 忙碌时可继续输入:Agent 忙时提交的提示词默认进入队列(agent-shell-prompt-queue.el),支持合并提交;Claude/Codex 还支持steer——把新指令直接"插"进正在进行的回合,及时纠偏而无需等它跑完。
  • 视口模式:C-c C-o打开 Viewport,一次只看一轮"提问-回答",r回复、b/f翻页,适合逐轮审阅(agent-shell-viewport.el)。
  • 文件与截图直发:@输入触发文件补全(agent-shell-completion.el),M-x agent-shell-send-screenshot截屏发给 Agent,拖拽文件进缓冲区也会自动以@path附上。
  • diff 审阅:Agent 改文件前会弹出 Emacs 原生 diff 缓冲区(agent-shell-diff.el),逐块或一键接受/拒绝。

用Traffic视图看透ACP协议

出问题时,agent-shell 内置的协议流量查看器能帮你对齐"到底是 Agent 的锅还是客户端的锅":打开日志(M-x agent-shell-toggle-logging)复现问题,再M-x agent-shell-view-traffic,即可看到结构化的 ACP 请求/响应流,例如一条session/request_permission里携带的 allow/reject 选项,一目了然。

进阶玩法速览

  • MCP 服务器统一配置:设置agent-shell-mcp-servers,一次配置、所有 Agent 共享;
  • 容器化运行:通过agent-shell-command-prefix把 Agent 跑进 Devcontainer/Docker,agent-shell-devcontainer.el 还能自动解析容器内外路径;
  • git worktree 隔离:M-x agent-shell-new-worktree-shell自动建 worktree 再开 Agent,多路实验互不干扰(agent-shell-worktree.el);
  • Markdown 渲染:Agent 输出的 Markdown 由内置渲染器实时呈现,支持代码块高亮、图片缩放(agent-shell-markdown.el);
  • 事件订阅:agent-shell-subscribe-to可监听回合完成、工具调用等事件,方便对接通知、HUD 等生态插件。

结语

agent-shell 的价值在于"一次接入、处处一致":19 款 LLM 智能体共用同一套 Emacs 原生交互——补全、diff、权限、队列、流量调试一应俱全。装好 Emacs 包、装好一个 Agent CLI,M-x agent-shell之后你就可以专注于写代码本身了。完整功能清单、按键表和自定义变量请查阅仓库内的 README.org,更多细节与更新日志见 blog-post.org。

【免费下载链接】agent-shellA native Emacs buffer to interact with LLM agents powered by ACP项目地址: https://gitcode.com/gh_mirrors/ag/agent-shell

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询