Skip to content

Latest commit

 

History

History
123 lines (85 loc) · 3.37 KB

File metadata and controls

123 lines (85 loc) · 3.37 KB

ChatClaw

前置依赖

npm

nvm install --lts

Wails3 cli

go install github.com/wailsapp/wails/v3/cmd/wails3@latest

Windows CGO 环境配置(UCRT64)

本项目使用 CGO 版本的 sqlite-vec 扩展,需要配置 C 编译环境。

1. 安装 MSYS2

https://www.msys2.org/ 下载并安装 MSYS2。

2. 安装 GCC 和 SQLite3 开发库

打开 MSYS2 UCRT64 终端,执行:

# 安装 GCC 编译器
pacman -S mingw-w64-ucrt-x86_64-gcc

# 安装 SQLite3 开发库(包含 sqlite3.h 头文件)
pacman -S mingw-w64-ucrt-x86_64-sqlite3

3. 配置 PATH 环境变量

将 MSYS2 UCRT64 的 bin 目录添加到系统 PATH:

C:\msys64\ucrt64\bin

4. 验证安装

gcc --version
# 应输出类似: gcc.exe (Rev8, Built by MSYS2 project) 15.x.x

5. 构建项目

CGO 已在 build/windows/Taskfile.yml 中默认启用(CGO_ENABLED=1)。


Windows 安装包依赖(makensis)

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,方便打包

Windows 打包

# 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

macos 多架构打包

# 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 ..

Linux Server 模式构建、打包

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