脚本化使用 aider

你可以通过命令行或 Python 脚本来使用 aider。

命令行方式

Aider 接受 --message 参数,你可以通过它传递自然语言指令。 aider 会执行该指令,将修改应用到文件后退出。 例如:

aider --message "make a script that prints hello" hello.js

或者编写简单的 shell 脚本来对多个文件应用相同的指令:

for FILE in *.py ; do
    aider --message "add descriptive docstrings to all the functions" $FILE
done

使用 aider --help 查看所有 命令行选项, 以下是对脚本化特别有用的选项:

--stream, --no-stream
                      启用/禁用流式响应 (默认: True) [环境变量:
                      AIDER_STREAM]
--message COMMAND, --msg COMMAND, -m COMMAND
                      指定发送给 GPT 的单个消息,处理回复后退出
                      (禁用聊天模式) [环境变量: AIDER_MESSAGE]
--message-file MESSAGE_FILE, -f MESSAGE_FILE
                      指定包含发送给 GPT 消息的文件,处理回复后
                      退出 (禁用聊天模式) [环境变量: AIDER_MESSAGE_FILE]
--yes                 对所有确认自动回答 yes [环境变量: AIDER_YES]
--auto-commits, --no-auto-commits
                      启用/禁用自动提交 GPT 的修改 (默认: True) [环境变量:
                      AIDER_AUTO_COMMITS]
--dirty-commits, --no-dirty-commits
                      启用/禁用当仓库有未提交更改时自动提交 (默认: True) [环境
                      变量: AIDER_DIRTY_COMMITS]
--dry-run, --no-dry-run
                      执行试运行而不实际修改文件 (默认: False) [环境变量: AIDER_DRY_RUN]
--commit              提交所有待处理更改并生成合适的提交信息,然后退出
                      [环境变量: AIDER_COMMIT]

Python

你也可以通过 Python 脚本调用 aider:

from aider.coders import Coder
from aider.models import Model


# 这是要添加到聊天中的文件列表
fnames = ["greeting.py"]

model = Model("gpt-4-turbo")


# 创建一个 coder 对象
coder = Coder.create(main_model=model, fnames=fnames)


# 这将在这些文件上执行一条指令然后返回
coder.run("make a script that prints hello world")


# 发送另一条指令
coder.run("make it say goodbye")


# 你也可以运行聊天中的 "/" 命令
coder.run("/tokens")

查看 Coder.create() 和 Coder.init() 方法 了解所有支持的参数。

也可以通过以下方式设置等效于 --yes 的参数:

from aider.io import InputOutput
io = InputOutput(yes=True)

# ...
coder = Coder.create(model=model, fnames=fnames, io=io)

Python 脚本 API 不是官方支持或文档化的功能, 在未来的版本中可能会发生变化而不提供向后兼容性。


目录