乐于分享
好东西不私藏

如何打包openclaw小龙虾客户端

如何打包openclaw小龙虾客户端

OpenClaw的出现,给未来的AI Agent指明了一个很好的方向,

AI不再局限地用于问答,而是真正的帮你执行任务。

想必大家也都跟风体验过了。

因为对小白用户来说,安装困难,各大厂也都纷纷推出了C端安装包,

帮助他们安装使用,当然大厂也不是无私的,也是为了自己卖token哈。

有这么多大厂已经推出了OpenClaw客户端:

竞争激不激烈?

小龙虾作为一种平民美食,不该是大厂该跟我们抢着吃的,

那怎么我们如何打包一份客户端的小龙虾呢?

步骤非常简单,我就来演示一下。

首先,准备小龙虾

openclaw是开源的,

地址在:

https://github.com/openclaw/openclaw

在readme.md中提供了编译的命令。

注意了,不支持windows开发环境,

因为在build脚本中使用了linux下面的脚本,

你得在windows上面安装wsl,并安装一个linux的虚拟环境。

像我电脑上安装的是Ubuntu:

wsl -d Ubuntu先启动Linux虚拟机:

在虚拟机中执行:

pnpm install用于安装所需要的依赖,相当于我们Delphi中的三方控件,

pnpm ui:build用于生成前端网页,

pnpm build之后,会生成dist目录:

使用下面的命令来运行配置向导:

node dist/index.js onboard --install-daemon

然后就可以使用如下命令运行网关:

node dist/index.js gateway

但是如果把dist目录放在别人的没有依赖的电脑上,

是运行不起来的,

所以我们需要使用pnpm deploy发布命令来将依赖一起打进包中。

pnpm --filter openclaw deploy --prod out --legacy

打包成功:

要注意的是,启动的入口变为了openclaw.mjs,

使用node openclaw.mjs onboard --install-daemon来运行配置向导:

使用node openclaw.mjs gateway来启动网关服务:

在浏览器中也能正常访问了:

 这里需要用到node,所以我们得下载一下绿色版的node放在目录中。

接下来就简单了,

把小龙虾装盘

我这里选用Delphi这个盘子,因为我只擅长Delphi,

当然你也可以用VB、VC、.Net、Electron、Qt来装,

无非就是WebView来访问小龙虾页面嘛。

检测是否已经配置好了,如果没有配置过,则要先配置,

所以要先搞个配置页面嘛,主要是配置大模型,

确认之后,调用node openclaw.mjs openboard命令来使配置生效。

 然后是检测openclaw网关服务是否已经启动,

如果没有使用,则调用node openclaw.mjs gateway命令启动网关。

都准确好之后,

最后就是显示小龙虾页面了,

高端的食材往往只需要简单的烹饪,

我们只需要在界面上放个WebBrowser就可以了:

WebBrowser的WindowsEngine需要使用EdgeIfAvailable,

表示让它使用Edge内核,注意了,需要在exe目录放一个WebView2Loader.dll。

哦对了,小龙虾的访问页面地址是什么?

http://127.0.0.1:18789/#token=******

token在C:\Users\当前用户\.openclaw\openclaw.json中:

那就读取openclaw.json,取出token,拼成url让webbrowser访问:

运行,显示OK:

最后,打包送到客户手上

将小龙虾+PC客户端打包成安装包

需要将这些文件打进安装包:

icons:所需要用到的图标,

node:绿色版的nodejs

openclaw:openclaw的打包

provider:模型供应商列表

OpenClawDestop.exe:客户端exe

sk4d.dll:Skia4d

WebView2Loader.dll:WebView加载的动态库

安装包打包脚本如下:

使用NSIS打安装包中:

在一台新电脑上安装测试

在桌面上找到:

简单的配置向导:

主界面:

结束

代码我已经开源了,爱学习的小伙伴可以自己下载体验:

https://github.com/DelphiTeacher/openclaw-desktop-client

当然大家有什么更好的方案,也可以提出来,进行改进。