ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

[AI Agent] 本地部署 Aider 接入局域网 Ollama:config.toml 骨架与资源占用验证

[AI Agent] 本地部署 Aider 接入局域网 Ollama:config.toml 骨架与资源占用验证 1. 两台机器、一个模型这个场景到底在解决什么问题Aider 是一个跑在终端里的 AI 编程助手能读写文件、执行命令、按自然语言改代码Ollama 是一个把大模型拉到本地跑的运行时默认监听 11434 端口。把这两个东西放在同一台机器上很简单但很多人实际面对的是另一种布局一台配置较好的机器比如带独显的工作站或内网服务器专门跑 Ollama 做推理另一台日常写代码的笔记本只装 Aider通过局域网调用前者的模型。这样做的好处是模型只加载一份显存和内存压力集中在服务器上笔记本保持轻量。问题也随之而来。Aider 默认以为 Ollama 在本机localhost:11434跨机之后必须显式告诉它对方地址config.toml里模型名、API base、超时参数写错一个Aider 就会报连接失败或者模型找不到。更麻烦的是资源观测——很多人不知道 Aider 本身几乎不吃 CPU 和内存真正吃资源的是远端的 Ollama 进程于是盯着笔记本的任务管理器看半天误以为本地部署很轻。这篇就按局域网一台跑 Ollama、另一台跑 Aider的布局给出可直接复制的config.toml骨架并用系统监控命令把两端的资源占用实测一遍让你清楚这套 AI Agent 到底消耗了什么。适合谁看手里有两台及以上机器、想在内网搭私有编程助手、又不想把代码发到公网 API 的开发者。全程不需要任何外部网络服务模型和请求都在你自己的局域网里。2. 前置准备Ollama 侧监听与 Aider 侧安装2.1 让 Ollama 监听局域网地址Ollama 默认只绑定127.0.0.1别的机器访问不到。在跑模型的那台服务器上需要让它监听所有网卡。Linux 下用 systemd 管理的话编辑服务覆盖sudo systemctl edit ollama.service在打开的编辑器里填入[Service] EnvironmentOLLAMA_HOST0.0.0.0:11434保存后重载并重启sudo systemctl daemon-reload sudo systemctl restart ollama验证监听状态ss -tlnp | grep 11434看到0.0.0.0:11434就说明局域网可达。如果是 macOS 直接命令行启动用OLLAMA_HOST0.0.0.0:11434 ollama serve即可。注意防火墙要放行 11434否则 Aider 那台机器连不上。2.2 拉取一个适合编程的模型在 Ollama 服务器上拉模型编程场景常用qwen2.5-coder或codellamaollama pull qwen2.5-coder:7b ollama listollama list会列出本地已有模型和它们的准确名称这个名字必须和后面config.toml里的model字段完全一致包括:7b这种 tag 后缀少写会报 model not found。2.3 在另一台机器安装 AiderAider 是 Python 包用 pipx 或 venv 安装都行。推荐 venv 隔离python3 -m venv ~/aider_env source ~/aider_env/bin/activate pip install aider-chat aider --version如果内网机器不能联网就在能联网的机器上pip download aider-chat -d ./wheels把 wheels 目录拷进去再pip install ./wheels/*。装完aider --version能打印版本号就说明环境没问题。3. 可复制的 config.toml 骨架Aider 的配置文件默认在~/.aider.conf.yml但它同样支持 TOML 风格的项目级配置。下面这份骨架放在项目根目录的.aider.conf.toml或者按你的习惯合并进全局配置。核心是把openai-api-base指向局域网 Ollama 地址并选对模型名。# .aider.conf.toml # 指向局域网内跑 Ollama 的那台机器端口默认 11434 openai-api-base http://192.168.1.50:11434/v1 # Ollama 的 OpenAI 兼容接口不校验 key随便填一个非空值 openai-api-key ollama # 模型名必须和 ollama list 里的完全一致 model openai/qwen2.5-coder:7b # 弱模型用于生成 commit message 等轻量任务可复用同一个 weak-model openai/qwen2.5-coder:7b # 请求超时本地推理首 token 可能较慢给足时间 timeout 600 # 关闭自动提交避免 Agent 擅自改历史 auto-commits false # 编辑格式Ollama 上的 coder 模型用 diff 更稳 edit-format diff # 不把文件内容发到任何外部服务 stream true几个容易踩的点。第一openai-api-base结尾的/v1不能省Ollama 的 OpenAI 兼容层挂在/v1下少了它 Aider 会 404。第二model前面的openai/前缀是告诉 Aider 走 OpenAI 兼容协议不是真的调 OpenAI这个前缀必须保留。第三192.168.1.50换成你 Ollama 服务器的真实内网 IP用ip addr或ifconfig查。如果你更习惯用环境变量而不是配置文件等价写法是export OPENAI_API_BASEhttp://192.168.1.50:11434/v1 export OPENAI_API_KEYollama export AIDER_MODELopenai/qwen2.5-coder:7b环境变量优先级高于配置文件调试阶段用环境变量改起来更快稳定后再固化进 TOML。4. 验证请求与资源占用实测4.1 先确认 Ollama 接口通在 Aider 那台机器上先用 curl 打一下 Ollama 的模型列表接口curl http://192.168.1.50:11434/v1/models返回一段 JSON里面有qwen2.5-coder:7b的 id说明网络和接口都正常。如果这里就失败先别碰 Aider去查防火墙和OLLAMA_HOST。4.2 启动 Aider 并发一条指令进入一个测试项目目录启动aider --config .aider.conf.tomlAider 会打印它识别到的模型和 API base。确认无误后输入一条简单指令比如让它创建一个文件创建一个 hello.py打印当前时间Aider 会把请求发到局域网 Ollama模型返回 diffAider 应用改动。第一次请求因为要加载模型进显存会等十几秒到几十秒之后同一模型常驻响应会快很多。4.3 用系统监控命令看资源占用这是本篇的重点。很多人以为本地 AI Agent很吃资源实测下来要分两端看。在 Aider 那台机器笔记本上另开一个终端跑top -b -n 1 | head -20或者更直观地用htop观察aider和python进程。你会发现 Aider 进程的 CPU 通常个位数百分比内存占用在 100–300MB 量级因为它只负责组织请求、解析 diff、写文件不做推理。真正的大头在网络上——它把 prompt 发出去等远端返回。在 Ollama 服务器上跑推理时观察watch -n 1 nvidia-smi --query-gpuutilization.gpu,memory.used --formatcsv如果是纯 CPU 推理用top -b -n 1 | grep ollama你会看到 Ollama 进程在生成 token 时 CPU 或 GPU 利用率飙升显存/内存占用取决于模型大小7B 量化模型大约占 5–6GB 显存。这印证了一件事资源压力集中在模型服务器Aider 客户端本身很轻。所以如果你笔记本配置一般把 Ollama 放服务器、Aider 放本地是完全合理的分工。想量化 Aider 单次请求的耗时可以在启动时加--verbose它会打印每次 API 调用的往返时间。局域网内通常比公网 API 延迟更低但受模型推理速度限制7B 模型在消费级显卡上大概每秒几十个 token。5. 本篇常见错误排查连接被拒绝 Connection refused九成是 Ollama 没监听0.0.0.0或者防火墙挡了 11434。回到 2.1 检查ss -tlnp再确认ufw或firewalld放行。404 Not Foundopenai-api-base少了/v1后缀。Ollama 的兼容接口路径是/v1/chat/completionsbase 必须写到/v1。model not foundconfig.toml里的模型名和ollama list输出不一致常见是漏了 tag:7b、:latest或大小写不同。复制粘贴ollama list里的名字最稳。请求超时 timeout本地推理首 token 慢默认超时可能不够。把timeout调到 600 秒或者换更小的模型先验证链路。Aider 改了不该改的文件auto-commits false能防止它自动提交但文件仍会被写。建议在 git 仓库里操作改坏了git checkout回滚。生产环境别用 root 跑 Aider给它一个受限用户和独立目录。显存不足 OOM模型太大或并发请求太多。换更小的量化版本或者限制 Ollama 的并发数OLLAMA_NUM_PARALLEL。6. 想省去自建模型服务器用托管 API 做对照上面这套局域网自建方案适合数据完全不出内网的场景但如果你只是想快速验证 Aider 接非 OpenAI 模型的效果或者手头没有带显卡的服务器可以先用托管 API 跑通流程再决定要不要自建。TaoToken 提供 OpenAI 兼容接口Aider 的配置几乎不用改只换 base 和 keyopenai-api-base https://taotoken.net/api openai-api-key 你的key model openai/你要用的模型名申请 key 在 TaoToken API Keys接入细节看 接入文档。想先在网页里试模型对话用 模型对话长期跑编码任务、需要稳定额度的看 Coding Plan。控制台在 console官网入口 taotoken.net。用托管 API 的好处是不用管显存和监听坏处是请求要出网。你可以两条路都留着日常用托管 API 快速迭代涉及敏感代码时切回局域网 Ollamaconfig.toml换一行 base 地址的事。Claude Code 用户如果走 Anthropic 协议参考 ClaudeCodeAnthropic 的接法。实测下来Aider 客户端的内存占用基本可以忽略真正决定体验的是模型服务器那一端的推理速度和显存。把监控命令挂上你就能清楚知道瓶颈在哪而不是盲目升级笔记本。
返回列表