nvm install --lts
go install github.com/wailsapp/wails/v3/cmd/wails3@latest本项目使用 CGO 版本的 sqlite-vec 扩展,需要配置 C 编译环境。
从 https://www.msys2.org/ 下载并安装 MSYS2。
打开 MSYS2 UCRT64 终端,执行:
# 安装 GCC 编译器
pacman -S mingw-w64-ucrt-x86_64-gcc
# 安装 SQLite3 开发库(包含 sqlite3.h 头文件)
pacman -S mingw-w64-ucrt-x86_64-sqlite3将 MSYS2 UCRT64 的 bin 目录添加到系统 PATH:
C:\msys64\ucrt64\bin
gcc --version
# 应输出类似: gcc.exe (Rev8, Built by MSYS2 project) 15.x.xCGO 已在 build/windows/Taskfile.yml 中默认启用(CGO_ENABLED=1)。
Windows 打包(生成安装包)需要安装 makensis(NSIS)。
- 参考文档:
https://wails.io/zh-Hans/docs/next/guides/windows-installer/ - 安装后将 makensis 安装目录添加到 Path 环境变量中(确保命令行可直接执行
makensis)
# 安装 openclaw
go run ./internal/tools/openclawbundle -config build/runtime.yml
# gui模式
wails3 dev
# server模式 (only linux)
wails3 task build:server
wails3 task run:server将额外的技能skill打包成extraSkills.zip放到,build\extraSkills\extraSkills.zip,方便打包
# amd64
wails3 task windows:build ARCH=amd64 DEV=false
cd bin && 7z a ChatClaw_windows_amd64.zip ChatClaw.exe && cd ..
wails3 task windows:package ARCH=amd64 DEV=false
# 包含 openclaw的包 最好自己弄zip压缩包 build\openclaw-runtime\windows-amd64内的文件 压缩到build\openclaw-runtime\windows-amd64.zip中,方便直接导出
wails3 task windows:package ARCH=amd64 DEV=false BUNDLE_OPENCLAW=true# arm64
wails3 task darwin:sign:notarize ARCH=arm64 DEV=false
cd bin && tar -czf ChatClaw_darwin_arm64.tar.gz -C ChatClaw.app/Contents/MacOS ChatClaw && mv ChatClaw-arm64.dmg ./ChatClaw_AppleCPU_arm64.dmg && cd ..
# amd64
wails3 task darwin:sign:notarize ARCH=amd64 DEV=false
cd bin && tar -czf ChatClaw_darwin_amd64.tar.gz -C ChatClaw.app/Contents/MacOS ChatClaw && mv ChatClaw-amd64.dmg ./ChatClaw_IntelCPU_amd64.dmg && cd ..
# arm64+amd64
wails3 task darwin:sign:notarize UNIVERSAL=true DEV=false
cd bin && mv ChatClaw-universal.dmg ./ChatClaw_MacOS_universal.dmg && cd ..docker login registry.cn-hangzhou.aliyuncs.com
wails3 generate bindings -clean -ts && cd frontend && npm i && npm run build && cd ..
wails3 task build:docker PLATFORM=multi (wails3 task build:docker PLATFORM=amd64)
mv ./bin/linux_amd64/server ./bin/ChatClaw_server_linux_amd64
mv ./bin/linux_arm64/server ./bin/ChatClaw_server_linux_arm64
# 单独导出 OpenClaw runtime 压缩包
wails3 task bundle:openclaw:runtime PLATFORM=multi (wails3 task bundle:openclaw:runtime PLATFORM=amd64)
# 输出:
# build/openclaw-runtime/linux-amd64.tar.gz
# build/openclaw-runtime/linux-arm64.tar.gz