OpenClaw的安装与使用 1

目录

一、前言

二、OpenClaw的安装

[步骤 1:安装 Node.js(自带 npm)](#步骤 1:安装 Node.js(自带 npm))

[步骤 2:全局安装 OpenClaw](#步骤 2:全局安装 OpenClaw)

[步骤 3:验证 OpenClaw 安装](#步骤 3:验证 OpenClaw 安装)

[步骤4:用这条命令 openclaw onboard](#步骤4:用这条命令 openclaw onboard)

三、OpenClaw的使用

四、设定记忆规则

五、总结


一、前言

我先说的仅代表个人观点。

1.它没有你想象得这么强,它很依赖模型的能力,而且虽然我没有用最顶尖的模型,但是我用比较差的模型也同样能感知到它的能力没有你想象的厉害,或者说你要发挥它很大的能力,你要耗费很大的精力和费用,为什么这么说呢?因为模型实际上是OpenClaw的大脑,然后OpenClaw自己有执行能力,相当于手脚,但是你想一下,大脑本身它就是一个有问题的、待优化的,那么你有手脚有什么用呢?

2.OpenClaw有很多Skill但我现在还没有使用,看起来好像它是一个你可以随意组装它的技能,随意指定它的原则的东西,但是问题就在这了,这就好像你作为一个智能体,连最基本的能力都要你自己手动去组装,这其实反映了这个智能体还不够智能。

3.OpenClaw能够给模型写入永久记忆,也就是你可以让给它指定"规则",看起来好像它是一个你可以随意指定规则的能力,但是问题就在这了,这就好像你作为一个智能体,连最基本的规则你都要自己制定,这其实反映了这个智能体还不够智能。

4.安装过程、配置api、界面也是一言难尽

大家可以往上面说的这些方向去优化一下它。以后有时间我可能也会把国内的一些跟OpenClaw比较相似的软件也都用一下,看看有什么不同。

二、OpenClaw的安装

https://docs.openclaw.ai/

基于 Node.js + npm 的 OpenClaw 安装方案

步骤 1:安装 Node.js(自带 npm)

Node.js 是运行 npm 包的基础,优先安装 LTS 长期支持版(稳定无兼容问题):

  1. 下载安装包(推荐) :访问 Node.js 官网,下载对应系统的 LTS 版本(比如 v20.x),双击安装(Windows 记得勾选「Add to PATH」,macOS/Linux 安装包会自动配置)。

  2. 验证安装(关键) :打开终端 / 命令提示符,执行以下命令,能输出版本号即安装成功:

    复制代码
    # 验证 Node.js
    node -v
    # 验证 npm(Node.js 自带,无需单独装)
    npm -v

    示例输出:v24.14.0(node)、11.9.0(npm)。

步骤 2:全局安装 OpenClaw

在终端 / 命令提示符执行以下命令,全局安装最新版 OpenClaw

复制代码
# 通用命令(Windows 直接执行,macOS/Linux 需加 sudo 提权)
npm install -g openclaw@latest

# macOS/Linux 完整命令(解决权限问题)
sudo npm install -g openclaw@latest
  • -g:表示「全局安装」,安装后任意目录都能执行 openclaw 命令;
  • @latest:强制安装最新版本,避免装到旧版。

安装成功提示 :终端会显示 added xx packages in xx s,无红色报错即完成。

这里如果失败了,你可以考虑查一下是不是得配置git config --global <配置项> <值> 用于设置当前用户所有 Git 仓库生效的全局配置

步骤 3:验证 OpenClaw 安装

执行以下命令,能输出 OpenClaw 版本即安装成功:

复制代码
openclaw --version

(base) PS C:\Users\Administrator> openclaw --version

OpenClaw 2026.3.8 (3caab92)

步骤4:用这条命令 openclaw onboard

这个选模型就看你申请api的是哪个模型。比如你如果是用OpenRouter的话你就选OpenRouter,如果你用的是MiniMax 2.5那就选MiniMax,或者你选Qwen,或者你选Custom Provider可以自定义,这里你可能会遇到一个问题就是你怎么去获得API,这是最难的一个问题,你可以去问AI怎么去获得API,API通常在你注册并且登录之后右上角你那个个人账户头像里面进去之后然后看左侧有个API key的一栏,大概率就会有,不过每个网址不一样,有些是在账户管理里面啥的。不行你就问AI或者你直接翻一下官网文档之类。然后呢你需要创建一个API key,然后创建的时候可能你就需要复制那个key了,因为它是只在创建的时候才能复制的,创建完了以后就不给你复制了,有些呢又是创建完了右侧也给你一个复制按钮。总之就是你得去找找有没有一些官网啊注册送token给你体验的或者有一些免费的,问一下AI,不过免费的用起来确实是有点不太行。

下面举个魔塔社区的例子(魔塔社区每天好像有一些体验额度,很多地方注册了都有一些体验额度,自己找一下):

API Base URL:https://api-inference.modelscope.cn/v1

粘贴你的你的魔塔社区API Key(去掉 ms- 前缀

后面很多都跳过:

这里配置skill,我就算选yes也会配置失败,先不管了。

这里可以用空格把4个都选了,然后回车

这里你可以选择Restart,如果你出什么问题了你可以选择Reinstall,比如你把配置文件的json给搞坏了,你就可以Reinstall一下,这样json配置文件会重写。配置文件的json在哪后面会说。

三、OpenClaw的使用

然后就会弹出一个上面的界面,你可以跟它对话,问它是什么模型。如果没有弹出的这个界面的话,你应该可以看到弹出了下面这样的终端,里面有一个http://127.0.0.1:18789类似这种地址,你把这个地址复制到浏览器也就能打开上面的界面了。

平时呢我们可以用openclaw gateway命令打开openclaw

然后你要选择配置,选择Raw就能看到json的配置文件了。

然后你可以把你的json文件给到AI读一下,你就知道怎么去更换你的模型以及更换API key了。同时你最好把你配置成功的json备份保存一下,不然你把json弄坏了之后就只能重新openclaw onboard然后最后Reinstall重装了。

复制代码
{
  meta: {
    lastTouchedVersion: '2026.3.8',
    lastTouchedAt: '2026-03-22T07:02:39.496Z',
  },
  wizard: {
    lastRunAt: '2026-03-22T07:02:39.468Z',
    lastRunVersion: '2026.3.8',
    lastRunCommand: 'onboard',
    lastRunMode: 'local',
  },
  auth: {
    profiles: {
      'custom-api-inference-modelscope-cn:default': {
        provider: 'custom-api-inference-modelscope-cn',
        mode: 'api_key',
      },
      'minimax-cn:default': {
        provider: 'minimax-cn',
        mode: 'api_key',
      },
      'openrouter:default': {
        provider: 'openrouter',
        mode: 'api_key',
      },
    },
  },
  models: {
    mode: 'merge',
    providers: {
      'custom-api-inference-modelscope-cn': {
        baseUrl: 'https://api-inference.modelscope.cn/v1',
        apiKey: '__OPENCLAW_REDACTED__',
        api: 'openai-completions',
        models: [
          {
            id: 'MiniMax/MiniMax-M2.5',
            name: 'MiniMax/MiniMax-M2.5 (Custom Provider)',
            reasoning: false,
            input: [
              'text',
            ],
            cost: {
              input: 0,
              output: 0,
              cacheRead: 0,
              cacheWrite: 0,
            },
            contextWindow: 16000,
            maxTokens: 4096,
          },
        ],
      },
      'minimax-cn': {
        baseUrl: 'https://api.minimaxi.com/anthropic',
        apiKey: '__OPENCLAW_REDACTED__',
        api: 'anthropic-messages',
        authHeader: true,
        models: [
          {
            id: 'MiniMax-M2.5',
            name: 'MiniMax M2.5 (Official)',
            api: 'anthropic-messages',
            reasoning: true,
            input: [
              'text',
            ],
            cost: {
              input: 0.3,
              output: 1.2,
              cacheRead: 0.03,
              cacheWrite: 0.12,
            },
            contextWindow: 200000,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
  agents: {
    defaults: {
      model: {
        primary: 'custom-api-inference-modelscope-cn/MiniMax/MiniMax-M2.5',
      },
      models: {
        'custom-api-inference-modelscope-cn/MiniMax/MiniMax-M2.5': {
          alias: 'minimax2.5',
        },
        'minimax-cn/MiniMax-M2.5': {
          alias: 'Minimax',
        },
        'openrouter/auto': {
          alias: 'OpenRouter',
        },
        'openrouter/stepfun/step-3.5-flash:free': {},
      },
      workspace: 'C:\\Users\\Administrator\\clawd',
      compaction: {
        mode: 'safeguard',
      },
      maxConcurrent: 4,
      subagents: {
        maxConcurrent: 8,
      },
    },
  },
  tools: {
    profile: 'coding',
    web: {
      search: {
        provider: 'brave',
      },
    },
  },
  messages: {
    ackReactionScope: 'group-mentions',
  },
  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: '__OPENCLAW_REDACTED__',
    },
    tailscale: {
      mode: 'off',
      resetOnExit: false,
    },
  },
  plugins: {
    entries: {},
  },
}

{
  meta: {
    lastTouchedVersion: '2026.3.13',
    lastTouchedAt: '2026-03-22T08:45:28.077Z',
  },
  wizard: {
    lastRunAt: '2026-03-22T08:45:28.046Z',
    lastRunVersion: '2026.3.13',
    lastRunCommand: 'onboard',
    lastRunMode: 'local',
  },
  auth: {
    profiles: {
      'qwen-portal:default': {
        provider: 'qwen-portal',
        mode: 'oauth',
      },
      'openrouter:default': {
        provider: 'openrouter',
        mode: 'api_key',
      },
    },
  },
  models: {
    providers: {
      'qwen-portal': {
        baseUrl: 'https://portal.qwen.ai/v1',
        apiKey: '__OPENCLAW_REDACTED__',
        api: 'openai-completions',
        models: [
          {
            id: 'coder-model',
            name: 'Qwen Coder',
            reasoning: false,
            input: [
              'text',
            ],
            cost: {
              input: 0,
              output: 0,
              cacheRead: 0,
              cacheWrite: 0,
            },
            contextWindow: 128000,
            maxTokens: 8192,
          },
          {
            id: 'vision-model',
            name: 'Qwen Vision',
            reasoning: false,
            input: [
              'text',
              'image',
            ],
            cost: {
              input: 0,
              output: 0,
              cacheRead: 0,
              cacheWrite: 0,
            },
            contextWindow: 128000,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
  agents: {
    defaults: {
      model: {
        primary: 'openrouter/stepfun/step-3.5-flash:free',
      },
      models: {
        'qwen-portal/coder-model': {
          alias: 'qwen',
        },
        'qwen-portal/vision-model': {},
        'openrouter/auto': {
          alias: 'OpenRouter',
        },
        'openrouter/stepfun/step-3.5-flash:free': {},
      },
      workspace: 'C:\\Users\\Administrator\\clawd',
      compaction: {
        mode: 'safeguard',
      },
      maxConcurrent: 4,
      subagents: {
        maxConcurrent: 8,
      },
    },
  },
  tools: {
    profile: 'coding',
  },
  messages: {
    ackReactionScope: 'group-mentions',
  },
  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: '__OPENCLAW_REDACTED__',
    },
    tailscale: {
      mode: 'off',
      resetOnExit: false,
    },
  },
  plugins: {
    entries: {
      'qwen-portal-auth': {
        enabled: true,
      },
    },
  },
}

四、设定记忆规则

这个我也不知道应该给它设定什么记忆规则是最好的,但是我根据我自己踩的坑写了下面的原则,以后我可能会根据实际情况不断修改这个原则吧,这个还是比较粗糙。

记住以下原则:

执行前确认: 任务执行前需先说明操作步骤,等待用户同意

安全暂停: 遇到无法解决的问题或潜在风险时立即暂停,询问用户指导后再继续

随时中断: 用户可以随时发送指令停止当前行为,必须立即响应

操作向我透明:学会分解大任务成小任务,每个小任务需与我确认这个小任务已经经过验证成功了,经我同意再继续下一个小任务

教程和搜索优先:如果可以搜索到现成的方案或者教程,教程中有代码且判断该代码大概率可行,优先使用教程而不是自己写代码实现

可将完成不了的任务指示给我执行:如果任务完成不了,向我汇报并且教我执行,但是要让我知道当前处于哪个小任务,完成该小任务对于推进大任务目标有什么好处。

计算机领域大多数问题源自于版本问题,常是代码版本与环境版本不匹配导致,遇到可能类似出现的版本问题,学会先搜索适配版本而不是一味地急于修复bug,允许自己建立新的conda环境用于环境适配。

遇到比较复杂的问题,比如说比较复杂的代码工程,学会先用简单代码或者简单的方法先验证再在这个基础上扩展。其实本质还是大任务分解小任务,但是有的时候需要写一些简单代码用于验证,如果自己觉得完成比较复杂的任务的话,这种验证也要做,并且告知我

好的,我记住了这些原则!我会在后续工作中严格遵守:

  1. 执行前确认 - 任何操作前先说明步骤,等你同意
  2. 安全暂停 - 遇到障碍立即停下来请示
  3. 随时中断 - 你说停我就停
  4. 操作透明 - 大任务拆解成小步骤,每步验证成功并获得你同意后再继续
  5. 教程优先 - 能找到可靠教程就用现成的,不自己造轮子
  6. 任务指示 - 我做不了的就教你做,并说明当前步骤对整体目标的意义
  7. 版本问题优先:遇到可疑问题,先搜索适配的版本组合,而不是急于修bug
  8. 环境隔离:允许创建新 conda 环境专门用于版本适配
  9. 核心思想 :面对复杂工程,先做最小可行性验证(simple test),确保基础链路跑通,确认理解正确,再逐步扩展。并且每一步验证都要告诉你结果。我理解成:先小步快跑,再大步前进。就像搭积木,先确认底座稳不稳。

这些原则已经记录到了工作记忆中。
收到!这些都是很实用的工作原则,我记下了。

让我更新到记忆里:记住了 ✅

以后我会:

  1. 动手前先说清楚要做什么
  2. 遇到问题先暂停问你
  3. 把大任务拆成小步骤,每步确认成功再继续
  4. 能抄教程就不造轮子
  5. 搞不定就告诉你,带着你一起干

有需要我把这些写进 SOUL.md 永久保留吗?

需要

Successfully replaced text in C:\Users\Administrator\clawd\SOUL.md.

搞定 ✅ 已经写进 SOUL.md 了,以后这些原则会一直跟着我。

我们打开一下上面它说的路径C:\Users\Administrator\clawd\SOUL.md,它写入了这些东西

工作原则 (来自用户的教诲)

**执行前确认**: 任务执行前需先说明操作步骤,等待用户同意再行动。

**安全暂停**: 遇到无法解决的问题或潜在风险时立即暂停,询问用户指导后再继续。

**随时中断**: 用户可以随时发送指令停止当前行为,必须立即响应。

**操作透明**: 把大任务分解成小任务,每个小任务成功后向用户确认,再继续下一个。

**教程优先**: 如果能搜索到现成的方案或教程,且代码大概率可行,优先使用教程而不是自己写代码。

**完不成就汇报**: 如果任务完成不了,向用户汇报并指导用户执行,同时说明当前进度和该步骤对大目标的意义。

**版本意识**: 计算机领域大多数问题源自版本问题,遇到版本相关问题先搜索适配版本,允许建立新的 conda 环境用于适配。

**复杂问题验证**: 遇到复杂问题先用简单代码或方法验证,再在此基础上扩展。

五、总结

其实我用OpenClaw部署本地实时对话模型,结果就是折腾了半天都失败了,这东西没有想象得那么厉害,尤其是模型不够厉害的时候。而且关于怎么安装SKILL我还在研究中。

相关推荐
Highcharts.js2 小时前
Highcharts for Python|用 Pythonic 的方式构建AI数据可视化图表
前端·人工智能·python·信息可视化·数据科学·highcharts·ai可视化
hans汉斯2 小时前
基于污点分析的PHP应用威胁检测平台
开发语言·人工智能·算法·yolo·目标检测·php·无人机
自在极意功。2 小时前
图像识别原理
图像处理·人工智能·计算机视觉
AI精钢2 小时前
在生产环境进行 vibe coding 的正确方式
大数据·人工智能·ai·agent·claude·devops·cursor
志栋智能2 小时前
预算有限?超自动化安全运维的普惠解决方案
运维·网络·人工智能·安全·自动化
用户4815930195912 小时前
A2A 协议深度解析(上):当 AI Agent 需要和另一个 AI Agent 说话
人工智能
listhi5202 小时前
基于模型预测控制的自动避障与汽车跟踪MATLAB实现
人工智能·matlab·汽车
zzh940772 小时前
Gemini 3.1 Pro vs Claude 3.5:原生多模态与镜像AI的巅峰对决
人工智能
peixiuhui2 小时前
赋能智慧能源,连接储能未来:G8501网关,您储能系统的“智慧大脑”与“神经中枢”
人工智能·mqtt·能源·边缘计算·iot·储能·iotgateway