AI assistant for writing/modifying scripts in Grasshopper (Kea plug-in)

Kea is a new plug-in for Grasshopper that uses AI to create and update script components for you. It adds a pop-up chat window (launchable from the View menu) and acts as an AI agent focused specifically on scripting inside Grasshopper.

Video (1 min) demo:

It’s in alpha and available now via Package Manager (tick “Include pre-releases”).

By chatting to it in natural language, it can, and will, do these things for you

  • create new script objects, in C# or Python
  • describe what existing scripts do
  • modify existing scripts
  • add/remove and configure (type hint, access type) inputs and outputs
  • invent and set nickname and tooltip documentation
  • ensure wires connecting the inputs and outputs to other components are preserved wherever possible

If you already use AI (e.g. ChatGPT, Claude) to write scripts and manually copy/paste them into Grasshopper, Kea streamlines that process. It uses the same models (OpenAI, Anthropic, Deepseek) as the regular web chats but applies the changes automatically for you.

Whether you’re new to scripting or an experienced coder, Kea can help:

  • new to coding: start small and explore scripting with Kea’s help
  • experienced coders: get fast first drafts of code that you can tweak and debug

Currently supported features:

  • For Rhino 7.25 and later: C# and GhPython
  • For Rhino 8: C#, IronPython and Python 3
  • OpenAI, Anthropic and Deepseek models via API keys
  • Experimental support for Ollama (local models)
  • DefinitionLibrary integration: publish scripts to your shared library
  • Remembers chat history per script object (not saved to file yet)

You will need to obtain your own API keys from the platforms themselves:

The UI is built using Eto.Forms for cross-platform support but so far it’s built for Windows only; testing and building for Mac will be coming soon.

Give it a go!

Post what you think here or at my GitHub site for it: GitHub - nicolaasburgers/kea-plugin: Information about the Kea plug-in for Grasshopper (Rhinoceros 3D).

7 Likes

Nice! Gemini support would be appreciated.

A possible the use of templates? Either pre-made byKea or custom user-defined, so one doesn’t need to type everything, and targeted to preferred scripting language
For instance, currently i am using prompt to define how extended the generated code should be, i.e. include error messages, null or type check, add comments, add nickname, try/except logic, enable to run button and sticky output, code to be just quic n dirty for just single usecase with say item access or more robust future cases for lists/branches, what naming convention and format, and to use human-friendly input names or not, etc…

I assume the BE code knows which Core APIs and Frameworks to use?

1 Like

Templates is a great idea, thanks @crz_06. There is a standard system prompt that instructs the models on how to reply so that Kea can execute the actions, but to have stored pre-ambles that you can set up in Kea which are added to that sounds like a good idea.

I assume the BE code knows which Core APIs and Frameworks to use?

Currently you can choose the platform, and then the model in the platform, as the one to field any particular chat request. Depending on what you have set, the back-end code knows how to use the API for the corresponding platform in order to fulfil that request. Is that what you mean?

Yes, that is what i meant.
And any plans for gemini support :wink:

Yes Google Gemini is on the roadmap - stay tuned!

I hope people reading this thread keep the ideas and suggestions coming.

Something truly useful is, for example, the ability to do what is shown in this Midjourney screenshot: to upload an image (pattern or texture), and have the application suggest the prompt as well, or be able to use the initial image as inspiration or a starting point for the script.

1 Like