Experimenting with porting the external integration SDK to Go with LLM

Hello everyone,

After testing various LLMs, I am publishing a port of the SDK (v0.11.0) for creating an external integration in Go.

The project link is here: experimental-gladys-assistant-integration-sdk-go.

To validate my SDK, I wrote tests and created an example based on @prohand’s air quality project, as it is quite simple.

Porting Story

I wanted to test Cline’s capabilities with my Cline Pass subscription by experimenting with several LLMs to find the right development strategy.

First Port in Python

I started with a Python port using Qwen 3.8 Max to establish the project plan and analyze the official JS SDK. Then, I used Deepseek V4 Pro for development.

The Python SDK worked, but the example Docker image (air quality) — which is quite simple — took up 300 MB of storage. You need to store Python and all the project dependencies. Such a size for such a small code is, in my opinion, a heresy, and it is not viable in the long term when using dozens of external integrations.

New Port in Go

So, I started from scratch with a compiled, stable, and widely used language. My choice fell on Go for the aforementioned reasons, but also because it is well mastered by LLMs and is developed by Google (a mark of seriousness). For information, Docker is also written in Go.

This time, I used only a low-cost LLM to see if it was sufficient, and my choice was Deepseek V4 Flash. I used it for both reasoning and coding.

This model proved to be sufficient. It is not necessary to have a large model like Fable or Kimi K3, as @pierre-gilles did a great job with his very complete README. It contains all the technical details for an LLM, even a « simple » one, to perform a port. This is also the case for the external integration thanks to its very well-documented template.

In the end, I now have a functional SDK and example with a Docker image of less than 19 MB. It is therefore very lightweight compared to the 169 MB of @prohand’s JS version. Nothing surprising about that: the JS version requires Node.js and its dependencies, whereas in my case, it is a simple executable in an image based on Alpine OS.

Conclusion

Following my tests, the most important thing remains the writing of a good project definition, both on the main objectives and on the technical aspects, ideally with the help of a model like Qwen 3.8 Max / Fable / Opus. Once the README.md, AGENTS.md, or CLAUDE.md file is written and complete, you can move on to a lighter model for coding. In my case, Deepseek V4 Flash was sufficient, but the Pro version is still preferable if the generated code contains too many errors or proves too complex.

And Now?

I will not maintain this project: it was an experiment, and I will not have time to take care of it alongside my other projects. You can obviously take it over if you wish, it is completely free.

I hope this post will interest you and help you in your future developments!

3 Likes