# EPAI开发环境部署OpenClaw说明

**URL:** <https://forum.epailab.com/t/topic/47>\
**Category:** 使用教程\
**Created:** [2026 年2 月 28 日 03:26 UTC](https://forum.epailab.com/t/topic/47 "2026-02-28T03:26:21Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

作者： ![EPAI](https://yyz1.discourse-cdn.com/flex033/user_avatar/forum.epailab.com/epai/32/10_2.png) [@EPAI](https://forum.epailab.com/u/EPAI)\
发布日期： [2026 年2 月 28 日 03:26 UTC](https://forum.epailab.com/t/topic/47/1 "2026-02-28T03:26:21Z")

</div>

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

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

 ![image](https://canada1.discourse-cdn.com/flex033/uploads/epailab/original/1X/db8fe47a66d28978478e29bf1e8c16077009138b.png)

## 1.镜像拉取

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

> docker pull [Package openclaw · GitHub](http://ghcr.io/openclaw/openclaw)

为提升下载效率，可选用国内镜像源：

> docker pull [ghcr.nju.edu.cn/openclaw/openclaw](http://ghcr.nju.edu.cn/openclaw/openclaw)

## 2.开发环境创建

**2.1目录结构与数据挂载**

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

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

此处大模型配置为本地部署大模型，配置说明可参考[vLLM - OpenClaw](https://docs.openclaw.ai/providers/vllm)

 ![图片|554.133x548.153](https://canada1.discourse-cdn.com/flex033/uploads/epailab/original/1X/186ba2c597609794d18a6346304a08524a4d9407.jpeg) 

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

 ![图片|554.133x354.565](https://canada1.discourse-cdn.com/flex033/uploads/epailab/original/1X/89f2f1f1d558537afb9aa944712d7ef67743c410.jpeg) 

开发环境端口需要开放18789

 ![图片|554.133x88.4751](https://canada1.discourse-cdn.com/flex033/uploads/epailab/original/1X/74289a22827a826d36bf696fe111e887028c8d34.jpeg)

# **3.开发环境配置**

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

**3.1 修改openclaw.json，增加allowedOrigins**

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

 ![图片|554.133x111.494](https://canada1.discourse-cdn.com/flex033/uploads/epailab/original/1X/84d9ac9cb5b7d70258b71929990d87b52e69aae3.jpeg)

 ![图片|554.133x237.009](https://canada1.discourse-cdn.com/flex033/uploads/epailab/original/1X/31e870a8f2d943a68d0f546d39386af856f2587d.jpeg)

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

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

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

```

 ![图片|554.133x249.026](https://canada1.discourse-cdn.com/flex033/uploads/epailab/original/1X/f302e1ae23c0a10e7661788f9df1d7f4df5058ba.jpeg)

**3.3 启动openclaw**

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

```auto
su node
 cd /app

```

 ![图片|554.133x138.199](https://canada1.discourse-cdn.com/flex033/uploads/epailab/original/1X/475c32f862604aa95534e0f393d71f5f8b643176.jpeg)

启动openclaw

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

```

 ![图片|554.133x180.71](https://canada1.discourse-cdn.com/flex033/uploads/epailab/original/1X/7d2d4d6d26cacb7e8e405a0cfeb9ef9ac6b4e61e.jpeg)

# **4.访问openclaw**

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

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

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

 ![图片|554.133x269.887](https://canada1.discourse-cdn.com/flex033/uploads/epailab/original/1X/ac64061ce2c29b3727a3065c473137c933c927bd.png)

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

# **附件：**** openclaw.json文件**

> {
> 
> “meta”: {
> 
> ```auto
> "lastTouchedVersion": "2026.2.26", <span lang="EN-US"></span>
> 
> "lastTouchedAt": "2026-02-27T05:53:34. 2 66Z "<span lan g="EN-US"></span>
> 
> ```
> 
> },
> 
> “wizard” : {
> 
> ```auto
> "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”: {
> 
> ```auto
> "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”: {
> 
> ```auto
> "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”: {
> 
> ```auto
> " 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”: {
> 
> ```auto
> "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”: {
> 
> ```auto
> "install": {<span lang="EN-US"></span>
> 
> "nodeManager": "npm"<span lang =" EN - US" ></span>
> 
> }<span lang="EN-US"></span>
> 
> ```
> 
> }
> 
> }
