Aidermacs:Emacs 里的 AI 代码助手,真正适配 Emacs 的 Aider 体验

是的,还真是,太牛了

请问能连本地的ollama么?

我没连过,但理论上这样就可以:Ollama | aider

Aider 使用 thinking tokens的方法我已经加进README了,目前必须走config file :GitHub - MatthewZMD/aidermacs: AI Pair Programming in Emacs

aidermacs.el里面require了aidermacs-doom,但是实际上没有这个库,导致启动错误。实测去掉这个require在doom下可以运行。

diff --git a/aidermacs.el b/aidermacs.el index efb2e33…cbe6b4d 100644 — a/aidermacs.el +++ b/aidermacs.el @@ -21,8 +21,8 @@

(require 'aidermacs-backends) (require 'aidermacs-models) -(when (featurep 'doom)

  • (require 'aidermacs-doom)) +;; (when (featurep 'doom)
  • ;; (require 'aidermacs-doom))

(defgroup aidermacs nil “Customization group for the aidermacs package.”

修复了,请git pull一下。

我不用Doom,文件也一直没有维护,所以就去掉了。

把文件放回来了。

不好意思,问个弱问题 我一直没搞明白这个model自动搜索规则 目前我只有openrouter,没有anthropic账号(好像除了要翻.墙之外还要有外部手机号之类的)

在init.el里设置了OPENROUTER_API_KEY,可是同样的设置在两台电脑里搜出的model不大一样,而且有些想要的model搜不到,比如gemini一些免费的实验版。 我用的是github上今天刚刚pull下来的插件版本,openrouter上也已经有了claude 3.7,也没在搜索结果里

阅读了README里也没有找到如何直接指定想要的MODEL,假设支持这个需求的话能不能举个配置的例子,这样对于普通使用者以后就可以依样画葫芦用起来

谢谢啦

还遇到一个问题,menu里提供的"L"键,好像是导出功能,但是直接报错了

menu-bar-update-yank-menu: Wrong type argument: stringp, nil

从需求角度,如果输出能有选项对orgmode支持的话,对我来讲很有吸引力

是根据你已经设置的API_KEY自动跟api.openai.com等端口连接,连上了就加进list

README这部分写了要调整aidermacs-default-model,比如你用openrouter,这样设置就好啦:

(setq aidermacs-default-model "openrouter/anthropic/claude-3-7-sonnet")

我好像没办法复现你的错误哇,这个功能对你基本没什么用,不是导出,而是复制Aider最后的输出。

aidermacs-show-output-history就是org-mode呀

openrouter/anthropic/claude-3-7-sonnet是可以用的,不过太贵了,不适合常用

想常用免费的比如openrouter/google/gemini-2.0-pro-exp-02-05:free,可是这个没法搜到

这个可以:)

确实好像没法搜到,你暂时先用(setq aidermacs-default-model 吧,这个功能是社区贡献的,我有空研究一下是咋回事

1 个赞

你在aider里面跑/models /,会发现这个模型直接不在选择里面,是Aider上游去掉的

顶着锅盖来说一句,希望不要被骂。在aider.el里,换常用的model, setq aider-popular-models就完事了: aider.el/aider.el at main · tninja/aider.el · GitHub. top的model在leadboards里: Aider LLM Leaderboards | aider, 其他的model, aider的/models命令就可以查: In-chat commands | aider

说实话,我连这个都很难用到,好像也很少碰到在一个session里换model的事情。session level的model, 直接在aider-args里配置就完事了: aider.el/aider.el at main · tninja/aider.el · GitHub 详细参数看aider自己的文档就行: Options reference | aider

code也好,config也好,本来就不是越多越好,东西越多,对用户来说,要记忆的就越多,对开发者来说,要maintain的就越多。而且坏了还得修。

一位老码农

你不会用到,别人会用到,我会用到。现在模型竞争激烈,每个价格不同,效果不同,时间不同,不同的模型就应该做不同难度的任务,有个方便的接口切换是利己利人,省钱省事省时间,更何况对于老Emacser来说,这点elisp又不难,维护起来不花时间,大家都开心,多好啊。你可以按照你的方式维护 Aider.el,毕竟适合自己的最重要。

时代变了,老码农建议多了解一下其他年轻人是怎么用AI的,可以适当减少过来人指点别人的习惯,花些时间去理解其他人的方法和想法,接受每人都有与AI交互的不同需求,保持学习的心态才能更好地适应这个 AI 时代。

2 个赞

vterm下,怎么打不开Emacs-rime

正常vterm可以打开emacs-rime吗?

也是不行的。应该是需要向vterm send C-\