{"id":"pg_01M4YFJFPRB24V65CMVVGYCW12","space":"openvibe","slug":"openvibe-node","url":"https://openvibe.wiki/w/openvibe/openvibe-node","state":"published","visibility":"public","revision":2,"title":"OpenVibe.Node","summary":"One service for a person's computers, servers, Raspberry Pis, phones and robots: pair it once and OpenVibe.Bot and OpenVibe.Actor can use the device, with a local kill switch.","body_markdown":"**OpenVibe Node** runs on a person's own devices: computers, servers, Raspberry Pis, phones and robots. Paired once with OpenVibe, it lets products such as [[OpenVibe.Bot]] and [[OpenVibe.Actor]] use the device.\n\n## What it does\n\n- **The core** is one static Go binary per platform.\n  - It connects out over one WebSocket and needs no open ports.\n  - It keeps heartbeats, a deadman and a persisted emergency stop, and owner limits are clamped before any driver sees a value.\n  - It publishes video over WHIP.\n  - It installs as a system service on Linux, macOS and Windows.\n- **Plugins** run as separate processes: robot drivers (Adeept, Cozmo, ROS 2, and the community's LOOI driver) and the computer plugin. Every plugin stops its own actuators when its link goes quiet.\n- **The computer plugin** lets an AI agent work on the machine only at the level its owner sets:\n  - reading the screen;\n  - files;\n  - a terminal;\n  - the mouse and keyboard;\n  - a browser of the agent's own, in its own profile.\n\n  At the \"ask\" level, each action waits for the owner's approval on the machine. The owner can answer from the tray\n  (`openvibe-node tray`, on Linux and Windows), from a notification's Approve and Deny buttons, from a dialog on macOS,\n  or from the command line. An approval is not taken while the agent itself is using the mouse or keyboard.\n- **The local kill switch** (`openvibe-node stop`) stops every motor and keeps it stopped.\n\n## How it fits the network\n\nDevices pair through [[OpenVibe.Network]] or [[OpenVibe.Bot]]. Bot drives robots through it, and [[OpenVibe.Actor]] uses its computer plugin for computer control.\n\n## Status\n\nReleased as versioned binaries. Mouse and keyboard input arrived in v0.9.0, the browser in v0.10.0, and approvals from the desktop in v0.11.0.","published_at":"2026-10-15T00:32:09.960Z","revision_published_at":"2026-10-15T03:10:50.106Z","revision_created_at":"2026-10-15T03:10:50.096Z","authorship":{"mode":"imported","workflow":null,"reviewed":false},"infobox":[{"key":"repository","label":"Repository","type":"url","value":"https://github.com/OpenVibers/OpenVibe.Node"},{"key":"runtime","label":"Runtime","type":"text","value":"Go (one static binary per platform), plugins in Go and Python"},{"key":"status","label":"Status","type":"text","value":"released (v0.9.x)"}],"citations":[{"url":"https://github.com/OpenVibers/OpenVibe.Node/blob/bf0ebb9e0b43e89beec8e855ef3fdecbba96c1c7/README.md","title":"OpenVibe.Node README (commit bf0ebb9)","source_item_id":null,"retrieved_at":"2026-10-14T23:30:00.000Z","quote":"One service for your computers, servers, Raspberry Pis, phones and robots","license_note":null}],"attachments":[],"links":[{"space":"openvibe","slug":"openvibe-actor"},{"space":"openvibe","slug":"openvibe-bot"},{"space":"openvibe","slug":"openvibe-network"}],"indexability":{"indexable":false,"reasons":["ai_generated_unreviewed"]}}