nc://nvidia-broadcast

v0.1.0Pinned
ThomSharklint: the rewrite cells published since 846d0b0 pass the structural lint (#109)0caf25c· 9 Nov2 commits
test1 filecell.lisp22.1 KBcontracts.lisp7.5 KB

nodecode-nvidia-broadcast

NVIDIA Broadcast: ten tools that turn the app's camera, microphone and speaker effects on and off, tune them, pick devices and camera resolutions, and process local media files. A Nodecode rewrite of NousResearch/hermes-nvidia by NousResearch.

NVIDIA Broadcast runs an MCP server on loopback, so this cell is an MCP client in Common Lisp: it speaks JSON-RPC to the app itself, with no key and nothing leaving the machine. The tools are the original plugin's, with the same names, arguments and answer shapes:

Tool What it does
get_broadcast_state The effects that are on now, grouped by camera, microphone and speaker.
set_effects Turns effects on and off and tunes them, all in one call; or restores the Live snapshot file processing suspended.
describe_effects What each effect does, its badges, its availability and the parameters it takes.
list_devices The cameras, microphones and speakers, the active one, and a camera's available resolutions.
set_active_device Switches a device, and a camera's resolution with it, in one call.
set_camera_resolution Changes the active camera's width and height.
submit_file_processing Queues one local media file with the effects to apply.
get_file_processing_jobs One job, or the recent ones, as a snapshot.
wait_for_processing_update The one wait: for job-status and queue-pause changes.
control_file_processing_jobs Pauses or resumes the queue, cancels or retries jobs.

Ask "blur my background and clean up the mic", "what is my camera set to?", "which microphones can I use?", "process this recording with the same effects" — the model reads the state, changes what it needs in one call, and reports what applied and what did not.

Get it

Tell the agent "add the nvidia-broadcast cell", or run nodecode add nc://nvidia-broadcast.

Set it up

NVIDIA Broadcast 2.3 or newer, running in your desktop session (Windows). The gateway first ships in 2.3; on 2.2 and older there is no gateway at all, so nothing answers. The tools appear while the app runs.

There is no key: the gateway binds loopback and grants any local client the full surface. The cell's section is one endpoint and one timeout:

"nvidia-broadcast": {
  "url": "http://127.0.0.1:18100/gateway",
  "timeout": 60
}

18100 is the default and is right on almost every install. When the app cannot take it, it binds the first free port from 18101 and records the port it took; set url to that port. If a call answers that the gateway did not answer at all, the app is not running, or not installed, or older than 2.3.

Use it

You do not call the tools; the model does, when a request is about sound, camera or video. A person can call the same functions from eval, in the nvidia-broadcast package:

(nvidia-broadcast:broadcast-state
  (nvidia-broadcast:decode-state-read (nlk:decode-json "{\"effect_type\": \"camera\"}")))

(help :nvidia-broadcast) is the model's manual for the ten verbs and how to read their answers, kept while the cell runs.

What the rewrite leaves out

The original plugin is an MCP declaration plus a skill, and the skill also did system work around the app: it read the installed build's ProductVersion, launched the app hidden when it was not running, discovered a non-default port from the port record the app writes, and, with an explicit yes, downloaded NVIDIA's own installer from NVIDIA's update service, checked its SHA-512 and its NVIDIA signature, and opened it for the user. Those are the operator's side of the original, and this cell is the ten tools: the app has to be installed, at 2.3 or newer, and running. What remains of the port record is the url setting.

License

MIT. The tools, their names and their answer shapes are NousResearch's, rewritten in Common Lisp: see NOTICE and LICENSE.

Add nc://nvidia-broadcast

  1. 1

    Install Nodecode

    Once per machine.

    $ curl -fsSL https://nodecode.ai/install.sh | sh
  2. 2

    Add the cell

    Pinned at 0caf25c.

    $ nodecode add nc://nvidia-broadcast

    Or tell the agent add the nvidia broadcast cell.