# Ollama + OpenClaw 配置指南 ## 概述 Ollama 是一个本地 LLM 运行时,让你能轻松在本地运行开源模型。OpenClaw 通过 OpenAI 兼容 API 与 Ollama 集成。 --- ## 一、Ollama 安装与配置 ### 安装 Ollama ```bash # Linux curl -fsSL https://ollama.ai/install.sh | sh # 启动服务 ollama serve # 设置开机自启(Linux) sudo systemctl enable ollama sudo systemctl start ollama ``` ### 配置跨主机访问 默认只监听 `127.0.0.1`,需要配置才能从其他机器访问: ```bash # 方法1:环境变量 export OLLAMA_HOST=0.0.0.0:11434 # 方法2: systemd 服务配置 sudo systemctl edit ollama ``` 添加: ```ini [Service] Environment="OLLAMA_HOST=0.0.0.0:11434" ``` 重启服务: ```bash sudo systemctl daemon-reload sudo systemctl restart ollama ``` 验证: ```bash curl http://192.168.0.66:11434/api/tags ``` --- ## 二、OpenClaw 配置 Ollama ### 方法1:自动发现(推荐) 设置环境变量即可自动发现模型: ```bash # 设置 API key(任意值,Ollama 不验证) export OLLAMA_API_KEY="ollama-local" # 或在配置中设置 openclaw config set models.providers.ollama.apiKey "ollama-local" ``` 自动发现会: - 查询 `/api/tags` 和 `/api/show` - 只保留报告支持工具的模型 - 自动设置 contextWindow 和 maxTokens ### 方法2:显式配置(远程主机) 当 Ollama 在其他主机时,需要显式配置: ```json5 { "models": { "providers": { "ollama": { "baseUrl": "http://192.168.0.66:11434/v1", "apiKey": "ollama-local", "api": "openai-completions" } } } } ``` ### 设置默认模型 ```json5 { "agents": { "defaults": { "model": { "primary": "ollama/llama3.3", "fallbacks": ["ollama/qwen2.5-coder:32b"] } } } } ``` --- ## 三、推荐模型 ### 对话模型 | 模型 | 大小 | 说明 | |------|------|------| | llama3.3 | ~5GB | 70B 参数,推荐主力 | | qwen2.5-coder:32b | ~20GB | 代码能力强 | | deepseek-r1:32b | ~20GB | 推理能力强 | 拉取命令: ```bash ollama pull llama3.3 ollama pull qwen2.5-coder:32b ollama pull deepseek-r1:32b ``` ### Embedding 模型(用于内存管理) | 模型 | 大小 | 说明 | |------|------|------| | nomic-embed-text | ~137MB | 推荐,质量好 | | mxbai-embed-large | ~334MB | 更大,质量更好 | | all-minilm | ~23MB | 轻量级 | 拉取命令: ```bash # 推荐 ollama pull nomic-embed-text # 或轻量级 ollama pull all-minilm ``` ### 验证 Embedding 模型 ```bash curl http://192.168.0.66:11434/api/tags | python3 -c "import sys,json; print([m['name'] for m in json.load(sys.stdin).get('models',[])])" ``` --- ## 四、内存管理器配置 ### 启用内存管理器 内存管理器需要 embedding 模型: ```json5 { "models": { "providers": { "ollama": { "baseUrl": "http://192.168.0.66:11434/v1", "apiKey": "ollama-local", "api": "openai-completions", "embedding": "nomic-embed-text" // 指定 embedding 模型 } } } } ``` ### 环境变量配置 ```bash # OpenClaw 配置文件 export OLLAMA_API_KEY="ollama-local" export OLLAMA_EMBEDDING_MODEL="nomic-embed-text" ``` --- ## 五、故障排查 ### Ollama 未检测到 ```bash # 1. 检查 Ollama 是否运行 ps aux | grep ollama # 2. 检查 API 是否可达 curl http://localhost:11434/api/tags # 3. 重启 Ollama ollama serve # 4. 检查环境变量 echo $OLLAMA_API_KEY ``` ### 没有可用模型 OpenClaw 只自动发现支持工具的模型: ```bash # 检查模型是否安装 ollama list # 拉取支持工具的模型 ollama pull llama3.3 # 或显式配置模型(如果不想用自动发现) openclaw config set models.providers.ollama.models[0].id "llama3.3" ``` ### 连接被拒绝 ```bash # 检查端口 lsof -i :11434 # 检查防火墙 sudo ufw status # Ollama 绑定地址 curl http://127.0.0.1:11434/api/tags # 本机测试 curl http://192.168.0.66:11434/api/tags # 远程测试 ``` ### 模型不工作 ```bash # 测试模型运行 ollama run llama3.3 "Hello" # 检查模型信息 ollama show llama3.3 ``` --- ## 六、完整配置示例 ### 单机配置(Ollama 和 OpenClaw 同机) ```json5 { "models": { "providers": { "ollama": { "apiKey": "ollama-local", "models": [ { "id": "llama3.3", "contextWindow": 32768 }, { "id": "qwen2.5-coder:32b" } ] } } }, "agents": { "defaults": { "model": { "primary": "ollama/llama3.3" } } } } ``` ### 多机配置(主力机 Ollama + OpenClaw 独立) **主力机 (192.168.0.66):** ```bash # Ollama 配置 export OLLAMA_HOST=0.0.0.0:11434 systemctl restart ollama # 拉取模型 ollama pull llama3.3 ollama pull nomic-embed-text ``` **OpenClaw 主机:** ```json5 { "models": { "providers": { "ollama": { "baseUrl": "http://192.168.0.66:11434/v1", "apiKey": "ollama-local", "api": "openai-completions" }, "minimax": { /* ... */ }, "deepseek": { /* ... */ } } }, "agents": { "defaults": { "model": { "primary": "ollama/llama3.3", "fallbacks": ["deepseek/deepseek-chat", "minimax/minimax-m2.1"] } } } } ``` --- ## 七、性能优化 ### 模型加载 ```bash # 预加载模型(加速首次调用) ollama pull llama3.3 # 查看已加载模型 ollama ps ``` ### 资源管理 ```bash # 设置 GPU 使用率(如果有多 GPU) export CUDA_VISIBLE_DEVICES=0 # 设置内存限制 export OLLAMA_NUM_PARALLEL=4 ``` ### 监控 ```bash # 查看 Ollama 日志 journalctl -u ollama -f # 查看资源使用 htop | grep ollama ``` --- ## 八、相关命令速查 | 任务 | 命令 | |------|------| | 列出模型 | `ollama list` | | 拉取模型 | `ollama pull ` | | 删除模型 | `ollama rm ` | | 运行模型 | `ollama run ` | | 查看模型信息 | `ollama show ` | | 查看运行中模型 | `ollama ps` | | 测试 API | `curl http://localhost:11434/api/tags` | --- ## 九、相关文档 - [OpenClaw Ollama Provider](https://docs.openclaw.ai/providers/ollama) - [Ollama 官方文档](https://ollama.ai) - [Ollama Embedding 模型](https://ollama.com/blog/embedding-models) - [OpenClaw 模型配置](./GATEWAY_CONFIGURATION.md) --- *最后更新: 2026-02-04*