chinese-hershey-font
Convert Chinese Characters to Single-Line Fonts using Computer Vision
HomeGenie: The Programmable Intelligence with 100% Local Agentic AI.
The Programmable Intelligence, with 100% Local Agentic AI.
www.homegenie.it
HomeGenie is an open-source, cloud-independent ecosystem for smart automation.
It delivers a complete, privacy-focused, local-first experience.
This includes firmware for DIY devices, an efficient backend service,
and dedicated mobile and tablet apps.
Take absolute control over your environment while keeping your data strictly private.
Create automations easily with the Visual Editor, or activate the built-in AI features to control devices, build custom widgets, or create complex automations in seconds.
Getting started is effortless. HomeGenie's UI supports more than 90 languages, and a built-in demo configuration guarantees an immediate, practical experience from the very first moment. The entire setup is portable and lightweight: just download the ZIP, extract, and run.
Full Features and Image Gallery
For detailed guides, API references, and tutorials, visit the official documentation website:
https://genielabs.github.io/HomeGenie
You can find the latest release assets on the GitHub Releases page.
Download the .zip archive corresponding to your operating system, architecture, and
hardware acceleration needs:
| Platform | Architecture | Variant | Optimized For | Technical Notes |
|---|---|---|---|---|
| Windows | x64 | win-x64 |
Standard (CPU only) | Maximum stability, no GPU requirements. |
| x64 | win-x64-cuda12 |
NVIDIA GPUs | High performance via CUDA 12 (LLM & Vision). | |
| x64 | win-x64-vulkan |
AMD, Intel & NVIDIA | LLM via Vulkan, Vision via DirectX 12 (DirectML). | |
| Linux | x64 | linux-x64 |
Standard (CPU only) | For servers or PCs without dedicated GPUs. |
| x64 | linux-x64-cuda12 |
NVIDIA GPUs | High performance via CUDA 12 (LLM & Vision). | |
| x64 | linux-x64-vulkan |
Generic GPUs | LLM via Vulkan, Vision via CPU (No DirectML on Linux). | |
| ARM64 | linux-arm64 |
Raspberry Pi 3, 4, 5, Zero 2 | Optimized for 64-bit ARM SoCs (CPU-based). | |
| ARM | linux-arm |
Raspberry Pi 2 | Legacy 32-bit ARM support. | |
| macOS | x64 / ARM | osx-x64 |
Intel & Apple Silicon | Metal support for Apple M1/M2/M3 acceleration. |
cuda12 variant for the best performance in LLMs
and Computer Vision. (Requires up-to-date NVIDIA Drivers).vulkan variant to leverage your GPU for AI
tasks. It's the best choice for non-NVIDIA hardware on Windows (via DirectX 12).osx-x64 build supports Apple Silicon (Metal) and Intel
natively for maximum speed on Mac devices.linux-arm64 (for Pi 4/5 64-bit) or linux-arm
(for older 32-bit systems).After downloading, unzip the archive to your preferred location.
Inside the extracted folder, you will find the homegenie directory
containing the application binaries, along with a handy startup script
specifically tailored for your operating system.
Simply run the startup script to launch the server:
start.batstart.command./start.sh from the terminal
(or double-click if your file manager supports executing shell scripts).To gracefully stop the application, press CTRL + C in the terminal window.
By default, HomeGenie now launches as a desktop-style Progressive Web App (PWA).
The startup scripts (start.bat, start.sh, etc.) are pre-configured to pass
the --start-browser argument to the HomeGenie executable, opening the UI in
a dedicated, app-like window for a seamless experience.
Tip: If HomeGenie is already running in the background, launching the startup script again will not start a second server. Instead, it will conveniently open a new app window connected directly to your existing session.
For a traditional server-only or headless experience, simply edit the startup script
and remove the --start-browser flag from the execution command.
Since HomeGenie features advanced AI automation engines (like Gemini Automan) capable of generating, compiling, and executing C# code on the fly, we highly recommend running the application in a restricted, sandboxed environment to ensure maximum system security when executing AI-generated code.
homegenie) with a nologin shell.
Grant this user read/write permissions strictly to the HomeGenie
installation folder, isolating it from the rest of your OS.data directory.HomeGenie can be run directly from a terminal for easy setup and testing, or installed as a system service for continuous, unattended operation.
(Recommended) Create a dedicated user for the service and move the application files:
# Create a new system user named 'homegenie' with its home directory sudo useradd -r -m -s /bin/false homegenie # Copy the application files into the new home directory # Assumes you are in the directory where you extracted the zip sudo cp -ar ./homegenie/* /home/homegenie/ # Ensure the ownership of all files is correct sudo chown -R homegenie:homegenie /home/homegenie
Create a service definition file at /etc/systemd/system/homegenie.service:
[Unit] Description=HomeGenie Automation Server After=network.target [Service] Type=notify User=homegenie Group=homegenie WorkingDirectory=/home/homegenie/ ExecStart=/home/homegenie/HomeGenie Restart=on-failure RestartSec=15s [Install] WantedBy=multi-user.target
Reload the systemd daemon, then start and enable the service:
sudo systemctl daemon-reload sudo systemctl start homegenie.service sudo systemctl enable homegenie.service
You can check the service status with sudo systemctl status homegenie.service.
HomeGenie can be installed as a Windows Service using the built-in commands.
Open a Command Prompt as an Administrator, navigate to the homegenie
directory, and run:
HomeGenie.exe --service install HomeGenie.exe --service start
For more options, see the official .NET documentation.
Once running, the HomeGenie user interface can be accessed from any web
browser at: http://<server_ip>:<port>/
<server_ip> is the IP address of the machine running HomeGenie.<port> is 80, or the first available port starting from 8080.You can find the exact address and port used by checking the serviceaddress.txt
file in the homegenie application folder.
To grant HomeGenie access to hardware like serial ports, USB devices, and GPIO, you may need to run additional commands.
# For audio playback sudo apt install alsa-utils lame # For embedded text-to-speech sudo apt install libttspico-utils
Add the homegenie user to the dialout and gpio groups:
sudo usermod -a -G dialout homegenie sudo usermod -a -G gpio homegenie
sudo apt install libusb-1.0-0
/etc/udev/rules.d/98-homegenie.rules
with the following content:
# CM15 and CM19 X10 USB controllers
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bc7", ATTRS{idProduct}=="0001", MODE="0660", GROUP="dialout"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bc7", ATTRS{idProduct}=="0002", MODE="0660", GROUP="dialout"
sudo udevadm control --reload-rules && sudo udevadm trigger
Contributions are welcome! Please read the CONTRIBUTING.md file for guidelines.
The main solution file is HomeGenie.sln located in the repository root.
src/HomeGenie: The main application project, (.NET 10).src/HomeGenie.Tests: Unit and integration tests.src/SupportLibraries: Utility libraries used by HomeGenie.assets/: Contains build assets, UI source code, and deployment scripts.This software is provided "as is", without warranty of any kind. See the LICENSE file for more details.
more like this
Convert Chinese Characters to Single-Line Fonts using Computer Vision
🎥🤟 8 minimalistic templates for tfjs mediapipe handpose and facemesh
A to-do list that runs your Claude Code agents — capture anywhere, dispatch in parallel, review from your phone.
search projects, people, and tags