一、通过部署1panel,在应用市场里一键部署Openclaw。

参考

# Docker 需要交互式运行来配置 AI 模型和 API 密钥

docker run --rm -it -v /vol1/@appshare/openclaw-data:/root/.openclaw alpine/openclaw openclaw onboard

# 按向导完成:选择模型 → 配置 API 密钥 → 设置聊天通道

# 2. 配置网关模式
docker run --rm -v /vol1/@appshare/openclaw-data:/root/.openclaw alpine/openclaw openclaw config set gateway.mode local

# 3. 启动(守护进程模式,容器会一直运行)
docker run -d --name openclaw -p 18789:18789 \
  -v /vol1/@appshare/openclaw-data:/root/.openclaw --restart unless-stopped \
  alpine/openclaw openclaw gateway run

docker pull alpine/openclaw:latest

# 2. 创建数据持久化目录(避免容器重启后配置丢失)

mkdir -p /vol1/@appshare/openclaw/conf

mkdir -p /vol1/@appshare/openclaw/workspace

# 3. 启动容器(核心命令,默认端口18789)

docker run -d \
  --name openclaw \
  --restart always \
  -p 18789:18789 \
  -v /vol1/@appshare/openclaw/conf:/root/.openclaw \
  -v /vol1/@appshare/openclaw/workspace:/home/node/.openclaw/workspace \
  -e TZ=Asia/Shanghai \
  alpine/openclaw:latest

# 4. 查看容器运行状态(显示Up即为成功)

docker ps | grep openclaw

# 5. 进入容器初始化 

docker exec -u root -it openclaw bash

openclaw dashboard --no-open

# 6. 查看UI控制台

openclaw dashboard

二、关于API的一些坑

切换API相当麻烦,对于自定义中转站,自带的模型账号切换疑似会有问题。只有默认可选的api才能比重较顺利使用。自定义的api结尾是/v1才行,则nvidia nim的api不能顺利使用。 

openclaw.json格式应为:

primary中手动切换providers/id,多个模型同一sk码,则同一providers下嵌套多个id

{
  "agents": {
    "defaults": {
      "model": {
        "primary": "qwen/qwen3-coder-plus"
      },
      "userTimezone": "Asia/Shanghai"
    }
  },
  "browser": {
    "defaultProfile": "openclaw",
    "enabled": true,
    "executablePath": "/home/node/.cache/ms-playwright/chromium-1208/chrome-linux64/chrome",
    "headless": true,
    "noSandbox": true
  },
  "channels": {
    "feishu": {
      "accounts": {
        "main": {
          "appId": "cli_",
          "appSecret": "kCz",
          "botName": "HsiaChat"
        }
      },
      "allowFrom": [
        "*"
      ],
      "dmPolicy": "open",
      "enabled": true
    }
  },
  "gateway": {
    "auth": {
      "mode": "token",
      "token": "fdwj"
    },
    "bind": "lan",
    "controlUi": {
      "dangerouslyAllowHostHeaderOriginFallback": true,
      "dangerouslyDisableDeviceAuth": true
    },
    "mode": "local",
    "port": 18789
  },
  "models": {
    "mode": "merge",
    "providers": {
      "longcat": {
        "api": "openai-completions",
        "apiKey": "ak_8",
        "baseUrl": "https://api.longcat.chat/openai/v1",
        "models": [
          {
            "contextWindow": 32768,
            "cost": {
              "cacheRead": 0,
              "cacheWrite": 0,
              "input": 0,
              "output": 0
            },
            "id": "LongCat-Flash-Chat",
            "input": [
              "text"
            ],
            "maxTokens": 8192,
            "name": "LongCat-Flash-Chat",
            "reasoning": false
          }
        ]
      },
      "qwen": {
        "baseUrl": "http://192.168.1.0:3000/openai-qwen-oauth/v1",
        "apiKey": "sk-289",
        "api": "openai-completions",
        "models": [
          {
            "id": "vision-model",
            "name": "Vision-Model",
            "reasoning": false,
            "input": [
              "text",
              "image"
            ],
            "contextWindow": 32768,
            "maxTokens": 8192
          },
          {
            "id": "qwen3-coder-plus",
            "name": "Qwen3-Coder-Plus",
            "reasoning": false,
            "input": [
              "text"
            ],
            "contextWindow": 32768,
            "maxTokens": 8192
          }
        ]
      },
      "zai": {
        "api": "openai-completions",
        "apiKey": "Nx",
        "baseUrl": "https://open.bigmodel.cn/api/paas/v4",
        "models": [
          {
            "contextWindow": 204800,
            "cost": {
              "cacheRead": 0,
              "cacheWrite": 0,
              "input": 0,
              "output": 0
            },
            "id": "glm-4.7-flash",
            "input": [
              "text"
            ],
            "maxTokens": 131072,
            "name": "GLM-4.7-Flash",
            "reasoning": false
          }
        ]
      }
    }
  },
  "plugins": {
    "entries": {
      "feishu": {
        "enabled": true
      }
    }
  }
}

三、使用内置浏览器搜索 openclaw-managed

切换成z.ai,提问:“我应该怎么配置openclaw,使得用内置的浏览器帮我搜索问题?”让ai自己修。

提示一下/home/node/.cache/ms-playwright/chromium-1208/chrome-linux64/chrome

四、测试api支持的模型

curl https://free.v36.cm/v1/models \
  -H "Authorization: Bearer sk-tpS1913f5bF6" \
  -H "Content-Type: application/json" | jq '.data[].id'

curl https://openrouter.ai/api/v1/models \
  -H "Authorization: Bearer sk-o2380" \
  -H "Content-Type: application/json" | jq '.data[].id'

"gpt-3.5-turbo"
"gpt-3.5-turbo-16k"
"gpt-4o-mini"
"gpt-4o-mini-2024-07-18"
 

免费模型入库

GetFreeAI.net - 免费 AI 服务使用指南

五、命令速查

常用 CLI 命令一览,复制即用

基础命令

openclaw启动

openclaw onboard初始化向导

openclaw dashboard打开控制台

openclaw config查看配置

openclaw skills管理技能

openclaw --help查看帮助

网关管理

openclaw gateway run前台运行

openclaw gateway start后台启动

openclaw gateway stop停止

openclaw gateway restart重启

openclaw gateway status查看状态

openclaw gateway install开机自启

维护命令

openclaw update检查更新

openclaw doctor诊断修复

openclaw daemon start守护进程启动

openclaw daemon stop守护进程停止

Docker 命令

docker restart openclaw重启容器

docker logs openclaw查看日志

docker-compose up -dCompose 启动

docker-compose downCompose 停止

六、安装skills

sudo -i

docker exec -u root -it <你的容器ID或名称> bash

🔧 完整解决方案(从零到可用)

1️⃣ 以root身份进入容器(从宿主机执行)

bash

docker exec -u root -it <你的容器ID> bash

(容器ID可用 docker ps 查看)

2️⃣ 安装Node.js和npm(如果尚未安装)

bash

apt update && apt install -y nodejs npm
# 验证安装
node --version  # 应显示v18+
npm --version

3️⃣ 安装clawhub CLI(这才是正确的方法!)

bash

npm install -g clawhub
# 验证安装
clawhub --version  # 显示版本号即为成功

4️⃣ 切换到node用户(安装skill时建议用普通用户)

bash

su - node

5️⃣ 安装你需要的skills

根据你的需求,安装相应的skills。以下是OpenClaw官方推荐和社区常用的skills:

bash

# 安装联网搜索技能(必备)
clawhub install tavily-search

# 安装网页自动化技能
clawhub install ai-web-automation

# 安装AIML API相关技能(如果你用AIML API)
clawhub install aiml-image-video
clawhub install aiml-llm-reasoning

# 安装技能检索工具(自动发现所需技能)
clawhub install find-skills

# 查看已安装的技能
clawhub list

注意:安装后如果提示需要配置API Key(如Tavily Search Key),你需要以root身份编辑OpenClaw配置文件:

bash

# 以root身份编辑
nano /opt/openclaw.env
# 或
nano ~/.openclaw/config.json

添加对应的API Key后重启服务:

bash

systemctl restart openclaw

6️⃣ 验证技能是否生效

bash

# 列出已安装技能
clawhub list

# 测试技能(例如测试联网搜索)
openclaw agent --message "使用tavily-search搜索2026年AI最新动态"

📌 关键点总结

  1. clawhub是npm包,不是pip包——之前用pip/pipx安装全是错的,难怪不行

  2. 安装命令npm install -g clawhub

  3. 技能安装clawhub install 技能名称

  4. 常用技能名称参考

    • tavily-search - 联网搜索

    • ai-web-automation - 网页自动化

    • find-skills - 技能自动发现

    • web-pilot - 复杂网页任务

    • aiml-llm-reasoning - AIML大模型推理

  5. API Key配置:很多技能需要配置API Key,存放在/opt/openclaw.env(root专属)或~/.openclaw/config.json(用户级)

现在按这个步骤操作,应该就能成功安装并使用clawhub管理OpenClaw的skills了。如果遇到具体技能安装报错,欢迎继续提问!

手动配置 GitHub Token(如无法登录)

如果你因为容器无图形界面无法登录,可以手动配置 Token:

1️⃣ 生成 GitHub Token(必须用 classic 类型)
  • 打开 https://github.com/settings/tokens

  • 点击 Generate new token (classic)(不要选 fine-grained)

  • 设置:

    • Noteclawhub-token

    • Expiration90 days(或更久)

    • Scopes必须全选 repo 分类下的所有权限(权限不足也会被限流) 

  • 生成后立即复制(关闭页面后就看不到了)

2️⃣ 在容器中配置环境变量

bash

# 临时生效测试(直接在命令前加)
GITHUB_TOKEN="你的新令牌" npx clawhub@latest install find-skills

# 永久生效(写入 shell 配置)
echo 'export GITHUB_TOKEN="你的新令牌"' >> ~/.bashrc
source ~/.bashrc

# 验证是否生效
echo $GITHUB_TOKEN  # 应该显示你的令牌

clawhub install find-skills 
clawhub install ai-web-automation

参考:

https://mp.weixin.qq.com/s/sWGVibOzSrRP8oTS6NBUMA

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐