Emacs agent-shell (powered by ACP)

https://news.ycombinator.com/rss Hits: 19
Summary

██ ██ ███████ ███ ██ ██████ ██████ ██ ██ ██ ███ ███ ██ ██ ██ ████ ██ ██ ██ ██ ██ ██ ██ ██ ████ ████ ███ █████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ███████ ██ ████ ██████ ██████ ██ ██████ ██ ██ September 25, 2025 Not long ago, I introduced acp.el, an Emacs lisp implementation of ACP (Agent Client Protocol), the agent protocol developed between Zed and Google folks. While I've been happily accessing LLMs from my beloved text editor via chatgpt-shell (a multi-model package I built), I've been fairly slow on the AI agents uptake. Probably a severe case of old-man-shouts-at-cloud sorta thing, but hey I want well-integrated tools in my text editor. When I heard of ACP, I knew this was the thing I was waiting for to play around with agents. With an early acp.el client library in place, I set out to build an Emacs-native agent integration… Today, I have an initial version of agent-shell I can share. agent-shell is a native Emacs shell, powered by comint-mode (check out Mickey's comint article btw). As such, we don't have to dance between char and line modes to interact with things. agent-shell is just a regular Emacs buffer like any other you're used to. Agent-agnostic Thanks to ACP, we can now build agent-agnostic experiences by simply configuring our clients to communicate with their respective agents using a common protocol. As users, we benefit from a single, consistent experience, powered by any agent of our choice. Configuring different agents from agent-shell boils down which agent we want running in the comms process. Here's an example of Gemini CLI vs Claude Code configuration: (defun agent-shell-start-gemini-agent () "Start an interactive Gemini CLI agent shell." (interactive) (agent-shell--start :new-session t :mode-line-name "Gemini" :buffer-name "Gemini" :shell-prompt "Gemini> " :shell-prompt-regexp "Gemini> " :needs-authentication t :authenticate-request-maker (lambda () (acp-make-authenticate-request :...

First seen: 2025-10-12 21:20

Last seen: 2025-10-13 15:24