Skip to content

OpenClaw 配置教程 ​

从零开始部署 OpenClaw 并接入 Coding Flow 平台。

当前安装版本为 OpenClaw 2026.3.13 (61d171a)

开始前请先完成 Node.js 环境安装教程。

你需要准备

  • 一个可用的 API Key(形如:sk-******)
  • 一个可访问的 服务地址(Base URL)(通常由部署方/网关提供)

本站通用服务地址

第一步:安装 OpenClaw ​

在服务器终端执行一行命令,全局安装 OpenClaw:

Bash
npm install -g openclaw

openclaw-install.png

看到安装成功的提示后,核心程序就位了。

第二步:运行向导,完成基础配置 ​

在终端输入以下命令启动交互式向导:

Bash
openclaw onboard

向导会一步步问你问题,按以下策略选择:

  • I understand this is personal-by-default and shared/multi-user use requires lock-down. Continue? → 选 Yes。

openclaw-onboard-1.png

  • Onboarding mode → 选 QuickStart(新服务器直接用默认配置,最省事)。

openclaw-onboard-2.png

  • Model/auth provider → 翻到最底部,选 Skip for now (configure later)。这是关键一步,因为我们要接入的 Coding Flow 不在官方列表里,所以先跳过,后面手动配。

openclaw-onboard-3.png

  • Filter models by provider → 保持 All providers,直接回车。

openclaw-onboard-4.png

  • Default model → 选 Keep current(保持默认即可,后面我们会在配置文件里手动指定 Coding Flow 的模型)。

openclaw-onboard-5.png

  • Select channel (QuickStart) -> 选 Skip for now 跳过机器人选择

openclaw-onboard-6.png

  • Search provider -> 选 Skip for now 跳过搜索提供商

openclaw-onboard-7.png

  • Configure skills now? (recommended) → 选 No(Skills 后续随时可以加,先跑起来再说)。

openclaw-onboard-8.png

  • Enable hooks? → 建议全选(boot-md、bootstrap-extra-files、command-logger、session-memory 都挺实用,尤其 session-memory 能在切换会话时自动保存上下文)。

openclaw-onboard-9.png

  • Install Gateway service → 选 Yes(如果出现这个选项,表示开启开机自启)。

  • How do you want to hatch your bot? → 选 Do this later(模型还没配,现在 hatch 会失败,等配好 Coding Flow 再说)。

Hatch 是 OpenClaw 的首次人格初始化流程,给 Bot 设定名字、性格、身份。这里我们没有设置 Bot 所以跳过。

openclaw-onboard-10.png

向导跑完后会提示 Onboarding complete。到此基础环境部署完成。

openclaw-onboard-11.png

第三步:配置 Coding Flow 模型信息 ​

向导帮你生成了一个完整的配置文件,但里面没有模型(因为我们刚才选了 Skip)。现在要把 Coding Flow 的模型塞进去。

打开配置文件 openclaw.json

txt
Windows:
C:\Users\<你的用户名>\.openclaw\openclaw.json

macOS: 
/Users/<你的用户名>/.openclaw/openclaw.json

Linux: 
/home/<你的用户名>/.openclaw/openclaw.json

在文件的最外层大括号内,找到合适的位置(比如紧跟在 meta 块后面),插入以下两段配置片段。注意替换成你真实的 Coding Flow API Key:

json
"models": {
  "providers": {
    "codingflow": {
      "baseUrl": "https://api.codinglow.ai",
      "apiKey": "这里填你的Coding Flow的API key",
      "api": "anthropic-messages",
      "models": [
        {
          "id": "claude-opus-4-6",
          "name": "Claude Opus 4.6 (Coding Flow)",
          "reasoning": true,
          "input": ["text", "image"],
          "contextWindow": 200000,
          "maxTokens": 16384
        }
      ]
    }
  }
},
"agents": {
  "defaults": {
    "model": {
      "primary": "codingflow/claude-opus-4-6"
    }
  }
}

重要提示

如果配置文件里已经有 agents 字段(向导可能会生成一个默认的),你需要把它合并到一起,而不是直接粘贴第二份。JSON 里同一层级不能有两个同名 key,否则后面的会覆盖前面的,导致模型配置丢失报错。

如果你还想加其他模型,例如 Codex 模型,可以在 models.providers 下面继续增加 provider。

json
"codingflow-openai": {
  "baseUrl": "https://api.codinglow.ai/v1",
  "apiKey": "这里填你的Coding Flow的API key",
  "api": "openai-responses",
  "models": [
    {
      "id": "gpt-5.3-codex",
      "name": "GPT-5.3 Codex (Coding Flow)",
      "reasoning": false,
      "input": ["text", "image"],
      "cost": {
        "input": 0,
        "output": 0,
        "cacheRead": 0,
        "cacheWrite": 0
      },
      "contextWindow": 128000,
      "maxTokens": 16384
    }
  ]
}

补充说明

配置完 providers 后,还需要注意以下两点:

  1. 设置默认模型(可选)

如果想把 Codex 模型或者其他模型作为默认模型,可以修改 agents 配置中的 primary 字段:

json
"agents": {
  "defaults": {
    "model": {
      "primary": "codingflow-openai/gpt-5.3-codex"
    }
  }
}
  1. 配置模型白名单(如果需要)

如果你的配置文件中有 models.allowlist 字段,需要把新添加的模型加入白名单才能使用:

json
"models": {
  "allowlist": [
    "codingflow-claude/claude-opus-4-6",
    "codingflow-openai/gpt-5.3-codex"
  ],
  "providers": {
    // 这里保留你现有的 providers 配置
  }
}

如果配置文件中没有 allowlist 字段,说明没有启用白名单机制,所有已配置的模型都可以直接使用。由于上面展示的是配置片段,粘贴到现有 JSON 时记得检查前后逗号是否正确。

示例配置文件

json
{
  "wizard": {
    "lastRunAt": "2026-03-17T03:20:08.092Z",
    "lastRunVersion": "2026.3.13",
    "lastRunCommand": "onboard",
    "lastRunMode": "local"
  },
  "agents": {
    "defaults": {
      "workspace": "/Users/lixin/.openclaw/workspace",
      "models": {
        "codingflow-claude/claude-opus-4-6": {
          "alias": "claude-opus-4-6"
        },
        "codingflow-gemini/gemini-3.1-pro-preview": {
          "alias": "gemini-3.1-pro-preview"
        },
        "codingflow-openai/gpt-5.3-codex": {
          "alias": "gpt-5.3-codex"
        }
      },
      "model": {
        "primary": "codingflow-gemini/gemini-3.1-pro-preview"
      }
    }
  },
  "tools": {
    "profile": "coding"
  },
  "commands": {
    "native": "auto",
    "nativeSkills": "auto",
    "restart": true,
    "ownerDisplay": "raw"
  },
  "session": {
    "dmScope": "per-channel-peer"
  },
  "hooks": {
    "internal": {
      "enabled": true,
      "entries": {
        "boot-md": {
          "enabled": true
        },
        "bootstrap-extra-files": {
          "enabled": true
        },
        "command-logger": {
          "enabled": true
        },
        "session-memory": {
          "enabled": true
        }
      }
    }
  },
  "gateway": {
    "port": 18789,
    "mode": "local",
    "bind": "loopback",
    "auth": {
      "mode": "token",
      "token": "c51090af860cd707e8c6faecf6da45e27a24fea3f339f8e4"
    },
    "tailscale": {
      "mode": "off",
      "resetOnExit": false
    },
    "nodes": {
      "denyCommands": [
        "camera.snap",
        "camera.clip",
        "screen.record",
        "contacts.add",
        "calendar.add",
        "reminders.add",
        "sms.send"
      ]
    }
  },
  "meta": {
    "lastTouchedVersion": "2026.3.13",
    "lastTouchedAt": "2026-03-17T03:20:08.105Z"
  },
  "models": {
    "providers": {
      "codingflow-gemini": {
        "baseUrl": "https://api.codinglow.ai/v1beta",
        "apiKey": "sk-xxxxxxxxxxxxxxxxxxxxxxxx",
        "api": "google-generative-ai",
        "models": [
          {
            "id": "gemini-3.1-pro-preview",
            "name": "Gemini 3.1 Pro (Coding Flow)",
            "reasoning": true,
            "input": ["text", "image"],
            "contextWindow": 2000000,
            "maxTokens": 8192
          }
        ]
      },
      "codingflow-claude": {
        "baseUrl": "https://api.codinglow.ai",
        "apiKey": "sk-xxxxxxxxxxxxxxxxxxxxxxxx",
        "api": "anthropic-messages",
        "models": [
          {
            "id": "claude-opus-4-6",
            "name": "Claude Opus 4.6 (Aepvon)",
            "reasoning": true,
            "input": ["text", "image"],
            "contextWindow": 200000,
            "maxTokens": 16384
          }
        ]
      },
      "codingflow-openai": {
        "baseUrl": "https://api.codinglow.ai/v1",
        "apiKey": "sk-xxxxxxxxxxxxxxxxxxxxxxxx",
        "api": "openai-responses",
        "models": [
          {
            "id": "gpt-5.3-codex",
            "name": "GPT-5.3 Codex (Coding Flow)",
            "reasoning": false,
            "input": ["text", "image"],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 128000,
            "maxTokens": 16384
          }
        ]
      }
    }
  }
}

关于 api 字段的说明:

  • anthropic-messages:用于 Claude 系列模型(Claude Opus 4.6、Claude Sonnet 4 等)。
  • openai-responses:用于 GPT 系列模型(GPT-4o、GPT-3.5 等),以及大部分兼容 OpenAI 格式的开源模型。
  • google-generative-ai:用于 Google Gemini 系列模型(Gemini 2.0、Gemini 3.0 等)。

第四步:重启服务,开始对话 ​

配置文件修改后,需要重启 OpenClaw 才能生效:

Bash
openclaw gateway restart
openclaw gateway status

只要状态是 running,就说明服务已经正常运行,可以继续下一步配对。

openclaw-running.png

访问控制台输出的地址即可看到OpenClaw网关仪表盘:http://127.0.0.1:18789

openclaw-gateway-1.png

此时还有最后两步命令需要执行,需要配置 OpenClaw 网关令牌,才能使用 OpenClaw 网关。

Bash
openclaw gateway run
openclaw dashboard --no-open

openclaw-gateway-2.png

将生成的网关令牌填入到网关仪表盘中,并配置登陆密码。

openclaw-gateway-1.png

完成配置后进入仪表盘,即可开始对话。

openclaw-gateway-4.png