aadishv
Joined 1 year ago
Joined 1 year ago
"Answer this question by only using the `semble` CLI (docs below):
> What tools does Browsercode provide to the agent other than the base OpenCode tools? Provide the exact schema for tool input and tool output and briefly summarize what they do and how they work
---
[the AGENTS.md snippet provided from https://github.com/MinishLab/semble#bash-integration]"
And the equivalent for the non-Semble test:
"Answer this question by only using the `rg` and `fd` CLIs:
> What tools does Browsercode provide to the agent other than the base OpenCode tools? Provide the exact schema for tool input and tool output and briefly summarize what they do and how they work"
In both cases, I used Pi with gpt-5.4 medium and a very minimal setup otherwise. (And yes, I did verify that either instance only used rg & fd, or only used semble.)
Without Semble, it used 10.9% of the model context and used $0.144 of API credits (or, at least, that's what Pi reported - I used this with a Codex sub so cannot be sure). With Semble, it used 9.8% of the model context and $0.172 of API credits. The resulting responses were also about the same. Very close!
I tried one more test in the OpenCode repo. The question was > Trace the path from 1) the OPENCODE_EXPERIMENTAL_EXA env var being set to to 1 to 2) the resulting effects in the system prompt or tool provided to the OpenCode agent.
And I included the same instructions/docs as above. The non-Semble version was a bit more detailed -- it went into whether the tool call path invoked Exa based on whether Exa or Parallel was enabled for the web search provider -- but w.r.t. actually answering the question, both versions were accurate. The Semble version used 14.7% context / $0.282 API cost, while the non-Semble version used 19.0% / $0.352. Clearly a win for Semble for context efficiency, but note that the non-Semble version finished about twice as fast as the Semble version.
Of course this is just me messing around. ymmv.
I think using the Pi coding agent really got me used to this way of thinking: https://mariozechner.at/posts/2025-11-30-pi-coding-agent/#to...
https://github.com/pasky/chrome-cdp-skill
For example, I use codex to manage a local music library, and it was able to use the skill to open a YT Music tab in my browser, search for each album, and get the URL to pass to yt-dlp.
Do note that it only works for Chrome browsers rn, so you have to edit the script to point to a different Chromium browser's binary (e.g. I use Helium) but it's simple enough
It's essentially a SolidStart SPA with virtualized scrolling and a few other tricks (even I don't know most of them!). Vector search is entirely client-side with transformers.js and CLIP. The first load is quite slow unfortunately, cause it has to download the index of photo id -> link (~7 mb last time i checked), and same for searches, as it has to download the vector index (~28mb) and embedding model the first time. Caching is pretty good though.
I was previously using [Lychee](https://lychee.electerious.com/), which worked well but wasn't really suited for this use case. So I scrapped it and started from first principles with Claude. This entire task only used up 50% of my 5-hour quota on the $20 plan!
Since the site itself is an SPA and images are static, using a VPS is overcomplicating things since I (well, Claude) am essentially just using Caddy as a glorified CDN. But I had free DigitalOcean credits since I'm a student, and where else can I host 40 gigabytes of photos for free?
All in all, this was definitely a very fun exploration of what someone who's technical[1] can do with Claude. The code is all open-source (but it's slop) at https://github.com/aadishv/catapp.
[1]: at least I'd like to consider myself technical!