Openclaw本地搭建Ollama Qwen3-Coder超详细教程

2026-06-17阅读 0热度 0
Qwen
你说得对,之前手动追加大堆字段(`provider`、`baseURL`、`fallback`)反而引来各种 `Unrecognized key`,这个版本确实不认这些老语法。好消息是,Ollama 官方已经给你准备了一键方案,**根本不需要手改 `openclaw.json`**。 --- ## ???? 最简洁的解决之道:`ollama launch openclaw` 直接在你的 PowerShell 里跑这一句: ```powershell ollama launch openclaw ``` **运行后会做什么?** - 自动检测你已经拉好的模型(包括 `qwen3-coder:30b`) - 在 OpenClaw 里注册 Ollama 提供者 - 启动或重载网关 - 你只需要在提示时选 `qwen3-coder:30b` 作为主模型 **运行后的验证命令**(同样在该终端窗口里执行): ```powershell openclaw agent --local --to +15555550123 --message "你好" ``` 如果能正常返回一段话,说明 Ollama 已经连通,Web 界面也能直接用了。如果这个命令还是报错,请把**完整错误信息**贴出来。 --- ## ⚠️ 如果一键命令跑不了或报错 少数情况可能因为之前改乱了 `openclaw.json` 导致命令被阻塞。解决办法:**先清空配置,再重新跑一键命令**。 ```powershell # 1. 备份当前配置(以防万一) Copy-Item $HOME\.openclaw\openclaw.json $HOME\.openclaw\openclaw.json.bak # 2. 写入最简配置(只保留基础结构,让一键命令去填充) @' {"gateway":{"port":18789,"host":"127.0.0.1"}} '@ | Out-File -FilePath $HOME\.openclaw\openclaw.json -Encoding UTF8 # 3. 重启网关 openclaw gateway restart # 4. 重新执行一键命令 ollama launch openclaw ``` 如果这步依然报 `Invalid config`,说明 `openclaw.json` 里残留了不可识别的键。最好的办法是**完全删除配置文件,让 `ollama launch` 帮你生成**: ```powershell # 停止所有 OpenClaw 进程 Get-Process openclaw* | Stop-Process -Force # 删除整个配置目录(会丢失之前的所有自定义设置,但会让你得到一个干净的环境) Remove-Item $HOME\.openclaw -Recurse -Force # 重新执行一键命令 ollama launch openclaw ``` --- ## ???? 如果就想手动写配置(参考官方格式) 根据 OpenClaw 文档,正确的 Ollama 配置结构应该是放在 **顶层 `models` 下的 `providers`** 里,而不是扔进 `agents.defaults.models`。以下是一份可用的完整配置示例(只保留必要字段): ```json { "meta": { "lastTouchedVersion": "2026.2.6-3", "lastTouchedAt": "2026-02-10T13:45:45.991Z" }, "agents": { "defaults": { "model": { "primary": "ollama/qwen3-coder:30b" }, "models": { "ollama/qwen3-coder:30b": {} }, "workspace": "C:\\Users\\Administrator\\.openclaw\\workspace", "maxConcurrent": 2 } }, "gateway": { "port": 18789, "host": "127.0.0.1", "auth": { "mode": "none" } }, "models": { "providers": { "ollama": { "baseUrl": "http://127.0.0.1:11434/v1", "apiKey": "ollama-local", "api": "openai-completions", "models": [ { "id": "qwen3-coder:30b", "name": "Qwen3 Coder 30B", "reasoning": false, "input": ["text"], "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "contextWindow": 128000, "maxTokens": 8192 } ] } } } } ``` **注意:** - 不要再用 `"provider"`、`"baseURL"` 这些旧字段 - Ollama 的 `baseUrl` 要写成 `http://127.0.0.1:11434/v1`(带 `/v1`) - `apiKey` 随意填一个非空字符串(`"ollama-local"` 就行) 保存后重启网关: ```powershell openclaw gateway restart ``` 然后运行测试命令: ```powershell openclaw agent --local --to +15555550123 --message "你好" ``` --- ## ???? 关于 Web 聊天空白 后端跑通之后,如果 Web 界面(`http://127.0.0.1:18789`)还是点了发送没反应,**大概率是 WebSocket 连接问题**。请按以下步骤排查: 1. 在浏览器里按 `F12` 打开开发者工具 → 点 **网络 (Network)** → 过滤 **WS (WebSocket)** 2. 刷新页面,看看有没有 `ws://127.0.0.1:18789/...` 的连接 3. 如果有,选它,在 **消息 (Messages)** 标签里看是否有帧在交换 4. 如果没有连接或连接立即断开,说明前端没拿到网关的 token。根据你之前日志里 `token missing` 的提示,可以在 **OpenClaw 配置里禁用认证**(上面示例里已写了 `"auth":{"mode":"none"}`),或者手动在浏览器 URL 后加 `?token=xxxx`(不过 `mode:none` 最简单) 如果 Web 连接正常但收不到回复,很可能是因为模型回复没有被正确序列化传给前端。可以尝试在 `openclaw.json` 里加上: ```json "channel": { "webchat": { "stream": false } } ``` 强制全量输出而非流式,有时能规避前端渲染 bug。 --- ## ✅ 总结操作顺序 1. **先试 `ollama launch openclaw`**(最省心) 2. 若失败,**清空配置目录**再试 3. 若仍失败,**使用上方的完全配置示例**替换你的 `openclaw.json` 4. 启动后先跑命令行 `openclaw agent --local --to +15555550123 --message "你好"` 确保后端通 5. Web 空白时,检查 WebSocket 连接,禁用认证,尝试关闭流式输出 请先尝试第一步,把结果(成功/具体报错)告诉我,我们接着往下推。
免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策