← Back to projects
Unblink
Camera monitoring with VLM
#Unblink V2
AI-powered camera monitoring application with relay-node architecture and real-time video processing.
- Vision Language Model: Qwen3-VL for frame analysis and summarization
- Chat Interface: Natural language interaction with your camera feeds
- Video Search: Search through recorded frames using natural language
#Getting Started
The node runs locally and connects to the relay:
#Without Go Toolchain
Download the prebuilt unblink-node archive for your platform from GitHub Releases:
- Linux x86_64:
unblink-node_linux_amd64.tar.gz - Linux ARM64:
unblink-node_linux_arm64.tar.gz - Windows x86_64:
unblink-node_windows_amd64.zip - Windows ARM64:
unblink-node_windows_arm64.zip
Extract the archive and run:
unblink-node
On Windows, run:
.\unblink-node.exe
#With Go Toolchain
Install from source:
go install github.com/zapdos-labs/unblink/cmd/unblink-node@main # Make sure you have Go’s bin dir on PATH unblink-node # Or you can run # $(go env GOPATH)/bin/unblink-node
Uninstall:
rm -f "$(go env GOBIN)/unblink-node" # if GOBIN is empty, use: rm -f "$(go env GOPATH)/bin/unblink-node"
On first run, authorize the node by opening the displayed URL in your browser.
#Development
# Install dependencies make install # Run development environment (tmux with server + node + app) make dev # Typecheck code make typecheck # Generate protobuf code make proto
#Environment Variables
Copy .env.example to .env and configure:
cp .env.example .env
#Architecture
- Server: Publicly reachable server that manages nodes, handles authentication, and stores configuration
- Node: Private proxy that runs in your network and forwards traffic to local cameras (RTSP, MJPEG)
- Frontend: SolidJS with TypeScript, Vite, and Ark UI components
- Database: PostgreSQL with pgx
- Video: go2rtc for RTSP/WebRTC handling