中文 | English
Run Tencent's WorkBuddy AI office assistant (Windows build) natively on Linux.
WorkBuddy is built on Electron. This project extracts app.asar and the resource files from the Windows installer, pairs them with the Linux Electron runtime, and ends up with a native Linux app — no Wine required.
Key techniques:
- Extract the Electron app structure from the NSIS installer (
.exe) using 7z - Replace the Windows native module (
better-sqlite3) with a Linux build - Patch the load path for
.nodenative modules inside the asar virtual filesystem
# Debian/Ubuntu
sudo apt install p7zip-full rsync dpkg
# Node.js (v18+)
# nvm is recommended: https://github.com/nvm-sh/nvm
nvm install 22Download the Windows installer (.exe) from the WorkBuddy website.
chmod +x port-workbuddy-to-linux.sh
# Basic usage
./port-workbuddy-to-linux.sh ~/Downloads/WorkBuddy-win32-x64-user-5.5.2.exe
# Custom install directory
./port-workbuddy-to-linux.sh ~/Downloads/WorkBuddy-win32-x64-user-5.5.2.exe /opt/workbuddyThe script performs the following 12 steps automatically:
- Extract the app files from the exe (7z unpacks the NSIS archive and the embedded 7z)
- Create the target directory
- Copy the resource files (excluding Windows binaries)
- Download the Linux build of Electron
- Unpack Electron
- Delete the Windows native modules (
.node) - Download the Node.js / Python runtimes
- Rebuild the
better-sqlite3native module (against the Electron ABI) - Unpack
app.asar - Patch the asar load path in
better-sqlite3 - Repack
app.asar - Generate the deb package
# Install the deb (recommended)
sudo dpkg -i ~/workbuddy-linux/workbuddy-ai_5.5.2_amd64.deb
# Launch
workbuddy-ai
# Uninstall
sudo apt remove workbuddy-aiOr skip the deb and run it directly:
~/workbuddy-linux/run-workbuddy.sh| File | Description |
|---|---|
~/workbuddy-linux/workbuddy-ai_5.5.2_amd64.deb |
deb package |
~/workbuddy-linux/run-workbuddy.sh |
Launcher script |
After installation:
- Command:
workbuddy-ai - Desktop entry: search for "WorkBuddy AI" in the application menu
- Data directory:
~/.config/WorkBuddy - URL schemes:
wb-cover://,wb-extension://,workbuddy-ai://
- You may need to log in again on first launch
- If
better-sqlite3errors out, rebuild it manually:cd ~/workbuddy-linux/resources/app.asar.unpacked/node_modules/better-sqlite3 npx @electron/rebuild --version 37.10.3 --module-dir .
Electron's asar virtual filesystem cannot load .node native modules directly (process.dlopen requires a real file path). asar pack --unpack "*.node" only excludes the files — it does not create redirect entries in the header.
The fix: modify better-sqlite3/lib/database.js to detect whether __dirname is inside an asar archive, and if so, build the .asar.unpacked path manually to load the native module.
| Component | Version |
|---|---|
| WorkBuddy | 5.5.2 |
| Electron | 37.10.3 |
| Node.js runtime | 22.22.2 |
Two companion articles (in Chinese, by Y叔):
| Article | Content |
|---|---|
| 我愿称之为「越狱版」WorkBuddy | Running WorkBuddy under Bottles/Wine and bridging it to the host Linux toolchain (R / Python / git / make) via a file queue |
| 没有枪没有炮我们自己造:真 Linux 版本 WorkBuddy | Swapping the shell to build a true Linux build — the project in this repo |
WorkBuddy currently offers free, time-limited access to several models, including DeepSeek 4.1, Hunyuan 3, and Hunyuan 4 Preview. Sign up here:
https://workbuddy.ai/invite?code=RSXQGMGW
Signing up through this link gives the inviter 100 credits and the new user 350 credits (credits can be exchanged for tokens).
This script is for personal study and research only. Copyright of WorkBuddy AI belongs to Tencent.