A specialized controller for OpenSlides, allowing you to manage speakers, projection, and more via a physical Elgato Stream Deck or a web-based virtual deck.
- OpenSlides Integration: Connects directly to your OpenSlides 4 instance.
- Hardware Support: Works out-of-the-box with Elgato Stream Deck devices (Mini, Original, XL).
- Virtual Deck: Includes a responsive web interface that mimics the Stream Deck, usable on any device (tablet, phone, PC).
- Smart Actions: Intelligent "One-Click" actions like "Smart Start/Stop" for the current speaker list.
- Cross-Platform: Runs on Windows, macOS, and Linux.
Warning
Experimental / Vibecoding Project This tool was created exclusively using the Vibecoding method (AI-assisted rapid development). It is absolutely unable tested in production environments. Use at your own risk!
Dieses Tool wurde ausschließlich im Vibecoding-Verfahren erstellt und ist absolut ungetestet. Benutzung auf eigene Gefahr!
- Go (Golang): Version 1.22 or higher installed (Download Go).
- C Compiler:
- Linux:
gcc(usually installed orsudo apt install build-essential) - macOS:
Xcode Command Line Tools(xcode-select --install) - Windows:
Mingw-w64(required for hardware support via CGO)
- Linux:
-
Clone the repository:
git clone https://github.com/YOUR_USERNAME/streamdeck-go.git cd streamdeck-go -
Build the application:
Linux / macOS:
go build -o streamdeck-go ./cmd/server
Windows (PowerShell):
go build -o streamdeck-go.exe ./cmd/server
Note on Windows/Mac: If you encounter errors related to
hid, ensure you have the C compiler installed and enabled (CGO_ENABLED=1). If you only want the web interface without physical hardware support, you can try disabling CGO, but the hardware driver requires it.
-
Start the Server:
- Linux/macOS:
./streamdeck-go - Windows:
.\streamdeck-go.exe
You should see output similar to:
Starting StreamDeck-Go... Global Stream Deck Connected! (or "Running in Virtual-Only mode") Server running at http://localhost:8080 - Linux/macOS:
-
Open the Web Interface:
- Go to http://localhost:8080 in your browser.
-
Connect to OpenSlides:
- Enter your OpenSlides Instance URL (e.g.,
https://demo.openslides.eu). - Enter your Username and Password.
- Click Connect.
- Enter your OpenSlides Instance URL (e.g.,
-
Select Meeting:
- Choose the meeting you want to control from the list.
-
Control:
- You will see the grid layout.
- Edit Mode: Click the "Edit" (Pencil) icon to configure buttons.
- Actions:
- Label: Text to display.
- Icon: Emoji or short text.
- Action: Choose from the dropdown (e.g.,
micfor Start Speaking,pause,stop). - Payload: JSON payload if required (e.g.,
{"id": 5}for specific speakers, though Smart Actions determine IDs automatically).
-
"No Stream Deck found":
- Ensure the device is connected.
- On Linux, you might need udev rules to access the USB device without root.
- On Windows, ensure no other software (like the official Elgato software) is blocking the device. The official software must be closed completely.
-
Login Failed:
- Check your URL (must include
https://). - Verify your credentials.
- Ensure the OpenSlides instance is reachable.
- Check your URL (must include
MIT