Physalia - An OpenSource and Free AI Plugin

Hello,
Long time, first time.

I’m working on a GH plugin, Physalia. This is yet another LLM based natural language to GH definition plugin. However,

Physalia is completely opensource and free, and will remain so.

See, the github repo and the Food4Rhino pages.

I chose the name Physalia because this creature is composed of multiple smaller creatures, much like a Grasshopper definition. Physalia also don’t have a brain. Read into that what you will.

I learnt a lot from this first version, but I have reached a point where I feel a major rewrite is in order. I wanted to release it in this early stage to get feedback from you all and also reach out to potential collaborators. Sorry that as of posting the Mac version isn’t up. Will be borrowing a pal’s Mac to test the release this weekend so check back soon!

Currently, the Alpha version has a less polished UI than the paid / closed plugins, but it has a few benefits:

  • You can choose from a variety of LLM providers.
  • You can use a free model. (via Gemini’s free tier, OpenCode Zen, or OpenRouter)
  • You can use a local model. Nothing leaves your machine. (via Ollama)
  • You can use Claude Code SDK if you are already a subscriber.
  • The plugin is totally customizable and auditable.
  • You can generate either GH clusters or Python script components.

The next version, to be released this summer, is a total rewrite and will have much more functionality. I am inspired by ComfyUI, as in, I want the next version to expose all the knobs that you can tweak when interacting with models. I think that this hackability combined with the ability to self-reference components will move Physalia from a novelty to an actual workable plugin. Check out the ‘plan’ folder in the dev branch to see what’s coming down the pipe. In a review of a paid plug in, LLM functionality was described as having an ‘expert computational designer’ at your fingertips. If you’ve used any of the LLM driven plugins, including mine, you’ll know that this really isn’t the case, which I think is AOK. I want a plugin for people who know what they’re doing or want to learn - not just a ‘don’t use your brain’ extension. The new version will allow you to really experiment with setting up your own harness in GH. Will it be useful, who knows! I do think it will be fun to mess around with at least.

I also want to really emphasize local models in the upcoming version. I think most GH users have decent computers that are more than capable of running quantized local models. LLM costs are heavily subsidized right now and paid plugins and services are going to become out of reach for a lot of individual users and students.

If you want to contribute, please get in touch here or via github. I’ll keep updating but I’m hoping with a few collaborators, this plugin could be a Ladybug for AI. I’ll post links to my beta-version dev-log in this thread.

py_code_comp

cluster_comp

welcome, and thanks for your contribution to the community. Kudos for open-sourcing this project. Did not test it yet, but based upon your text some consolidated feedback :

  • Integrating C# node support would be a significant addition. Beyond speed improvements, more robust access to the RhinoCommon API and is often better suited for complex recursive functions or branching logic that can be difficult to manage in standard Grasshopper components / python.

  • Suggest implementing a “Style Guide” or template system to allow users to standardize AI output (would help the generated code align with professional or office-standard guides). This could include:

    • Options for define preference naming conventions.

    • Option to automatic generation of docstrings, comments, headers, or inline annotations.

    • Boilerplate for error handling and debug logging to an out panel.

  • Curious to know why you option for cluster addition, and not output as a plain script component by default, perhaps with an optional toggle to “Clusterize.” Most power users don’t use clusters as they can mask logic errors, and have some know persitent bugs like data tree misalignments, or incorrect parameter passing.

Last remark, to lower the barrier for new users, a start-to-finish tutorial is essential (also outside gh/rhino).I mean, i mayb seem obvious to you/others eperts, but i presume a setup of API tokens for a paid providers (like it’s different than you paid subscription for chat/gemini chat client ) or the configuration of local LLMs would help more novice users navigate the more technical part of the implementation.

Hello, thanks for the feedback! Much appreciated.

  • I think this is a very good point and probably a blind spot from my own personal preferences. I just script in GH in Python - C# is reserved for plugins. I’ll add this to the list!!
  • Yes! 100%. In the new version I am working on, all prompts will be loadable from editable JSON files shipped with the plugin. Furthermore, I’m going to be including a JSON parser which can enforce user defined formatting rules without LLM feedback. The overall goal is to keep everything minus the LLM call itself as deterministic as possible. The ‘out’ panel will be standardized as a ‘feedback’ output in the new version. This can be used either for user monitoring and/or driving the next LLM api call.
  • I know clusters aren’t as popular in day to day work, but I do think they offer a few advantages over generating a GH definition within the base file.
    • Abstraction - I like being able to treat a cluster as a black box. You write it once you use it again. Personally, I think this reduces mental-overhead, but I know other people feel differently.
    • Reuse - Personal preference aside, we can treat clusters as components when prompting an LLM. The new version I’m working on will allow users to save a library of clusters / code components that they (or the LLM) wrote, and deploy those components within a file. This will allow for less token usage and modular systems.
  • And yes, I agree with the tutorial. I need to record one ASAP! I have a few other professional commitments to work through but will hopefully be able to get to a tutorial this weekend.

Again, thanks so much for taking the time to provide feedback. If you or anyone else reading feels I’m missing anything, please let me know. If you’re interested, you can take a look through the planning documents in the dev branch to see what’s planned for the beta release.