This guide covers building AlgoLocal as a cross-platform desktop application for Windows, macOS, and Linux.
The desktop application is a standalone, self-contained package that requires no external dependencies. Users can download and run the application immediately without installing Node.js, Python, or any development tools.
- Frontend Framework: Next.js + React
- Desktop Framework: Electron
- Code Execution: Browser-side WASM
- JavaScript: Native browser execution
- TypeScript: TypeScript compiler transpilation
- Python: Pyodide (CPython WASM)
These requirements apply only to developers building from source:
- Node.js >= 18.x
- npm >= 8.x
- Platform-specific requirements:
- macOS builds: macOS system
- Windows builds: Windows system or Wine
- Linux builds: Linux system or Docker
npm install
npm run build
npm run electron:start./build-mac.sh
# or
npm run dist:macOutput:
dist/AlgoLocal-x.x.x-macOS-x64.dmg(Intel)dist/AlgoLocal-x.x.x-macOS-arm64.dmg(Apple Silicon)
PowerShell:
.\build-windows.ps1
# or
npm run dist:winCommand Prompt:
build-windows.batOutput:
dist/AlgoLocal-x.x.x-Windows-x64.exe(Installer)dist/AlgoLocal-x.x.x-Windows-Portable.exe(Portable)
npm run dist:linuxOutput:
dist/AlgoLocal-x.x.x-Linux.AppImagedist/AlgoLocal-x.x.x-Linux.debdist/AlgoLocal-x.x.x-Linux.rpm
npm run dist:all| Language | Status | Implementation |
|---|---|---|
| JavaScript | Supported | Native browser |
| TypeScript | Supported | TypeScript compiler |
| Python | Supported | Pyodide (WASM) |
Note: Languages requiring native compilers (Java, C, C++, Go) are not supported in the browser-side WASM environment.
.
├── electron-main.js # Electron main process
├── electron-preload.js # Electron preload script
├── electron-builder.config.js # Build configuration
├── build/
│ └── entitlements.mac.plist # macOS entitlements
├── build-mac.sh # macOS build script
├── build-windows.ps1 # Windows PowerShell build script
├── build-windows.bat # Windows batch build script
└── dist/ # Build output directory
Key configuration options:
appId: Application identifierproductName: Application display namefiles: Files to include in packagewin/mac/linux: Platform-specific configurations
The desktop application supports configuration through the built-in settings page:
- DeepSeek
- OpenAI
- Qwen (Alibaba Cloud)
- Claude (Anthropic)
- Ollama (Local)
Configuration is stored in ~/.offline-leet-practice/config.json.
When first opening the application, macOS may display a security warning.
Solution:
- Open System Preferences > Security & Privacy
- Click "Open Anyway"
Or run in Terminal:
xattr -cr "/Applications/AlgoLocal.app"Windows may display a SmartScreen warning for unsigned applications.
Solution: Click "More info" > "Run anyway"
For production distribution, code signing is recommended:
- macOS: Requires Apple Developer certificate
- Windows: Requires EV code signing certificate
- Migrated to pure WASM browser-side code execution
- Added TypeScript support
- Removed dependency on server-side execution
- Improved Electron build configuration
- Enhanced settings page for AI provider configuration
MIT License