通过网页聊天进行复制粘贴

与LLM网页聊天协同工作

Aider可以通过API连接大多数LLM,这种方式效果最佳。 但在某些情况下,您可能需要通过网页聊天界面与LLM协作:

  • 公司政策可能限制您只能使用专有的网页聊天系统访问LLM
  • 网页聊天版的LLM可能具有独特的上下文访问权限,或针对您的任务进行了特殊微调
  • 通过API使用某些模型的成本可能过高
  • 可能没有可用的API

Aider提供了与网页聊天版LLM协同工作的功能。 这使您可以将网页聊天LLM作为”大型代码架构大脑”, 同时运行aider配合更小、更便宜的LLM来实际修改本地文件。

在这个”文件编辑器”环节, 您可以使用许多开源、免费或非常经济的LLM来运行aider。 例如,上面的演示视频展示了aider使用DeepSeek来应用 o1-preview在网页聊天中建议的修改。

将 aider 的代码上下文复制到剪贴板,粘贴到网页界面中

使用 /copy-context <instructions> 命令可以在聊天中将 aider 的代码上下文复制到剪贴板。
复制的上下文包括:

  • 通过 /add 添加到聊天中的所有文件
  • 通过 /read 添加的任何只读文件
  • aider 的仓库映射,它会从 git 仓库的其他位置引入与上述文件相关的代码上下文
  • 给 LLM 的一些指令,要求它简洁地输出变更说明
  • 如果包含 <instructions>,这些指令也会被复制

你可以将上下文粘贴到浏览器中,然后开始与 LLM 网页聊天交互,请求代码变更。

将 LLM 的回复粘贴回 aider 以编辑文件

当 LLM 回复后,你可以使用网页界面中的”复制回复”按钮来复制 LLM 的响应。
回到 aider 中,运行 /paste 命令,aider 就会根据 LLM 的建议编辑你的文件。

你可以使用经济高效的模型如 GPT-4o Mini、DeepSeek 或 Qwen 来执行这些编辑。
如果使用 --edit-format editor-diff--edit-format editor-whole 参数运行 aider,效果最佳。

复制/粘贴模式

aider 提供了 --copy-paste 模式来简化整个流程:

  • 当你使用 /add/read 添加文件时,aider 会自动将完整的更新后的代码上下文复制到剪贴板。
    每次发生这种情况时,你会看到”已复制代码上下文到剪贴板”的提示。
  • 当你在 aider 外部将 LLM 的回复复制到剪贴板时,aider 会自动检测并加载到聊天中。
    只需按 ENTER 键发送消息,aider 就会将 LLM 的变更应用到本地文件。
  • aider 会自动为这种复制/粘贴功能选择最佳的编辑格式。
    根据你为 aider 配置的 LLM 模型,它会自动选择 editor-wholeeditor-diff 格式。

服务条款

在使用这些功能时,请务必仔细查阅您所用LLM网络聊天服务的服务条款(TOS)。 这些功能的设计初衷并非用于违反任何服务的服务条款。

Aider的网络聊天功能已设计为符合大多数LLM网络聊天的服务条款要求。

使用LLM网络聊天进行编码时涉及4个复制/粘贴步骤:

  1. 从aider复制代码和上下文
  2. 将代码和上下文粘贴到LLM网络聊天中
  3. 从LLM网络聊天复制回复内容
  4. 将LLM回复粘贴回aider

大多数LLM网络聊天的服务条款禁止自动化执行步骤(2)和(3),即禁止自动从网络聊天复制或向网络聊天粘贴代码。 Aider的--copy-paste模式将这些步骤完全保留为用户手动操作。 它仅优化了与aider交互的步骤(1)和(4),这些操作本就不应属于LLM网络聊天服务条款的管辖范围。

如果您担心步骤(1)和(4)中与aider的自动交互可能违反您所用LLM服务提供商的服务条款,可以不使用--copy-paste模式。 改为手动使用/copy-context/paste命令,以确保合规性。

再次强调,请勿违反任何服务的服务条款使用这些功能。


目录