关于openclaw

上次我们讲到鸿蒙电脑如何使用claude code/iflow,这次我们再尝试使用下openclaw

openclaw:钢铁侠的贾维斯

OpenClaw 是一个开源的 AI Agent 框架,本质上是一个能“主动做事”的个人智能代理平台,而不仅仅是一个聊天机器人。它通过自然语言指令,连接大模型与本地系统工具,实现对电脑文件、应用、浏览器、邮件等资源的自动化操作,被许多用户称为“能指挥电脑的数字员工”或“24小时待命的贾维斯”。

核心能力与特点

  • 任务自动化执行‌
    OpenClaw 能理解并拆解自然语言指令,自动完成一系列复杂操作,例如:

    • “整理本周工作邮件并生成待办清单”
    • “比价10款笔记本,选出性价比最高的并发送链接给我”
    • “每天早上8点从新闻网站抓取AI领域动态,汇总成简报发到钉钉群”

    这些任务无需编程,仅靠日常语言即可触发。
    ‌本地优先,隐私可控‌,它运行在用户自己的设备(如个人电脑或云服务器)上,所有数据处理和记忆存储都在本地完成,避免敏感信息上传至第三方平台,保障隐私安全。

  • 跨平台协同与多模型兼容‌
    支持通过 WhatsApp、Telegram、钉钉、飞书等通讯工具接收指令,可调用阿里云百炼、OpenAI、通义千问等不同大模型,根据任务需求切换 Qwen3-max(强推理)、GPT-4(通用强)等模型,灵活适配场景。

  • 系统级操作权限‌
    具备读写文件、运行脚本、控制浏览器、管理日程等系统级能力,真正实现“替你动手”,而非仅回答问题。

前身与品牌演变‌

OpenClaw 前身为 Clawdbot 和 Moltbot,因商标问题经历更名,2026年初正式统一为 OpenClaw。原有用户配置可无缝迁移,功能架构未变。

注意点

尽管 OpenClaw 功能强大,但也存在潜在风险:由于其拥有高系统权限,若未妥善管理工具调用权限,可能引发数据泄露或误操作,因此建议在可信环境中使用,并启用访问控制机制。

鸿蒙电脑部署OpenClaw

通用工具部署

两款软件均需要海量的工具集,尤其是git、Node.js

  • 设备:我使用的MateBook Pro已经升级到6.0.0.120版本,建议升级到该版本以上
  • 代码管理工具GitNext,作为代码管理工具下载管理三方库等,下载后可在系统终端中使用(个人推荐),也可以使用界面管理
  • Node.js: DevNode-OH,包含了Node.js运行时及npm工具等
  • 编译工具链DevBox,包含了llvmclangautoconfbashcmakemakeninjahdchnpclim4等编译基础工具,安装后可在系统的终端中使用
  • Python环境Python安装器,包含了python3.12的运行时,下载后可在终端中执行python脚本
  • Java环境BiShengJDK8-OH \ BiShengJDK17-OH,用于提供Java虚拟机环境,这个在之前的文章编译获取鸿蒙版本JDK中也讲到过(我这里使用的是JDK17)

华为应用市场下载快捷入口:
应用市场:BiShengJDK17-OH
应用市场:DevBox
应用市场:Python安装器
应用市场:GitNext
应用市场-DevNode-OH

node环境部署

  • 创建并设置node的安装目录
mkdir -p /storage/Users/currentUser/npm
npm config set prefix -g /storage/Users/currentUser/npm
  • 设置环境变量
    由于鸿蒙电脑的终端当前默认为zsh,所以需要将环境变量写入zshrc,环境变量下如下目录
/storage/Users/currentUser/.zshrc 

export PATH=$PATH:/storage/Users/currentUser/npm/bin写入.zshrc
在这里插入图片描述

  • 使能环境变量,保障环境变量写入zsh中(同时下次启动终端会继承,不用每次设置)
source /storage/Users/currentUser/.zshrc

安装openclaw

直接通过npm安装会报错syscall spawn git,所以需要安装GitNext来使系统有git可用,记得完成sshkey配置
在这里插入图片描述

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
ssh-keygen -t rsa -b 4096 -C "你的邮箱"

直接安装还有另一个问题,openclaw依赖node-llama-cpp,这是一个Node.js 绑定库,基于 llama.cpp 实现,允许开发者在本地机器上运行大型语言模型(LLMs),无需依赖云端服务。依赖本地模型能力,这里先跳过
在这里插入图片描述

最终使用的命令如下:

npm install -g --legacy-peer-deps openclaw@latest

在这里插入图片描述
至此,openclaw安装完成

本地化适配

首次在终端中执行openclaw会弹出非应用市场扩展程序的提示,按照提示点击去设置打开开关,后续可以通过在设置中搜索运行来自非应用市场的扩展程序手动打开或者关闭
在这里插入图片描述
在这里插入图片描述
再次执行openclaw会提示是否运行xxx,点击运行即可
在这里插入图片描述

指定解释器

指定解释器有两种方案

  1. 方案1:修改源码
    /storage/Users/currentUser/npm/bin/openclaw第一行的#!/usr/bin/env node修改为#!/bin/env node,因为鸿蒙电脑没有usr,所以去掉usr,用/bin/env指定node解释器;
    修改前:
    在这里插入图片描述
    修改后:
    在这里插入图片描述
  2. 方案2
    或者执行node openclaw执行也可以规避该问题(手动指定解释器避免系统自动寻找)

再次执行后,可以看到已经可以执行,但是仍然存在问题
在这里插入图片描述

修改日志

由于鸿蒙电脑中没有/tmp目录,所以这部分需要定制化修改,当前报错主要原因为openclaw的logger模块使用了默认的/tmp目录,所以我们需要定制

  1. openclaw的resolveConfigPath函数遵循用户自定义 > 现有配置文件 > 状态目录覆盖 > 默认目录的优先级解析配置文件路径;该函数遵循用户自定义 > 现有配置文件 > 状态目录覆盖 > 默认目录的优先级解析配置文件路径;
  2. 核心设计目标是兼容旧配置 + 保证路径必有值,同时通过异常捕获避免文件检查时崩溃;
  3. 环境变量 OPENCLAW_CONFIG_PATH 拥有最高优先级,是手动指定配置文件的最佳方式。我们可以通过环境变量直接指定
    首先创建配置目录
mkdir -p ~/.openclaw

将以下代码写入./zshrc文件,生效长期的环境变量

export OPENCLAW_CONFIG_PATH="~/.openclaw/claw.json"  # 指定配置文件路径

在这里插入图片描述

然后创建配置文件~/.openclaw/claw.json,将以下配置写入文件中;

写入文件的内容

{
  "logging": {
    "level": "info", 
    "file": "~/.openclaw/logs/claw.log",
  }
}

保存好后,再次source ~/.zshrc使能环境变量,再次执行openclaw cli就可以运行了
在这里插入图片描述

设置Gateway

由于鸿蒙系统没有类似systemd lanchd等守护服务机制,所以我们需要手动拉起Gateway

openclaw gateway --port 18789 --verbose

在这里插入图片描述
此时我们发现没有设置gateway mode,我们仍然修改~/.openclaw/claw.json文件,在其中增加以下字段

{
  "logging": {
    "level": "info", 
    "file": "~/.openclaw/logs/claw.log", 
  },
  "gateway": { // 新增
    "mode": "local",
    "auth": {
      "mode": "token",  // 认证模式(默认token)
      "token": "my-secret-token-123456"  // 自定义认证令牌
    }
  }
}

我们的命令中通过 --port进行了端口指定,当然也可以将该配置写入配置文件,"port": 18789, // 永久指定网关端口,这样的弊端是在端口冲突的情况下,需要反复修改配置文件或再次手动指定端口,不如一步到位,直接使用 --port 参数动态指定
恭喜你,看到以下状态,openclaw的gateway就运行起来了,可以看到首行会提示地址为http://127.0.0.1:18789/__openclaw__/canvas/
在这里插入图片描述

网页客户端验证

我们在gateway中,已经启动服务,我们可以通过浏览器访问本地服务,将上一步的地址http://127.0.0.1:18789/__openclaw__/canvas/修改为http://127.0.0.1:18789/__openclaw__/overview在浏览器打开,如下
在这里插入图片描述
由于我们只配置了token,在上述位置填入我们配置的token my-secret-token-123456,然后点击connect即可建立链接
在这里插入图片描述
此时我们在回到chat窗口既可以开启对话了

配置

由于Gateway配置只是校验是否可以正常启动,因此我们还需要继续配置真正访问的AI服务,先退出gateway配置的页面,然后执行命令启动配置

openclaw onboard

在这里插入图片描述
现在正处在 OpenClaw 机器人的初始化(onboarding)流程中,核心是需要确认你是否理解其安全风险并选择继续安装流程,当前界面默认选中的是「No」,需要手动切换到「Yes」才能继续。通过左右键选择并使用回车确认
在这里插入图片描述
我们目前选择QuickStart,使用上下键选择回车确认
在这里插入图片描述
这里由于我们已经在配置文件中写好mode为local,因此引导程序跳过了mode配置,这里我们选择Use existing values即可
在这里插入图片描述
这里我选择智谱的GLM做演示(资金有限见谅见谅),光标切换到Z.AI(glm4.7)回车即可
在这里插入图片描述
服务商自动选择,我们直接选择通过API Key的方式,回车即可
在这里插入图片描述
此时j将API key 粘贴后回车就好,没有的同学可以访问ZHIPU·AI注册,创建API Key,注册创建的教程一大把,这里就不啰嗦了
在这里插入图片描述
这里选择保持就行
在这里插入图片描述
接下来我不暂时不需要对接聊天机器人,直接选择跳过即可
在这里插入图片描述
这里我们选择配置skills,所以回车即可
在这里插入图片描述
这里安装直接选择No,后续需要在配置就行
在这里插入图片描述
这里选择npm
在这里插入图片描述
空格选择skip继续
在这里插入图片描述
接下来一系类API Key设置可以暂时跳过
在这里插入图片描述
hook的也可以继续跳过,后续需要可以继续配置
在这里插入图片描述
此时已经完成了所有的配置,提示在鸿蒙上无法支持,我们再次手动启动gateway即可

使用GLM 4.7
  1. 执行openclaw gateway --port 18789 --verbose启动服务
  2. 在浏览器中打开http://127.0.0.1:18789/openclaw/overview在看到已经连接,在chat页面就可以聊天了 在这里插入图片描述
  3. 新建shell窗口,执行openclaw tui可以进入终端控制台
    在这里插入图片描述

尾声

openclaw提供了各类强大的能力,大家可以部署后尝试验证,后续有空我也也会根据鸿蒙系统进行特定的skill开发和openclaw适配,欢迎大家一起交流。

社区:OpenHarmonyPCDeveloper

QQ群:564903542 CSDN
在这里插入图片描述 在这里插入图片描述

附录

应用及环境相关工具开源应用
GitNext
BiShengJDKInstaller
bishengjdk-8
bishengjdk-17
DevPython-OH
DevBox
DevNode-OH|

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐