{"id":"pst_01M4WB0CVPB836WWH2SQ7VWVE8","url":"https://openvibe.blog/@openvibe/patch-notes-35-changes-across-12-sites","blog":{"id":"blg_01M362MF0EDJ7QHQTRD8A3Q981","handle":"openvibe","title":"The OpenVibe blog","url":"https://openvibe.blog/"},"title":"Patch notes: 35 changes across 12 sites","summary":"What shipped on OpenVibe on 2026-10-14: 35 changes to OpenVibe.Bot, OpenVibe.Chat, OpenVibe.AI, OpenVibe.Network, OpenVibe.Actor, OpenRestream and 6 more.","body_markdown":"What shipped on OpenVibe on 2026-10-14: 35 changes to OpenVibe.Bot, OpenVibe.Chat, OpenVibe.AI, OpenVibe.Network, OpenVibe.Actor, OpenRestream and 6 more. Every line below is a commit message from the OpenVibers repositories, linked to the change itself.\n\n## Highlights\n\n- **OpenVibe.Live:** Live: chat's robot commands drive the channel's OpenVibe.Bot robot; Live's robot controls are deleted; the phone chat sheet is full width again (#119) ([`95faead`](https://github.com/OpenVibers/OpenVibe.Live/commit/95faead4b7aecf2a1f1852915e9fcbd68b9bfead))\n- **OpenVibe.Bot:** Bot: routines (steps a robot runs on demand, on a schedule or when it comes online, through the same gate) and signed webhooks for its events (#93) ([`96c58b7`](https://github.com/OpenVibers/OpenVibe.Bot/commit/96c58b7235046775d77a86a215d2d3a50bdcfc54))\n\n## OpenVibe.Bot\n\n[openvibe.bot](https://openvibe.bot) · [repository](https://github.com/OpenVibers/OpenVibe.Bot)\n\n- Bot: a public robot directory (/robots, /models, /r/:id) and the add-a-robot page; owners list a robot from its panel (#90) ([`3eb04e4`](https://github.com/OpenVibers/OpenVibe.Bot/commit/3eb04e4a8b6fe44bcd0673b50a586a3edf08f9df))\n- Bot: a phone is the robot: scan the pairing QR code, and its browser streams its camera, speaks, shows a face and reports battery and tilt (#91) ([`7e7a78c`](https://github.com/OpenVibers/OpenVibe.Bot/commit/7e7a78ca9da18c65cd1b3a09c47eab82180391f1))\n- Bot: community robots: anyone submits a profile with its driver and guide; an admin reviews, Bot signs it and it joins the catalogue (#92) ([`1ceb236`](https://github.com/OpenVibers/OpenVibe.Bot/commit/1ceb2368e5395e9e5f1e60be25b10ae13638d9ec))\n- Bot: routines (steps a robot runs on demand, on a schedule or when it comes online, through the same gate) and signed webhooks for its events (#93) ([`96c58b7`](https://github.com/OpenVibers/OpenVibe.Bot/commit/96c58b7235046775d77a86a215d2d3a50bdcfc54))\n- Bot: the owner's OpenVibe.Actor agent may drive their robot (a per-robot switch; steps and commands as the owner, through the same gate) (#94) ([`c03a825`](https://github.com/OpenVibers/OpenVibe.Bot/commit/c03a82598cd1f28fa60c4d2d9b0a91c8fca67b7d))\n- Bot: ROS 2 robots are models (ros2.diffdrive, ros2.holonomic) whose pairing installs the Node's ros2 driver (#95) ([`9ecf19c`](https://github.com/OpenVibers/OpenVibe.Bot/commit/9ecf19c5009eb2c5f4f4ae0c99afb8c95c02b10d))\n- Bot: a docs page for routines, webhooks (with how to check a delivery) and the agent switch (#96) ([`87fd64e`](https://github.com/OpenVibers/OpenVibe.Bot/commit/87fd64e24b7d1f1540e0f88d65b43144a4154c15))\n- Bot: the panel's filled buttons are readable (e-stop and primary at AA contrast; /try failed axe) (#97) ([`43f9250`](https://github.com/OpenVibers/OpenVibe.Bot/commit/43f925044a7c70835ad63a28ce9ab15a0dde26e7))\n\n## OpenVibe.Chat\n\n[openvibe.chat](https://openvibe.chat) · [repository](https://github.com/OpenVibers/OpenVibe.Chat)\n\n- Remove dead live.chatmirror.write capability proposal ([`1e8fba3`](https://github.com/OpenVibers/OpenVibe.Chat/commit/1e8fba339647f598fcbc57dde5b57072467ec2b7))\n- Drop the idle livemirroroutbox table in contract migration 0009 ([`e1b3069`](https://github.com/OpenVibers/OpenVibe.Chat/commit/e1b306935765bcf4b0671792c6e25278d00a5b2b))\n- Add cutover runbook for dropping the idle livemirroroutbox table ([`65633b7`](https://github.com/OpenVibers/OpenVibe.Chat/commit/65633b7976cfca9ff0241458616f7c0872c504d9))\n- Pin openvibe-contracts v0.158.0 and document the dropped mirror outbox ([`24bb624`](https://github.com/OpenVibers/OpenVibe.Chat/commit/24bb624560a3fb39a9571c70256060033b62154b))\n- Pin the integrity hash of openvibe-contracts v0.158.0 in the lock ([`6f78bd6`](https://github.com/OpenVibers/OpenVibe.Chat/commit/6f78bd605b84fe6b902a5cf0e7afda08e82af0c5))\n- Chat: robot commands name the viewer (Network subject) so Live can send them to OpenVibe.Bot as that person; Live's refusals are shown in chat (#84) ([`91d66f8`](https://github.com/OpenVibers/OpenVibe.Chat/commit/91d66f85dcfd6a55a6cf19eb9dd0282c9275c7f0))\n\n## OpenVibe.AI\n\n[ai.openvibe.services](https://ai.openvibe.services) · [repository](https://github.com/OpenVibers/OpenVibe.AI)\n\n- Serve default.embedding from a free local embedding model when… ([`e8d0dd3`](https://github.com/OpenVibers/OpenVibe.AI/commit/e8d0dd344f0d0a6485c34162d2b9863eec02e50e))\n- Keep JSON off the local provider and retire stale seeded local… ([`869ac0d`](https://github.com/OpenVibers/OpenVibe.AI/commit/869ac0d46f946febc8302f7df069df4ff299b304))\n- Generate images on route default.image, metered per image ([`f4f859b`](https://github.com/OpenVibers/OpenVibe.AI/commit/f4f859b967fbc750895825c1019b4453dfdfde25))\n- Let image runs use the route timeout, skip retries and clamp dall-e-3 n ([`ef4058a`](https://github.com/OpenVibers/OpenVibe.AI/commit/ef4058a486c68f229eb7efef71181ae4b10eebf1))\n\n## OpenVibe.Network\n\n[openvibe.network](https://openvibe.network) · [repository](https://github.com/OpenVibers/OpenVibe.Network)\n\n- Emit Network's telemetry through the openvibe-sdk/service kit ([`8ec6309`](https://github.com/OpenVibers/OpenVibe.Network/commit/8ec630984530b955ce17854f19c4883ae217b018))\n- Network: Live may send a bound channel's chat robot commands to OpenVibe.Bot (grant bot.robot.control) (#174) ([`9a55896`](https://github.com/OpenVibers/OpenVibe.Network/commit/9a55896469861fb070e62257c2d2530dbb5e176b))\n- Network: a person's OpenVibe.Actor agent may read and drive their OpenVibe.Bot robot (grants bot.robot.read, bot.robot.control) (#175) ([`414c720`](https://github.com/OpenVibers/OpenVibe.Network/commit/414c7209a6737fa076d96f289a82976446ffa778))\n- Network: openvibe.tips and openvibe.vip are parked until Tips and VIP launch with the Billing cutover (no Sites placeholders) (#176) ([`bfa76bd`](https://github.com/OpenVibers/OpenVibe.Network/commit/bfa76bd8a740d9c8a35183a414e9f07511541852))\n\n## OpenVibe.Actor\n\n[openvibe.actor](https://openvibe.actor) · [repository](https://github.com/OpenVibers/OpenVibe.Actor)\n\n- Actor: the runtime acts on the person's own OpenVibe.Bot robots (list_my_robots, robot_steps; only where the owner opened the robot to their agent) (#47) ([`1c8f4ab`](https://github.com/OpenVibers/OpenVibe.Actor/commit/1c8f4ab816aa6988e069445932d7a4d4dee18106))\n- Actor: robot tasks are their own class and go to the runtime (one was refused as coding) (#48) ([`a64dc02`](https://github.com/OpenVibers/OpenVibe.Actor/commit/a64dc02a46e6b5475d63ca3669726f206f6121fb))\n- Actor: the home's \"What works today\" is true (personal agents and robots are live; no planned rows) (#49) ([`be2f2ee`](https://github.com/OpenVibers/OpenVibe.Actor/commit/be2f2ee34f86ffac9911c24fb541dcf96a156ba8))\n\n## OpenRestream\n\n[openre.stream](https://openre.stream) · [repository](https://github.com/OpenVibers/OpenRestream)\n\n- Reuse coordinator test DB and run test files three at a time ([`6d00599`](https://github.com/OpenVibers/OpenRestream/commit/6d0059981abef911dd68e3c474fb04d31a786964))\n- Reset coordinator test rows with DELETE since the pg test role can't… ([`a43f19d`](https://github.com/OpenVibers/OpenRestream/commit/a43f19dfb94f63a7393607f8ff33153f570e448e))\n- OpenRestream: llms.txt says the WHIP and JSMPEG workers run (they do; Bot's robots publish to WHIP) (#68) ([`1c8fdfc`](https://github.com/OpenVibers/OpenRestream/commit/1c8fdfc390872bc0e1b7abc31f058b05dc43d1bf))\n\n## OpenVibe.Live\n\n[openvibe.live](https://openvibe.live) · [repository](https://github.com/OpenVibers/OpenVibe.Live)\n\n- Live: chat's robot commands drive the channel's OpenVibe.Bot robot; Live's robot controls are deleted; the phone chat sheet is full width again (#119) ([`95faead`](https://github.com/OpenVibers/OpenVibe.Live/commit/95faead4b7aecf2a1f1852915e9fcbd68b9bfead))\n- Live: social cards' pictures come through Live's image proxy (a Twitch avatar was blocked); an image-only panel link has a name; the weather strip takes focus (#120) ([`1c46dae`](https://github.com/OpenVibers/OpenVibe.Live/commit/1c46daee24b6d45b22d2d584fde1807b95df12da))\n\n## OpenVibe.Codes\n\n[openvibe.codes](https://openvibe.codes) · [repository](https://github.com/OpenVibers/OpenVibe.Codes)\n\n- Codes: the home and the improve page say what works now (no next or planned rows) (#61) ([`0ab4d79`](https://github.com/OpenVibers/OpenVibe.Codes/commit/0ab4d7958b5c46cb56d6a873ceb786284d54f693))\n\n## OpenVibe.Events\n\n[openvibe.events](https://openvibe.events) · [repository](https://github.com/OpenVibers/OpenVibe.Events)\n\n- Serve /llms-full.txt and add IndexNow key file and release pings ([`fceb61a`](https://github.com/OpenVibers/OpenVibe.Events/commit/fceb61a605f02106e92ae7bec0c9011584cd8f10))\n\n## OpenVibe.Media\n\n[openvibe.media](https://openvibe.media) · [repository](https://github.com/OpenVibers/OpenVibe.Media)\n\n- Compose the media index on the shared shell with a hero and AI summary ([`126072c`](https://github.com/OpenVibers/OpenVibe.Media/commit/126072c76638214f7c5176a9af3662ff3842afd1))\n\n## OpenVibe.Space\n\n[openvibe.space](https://openvibe.space) · [repository](https://github.com/OpenVibers/OpenVibe.Space)\n\n- Space: the home shows what works (no planned section); the forum pointer stays (#44) ([`3ab5ae3`](https://github.com/OpenVibers/OpenVibe.Space/commit/3ab5ae360d126815d7a405e1b6bbe935c0285719))\n\n## OpenVibe.Tools\n\n[openvibe.tools](https://openvibe.tools) · [repository](https://github.com/OpenVibers/OpenVibe.Tools)\n\n- Tools: the home lists only tools that work (no Soon tiles) (#56) ([`00c7ea3`](https://github.com/OpenVibers/OpenVibe.Tools/commit/00c7ea385dd53dc9b34e523ddf4d7791f1167cad))\n\n---\n\nPatch notes are put together automatically when enough changes have shipped, or when a large feature lands. See every site's own updates page for the live list.","revision":1,"state":"published","visibility":"public","published_at":"2026-10-14T04:33:54.054Z","revised_at":"2026-10-14T04:33:54.042Z","author":{"subject":"usr_01KKT9AC60KM7CRTB3WN1Z8P56","name":"goosely","username":"goosely"},"authorship":{"mode":"imported","workflow":null,"reviewed":false,"disclosure":{"mode":"imported","short":"Imported","long":"Imported from Commit messages from the OpenVibers repositories on GitHub; originally by OpenVibers."}},"tags":["patch-notes","bot","chat","ai","network","actor","openre","live","codes","events","media"],"categories":[],"series":{"title":"Patch notes","url":"https://openvibe.blog/@openvibe/series/patch-notes","position":null},"media":[],"citations":[],"indexability":{"indexable":true,"robots":"index, follow","reasons":[]}}