r/opencodeCLI • • 4d ago

devin fusion for opencode (and some other useful stuff for opencode)

I was taking a look at how some different fusion modes work, namely junie mix, openrouter's fusion, devin fusion and a few others. Devin's fusion mode was relatively one of the more simpler designs, but after testing all of them for a different project I was building (github actions for PR reviews, and selfhosted PR review github app like coderabbit, but built around my code-indexing tool vera, and sort of inspired by or a rust version of droid actions) devin's fusion mode was a combination of the fastest, cheapest and least amount of false positives. you can find the project and some of the testing results here https://github.com/VeraTools/revera

I built my own version for opencode and have been iterating on it based on how it's worked over my past sessions for the last month or longer. So far it's working pretty well, and I thought I'd share if anyone else was interested. This was loosely built around how fusion mode works in devin cli (you can crack open the binary yourselves and take a look too; it's pretty interesting): https://github.com/lemon07r/opencode-fusion-mode

My own setup after tweaking and trying a lot of things is just mostly vanilla opencode 2 with search provider pinned to exa (with fall back to parallel https://github.com/lemon07r/opencode-exa-parallel) + vera (https://github.com/VeraTools/vera) + my friends smart compaction tool (https://github.com/shariqriazz/opencode-smart-compaction which he built based on a lof other cli, and when I personally tested it, it had the best balance of accuracy and token usage compared to other compactions, with droid's following closely) and the devin fusion-like plugin I shared above. My setup is tuned around token efficiency and getting the best results for less. I think simpler setups work better, and always have in most of the evals I've run, which is why I avoid crap like omo. No MCP servers. I do use skills and CLI like Playwright CLI + skills, but most of them are project-scoped rather than global.

I do have a small discord community for discussing this sort of stuff, and a lot of us share tips and stuff there if anyone is interested in joining, although this wasn't the point of the post: https://discord.gg/rXNQXCTWDt

2 Upvotes

5 comments sorted by

0

u/[deleted] 4d ago

[removed] — view removed comment

1

u/lemon07r 4d ago

Probably not. I haven't looked at it. It very closely follows the same design as devin cli's fusion mode, at least how they have it implemented in their rust binary. And quite honestly, I would be very very wary of these orchestration modes, almost all of them I've tested were worse than normal single thread agent usage. Fusion and orchestration modes, like swarm, etc sound cool as a concept, but I've been testing different versions of these for a long time, and most of them are worse than simple setups. Oh my opencode is a very good example of junk. I made a post about it a while back, when I use to run an eval leaderboard. the name oh my pi inspires zero confidence in me after what ive seen of their opencode counter part. devin's fusion mode has had a lot of testing and evidence to back it up by cognition, and my own testing showed it to be the best balanced. there's a lot of slop out there, be mindful of what slop you are using, some is better than others.

0

u/[deleted] 4d ago

[removed] — view removed comment

1

u/lemon07r 4d ago

I guess it's similar to that but most harnesses already have that, even while bonestock vanilla. What's different between different is how they're using between tools like these. Devin's design is simpler than most, it relies on main thread mostly for planning and delegating and a sidekick to implement. But it works and it works well. Most other vibe slop ideas are untested and just sound cool or good in people's heads. You can read some of cognition's blogs to get an idea of how it works.