openvibers/openvibe.link Commits
Link v0.59.0: machines ask each other for access and agents talk (#162)
Changes
@@@ -5,8 +5,8 @@"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.58.0",-- "release": "v0.58.0: Link Send finishes on the machine. Go writes the same Locker people envelope as openvibe-sdk/locker (the shared SDK vector is a test), so copied text can be sealed without a browser. With clipboard sharing on, Link keeps this machine's text clipboard in step with the person's other machines, text only and at most 64 KB. With auto-accept on, the daemon saves received files and notes to Downloads without replacing an existing file and puts received clipboard text on the clipboard, whether or not the window is open. Both switches remain off by default; a cross-account item received through machine access's send grant always waits for a person.",++ "version": "0.59.0",++ "release": "v0.59.0: machines ask each other for scoped access. `openvibe-link access request|list|approve|deny|revoke` asks another paired machine for agent, send, screen, desk, computer or worker use for up to 30 days; the target owner answers in Link's tray with Allow and Deny (or from any signed-in Network surface), may narrow the scopes and shorten the time but never widen them, and either owner can revoke. Every use carries Network's signed grant JWT: the target verifies the signature, audience, sender, scope and expiry against Network's published key and the live grant before it acts, caps computer at its own level, and records the use in local activity; a missing, expired or revoked grant fails closed. Relayed operations travel through Bot's device relay for all six scopes, and Link Send's LAN hand-over checks the same grant. With \"Let my agents talk\" on (off by default), Link registers the agent CLIs its fleet probe finds in Network's directory and receives agent.task frames into a local inbox. The new `openvibe-link mcp` server (stdio plus the local control socket) gives a local agent agents_list, agent_ask, agent_tell, agent_inbox, agent_reply, machines_list, machine_request_access and machine_use; Link asks before adding it to Claude Code, Codex, Muse or OpenCode, and `--print-config` prints the snippet.","runtime": "go 1.24 (one static binary per platform); plugins in Python 3; an ESP32 Arduino library","database": "none","deployed": false,@@@ -14,6 +14,7 @@"features": ["Git on this computer (G3): `openvibe-link clone <link>` clones into the root you chose in Link after you approve it there, reporting progress to git.openvibe.codes; `openvibe-link git connect <link>` publishes the repositories under that root, read-only, browsed through Link while the machine is online, and carries a repository page's \"Clone to <this computer>\" 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 e-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)",
@@ -5,8 +5,8 @@
@@ -5,8 +5,8 @@
"wave": "T15",
"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)",
"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",
"kind": "client",
- "version": "0.58.0",
- "release": "v0.58.0: Link Send finishes on the machine. Go writes the same Locker people envelope as openvibe-sdk/locker (the shared SDK vector is a test), so copied text can be sealed without a browser. With clipboard sharing on, Link keeps this machine's text clipboard in step with the person's other machines, text only and at most 64 KB. With auto-accept on, the daemon saves received files and notes to Downloads without replacing an existing file and puts received clipboard text on the clipboard, whether or not the window is open. Both switches remain off by default; a cross-account item received through machine access's send grant always waits for a person.",
+ "version": "0.59.0",
+ "release": "v0.59.0: machines ask each other for scoped access. `openvibe-link access request|list|approve|deny|revoke` asks another paired machine for agent, send, screen, desk, computer or worker use for up to 30 days; the target owner answers in Link's tray with Allow and Deny (or from any signed-in Network surface), may narrow the scopes and shorten the time but never widen them, and either owner can revoke. Every use carries Network's signed grant JWT: the target verifies the signature, audience, sender, scope and expiry against Network's published key and the live grant before it acts, caps computer at its own level, and records the use in local activity; a missing, expired or revoked grant fails closed. Relayed operations travel through Bot's device relay for all six scopes, and Link Send's LAN hand-over checks the same grant. With \"Let my agents talk\" on (off by default), Link registers the agent CLIs its fleet probe finds in Network's directory and receives agent.task frames into a local inbox. The new `openvibe-link mcp` server (stdio plus the local control socket) gives a local agent agents_list, agent_ask, agent_tell, agent_inbox, agent_reply, machines_list, machine_request_access and machine_use; Link asks before adding it to Claude Code, Codex, Muse or OpenCode, and `--print-config` prints the snippet.",
"runtime": "go 1.24 (one static binary per platform); plugins in Python 3; an ESP32 Arduino library",
"runtime": "go 1.24 (one static binary per platform); plugins in Python 3; an ESP32 Arduino library",
"database": "none",
"database": "none",
"deployed": false,
"deployed": false,
@@ -14,6 +14,7 @@
@@ -14,6 +14,7 @@
"features": [
"features": [
"Git on this computer (G3): `openvibe-link clone <link>` clones into the root you chose in Link after you approve it there, reporting progress to git.openvibe.codes; `openvibe-link git connect <link>` publishes the repositories under that root, read-only, browsed through Link while the machine is online, and carries a repository page's \"Clone to <this computer>\" to the same approval there",
"Git on this computer (G3): `openvibe-link clone <link>` clones into the root you chose in Link after you approve it there, reporting progress to git.openvibe.codes; `openvibe-link git connect <link>` publishes the repositories under that root, read-only, browsed through Link while the machine is online, and carries a repository page's \"Clone to <this computer>\" 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",
"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",
"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 e-stop and the local kill switch (openvibe-link stop)",
"safety: deadlines, owner limits clamped before any driver, heartbeats and a deadman, a persisted e-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)",
"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)",