通过网页聊天进行复制粘贴
与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-whole
或editor-diff
格式。
服务条款
在使用这些功能时,请务必仔细查阅您所用LLM网络聊天服务的服务条款(TOS)。 这些功能的设计初衷并非用于违反任何服务的服务条款。
Aider的网络聊天功能已设计为符合大多数LLM网络聊天的服务条款要求。
使用LLM网络聊天进行编码时涉及4个复制/粘贴步骤:
- 从aider复制代码和上下文
- 将代码和上下文粘贴到LLM网络聊天中
- 从LLM网络聊天复制回复内容
- 将LLM回复粘贴回aider
大多数LLM网络聊天的服务条款禁止自动化执行步骤(2)和(3),即禁止自动从网络聊天复制或向网络聊天粘贴代码。
Aider的--copy-paste
模式将这些步骤完全保留为用户手动操作。
它仅优化了与aider交互的步骤(1)和(4),这些操作本就不应属于LLM网络聊天服务条款的管辖范围。
如果您担心步骤(1)和(4)中与aider的自动交互可能违反您所用LLM服务提供商的服务条款,可以不使用--copy-paste
模式。
改为手动使用/copy-context
和/paste
命令,以确保合规性。
再次强调,请勿违反任何服务的服务条款使用这些功能。