My interest in personal AI systems was piqued way back in January with the initial release of clawdbot(now openclaw). But of course, the security issues concerned me, in spite of the fact that I was running it inside docker. Then in February I came across this project, nanobotby Uni of Hong Kong researchers, which was advertised as a better clawdbot because its code was more readable (they event went so far as to include a bash script that would tell you the current LoC, when I had initially installed this it was ~4k. Another reason for this advertising was because clawdbot was almost entirely vibecoded at ~400k LoC) and was safer to run.
Now because nanobot was written purely in python it also gave me the opportunity to read its code and maybe expand upon it in the future. Thus, I decided that for my personal needs, this was a good fit.
I have only ever ran nanobot inside docker on my PC because of security concerns, the experience has been interesting. This was my first experience with these agents and it almost blew my mind how much these systems could accomplish.
Recently I update nanobot to the latest version from upstream and broke some of its features, partially because I was trying to expand the codebase myself. That’s again a future goal, to understand its codebase and expand upon it.
I will still list some of my nanobot todos here:
- run it on Sputnik without udocker. Just for fun and chaos.
- give it full access to my google calendar via gogcli. I was successful with this earlier but I broke it again after an update. This would be the ultimate calendar automation system. 1 (edit: fixed it using the ld_preload fix suggested by claude)
- create a curated RSS feed using this. I am still waiting for that miniflux + reactflux video to drop.
- write skills for it to access copyparty, actual budgeting, and gogcli.
- give it access to my copyparty file server to make operations like “send me the download link for that file” possible.
Some differences from n8n
I have been using nanobot mostly for three purposes: calendar, finances and temporary storage (cloud) access.
Here’s an example of ferbot using n8n:

but with nanobot using gogcli I can just say “I will be working on my lab files at 10pm today, color it magenta” and it’d do it. Of course, marginal gains. An actual example:
yeah it had a stroke and emitted reasoning too, probably because I had switched to gpt-5-mini recently instead of gpt-4.1. But it did create the event so there’s that.
The main difference is easily extensibility. For n8n I had to put in some actual work into managing these separate API calls but with uncle pete’s gogcli I don’t even have to do any of that. Ofc, it’s a bloated interface for my minimal use case, that’s the reason for my attraction towards gccli. But again, for max. extensibility gogcli has already been implemented and tested.
Footnotes
-
“But can’t you achieve the same thing with n8n, wouldn’t that be easier and more intuitive than this?” - I can and have done this in the past. But now I am under appeal to novelty bias, so everything must be done with this personal system. Also, one agent for all services is a lot nicer/maintainable than running multiple n8n workflows. Actually, I have a lot more thoughts about n8n, I might write about those in another note. ↩