从 Codex 换到 Aider:Aider 的强控制力,如何在 Mac 安装 Aider
本文介绍了 Aider 这款简洁且可控性强的人工智能 Agent 工具,它为本地部署的大语言模型提供了一种高效的协作方式。Aider 与市面上许多使用 Node.js 编写的 Agent 不同,它采用 Python 语言编写,并默认采用“一轮人、一轮 AI”的传统对话模式,强调用户的主导地位。其核心优势在于原生支持 Git 功能:在每次对话产生代码更改后,Aider 会自动执行 AI Commit,将修改保存为标准的差异文件,极大地提升了代码更改的可靠性。对于没有 Git 仓库的项目,它则使用搜索替换和任务记录。Aider 的使用高度依赖于命令行指令,用户可以通过输入 `/add`、`/read-only` 或 `/edit` 等命令来控制 AI 对特定文件的操作,甚至可以使用 `/web` 命令让 AI 读取网页内容,该过程需要 Pandoc 等工具将网页转换为 Markdown 格式。此外,文章还详细描述了 Aider 的安装过程,例如在 macOS 上使用 Homebrew 进行安装,以及如何通过配置命令参数(如指定 `--model` 和 `--openai-api-base`)来连接和使用大语言模型。Aider 这种模式被认为非常适合需要精细控制和人工干预的开发场景。
从 Git 历史中复制文件:恢复历史提交中的旧文件,不必用 Reset
本文介绍了如何使用 Git 的 git show 命令从历史提交中恢复旧文件,以解决网站主题修改后想回退却忘记配置细节的问题。作者先描述了因访客不满新样式而决心改回旧版,但已遗忘具体参数,借助 Git 历史记录找回文件的经历。文章对比了 git reset 与 git show 的差异,强调后者更轻量,只展示指定提交中某路径的文件内容,不改变工作区或提交历史。具体操作是先通过 git log 定位目标提交的哈希值,再执行 git show c5b8851:path > path 将输出重定向到当前文件,并说明 > 覆盖写入与 >> 追加写入的区别。最后指出该方法适用于文本、配置、样式表等普通文件,且不受 LFS 管理限制。


