OpenClaw + Ollama / 硅基流动 / codeai88 安装与配置教程

OpenClaw + Ollama / 硅基流动 / codeai88 安装与配置教程

(根据实际操作与排查过程整理)

一、安装 OpenClaw

在 Mac 本机执行:

curl -fsSL https://openclaw.ai/install.sh | bash

安装完成后可验证版本:

openclaw -V

二、前置条件:安装并运行 Ollama

1、安装 Ollama:https://ollama.ai 2、拉取模型(示例):

ollama pull qwen3

注:用于支持 tool calling,见下文 3、确认 Ollama 在运行:

ollama list
curl -s -o /dev/null -w "%{http_code}" http://127.0.0.1:11434/api/tags
# 返回 200 表示正常

三、配置 OpenClaw 使用 Ollama 模型

3.1 启用 Ollama 提供方(推荐:环境变量)

在 ~/.zshrc 末尾添加:

# OpenClaw + Ollama 本地模型(无需真实 key,任意值即可启用发现)
export OLLAMA_API_KEY="ollama-local"

然后执行 source ~/.zshrc 或重新打开终端。

3.2 设置默认模型

openclaw config set agents.defaults.model.primary "ollama/qwen3:latest"

3.3 让 Gateway 进程也能使用 Ollama(重要)

Gateway 若由 launchd 启动,不会加载 .zshrc,因此需要单独给 Gateway 进程设置环境变量。 编辑 ~/Library/LaunchAgents/ai.openclaw.gateway.plist,在 EnvironmentVariables 的 dict 内增加:

 <key>OLLAMA_API_KEY</key>
<string>ollama-local</string>

修改后重启 Gateway:

openclaw gateway stop
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/ai.openclaw.gateway.plist

四、解决 “Unknown model: ollama/qwen3:latest”

若嵌入式 Agent 或 Webchat 报错 Unknown model,多半是运行 Agent 的进程(如 Gateway)没有发现 Ollama 模型。可做两件事:

4.1 在配置中显式声明 Ollama 提供方与模型

在 ~/.openclaw/openclaw.json 中增加 "models" 段(与 "agents" 同级),例如:

"models": {
  "providers": {
    "ollama": {
      "baseUrl": "http://127.0.0.1:11434/v1",
      "apiKey": "ollama-local",
      "api": "openai-completions",
      "models": [
        {
          "id": "qwen3-coder:latest",
          "name": "Qwen3",
          "reasoning": false,
          "input": ["text"],
          "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
          "contextWindow": 128000,
          "maxTokens": 8192
        }
      ]
    }
  }
}

4.2 为 Agent 配置 Ollama 的 auth profile

创建或编辑 ~/.openclaw/agents/main/agent/auth-profiles.json:

{
  "version": 1,
  "profiles": {
    "ollama:default": {
      "type": "api_key",
      "provider": "ollama",
      "key": "ollama-local"
    }
  },
  "order": {
    "ollama": ["ollama:default"]
  }
}

完成后重启 Gateway 使配置生效。

四(一)、配置 OpenClaw 使用硅基流动(Silicon Flow)模型(备选)

若不想用本地 Ollama,可改用硅基流动云端 API(OpenAI 兼容)。同一台 OpenClaw 可在主配置里同时保留 Ollama 与硅基流动,通过默认模型切换使用。

4.1 在主配置中增加硅基流动提供方

在 ~/.openclaw/openclaw.json 的 "models" -> "providers" 中增加 "siliconflow"(与 "ollama" 同级):

"siliconflow": {
  "baseUrl": "https://api.siliconflow.cn/v1",
  "apiKey": "你的硅基流动API密钥",
  "api": "openai-completions",
  "models": [
    {
      "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B",
      "name": "DeepSeek-R1-Distill-Qwen-7B",
      "reasoning": false,
      "input": ["text"],
      "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
      "contextWindow": 128000,
      "maxTokens": 8192
    }
  ]
}

重要:baseUrl 必须使用 https://api.siliconflow.cn/v1(.cn)。使用 .com 时同一 API Key 会返回 401。

4.2 设置默认模型为硅基流动

openclaw config set agents.defaults.model.primary "siliconflow/Qwen/Qwen3-8B"

4.3 为 Agent 配置硅基流动的 auth profile

编辑 ~/.openclaw/agents/main/agent/auth-profiles.json,在 "profiles" 中增加:

"siliconflow:default": {
  "type": "api_key",
  "provider": "siliconflow",
  "key": "你的硅基流动API密钥"
}

在 "order" 中增加:

"siliconflow": ["siliconflow:default"]

API Key 与 openclaw.json 中 models.providers.siliconflow.apiKey 保持一致。

4.4 获取与验证 API Key

获取:登录 https://cloud.siliconflow.cn/account/ak 创建或查看 API 密钥。 验证(本机 curl,确认返回 200):

curl -s -o /dev/null -w "%{http_code}" -X POST "https://api.siliconflow.cn/v1/chat/completions" 
-H "Content-Type: application/json" 
-H "Authorization: Bearer 你的API密钥" 
-d '{"model":"deepseek-ai/DeepSeek-R1-Distill-Qwen-7B","messages":[{"role":"user","content":"hi"}],"max_tokens":32}'

4.5 若出现 401 status code (no body)

硅基流动文档:401 表示 API Key 没有正确设置。 常见原因:baseUrl 用了 https://api.siliconflow.com/v1(.com)。同一 Key 在 .cn 有效、在 .com 会 401。请确保 openclaw.json 与(若存在)~/.openclaw/agents/main/agent/models.json 中 siliconflow 的 baseUrl 均为 https://api.siliconflow.cn/v1。 若已用 .cn 仍 401:在控制台检查 Key 是否启用,必要时重新生成并更新 openclaw.json 与 auth-profiles.json 两处。

4.6 关于 agents/main/agent/models.json

该文件多为 OpenClaw 运行时根据主配置自动生成或同步。 持久修改请只改 ~/.openclaw/openclaw.json 的 models.providers,避免依赖手改 agents/main/agent/models.json。 修改配置后重启 Gateway:openclaw gateway restart。

四(二)、配置 OpenClaw 使用 codeai88(中转平台)

codeai88 是 OpenAI 兼容的中转平台,官网调用示例:

curl https://codeai88.com/v1/chat/completions 
  -H 'Content-Type: application/json' 
  -H 'Authorization: Bearer YOUR_API_KEY' 
  -d '{"model":"gpt-3.5-turbo","messages":[{"role":"user","content":"Say this is a test!"}],"temperature":0.7}'

4.2.1 在主配置中增加 codeai88 提供方

在 ~/.openclaw/openclaw.json 的 "models" -> "providers" 中增加 "codeai88"(与 "ollama"、"siliconflow" 同级):

"codeai88": {
  "baseUrl": "https://codeai88.com/v1",
  "apiKey": "你的codeai88的API密钥",
  "api": "openai-completions",
  "models": [
    {
      "id": "gpt-3.5-turbo",
      "name": "GPT-3.5 Turbo",
      "reasoning": false,
      "input": ["text"],
      "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
      "contextWindow": 16385,
      "maxTokens": 4096
    }
  ]
}

4.2.2 设置默认模型

openclaw config set agents.defaults.model.primary "codeai88/gemini-2.5-flash"

4.2.3 为 Agent 配置 codeai88 的 auth profile

编辑 ~/.openclaw/agents/main/agent/auth-profiles.json,在 "profiles" 中增加:

"codeai88:default": {
  "type": "api_key",
  "provider": "codeai88",
  "key": "你的codeai88的API密钥"
}

在 "order" 中增加:

"codeai88": ["codeai88:default"]

API Key 与 openclaw.json 中 models.providers.codeai88.apiKey 保持一致。修改后重启 Gateway:openclaw gateway restart。

五、Webchat 无回复:模型必须支持 Tool Calling

实战使用 qwen3、qwen3-coder、deepseek-r1。

六、OpenClaw 服务(Gateway)

首次安装:openclaw gateway install(创建 plist 并加载到 launchd) 启动:openclaw gateway start 重启:openclaw gateway restart 停止:openclaw gateway stop 前台运行(调试):openclaw gateway run 查看状态:openclaw gateway status 若通过 launchd 管理,修改 plist 后需要先 stop 再重新 load:

openclaw gateway stop
launchctl bootstrap gui/$UID ~/Library/LaunchAgents/ai.openclaw.gateway.plist

七、常用命令速查

openclaw -V                     # 版本
openclaw config get agents.defaults.model
openclaw config set agents.defaults.model.primary "ollama/模型名"
openclaw models list            # 查看可用模型(需已设置 OLLAMA_API_KEY)
openclaw status                 # 状态与会话概览
openclaw gateway status         # Gateway 状态
openclaw dashboard              # 打开带 token 的 Control UI
openclaw cron list
openclaw cron add 
    --name "每日热点新闻推送" 
    --cron "*/5 * * * *" 
    --tz "Asia/Shanghai" 
    --session isolated 
    --message "请执行新闻推送脚本:/root/.openclaw/workspace/clawd/clawdbot_news_task.sh" 
    --announce 
    --channel feishu 
    --to "ou_0ebde71068a380fa63146e47e31d9174"
openclaw cron edit c442fa08-6ba1-4ff8-a857-d209d8c909f0 --cron "5 8,20 * * *" --tz Asia/Shanghai
openclaw cron rm c442fa08-6ba1-4ff8-a857-d209d8c909f0
openclaw cron status
openclaw cron runs --id c442fa08-6ba1-4ff8-a857-d209d8c909f0 --limit 5
openclaw logs --follow

八、配置文件与目录

项目 路径
主配置 ~/.openclaw/openclaw.json(Ollama、硅基流动、codeai88 等 providers 在 models.providers)
环境变量示例 openclaw.json 内 “env.vars” 或 ~/.zshrc 的 export OLLAMA_API_KEY
Gateway plist ~/Library/LaunchAgents/ai.openclaw.gateway.plist
Agent 目录 ~/.openclaw/agents/main/agent/
Auth 配置 ~/.openclaw/agents/main/agent/auth-profiles.json
会话存储 ~/.openclaw/agents/main/sessions/
Gateway 日志 ~/.openclaw/logs/gateway.log、gateway.err.log

九、注意事项

1、执行 openclaw gateway install 可能会覆盖 plist,若之前手动加了 OLLAMA_API_KEY,之后需重新加入或依赖 env.vars 与 auth-profiles。 2、Webchat/嵌入式 Agent 必须使用支持 tools 的 Ollama 模型,否则会出现「无回复」或 400 does not support tools。 3、新会话才会使用当前默认模型;旧会话可能仍用创建时的模型。

十、Telegram 配对与「帮写代码」配置(上下文总结)

10.0 添加 TG

在 openclaw.json 配置:

"plugins": {
  "entries": {
    "telegram": {
      "enabled": true
    }
  }
}

再运行指令:

openclaw channels add --channel telegram --token 123:abc

10.1 Telegram 提示 “access not configured”

现象:给 Telegram Bot 发消息时收到:

OpenClaw: access not configured.
Your Telegram user id: 6652024379
Pairing code: GM3C9EVR
Ask the bot owner to approve with:
openclaw pairing approve telegram <code>

含义:这是 DM Pairing(私聊配对)。表示该 Telegram 账号尚未被允许使用你的 Bot;只有被 approve 过的用户,消息才会被处理。 解决:在运行 OpenClaw 的 Mac 上终端执行(把 <code> 换成实际配对码,如 GM3C9EVR):

openclaw pairing approve telegram <code>

可选:在终端先查看待批准列表再批准:

openclaw pairing list telegram
openclaw pairing approve telegram <code>

注意:配对码约 1 小时有效;过期后需重新给 Bot 发一条消息获取新码再 approve。

10.2 Telegram 回复 “missing_brave_api_key”

现象:在 Telegram 里发消息后,Bot 回复要求配置 Brave Search API key。 原因:Agent 默认可能使用 web_search(Brave Search),未配置 BRAVE_API_KEY 时会报错。 若只需要「跟 Telegram 聊天帮写代码」、使用 Ollama,可不配置 Brave,直接关闭网页搜索。

10.3 配置:Telegram + Ollama 帮写代码(无 Brave)

目标:仅用 Ollama 模型,在 Telegram 里实现帮写代码效果,且不出现 Brave API 报错。 在 ~/.openclaw/openclaw.json 中确保或添加: (1) 关闭网页搜索(避免 missing_brave_api_key):

"tools": {
  "web": {
    "search": { "enabled": false }
  },
  "profile": "coding"
}

(2) tools.profile: "coding" 表示侧重写代码相关工具(读/写文件、执行命令等)。 (3) 默认模型与 Ollama 已在前面章节配置,例如:

"agents": {
  "defaults": {
    "model": { "primary": "ollama/qwen3:latest" }
  }
}

(4) Telegram 通道与 token 在 channels.telegram 中配置(教程前文已涉及)。 修改配置后需重启 Gateway 使生效:

openclaw gateway restart

10.4 配置小结(Telegram + Ollama 帮写代码)

用 Ollama 对话:agents.defaults.model.primary 设为 "ollama/qwen3:latest"(或其它支持 tools 的模型)。 关 Brave 报错:tools.web.search.enabled: false。 侧重写代码:tools.profile: "coding"。 Telegram:channels.telegram 已配置并完成 pairing approve。 若之后需要网页搜索,可配置 Brave API Key(openclaw configure section web 或环境变量 BRAVE_API_KEY),再将 tools.web.search.enabled 改回 true。

十一、其它补充

11.0 参考火山引擎文档《快速部署OpenClaw(原Moltbot),集成飞书AI助手》

https://www.volcengine.com/docs/6396/2189942?lang=zh#kY7J5nzc

11.1 参考阿里云文档《OpenClaw(原Moltbot、Clawdbot)集成飞书》

https://help.aliyun.com/zh/simple-application-server/use-cases/openclaw-integrated-fly-book?spm=a2c4g.11186623.help-menu-58607.d_3_0_0_2.458f66eegNBGyF&scm=20140722.H_3019601._.OR_help-T_cn~zh-V_1

11.2 参考腾讯云文档《🔥🔥🔥玩转OpenClaw|云上OpenClaw(Clawdbot)最全实践教程合辑》

https://cloud.tencent.com/developer/article/2624973

11.3 总结

对于新手来说,用腾讯云的部署会相对简单。 教程结束

Categories

最简单的方式

拥有多年的WordPress网页设计、网站建设、网站优化的经验!打算自己建设网站,还是想请专家协助,这里都能够帮助到您。

打造您的专属的网站

我们专精于 WordPress 网站,全世界有40%以上的网站是用WordPress建设的。他不仅功能强大,后台还超容易上手。
我想了解

该功能暂未开放~