Aider 是一款轻量、高效的终端命令行 AI 编程工具,核心优势在于能深度集成本地代码文件,支持直接在终端中让 AI 读写、修改代码,且完美兼容 OpenAI API 格式的本地大模型(如通义千问 Qwen、Llama 等)。本教程将手把手教你:如何将 Aider 连接本地部署的大模型,并通过自定义“技能(Skills)”文档体系,实现类似 Claude Skills 的专属编程辅助能力,让 AI 严格遵循你的项目规范、技术栈要求完成编程任务。
一、基础准备:安装 Aider 并部署本地模型
1. 安装 Aider
Aider 基于 Python 开发,建议使用 Python 3.8+ 环境,通过 pip 一键安装/升级:
# 安装最新版本
pip install --upgrade aider-chat
# 验证安装成功
aider --version
注:若安装后终端提示“找不到 aider 命令”,需检查 Python 的
Scripts或bin目录是否加入系统环境变量。
2. 本地大模型部署要求
Aider 连接本地模型的核心前提是:你的模型需通过 vLLM、FastChat 等工具启动,并提供兼容 OpenAI API 格式的接口。
- 推荐部署方式:使用 vLLM 启动 Qwen 系列模型(以 Qwen3-VL-32B 为例),启动命令示例:
python -m vllm.entrypoints.openai.api_server \ --model /data/modelscope_cache/models/Qwen/Qwen3-VL-32B-Thinking-FP8 \ --port 9090 \ --host 0.0.0.0 \ --ssl-certfile /path/to/cert.pem \ --ssl-keyfile /path/to/key.pem - 验证 API 可用性:启动后可通过
https://你的服务器IP:9090/v1访问 API(需确保端口开放)。
二、快速启动:用脚本连接本地模型
为避免每次输入冗长参数,先创建启动脚本 aider.sh,解决 SSL 证书、模型路由等核心问题:
1. 编写启动脚本
#!/bin/bash
# 1. 环境变量配置:忽略本地自签名 SSL 证书验证(内网/本地部署必配)
export SSL_CERT_REQS=false
export REQUESTS_CA_BUNDLE=/dev/null
export CURL_CA_BUNDLE=/dev/null
# 2. 启动 Aider 并连接本地模型
aider \
--model "openai//data/modelscope_cache/models/Qwen/Qwen3-VL-32B-Thinking-FP8" \
--openai-api-base "https://43.138.88.229:9090/v1" \
--openai-api-key "not-needed" \
--read "skills/base-rules.md" \
--no-verify-ssl \
--no-check-update \
--no-show-model-warnings \
--pretty
2. 核心参数解析
| 参数 | 作用说明 |
|---|---|
--model | 指定本地模型路径,必须以 openai/ 为前缀(让 Aider 用 OpenAI 客户端发起请求) |
--openai-api-base | 本地模型的 API 地址,需包含 /v1 后缀 |
--openai-api-key | 本地模型无需真实 Key,填 not-needed 即可 |
--read | 核心:以只读方式加载“技能文档”(AI 可读取但不修改) |
--no-verify-ssl | 忽略本地 SSL 证书校验失败问题 |
--no-check-update | 关闭外网更新检查,提升内网启动速度 |
3. 运行脚本
# 添加执行权限
chmod +x aider.sh
# 启动 Aider
./aider.sh
三、配置自动化:用 .aider.conf.yml 简化启动
频繁修改脚本或输入参数效率低,可在项目根目录创建 .aider.conf.yml,Aider 启动时会自动加载配置:
1. 完整配置文件示例
# .aider.conf.yml - Aider 本地模型核心配置
# 模型连接配置
model: "openai//data/modelscope_cache/models/Qwen/Qwen3-VL-32B-Thinking-FP8"
openai-api-base: "https://43.138.88.229:9090/v1"
openai-api-key: "not-needed"
# 基础优化配置
verify-ssl: false # 忽略 SSL 证书验证
check-update: false # 关闭更新检查
show-model-warnings: false # 关闭模型警告提示
pretty: true # 美化输出格式
dark-mode: true # 适配终端暗色模式
# 默认加载的基础技能(可选)
read:
- "skills/base-coder.md" # 项目通用编码规范
2. 配置生效规则
- 配置文件路径:优先读取当前工作目录的
.aider.conf.yml,也可放在用户根目录(~/.aider.conf.yml)作为全局配置; - 参数优先级:命令行参数 > 本地配置文件 > 全局配置文件(例如命令行输入
--read skills/api.md会覆盖配置文件中的read项)。
配置完成后,只需在项目目录输入 aider 即可启动,无需重复输入模型、API 等参数。
四、核心功能:构建多技能(Skills)文档体系
Claude Skills 的核心是“给 AI 注入专属背景知识”,在 Aider 中可通过只读参考文件实现,且支持多技能动态组合、切换。
1. 技能文档目录结构设计
建议将不同领域的技能拆分为独立文档,放在 skills/ 目录中,便于管理:
你的项目/
├── .aider.conf.yml # Aider 核心配置
├── skills/ # 技能包目录
│ ├── base-coder.md # 通用编码规范(如命名、注释)
│ ├── api-expert.md # RESTful API 设计技能
│ ├── test-architect.md # 自动化测试编写技能
│ └── security-audit.md # 代码安全审计技能
└── src/ # 业务代码目录
└── main.py
2. 技能文档编写规范
每个技能文档需明确“角色定位 + 规则约束 + 示例”,例如 api-expert.md:
# Skill: RESTful API 设计专家
## 角色定位
你是资深的 RESTful API 设计工程师,熟悉 HTTP 协议、状态码和接口标准化。
## 核心规则
1. 接口路径使用复数名词(如 /users 而非 /user);
2. 严格遵循 HTTP 方法语义:GET(查询)、POST(创建)、PUT(全量更新)、PATCH(增量更新)、DELETE(删除);
3. 所有接口必须包含错误处理,返回统一格式的 JSON 响应:
{
"code": 200, // 业务状态码
"msg": "success",
"data": {}
}
4. 分页接口必须支持 page(页码)、size(每页条数)参数,返回 total(总条数)。
## 示例
### 正确示例
GET /users?page=1&size=10 // 查询用户列表
POST /users // 创建新用户
### 错误示例
GET /user/getById/1 // 错误:路径使用动词 + 非复数名词
五、实战:动态加载/切换技能
Aider 支持“启动时加载”和“运行中切换”两种方式,灵活适配不同编程任务。
1. 启动时加载组合技能
若需同时使用“API 设计 + 测试编写”技能,启动时直接指定:
# 组合加载多个技能
aider --read skills/api-expert.md --read skills/test-architect.md
2. 运行中动态切换(推荐)
Aider 启动后,可通过内置命令管理技能文档,无需重启:
| 命令 | 作用 | 示例 |
|---|---|---|
/ls | 查看当前加载的所有文件(含技能文档) | > /ls |
/read <文件路径> | 添加新技能文档 | > /read skills/security-audit.md |
/drop <文件路径> | 移除不需要的技能文档 | > /drop skills/test-architect.md |
/tokens | 刷新上下文(修改技能文档后执行) | > /tokens |
3. 完整工作流示例
# 1. 启动 Aider(自动加载配置文件中的 base-coder.md)
aider
# 2. 加载 API 设计技能,重构代码
> /read skills/api-expert.md
> 帮我按照这个技能要求,重构 src/user_service.py 中的用户接口
# 3. 完成接口重构后,切换到测试技能
> /drop skills/api-expert.md
> /read skills/test-architect.md
> 为 src/user_service.py 编写 Pytest 测试用例,覆盖所有接口
# 4. 最后做安全审计
> /read skills/security-audit.md
> 检查刚才编写的代码是否存在 SQL 注入、权限校验缺失等安全问题
六、注意事项
- Token 限制:本地模型(如 Qwen3)通常有 65536 的上下文窗口,但加载过多技能文档会占用 Token,建议同时挂载的技能文档不超过 3-5 个;
- 路径问题:
--read指定的路径是相对当前终端目录,建议在项目根目录启动 Aider; - SSL 兼容:若本地模型未配置 SSL,需将
openai-api-base改为http://开头,同时保留--no-verify-ssl; - 技能文档更新:修改技能文档后,需执行
/tokens让 Aider 重新加载最新内容。
总结
- Aider 可通过
--model、--openai-api-base连接本地部署的 OpenAI 兼容模型,.aider.conf.yml可简化重复配置; - 类似 Claude Skills 的核心是通过
--read参数加载只读技能文档,文档需明确角色、规则和示例; - 支持启动时组合加载、运行中动态切换技能,适配不同编程场景,同时需注意控制技能文档数量以避免 Token 溢出。
通过这套配置和用法,你可以打造一个完全私有化、贴合自身项目规范的 AI 编程助手,大幅提升代码编写、重构、测试的效率。

4974

被折叠的 条评论
为什么被折叠?



