
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
hol-desktop
Advanced tools
A modern desktop application for the Hashgraph Online Conversational Agent, built with Electron, React, and TypeScript.
⚠️ ALPHA SOFTWARE WARNING ⚠️
This is an alpha version. By using this software, you acknowledge:
USE AT YOUR OWN RISK
# Clone the repository
git clone https://github.com/hashgraph-online/desktop
cd desktop/app
# Quick setup and run development mode
./setup.sh --dev
This will:
# Clone repository
git clone https://github.com/hashgraph-online/desktop
cd desktop/app
# Setup legal files
cp terms.md.example terms.md
cp privacy.md.example privacy.md
mkdir -p public
cp terms.md.example public/terms.md
cp privacy.md.example public/privacy.md
# Install dependencies and start dev mode
pnpm install
pnpm dev # or pnpm start
# Run the interactive setup
./setup.sh
# Or run full setup + build
./setup.sh --full # Complete setup + build for distribution
Setup Script Options:
| Command | Description |
|---|---|
./setup.sh --dev | Quick start: Setup + run development mode |
./setup.sh --install | Install dependencies only |
./setup.sh --legal | Setup legal files only |
./setup.sh --build | Build for distribution (current platform) |
./setup.sh --full | Complete setup + build for distribution |
./setup.sh | Interactive menu with all options |
The app requires terms of service and privacy policy files:
| Source File | Target Locations |
|---|---|
terms.md.example | → terms.md→ public/terms.md |
privacy.md.example | → privacy.md→ public/privacy.md |
Important: Customize these files for your organization before distribution!
pnpm dev # Starts Electron app in dev mode (RECOMMENDED)
# or
pnpm start # Same as above
pnpm dev:log # Starts Electron app with comprehensive logging
Development Mode Features:
Logging Mode Features (pnpm dev:log):
dev.log filepnpm test # Run tests
pnpm test:watch # Run tests in watch mode
pnpm test:coverage # Run tests with coverage
pnpm typecheck # Type checking
pnpm storybook # View component stories
Note: For development and testing, use
pnpm devinstead. Building is only needed when creating distributable packages.
# Step 1: Build the application
pnpm build
# Step 2: Create distribution package for your platform
pnpm dist:mac # macOS distribution
pnpm dist:win # Windows distribution
pnpm dist:linux # Linux distribution
# Or use setup script (auto-detects platform)
./setup.sh --build
out/
├── Hashgraph Online-{platform}-{arch}/
│ ├── Hashgraph Online.app # macOS executable
│ ├── Hashgraph Online.exe # Windows executable
│ └── hashgraph-online # Linux executable
│
└── make/ # Distribution packages
├── zip/ # macOS
│ └── darwin/
│ └── {arch}/
│ └── *.zip # Distributable ZIP
│
├── squirrel.windows/ # Windows
│ └── {arch}/
│ └── *.exe # Setup installer
│
└── deb/ # Linux
└── {arch}/
└── *.deb # Debian package
| Build Type | Location | Usage |
|---|---|---|
| App Bundle | out/Hashgraph Online-darwin-arm64/Hashgraph Online.app | For testing only* |
| Distribution | out/make/zip/darwin/arm64/*.zip | Share with users |
Installation: Unzip and drag .app to Applications folder
Note: The
.appfile inout/is for testing purposes. For production use, always distribute the.zippackage fromout/make/. For development and testing, usepnpm devfor the best experience with hot reload.
| Build Type | Location | Usage |
|---|---|---|
| Executable | out/Hashgraph Online-win32-x64/Hashgraph Online.exe | Direct execution |
| Installer | out/make/squirrel.windows/x64/*.exe | Distribute to users |
Installation: Run the installer .exe
| Build Type | Location | Usage |
|---|---|---|
| AppImage | out/make/*.AppImage | Portable, no install needed |
| Deb Package | out/make/deb/x64/*.deb | For Debian/Ubuntu |
Installation:
sudo dpkg -i package.debThe app requires configuration of:
0.0.xxxxx)sk-)ENABLE_MAINNET=true environment variable. During the alpha phase, it is heavily recommended to use testnet ONLY. Enabling mainnet can be done at your own risk. Please be advised that AI models do make mistakes and blockchain transactions are irreversible.sk-)gpt-4o, gpt-4, gpt-3.5-turbo)| Variable | Default | Description |
|---|---|---|
ENABLE_MAINNET | false | Enable Hedera mainnet option in network selection |
# macOS/Linux
ENABLE_MAINNET=true pnpm dev
# Windows
set ENABLE_MAINNET=true && pnpm dev
# macOS/Linux
ENABLE_MAINNET=true pnpm build
# Windows
set ENABLE_MAINNET=true && pnpm build
| Issue | Solution |
|---|---|
| Missing legal files error | Run ./setup.sh --legal or node scripts/setup-legal.js |
| Build fails on macOS | Install Xcode tools: xcode-select --installClear cache: rm -rf out/ .vite/ |
| pnpm not found | Run npm install -g pnpm or use setup script |
| Electron fails to start | Clear and reinstall: rm -rf node_modules && pnpm install |
| Port 5173 in use | Kill process: lsof -ti:5173 | xargs kill |
| Port 5174 in use (dev:log) | Kill process: lsof -ti:5174 | xargs kill |
Packaged app error: Cannot find module '@hashgraphonline/standards-sdk' | This happens if the SDK was externalized from the main bundle. Fix: in vite.main.config.ts, do not list @hashgraphonline/* under rollupOptions.external so Vite bundles the module. Ensure it’s in dependencies (not devDependencies). Rebuild with pnpm make. See electron-vite docs: Troubleshooting. |
forge.config.ts → packagerConfig.asar = { unpack: '**/*.node' }app/
├── src/
│ ├── main/ # Electron main process
│ ├── preload/ # Preload scripts
│ └── renderer/ # React application
│ ├── components/ # UI components
│ ├── pages/ # App pages
│ └── store/ # State management
│
├── scripts/
│ ├── setup-legal.js # Legal files setup (Node.js)
│ └── prepare-icons.js # Icon generation script
│
├── setup.sh # Automated setup script (Bash)
├── terms.md.example # Terms template
├── privacy.md.example # Privacy template
├── package.json # Project configuration
└── forge.config.ts # Electron Forge config
| Script | Description |
|---|---|
pnpm dev | Start development server (recommended) |
pnpm dev:log | Start development server with logging (port 5174) |
pnpm start | Alias for dev |
pnpm test | Run tests |
pnpm typecheck | Check TypeScript types |
pnpm storybook | Launch Storybook |
pnpm build | Build application (for distribution) |
pnpm dist:mac | Build macOS distribution |
pnpm dist:win | Build Windows distribution |
pnpm dist:linux | Build Linux distribution |
We welcome contributions. See CONTRIBUTING.md for guidelines.
git checkout -b feature/your-feature)pnpm test)git commit -s)FAQs
Desktop application for HashgraphOnline
We found that hol-desktop demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.