After evaluating numerous claws in an attempt to build some kind of assistant and wanting to see what all the hype was about, I have settled on ZeroClaw. It’s neat because it’s written in rust, and is relatively new and seems to have learned from several previous attempts. Although it seems like there are several potentially malicious forks floating around. This is my experience with it, and my absolute frustration with these AI solutions. Which is mostly just the absolute laziness of the documentation or lack there of or just not useful to the average consumer of it. This blog post is just a stream of consciousness instead of being a well edited and separated blog post.
I decided to configure mine using OpenRouter because I wanted to evaluate the various different models and how they perform. I also just wanted a pay go with as many models I could possibly choose from.
I also decided to use discord as my channel to communicate with the agent. I trialed other options like WhatsApp and Signal but they would require an additional phone number to provide the identity separation. I find it extremely entertaining how quickly it reacts to my messages on discord just to let me know it’s still alive.
Configuration for Tools
I faced several issues with getting tools configured and examining what the tool
calls were being made. Using gemma4, I found that it really want to use the
shell tools over the other tools that might be listed in the context. To fix
this I had to set a couple options that were not obvious to find or set with
config.toml. To see what calls are being made in depth, you must set
observabilty.backend to “log”, and set observabilty.runtime_trace_mode to
“rolling”. Setting the trace mode will allow you to see the full JSON bodies.
It was very non-obvious on how to get the values. I resorted to using
gemini-cli to determine what the possible values were and ask details about the
code base.
I also configured a custom search provider with SearXNG to allow unlimited searches. I installed it via the docker installation methods. To allow ZeroClaw to use it you need to set the following options.
web_search.provider= “searxng”web_search.searxng_instance_url= “your_instance_url`
I found it very non-obvious to configure these. There were signs within the
code base that the url should be set via an .env file, but that did not work.
SearXNG also gave me an error and I had to enable the JSON responses in it’s
settings at search.formats.
There should be definitely be a way to test the configuration of the tools through the cli.
Exploration
I’m still exploring the agentic loop behavior and how it makes decisions. I think some of what people are so impressed with is that its silent while doing things, which I don’t like. I like to know what my things are doing.
I think some models are better at making certain kinds of decisions but deciding which model to use is fairly challenging. I think some of the cheap models are starting to catchup. Not sure what to make of the more expensive models because I’m not opening my wallet up that far for this.
Sandboxing
The docs need to be more clear about what needs to happen for the sandboxing. It seems to mount the workspace folder in a container, but the base alpine image seems to be missing a lot of tools. I will eventually make a custom image and report back on what exactly it does. I should also mention that a docker container is not a security boundry. I have it configured on a virtual machine as a barrier to touch any thing personal. I turned off sandboxing for the time being and decided to just not grant access to any personal applications or delegate access.
I believe the best thought is to set up something where it’s totally separated from my regular stuff. Maybe configure special inboxes. I definitely want to give this thing it’s own email address. I’m debating proton mail at the moment.
We have a couple of challenges at my HOA I want to try to address with getting a couple things fixed and resolved. These tasks involve heavy research and email correspondance so I’m curious how that will work out.
Monitoring
I’m not quite sure how to monitor this software stack yet. I’ve been playing with grafana/loki lately and might set up alloy as an open telemetry target for it, but I’m just not sure if it’s worth the effort yet. It will have to be something for when I decide if I want to keep this up.
Closing Thoughts
I’m planning to leave this up and spend maybe $20 on keeping this system up over the next couple of weeks, and use it as a test bed to experiment with some local AI options. If it becomes useful, we’ll see. I’m sorta getting some interesting thoughts about where this could go. I see why people are excited about it, but at the same time I still don’t like it. I can also see why people are so upset about the claude harness change. I will report back in a couple months with my further thoughts on it, but I don’t think it’s the business altering future that people are claiming.