跳到正文
FunCoding

搜索

搜索文档、智能体、博客、Skill 和 MCP

聊天模式与会话命令

Aider 的 code / ask / architect / help 四种模式,以及 /add、/drop、/run、/undo 等会话内命令和键位。

四种聊天模式

模式作用
code默认模式,Aider 直接改你的代码来满足请求
ask只讨论和回答关于代码的问题,从不改文件
architect同样会改文件,但分两步:architect 模型提出方案,editor 模型把方案翻译成具体的文件编辑
help回答关于 Aider 本身的问题:用法、配置、排错

提示符会显示当前模式:> 是 code,ask> 是 ask,architect> 是 architect。只对单条消息切换:用 /code、/architect、/ask、/help 加内容,下一条消息会回到当前模式。粘性切换:/chat-mode <mode>,或不带参数的 /code、/architect、/ask;启动时用 --chat-mode <mode>,--architect 是 --chat-mode architect 的简写。

Ask / Code 工作流

推荐在 /ask 和 /code 之间来回切换:先用 ask 讨论方案、让 Aider 给出选项并反馈,意见一致后切到 code 让它动手。此时你可以说得很简短,一句「go ahead」就会按前面讨论的计划执行。可以把它看作用同一个模型完成的、更灵活的 architect 模式。

Architect 与 editor 模型

architect 模式会向两个模型发请求:先把请求发给主模型(/model 或 --model 设置)作为 architect 提出方案;再发给 editor 模型,要求把方案转成具体的文件编辑指令。Aider 会按主模型选默认 editor 模型,也可以用 --editor-model <model> 指定;editor 用的编辑格式用 --editor-edit-format 指定,推荐 editor-diff 和 editor-whole。有些模型不能一次完成「提方案」加「写精确编辑」,配上 editor 模型会更好(文档以 OpenAI o1 为例:推理强但不擅长改文件);代价是两次 LLM 请求,更慢也更贵。

常用会话命令

命令说明
/add把文件加入聊天,让 Aider 可编辑或细看
/read-only加入仅供参考的文件,或把已加入的文件改成只读(/read 同类用途)
/drop移出文件,腾出上下文
/ls列出已知文件,标出哪些在聊天里
/run(别名 !)运行 shell 命令,可把输出加入聊天
/test运行命令,退出码非零时把输出加入聊天
/lint对聊天里的文件(没有则对所有改动文件)做 Lint 并修复
/diff显示自上一条消息以来的改动
/undo撤销上一次由 Aider 做的 git 提交
/commit提交聊天之外做的改动
/git运行 git 命令(输出不进聊天)
/model、/editor-model、/weak-model切换主 / editor / weak 模型
/models搜索可用模型
/reasoning-effort、/think-tokens设置推理强度、思考 token 预算
/tokens统计当前上下文的 token 用量
/clear、/reset清空对话历史;/reset 同时移出所有文件
/map、/map-refresh打印、强制刷新仓库地图
/web抓取网页转成 Markdown 发到聊天
/paste、/voice粘贴剪贴板内容、语音输入
/copy、/copy-context复制上条回复、复制整个聊天上下文
/save、/load保存、执行能复原当前会话文件的命令
/editor打开编辑器写长提示
/multiline-mode切换多行模式(交换 Enter 与 Meta+Enter)
/settings、/report、/help、/exit查看设置、提 issue、提问、退出

随时可以按 Ctrl-C 打断,已收到的部分回复仍留在对话里。交互提示基于 prompt-toolkit,默认 Emacs 键位,加 --vim 切换成 Vi 键位;上方向键翻历史,Ctrl-R 搜索历史。

使用技巧

  • 只把需要修改的文件加入聊天:太多无关代码会干扰模型;Aider 有仓库地图,通常已知道别处相关的类和函数。
  • 把目标拆成小步,边做边 /drop 不再需要的文件、/add 下一步要改的文件。
  • 复杂改动先 /ask 讨论计划,满意后直接说「go ahead」。
  • 卡住时:/clear 重来、/drop 多余文件、先 /ask 讨论、用 /model 换模型再试,实在不行自己写下一步再让 Aider 继续。
  • 要新建文件,先 /add <file>,否则它可能把改动写进已有文件。
  • 修 bug:用 /run 把报错输出发给它,或直接粘贴;测试失败用 /test。
  • 提供文档:粘贴片段、消息里写 URL(Aider 会抓取)、用 /read 读本地文档,或写成约定文件(见「编码约定」)。