Hallucinate Electron App:
Hallucinate App is a comprehensive wrapper and orchestration platform that packages multiple powerful tools into a single, distributable desktop application. It serves as the container that brings together:
All of these components are packaged together into distributable formats (.exe, .dmg, .rpm, .deb, tar.gz) providing users with a complete decentralized AI desktop environment in a single installation.
Hallucinate App is an Electron-based wrapper application that:
Think of it as a fully containerized AI desktop - everything you need for decentralized AI development, pre-integrated and ready to run.
Within the Lift Coding monorepo, Hallucinate App is the operator-facing desktop shell for the virtual AI OS.
Hallucinate App now supports iOS and Android through Capacitor, enabling full platform coverage across desktop and mobile:
# Build web assets for mobile
npm run build:web
# Add iOS platform
npm run cap:add:ios
# Add Android platform
npm run cap:add:android
# Open in native IDE
npm run cap:open:ios # Opens Xcode
npm run cap:open:android # Opens Android Studio
For detailed mobile setup instructions, see CAPACITOR_SETUP.md.
For WebNN/WebGPU hardware acceleration details, see Mobile Platform Guide.
For comprehensive documentation, see:
๐ก Tip: Documentation is automatically updated weekly via GitHub Actions based on code changes.
For detailed installation instructions, see docs/INSTALLATION.md.
# Clone the repository
git clone https://github.com/endomorphosis/hallucinate_app.git
cd hallucinate_app
# Install all dependencies (JavaScript + Python + submodules)
npm install
# Or use Make
make install-all-deps
The npm install command automatically:
Note: The postinstall script only runs when needed. To skip it:
SKIP_SUBMODULE_INSTALL=true npm install
If you need to install submodule dependencies separately:
# Using npm script
npm run install:submodules
# Using Make
make install-submodule-deps
# Using the installation script directly
bash scripts/install_submodule_deps.sh
# or
python scripts/install_submodule_deps.py
Hallucinate App now includes a comprehensive daemon manager for managing Model Context Protocol (MCP) servers:
Multi-Daemon Management: Control 3 MCP servers simultaneously:
Lifecycle Control: Start, stop, and restart individual or all daemons
Health Monitoring: Automatic health checks with configurable intervals
Auto-Restart: Intelligent auto-restart with max attempt limits
Process Management: Clean process spawning and graceful shutdown
Event Logging: Real-time event tracking for all daemon activities
Dashboard UI: Beautiful web interface for daemon control and monitoring
The daemon manager is also the core operator workflow surface for the virtual AI OS desktop shell: operators use it to audit process health, stage service restarts, and correlate SwissKnife Virtual Desktop behavior with MCP server availability.
Access the Daemon Manager through the application menu:
The daemon manager automatically starts all MCP servers on app launch (configurable via AUTO_START_DAEMONS environment variable).
The application now integrates SwissKnife, a revolutionary collaborative virtual desktop environment:
Access SwissKnife through:
The SwissKnife window will load the collaborative virtual desktop interface, connecting to the development server on http://localhost:3001 or using the built distribution.
In the virtual AI OS integration model, this SwissKnife window is the reviewed virtual desktop surface for operator-safe UI flows, while Hallucinate App remains the shell that launches, monitors, and recovers the surrounding daemon-managed services.
The application includes a comprehensive dashboard that provides:
Hallucinate App includes a sophisticated error handling system that ensures reliability across all components:
See the Error Handling Documentation for complete details.
Hallucinate App integrates Graph-based Retrieval Augmented Generation (GraphRAG) capabilities from the ipfs_datasets_py package, which combines vector embeddings with graph databases for advanced knowledge management:
The GraphRAG integration follows the project's module pattern, providing a clean interface while delegating implementation to the ipfs_datasets_py package. See the GraphRAG Documentation for details.
Hallucinate App implements a comprehensive security system through integration with specialized packages:
ucan_auth_py package for User Controlled Authorization Networkskeystore_py package for secure API key and credential managementauth_keystore_py package for fine-grained access controlEach security component follows the project's integration layer pattern, providing a consistent interface while delegating implementation to specialized external packages. The local implementation acts as a fallback when external packages are unavailable.
Contains:
Chat Interface:
-- ipfs_transformers_cjs client libray
-- ipfs_datasets_cjs client library
-- helia ipfs cjs external library
-- ipfs_cluster cjs external library (against 127.0.0.1 REST interfaces)
-- gradio.cjs client external library
-- faiss-wasm client external library
-- orbitdb_kit_cjs client library
-- libp2p_kit_cjs client library
NodeJS server:
-- ipfs_model_manager_js nodejs library
-- ipfs_kit_js node js library
-- pyarrow_index_bridge.js for PyArrow Content Index integration
-- Kubo / ipfs_cluster external Go library
-- faiss system external library
-- neural compressor external library
-- huggingface Transformers_js wrapper
-- huggingface_datasets_js wrapper
-- orbitdb_kit_js node.js wrapper
-- huggingface scraper library
Python server:
-- ipfs_model_manager_py package (from PyPI)
-- ipfs_kit_py package (from PyPI, includes PyArrow content index)
-- ipfs_datasets_py package (from PyPI, includes GraphRAG implementation)
-- ipfs_accelerate_py package (from PyPI, provides model server functionality with multi-process architecture)
-- ipfs_faiss_py package (from PyPI)
-- ipfs_embeddings_py package (from PyPI)
-- ucan_auth_py package (from PyPI, provides UCAN-based authentication)
-- keystore_py package (from PyPI, provides secure credential storage)
-- auth_keystore_py package (from PyPI, provides capability-based access to APIs)
-- pyarrow_content_index_bridge.py for JavaScript-Python communication
-- Integration layers for all external packages
-- Kubo / ipfs_cluster external Go library
-- faiss system external library
-- neural compressor external library
-- huggingface Transformers wrapper
-- huggingface_datasets wrapper
-- orbitdb_kit_py node.js wrapper
Hallucinate App includes a comprehensive JavaScript bridge for the PyArrow Content Index, enabling efficient metadata management with observability integration:
pyarrow_index_bridge.js): Core implementation providing all Content Index operationsregister_pyarrow_content_index_dashboard.js): UI integration componentpyarrow_content_index_bridge.py): Python-side counterpartFor complete details, see the PyArrow Content Index Bridge Documentation.
Hallucinate App implements a parallel processing architecture to ensure optimal performance for AI workloads:
The implementation follows a specialized architecture where:
IPFSKitServerProcessPoolExecutorThis design ensures high performance for AI model serving from decentralized IPFS storage, allowing model inference to proceed without being blocked by potentially slow IPFS content retrieval operations.
The Hallucinate App can be built and packaged for multiple platforms (macOS, Windows, Ubuntu, RedHat).
# Build for your current platform
make build
# Or use the npm script
npm run package
# Create DEB package
make make-deb
# Or
npm run make -- --platform=linux
Generates .deb packages in out/make/deb/
# Create RPM package
make make-rpm
# Or
npm run make -- --platform=linux
Generates .rpm packages in out/make/rpm/
# Create macOS ZIP archive
make make-dmg
# Or
npm run make -- --platform=darwin
Generates .zip archive with .app bundle in out/make/zip/darwin/
# Create Windows installer
make make-exe
# Or
npm run make -- --platform=win32
Generates .exe installer in out/make/squirrel.windows/
Platform-specific build scripts are available in the scripts/ directory:
Linux/macOS:
bash scripts/build.sh
Windows:
scripts\build.bat
Automated builds run on GitHub Actions for all platforms:
electron-build.yml: Main build and release workflow
platform-tests.yml: Platform-specific hardware tests
To trigger a release build, push a version tag:
git tag v1.0.4
git push origin v1.0.4
For more details, see:
All Platforms:
Platform-Specific:
make clean-build
# Or
rm -rf out/
JavaScript
73.6%
Python
18.3%
TypeScript
3.1%
HTML
3.0%
CSS
1.8%
Hallucinate Electron App:
Hallucinate App is a comprehensive wrapper and orchestration platform that packages multiple powerful tools into a single, distributable desktop application. It serves as the container that brings together:
All of these components are packaged together into distributable formats (.exe, .dmg, .rpm, .deb, tar.gz) providing users with a complete decentralized AI desktop environment in a single installation.
Hallucinate App is an Electron-based wrapper application that:
Think of it as a fully containerized AI desktop - everything you need for decentralized AI development, pre-integrated and ready to run.
Within the Lift Coding monorepo, Hallucinate App is the operator-facing desktop shell for the virtual AI OS.
Hallucinate App now supports iOS and Android through Capacitor, enabling full platform coverage across desktop and mobile:
# Build web assets for mobile
npm run build:web
# Add iOS platform
npm run cap:add:ios
# Add Android platform
npm run cap:add:android
# Open in native IDE
npm run cap:open:ios # Opens Xcode
npm run cap:open:android # Opens Android Studio
For detailed mobile setup instructions, see CAPACITOR_SETUP.md.
For WebNN/WebGPU hardware acceleration details, see Mobile Platform Guide.
For comprehensive documentation, see:
๐ก Tip: Documentation is automatically updated weekly via GitHub Actions based on code changes.
For detailed installation instructions, see docs/INSTALLATION.md.
# Clone the repository
git clone https://github.com/endomorphosis/hallucinate_app.git
cd hallucinate_app
# Install all dependencies (JavaScript + Python + submodules)
npm install
# Or use Make
make install-all-deps
The npm install command automatically:
Note: The postinstall script only runs when needed. To skip it:
SKIP_SUBMODULE_INSTALL=true npm install
If you need to install submodule dependencies separately:
# Using npm script
npm run install:submodules
# Using Make
make install-submodule-deps
# Using the installation script directly
bash scripts/install_submodule_deps.sh
# or
python scripts/install_submodule_deps.py
Hallucinate App now includes a comprehensive daemon manager for managing Model Context Protocol (MCP) servers:
Multi-Daemon Management: Control 3 MCP servers simultaneously:
Lifecycle Control: Start, stop, and restart individual or all daemons
Health Monitoring: Automatic health checks with configurable intervals
Auto-Restart: Intelligent auto-restart with max attempt limits
Process Management: Clean process spawning and graceful shutdown
Event Logging: Real-time event tracking for all daemon activities
Dashboard UI: Beautiful web interface for daemon control and monitoring
The daemon manager is also the core operator workflow surface for the virtual AI OS desktop shell: operators use it to audit process health, stage service restarts, and correlate SwissKnife Virtual Desktop behavior with MCP server availability.
Access the Daemon Manager through the application menu:
The daemon manager automatically starts all MCP servers on app launch (configurable via AUTO_START_DAEMONS environment variable).
The application now integrates SwissKnife, a revolutionary collaborative virtual desktop environment:
Access SwissKnife through:
The SwissKnife window will load the collaborative virtual desktop interface, connecting to the development server on http://localhost:3001 or using the built distribution.
In the virtual AI OS integration model, this SwissKnife window is the reviewed virtual desktop surface for operator-safe UI flows, while Hallucinate App remains the shell that launches, monitors, and recovers the surrounding daemon-managed services.
The application includes a comprehensive dashboard that provides:
Hallucinate App includes a sophisticated error handling system that ensures reliability across all components:
See the Error Handling Documentation for complete details.
Hallucinate App integrates Graph-based Retrieval Augmented Generation (GraphRAG) capabilities from the ipfs_datasets_py package, which combines vector embeddings with graph databases for advanced knowledge management:
The GraphRAG integration follows the project's module pattern, providing a clean interface while delegating implementation to the ipfs_datasets_py package. See the GraphRAG Documentation for details.
Hallucinate App implements a comprehensive security system through integration with specialized packages:
ucan_auth_py package for User Controlled Authorization Networkskeystore_py package for secure API key and credential managementauth_keystore_py package for fine-grained access controlEach security component follows the project's integration layer pattern, providing a consistent interface while delegating implementation to specialized external packages. The local implementation acts as a fallback when external packages are unavailable.
Contains:
Chat Interface:
-- ipfs_transformers_cjs client libray
-- ipfs_datasets_cjs client library
-- helia ipfs cjs external library
-- ipfs_cluster cjs external library (against 127.0.0.1 REST interfaces)
-- gradio.cjs client external library
-- faiss-wasm client external library
-- orbitdb_kit_cjs client library
-- libp2p_kit_cjs client library
NodeJS server:
-- ipfs_model_manager_js nodejs library
-- ipfs_kit_js node js library
-- pyarrow_index_bridge.js for PyArrow Content Index integration
-- Kubo / ipfs_cluster external Go library
-- faiss system external library
-- neural compressor external library
-- huggingface Transformers_js wrapper
-- huggingface_datasets_js wrapper
-- orbitdb_kit_js node.js wrapper
-- huggingface scraper library
Python server:
-- ipfs_model_manager_py package (from PyPI)
-- ipfs_kit_py package (from PyPI, includes PyArrow content index)
-- ipfs_datasets_py package (from PyPI, includes GraphRAG implementation)
-- ipfs_accelerate_py package (from PyPI, provides model server functionality with multi-process architecture)
-- ipfs_faiss_py package (from PyPI)
-- ipfs_embeddings_py package (from PyPI)
-- ucan_auth_py package (from PyPI, provides UCAN-based authentication)
-- keystore_py package (from PyPI, provides secure credential storage)
-- auth_keystore_py package (from PyPI, provides capability-based access to APIs)
-- pyarrow_content_index_bridge.py for JavaScript-Python communication
-- Integration layers for all external packages
-- Kubo / ipfs_cluster external Go library
-- faiss system external library
-- neural compressor external library
-- huggingface Transformers wrapper
-- huggingface_datasets wrapper
-- orbitdb_kit_py node.js wrapper
Hallucinate App includes a comprehensive JavaScript bridge for the PyArrow Content Index, enabling efficient metadata management with observability integration:
pyarrow_index_bridge.js): Core implementation providing all Content Index operationsregister_pyarrow_content_index_dashboard.js): UI integration componentpyarrow_content_index_bridge.py): Python-side counterpartFor complete details, see the PyArrow Content Index Bridge Documentation.
Hallucinate App implements a parallel processing architecture to ensure optimal performance for AI workloads:
The implementation follows a specialized architecture where:
IPFSKitServerProcessPoolExecutorThis design ensures high performance for AI model serving from decentralized IPFS storage, allowing model inference to proceed without being blocked by potentially slow IPFS content retrieval operations.
The Hallucinate App can be built and packaged for multiple platforms (macOS, Windows, Ubuntu, RedHat).
# Build for your current platform
make build
# Or use the npm script
npm run package
# Create DEB package
make make-deb
# Or
npm run make -- --platform=linux
Generates .deb packages in out/make/deb/
# Create RPM package
make make-rpm
# Or
npm run make -- --platform=linux
Generates .rpm packages in out/make/rpm/
# Create macOS ZIP archive
make make-dmg
# Or
npm run make -- --platform=darwin
Generates .zip archive with .app bundle in out/make/zip/darwin/
# Create Windows installer
make make-exe
# Or
npm run make -- --platform=win32
Generates .exe installer in out/make/squirrel.windows/
Platform-specific build scripts are available in the scripts/ directory:
Linux/macOS:
bash scripts/build.sh
Windows:
scripts\build.bat
Automated builds run on GitHub Actions for all platforms:
electron-build.yml: Main build and release workflow
platform-tests.yml: Platform-specific hardware tests
To trigger a release build, push a version tag:
git tag v1.0.4
git push origin v1.0.4
For more details, see:
All Platforms:
Platform-Specific:
make clean-build
# Or
rm -rf out/
JavaScript
73.6%
Python
18.3%
TypeScript
3.1%
HTML
3.0%
CSS
1.8%