脚本化使用 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 不是官方支持或文档化的功能, 在未来的版本中可能会发生变化而不提供向后兼容性。