【 以下文字由 cppbuilder 同主题转载自 Emacs 讨论区 】
最近沉迷claude code,想简单介绍下Emacs中常见的coding agent/llm。可分为四种:
1, chatbot
早期的代表,例如,gptel。是spacemacs llm-client layer的核心。
2, 补全类
例如copilot.el。需要注意这个是和其他补全方案分离的,也就是说不替代helm/vertico,不替代corfu/company,不替代最原始的M-/补全。copilot.el同时也内置了github copilot的chat接口。可以认为是vscode的克隆
3, ACP类
Agent Client Protocal,也就是Zed用的那一套。目前除了antigravity-cli之外,cli工具几乎都支持这个协议。考虑到gemini cli支持,估计agy-cli只是暂时。代表是agent-shell,支持可以说是非常全面了,以至于启动时下载各家logo都可能卡住。相对来说是成熟,稳定也比较有前途的方案。他家在油管做了好些视频介绍怎么用
其实还有一类和ACP非常类似的方案,比如pi-coding-agent,是通过cli io针对某个特定工具制作的客户端,对于pi/codex这种提供sdk的可能相对不难,如果习惯claude就难了。
4, Terminal类
这个就很直观了,vscode中claude code: open in terminal完全类似的功能。因为走terminal,集成的很精致。一个代表是claude-code-ide.el。terminal可以用eat, vterm, ghostel等。eat有点像eshell,vterm就是古老的那个,ghostel是libghostty的emacs binding。如果你更喜欢在terminal中直接使用claude code,那这应该是Emacs中的首选。
做个小结吧。前两类我就不推荐了,只简单讨论下ACP/Term。这个对比优点像Claude用户用vscode/claude code。用claude code会有独有的harness,会有比ACP更新的特性。但如果你本来就不喜欢用新版软件,同时又需要编辑器古法编程,那ACP很可能是个更好的选择。当然,agent-shell和zed一样都面临的问题就是是否会持续支持,更新功能,这就难说了
--
FROM 115.171.216.*