-
Notifications
You must be signed in to change notification settings - Fork 990
Expand file tree
/
Copy pathelectron-builder.yml
More file actions
192 lines (178 loc) · 5.31 KB
/
electron-builder.yml
File metadata and controls
192 lines (178 loc) · 5.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
appId: app.clawx.desktop
productName: ClawX
copyright: Copyright © 2026 ClawX
compression: maximum
artifactName: ${productName}-${version}-${os}-${arch}.${ext}
directories:
output: release
buildResources: resources
files:
- dist
- dist-electron
- package.json
extraResources:
- from: resources/
to: resources/
filter:
- "**/*"
- "!icons/*.md"
- "!icons/*.svg"
- "!bin/**"
- "!screenshot/**"
# OpenClaw package (node_modules copied separately by afterPack hook
# because electron-builder respects .gitignore which excludes node_modules/)
- from: build/openclaw/
to: openclaw/
# Pre-bundled third-party skills (full directories, not only SKILL.md)
- from: build/preinstalled-skills/
to: resources/preinstalled-skills/
# NOTE: OpenClaw plugin mirrors (dingtalk, etc.) are bundled by the
# afterPack hook (after-pack.cjs) directly from node_modules, so they
# don't need an extraResources entry here.
afterPack: ./scripts/after-pack.cjs
asar: true
asarUnpack:
- "**/*.node"
# lru-cache CJS/ESM interop: older CJS versions (v5, v6, v7) don't export
# `LRUCache` as a named property, breaking `import { LRUCache }` in Node.js
# 22+ (Electron 40+). Unpacking lets afterPack patch them in place.
- "**/node_modules/lru-cache/**"
# Disable native module rebuilding.
# The Electron renderer/main process has no native (.node) dependencies.
# All native modules (opus, sharp, koffi …) belong to openclaw, which is
# bundled separately (bundle-openclaw.mjs → extraResources) and runs in its
# own process — @electron/rebuild must NOT touch them.
npmRebuild: false
# Auto-update configuration
# Primary: Alibaba Cloud OSS (fast for Chinese users, used for auto-update)
# Fallback: GitHub Releases (backup, used when OSS is unavailable)
publish:
- provider: generic
url: https://oss.intelli-spectrum.com/latest
useMultipleRangeRequest: false
- provider: github
owner: ValueCell-ai
repo: ClawX
# macOS Configuration
mac:
extraResources:
- from: resources/bin/darwin-${arch}
to: bin
- from: resources/cli/posix/
to: cli/
category: public.app-category.productivity
icon: resources/icons/icon.icns
target:
- target: dmg
arch:
- x64
- arm64
- target: zip
arch:
- x64
- arm64
darkModeSupport: true
hardenedRuntime: true
gatekeeperAssess: false
entitlements: entitlements.mac.plist
entitlementsInherit: entitlements.mac.plist
notarize: true
extendInfo:
NSMicrophoneUsageDescription: ClawX requires microphone access for voice features
NSCameraUsageDescription: ClawX requires camera access for video features
dmg:
# Explicit volume size prevents dmg-builder@1.2.0 auto-calculation from
# underestimating (causes "No space left on device" for large app bundles).
# The final .dmg is bzip2-compressed, so this only affects the temp volume.
size: 2g
background: resources/dmg-background.png
icon: resources/icons/icon.icns
iconSize: 100
window:
width: 540
height: 380
contents:
- type: file
x: 130
y: 220
- type: link
path: /Applications
x: 410
y: 220
# Windows Configuration
win:
# Skip update signature verification: we ship via OSS + GitHub without a
# code-signing certificate, so verifying would always fail on the updater.
verifyUpdateCodeSignature: false
extraResources:
- from: resources/bin/win32-${arch}
to: bin
- from: resources/cli/win32/
to: cli/
icon: resources/icons/icon.ico
target:
- target: nsis
arch: x64
nsis:
oneClick: false
perMachine: false
warningsAsErrors: false
allowToChangeInstallationDirectory: true
deleteAppDataOnUninstall: false
differentialPackage: true
createDesktopShortcut: true
createStartMenuShortcut: true
shortcutName: ClawX
uninstallDisplayName: ClawX
license: LICENSE
include: scripts/installer.nsh
installerIcon: resources/icons/icon.ico
uninstallerIcon: resources/icons/icon.ico
# Linux Configuration
linux:
extraResources:
- from: resources/bin/linux-${arch}
to: bin
- from: resources/cli/posix/
to: cli/
icon: resources/icons
target:
- target: AppImage
arch:
- x64
- arm64
- target: deb
arch:
- x64
- arm64
- target: rpm
arch:
- x64
category: Utility
maintainer: ClawX Team <public@valuecell.ai>
vendor: ClawX
synopsis: AI Assistant powered by OpenClaw
description: ClawX is a graphical AI assistant application that integrates with OpenClaw Gateway to provide intelligent automation and assistance across multiple messaging platforms.
desktop:
entry:
Name: ClawX
Comment: AI Assistant powered by OpenClaw
Categories: Utility;Network;
Keywords: ai;assistant;automation;chat;
StartupWMClass: clawx
appImage:
license: LICENSE
deb:
depends:
# Use OR syntax to support both Ubuntu 22.04 and Ubuntu 24.04 (t64 transition).
# Ubuntu 24.04 renamed many libraries with a t64 suffix (64-bit time_t ABI transition).
- libgtk-3-0 | libgtk-3-0t64
- libnotify4 | libnotify4t64
- libnss3
- libxss1 | libxss1t64
- libxtst6 | libxtst6t64
- xdg-utils
- libatspi2.0-0 | libatspi2.0-0t64
- libuuid1
afterInstall: scripts/linux/after-install.sh
afterRemove: scripts/linux/after-remove.sh