大佬, 请问一下这个是什么问题呢?
我在 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
其实 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 个赞
我看见有大牛已经 review 代码了,邮件贴出 diff 了
合并 diff 之后,记得 emacs-devel 给大佬反馈一下

根据这段时间的使用我优化了一下Code Action
,现在c
,r
和e
会根据你有没有highlight region来判断要不要把你选中的部分放入context。
1 个赞
Kinney
161
使用aideremacs是必须要安装 vterm吗,我执行命令,每次都要提醒我编译 vterm。我是 MBP apple Silicon,编译 vterm有问题。
dezzw
162
大佬您好,我在试用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)))
)