{
"repository": "OpenVibers/OpenVibe.Link",
"stage": "alpha",
"code": true,
"wave": "T15",
"plan": "Plan track T15 (Bot complete) and ADR-043 (Bot: devices, pairing, control and safety); the computer plugin and the job worker serve OpenVibe.Actor and the Codes job runner (tracks T14/T17)",
"kind": "client",
"version": "0.62.0",
"release": "v0.62.0: Bot's restarts no longer leave P7 latched. A deploy of Bot closes every link with 1012; the Link now stops the plugins with cause `link_restart` (not `link_lost`), so a driver can stop its motors without latching a stop of its own that the owner then clears by hand. Every close is logged with its code and reason, or \"the link dropped with no close frame\". A headlight needs 50 ms of its 300 ms lifetime left on arrival (was 200), the floor P7's tray already uses. Plugin SDK 0.37.0 lists the new cause.",
"runtime": "go 1.24 (one static binary per platform); plugins in Python 3; an ESP32 Arduino library",
"database": "none",
"deployed": false,
"deployment": "none of its own: people install it on their machines and robots (curl -fsSL https://openvibe.link/install | sh, or a release binary); it connects out to OpenVibe.Bot (wss://openvibe.bot/device) and pairs through OpenVibe.Bot or OpenVibe.Network. On 2026-10-22 production held 1 platform node with 4 pairings and 5 node principals on Network, and 3 robots with 5 devices on Bot.",
"features": [
"Git on this computer (G3): `openvibe-link clone ` clones into the root you chose in Link after you approve it there, reporting progress to git.openvibe.codes; `openvibe-link git connect ` publishes the repositories under that root, read-only, browsed through Link while the machine is online, and carries a repository page's \"Clone to \" to the same approval there",
"LOOI headlights: Bot's explicit on/off custom action reaches the community driver as kind \"headlight\" (never actuator), with provenance, 300 ms lifetime/250 ms deadline, 200 ms original reserve on receipt, expires_at_mono_ns on the shared clock, a 2 requests/second budget shared with local controls, and stage=headlight_pending/headlight_refused ack data",
"machine access: `openvibe-link access request|list|approve|deny|revoke` asks another paired machine for scoped agent, send, screen, desk, computer or worker use; the target tray answers Allow/Deny, the owner may only narrow the scopes and time, and every relayed use is verified against Network's signed grant, live revocation and the target's own level; the opt-in \"Let my agents talk\" directory and `openvibe-link mcp` (eight agent and machine tools) let local agent CLIs message each other across machines",
"pairing with a code approved on openvibe.bot (or through Network), one outbound WebSocket, no open ports",
"safety: deadlines, owner limits clamped before any driver, heartbeats and a deadman, a persisted stop and the local kill switch (openvibe-link stop)",
"plugins as separate processes (JSON lines): dryrun, adeept_adr036, cozmo, relay and ros2 (rclpy or rosbridge); the community LOOI driver's contract; signed community profiles (openvibe-link profile verify)",
"WHIP video publishing (pion)",
"the computer plugin for OpenVibe.Actor: terminal, files, screen, input and its own browser, at the level the owner sets on the machine (observe, ask, trusted, full); approvals in the tray (Linux, Windows), a notification or openvibe-link approve",
"the live screen: the machine's screen on openvibe.bot for its owner only, up to 30 minutes",
"the job worker (--worker): sandboxed function, code and linux jobs, and the OpenVibe.Codes job runner",
"the machine's roles from the network's hub (codes.worker, desks.host, ai.host, bot.robot): read at check-in, kept, and applied to what the machine was installed for; the local configuration always wins",
"OpenVibe Connect shares (CON-4): `openvibe-link share ` serves the share this computer was picked for, with no key; every saved share is in `openvibe-link status` (address, connected or why not, requests) and stops when the Link stops",
"one-command install on a Raspberry Pi or other Linux robot (I2C, SPI, camera tools, kit detection)",
"system service on systemd, launchd and Windows (or a Windows sign-in start)",
"ESP32 library (OpenVibeLink): pairing, control link, drive and actuator commands, telemetry, heartbeat, deadman and stop",
"`openvibe-link exchange serve --model `: serve a local Ollama/llama.cpp/vLLM model through an OpenAI-compatible listener and register it on OpenVibe.Exchange's endpoint-seller API with the person's OPENVIBE_DEVELOPER_KEY, then remove the offer on Ctrl-C",
"Link for Android (v0, android/): the same Go pairing and connection bound with gomobile, a Kotlin + Jetpack Compose app (Pair, Approvals with a fingerprint for money, passwords, deletions and new recipients, Activity, This phone), Stay connected as an opt-in foreground service, and Send to OpenVibe on the share sheet; no phone automation"
],
"notYet": [
"code signing and notarization for Windows and macOS (the release has SHA256SUMS only)",
"an auto-update channel",
"a tray on macOS (approvals there are a dialog with Deny as its default)",
"the computer plugin's browser on Windows"
],
"updated": "2026-11-11"
}