h hopperCode
● 0.1.6 — Early access Pi extension · Grasshopper plugin

AI inside the
canvas, not
behind a wall.

hoppercode is a transparent, hackable modeling agent that inspects and edits your Grasshopper canvas and runs scripts against the Rhino document — over ZeroMQ, while Rhino is open.

Specimen flow.001
01 Pi agent thinking
02 hopper-pi node/ts
03 ZMQ 5555 → 5557
04 GH Backend in Rhino
live · canvas connected

01 —

Transparent

Every tool call is visible. You watch the agent inspect the canvas, move components, and run scripts — no opaque black box between you and the model.

02 —

Hackable

A Pi extension plus a Grasshopper plugin. Plain TypeScript over ZeroMQ. Fork it, read it, reshape the tools to fit how you actually model.

03 —

In the workflow

Not a separate SaaS tab. The agent drives Rhino and Grasshopper directly — the same document you are working in, in real time.

§ Capabilities

The agent works
on your real file.

Two tool surfaces — one for the Rhino document, one for the Grasshopper canvas. The agent picks what it needs.

rh_run_script

Run Rhino commands, Python, or C# on the active document.

rh_query_objects

List objects with short IDs for Grasshopper params.

gh_edit_components

Add, move, and delete components on the canvas.

gh_edit_wire

Connect or disconnect wires between components.

gh_create_widget

Sliders, panels, toggles — generated on demand.

gh_get_canvas

Read the canvas layout and component snapshot.

§ Quick start

Three steps to a
connected canvas.

  1. 01

    Install via Pi

    postinstall builds the C# plugin and copies it into your Grasshopper Libraries.

  2. 02

    Restart Rhino

    drop the Hopper Code Backend component (Params → Util) onto the canvas.

  3. 03

    Talk to Pi

    the gh_* and rh_* tools register automatically. Start modeling.

terminal
pi install npm:hopper-pi

“You need Rhino 8, Pi, the .NET 7 SDK, and Node 20+. The agent runs edits as a single undoable Rhino transaction.”

⚠ Supercargo

Heavily vibe-coded. Super early. Use at your own risk.

This project is early in its own development. APIs, tools, and behavior will change without notice. It is built for people who want to read the source and break things — not for production pipelines you cannot afford to rebuild.

Stack
  • Languages TypeScript · C#
  • Transport ZeroMQ (PUB/SUB · PUSH/PULL · REQ/REP)
  • Host Rhino 8 · Grasshopper
  • Agent Pi (earendil-works)
  • Runtime Node.js 20+ · .NET 7
  • License MIT