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

大佬, 请问一下这个是什么问题呢?
我在 Emacs 使用, 询问和返回都正常, 唯独让它 architect 优化一下代码就会卡死 Emacs, 感觉像是存在 diff 输出就会卡死?(仅仅单独返回优化那些代码不存在diff高亮时就可用) 我该怎么排查问题呢?
已知: Question this Code 返回是没有问题的
我用的模型:
(aidermacs-architect-model “gemini/gemini-2.0-flash-thinking-exp-01-21”)
(aidermacs-default-model “gemini/gemini-2.0-flash”)
系统环境: Emacs 30.1(正式版), Windows

经过多次测试总结: 只有存在 diff 样式代码就会卡死 Emacs …

我明白了,这是gemini系的diff和claude系还有deepseek系不一样的原因,代码没考虑到这种形式。

AI就是这麻烦,明明是diff,每家形式都能做的不一样

我没办法复现你这种udiff,所以没办法复现卡死的问题,只能盲修了,你git pull试试有没有效果。要是还有问题,你在aidermacs repo里给aidermacs描述一下你的问题,让AI加一堆debug message,然后看看具体卡在哪了。

使用最新的 Aidermacs 还是一样会卡死 Emacs, 这是我在 github 提交的说明

你有没有试过 emacs -Q 加载 aidermacs ,有没有可能和其他插件冲突了?

已经 emacs -Q 测试过了, 还是会卡死 Emacs

Aidermacs上线 melpa 啦!

7 个赞

加到 nongnu 也不错 emacs/nongnu.git - NonGNU ELPA

其实 GNU ELPA / Non GNU ELPA 的流程并不难走。甚至都不需要向 MELPA 那样自己写 PR 加到软件仓库以及调通 package recipe 和跑通 build CI。

直接写一封邮件给 emacs-devel 邮件列表,说你有一个 package 想要加入 Non GNU ELPA 或者是 GNU ELPA 就行了。不需要自己交 PR 和写 package-recipe,Stefan Monnier 会帮你把剩下的工作全部搞定的。

Stefan Monnier code review 要比 MELPA 这边严格一些。但是如果已经通过了 MELPA 的 code review,通过 ELPA 的也并不是问题,就是一些 minor 的细节调整就行了。

我上周日把我的一个 package 提交给了 GNU ELPA,两天时间已经通过了 code review,现在就等我的 FSF paperwork 完成就已经可以并入 ELPA 了,效率还是很可以的。具体的沟通交流过程可以参考 [ELPA] New Package: minuet-ai.el

鉴于 Aidermacs 已经有了 21 个合作者,那让每一个贡献大于 15 行的作者都完成 FSF paperwork 有点不现实,因此申请加入 Non GNU ELPA 就可以了,也不需要任何的 paperwork 的要求.

3 个赞

是没啥区别。

社区大佬帮Aidermacs支持tramp啦!

1 个赞

已提交,等待回复

3 个赞

我看见有大牛已经 review 代码了,邮件贴出 diff 了

我已经合并diff了哈哈哈哈

合并 diff 之后,记得 emacs-devel 给大佬反馈一下

嗯哼,你们没收到邮件吗

我一般网页看 emacs-devel 的归档 :rofl:

image

根据这段时间的使用我优化了一下Code Action,现在cre会根据你有没有highlight region来判断要不要把你选中的部分放入context。

1 个赞

使用aideremacs是必须要安装 vterm吗,我执行命令,每次都要提醒我编译 vterm。我是 MBP apple Silicon,编译 vterm有问题。

大佬您好,我在试用aidermacs过程中,发现并没有code的高亮和触发ediff

本地模型:Ollama/qwen2.5-coder:7b 系统环境:Emacs master (emacs -Q), macOS aidermacs的配置

(use-package aidermacs
  :load-path "~/demacs/straight/build/aidermacs/"
  :bind (("C-c a" . aidermacs-transient-menu))
  :custom
  (aidermacs-default-model "ollama_chat/qwen2.5-coder:7b")
  (aidermacs-backend 'comint)
  :config
  (aidermacs-setup-minor-mode)
  (setenv "OLLAMA_API_BASE" "http://127.0.0.1:11434")
  (add-to-list 'display-buffer-alist
               `("\\*aidermacs.*\\*"
                 (display-buffer-pop-up-window)))
  )