EPAI开发环境部署OpenClaw说明

注意:OpenClaw为第三方工具,平台仅作接入参考,不承担任何使用后果

如下说明仅供openclaw 2026.2.26版本参考。

1.镜像拉取

请从官方容器镜像仓库拉取OpenClaw镜像。推荐使用以下命令:

docker pull Package openclaw · GitHub

为提升下载效率,可选用国内镜像源:

docker pull ghcr.nju.edu.cn/openclaw/openclaw

2.开发环境创建

2.1目录结构与数据挂载

1.在用户目录下创建名为`openclaw`的目录,用于存储OpenClaw的配置文件、工作空间及相关 数据

2.保存为openclaw.json,上传openclaw目录,并修改配置文件中的模型id及auth信息。在“服务聚合”中查看url、令牌信息和模型名。

此处大模型配置为本地部署大模型,配置说明可参考vLLM - OpenClaw

3. 将openclaw目录直接挂载到/home/node/.ope n claw 。

开发环境端口需要开放18789

3.开发环境配置

开发环境运行就绪后,执行以下配置操作

3.1 修改openclaw.json,增加allowedOrigins

查看容器实例的18789映射端口,并将http://<主机IP>:<映射端口>信息添加到openclaw.json文件中的gateway.controlUi. allowed Origins

3.2 修改/home/node/.openclaw 目录归属

为确保服务以 `node` 用户身份安 全运行,需要修正挂载目录的文件所有权

chown -R node:node/home/node/.openclaw

3.3 启动openclaw

切换node用户,切换/app目 录

su node
 cd  /app

启动openclaw

node openclaw.mjs gateway  - -port 18789 - - ver bose

4.访问openclaw

通过http://<主机IP>:<映射端口>访问openclaw

进入控制台界面后,点击【概览】 ,使用默认密码 `123456a?` 点击【连接】。

连接成功后,即可进入聊天交互界面,开始使用OpenClaw服务。

连接正常后, 在聊天页面进行交互。

附件: openclaw.json文件

{

“meta”: {

"lastTouchedVersion": "2026.2.26", <span lang="EN-US"></span>

"lastTouchedAt": "2026-02-27T05:53:34. 2 66Z "<span lan  g="EN-US"></span>

},

“wizard” : {

"lastRunAt": "2026-02-27T05:53:34.25 9Z",<span lang="EN-US"></span>

"lastRunVersion": "2026.2 .26",<span lang="EN-US"></span>

"lastRunCommand": "confi gure",<span lang="EN-US"></span>

"lastRunMode":   " local" <span   lang="EN-US"></span>

},

“models”: {

"mode" : "merge",<span lang="EN-US"></span>

"providers": {<span lang="EN-US"></span> 

   "vllm": {<span lang="EN-US"></span>

    "baseUrl": "http://172.16.0.1 31:32788/v1",<span lang="EN-US"></span>

    "apiKey": "UnfEIDRNbssru1aRBeC8B3E18c6b4bD08c35 0f16D97f4cA7",<span lang="EN-US"></span>

    "api": "openai-completions",<span lang="EN-US"></span> 

     "models":  \[<span lang="EN-US"></span>

      {<span lang="EN-US"></span>

         "id": "glm-5",<span lang="EN-US"></span>

        "name": "glm-5(Local)",<span lang="EN-US"></span> 

         "reasoning": false,<span lang="EN-US"></span>

         "input": \[<span lang="EN-US"></span> 

          " text"<span lang="EN-US"></span>

        \],<span lang="EN-US"> </span>

        "cost": {<span lang="EN-US"></span>

           "input": 0,<span lang="EN-US"></span>

           "output": 0,<span lang="EN-US"></span>

           "cacheRead": 0,<span lang="EN-US"></span>

           "cacheWrite": 0<span lang="EN-US"></span> 

        },<span lang="EN-US"></span>

         "contextWindow": 65536,<span lang="EN-US"></span> 

         "maxTokens":  8192<span lang="EN-US"></span>

        }<span lang="EN-US"></span>

     \]<span lang="EN-US"></span>

   }<span lang="EN-US">< / span>

}<span   lang="EN-US"></span>

},

“agents”: {

"defaults": {<span lang="EN-US"></span>

  "model": {<span lang="EN-US"></span> 

     "primary": "vllm/glm-5"<span lang="EN-US"></span>

  },<span lang="EN-US"></span>

  "workspace" : "/home/node/.openclaw/workspace"<span lang="EN-US" > </span> 

}<spa  n lang="EN-US"></span>

},

“commands”: {

" native": "auto",<span lang="EN-US"></span>

 "nativeSkills": "auto",<span lang="EN-US"></span>

 "restart": true,<span lang="EN-US"></span> 

 "ownerDi s play": " raw"<s  pan lang="EN-US"></span>

},

“gate way”: {

"port" : 18789,<span lang="EN-US"></span>

"mode ": "local",<span lang="EN-US"></span>

"bind": " lan",<span lang="EN-US"></span>

"controlUi": {<span lang="EN-US"></span>

   "allowedOrigins": \[<span lang="EN-US"></span> 

    "http://127.0 .0.1:18789"<span lang="EN-US"></span>

  \],<span lang="EN-US"></span>

  "allowInsecureAuth":  true,<span lang="EN-US"></span> 

  " dangerouslyDisableDeviceAuth ": true<span lang="EN-US"></span>

},<span lang="EN-US"></span>

"auth" : {<span lang="EN-US"></span>

   "mode": "password ",<span lang="EN-US"></span>

  "password":  "123456a?"<span lang="EN-US"></span>

},<span lang="EN-US"></span>

 "tailscale": {<span lang="EN-US"></span> 

  "m ode": "off",<span lang="EN-US"></span>

  "resetOnExit": false<span lang="EN-US"></span> 

} ,<span lang="EN-US"></span>

"nodes": {<span lang="EN-US"></span>

   "denyCommands": \[<span lang="EN-US"></span>

     "camera.snap",<span lang="EN-US"></span>

     "camera.clip",<span lang="EN-US"></span>

     "screen.record",<span lang="EN-US"></span>

     "calendar. add",<span lang="EN-US"></span> 

    "contacts.add",<span lang="EN-US"></span> 

     "reminders.add"<span lang="EN-US"></span>

  \]<span lang="EN- U S"> </span>

  } <span lang="EN-US"></span>

},

“skills”: {

"install": {<span lang="EN-US"></span>

  "nodeManager": "npm"<span lang =" EN - US"  ></span>

}<span lang="EN-US"></span>

}

}