Comment by solarkraft
5 days ago
It's good.
Many of the annoyances from V1 are gone. Skills and plugins reload automatically (finally). Tasks can be backgrounded (though I think this doesn't happen automatically yet). There's a built-in skill for editing the configuration (finally I can retire mine). The front-end got some love. Apparently they re-architected the loop around Effect. Sub-sessions can be communicated with better. Configuration is loaded from the folder the session is created in rather than where the server was started.
In general, this update largely takes OpenCode into the current age features-wise and is a good overhaul quality-wise. Just in time to stop my early switching away efforts, which would've been a pain because I know few other harnesses with such a strong server/client model.
To me, there are more annoyances in V2, so many that I've switched harnesses to Pi (for now?). I think the hot-reload is another security misalignment. An agent should not be able to modify plugins and have that immediately reloaded for availability.
Stellar example of how one person's security vulnerability is another person's most important feature...
when you experience a loss of control with an agent, you might see things differently
Security misalignments OpenCode has a good few of (it used to have more).
I think the benefits of this one vastly outweigh the risks since it enables the self-modification Pi (!) became famous for.
These debates should be settled with an opinionated default, and a toggle.
1 reply →
I switched to Pi last week, have not seen anything about self modification, but have seen a lot about security, the minimalism and customization by user are closest in common selling points from exiting users
you cannot have both and be serious about security
to be clear, I'm talking about hot reload, agent can manipulate its own environment in real time, that's asking for trouble, put some controls on that or reap the consequences from loss of control
17 replies →
I tried switching to Pi twice. Both times it seemed agents go crazy with tools on Pi and do stupid things right out of the gate, (like get `find` syntax wrong, seriously who [what] does that??). Plus things I appreciate in opencode (even if they were buggy in 1.x) like "prompt for perms tool-by-tool in this session" seem to only be available in Pi by writing your own extension, and now I'm wasting time debugging my extension with an AI that gets tools wrong and constantly wants to search `/` for no good reason.
Then I upgraded OpenCode to 2.0 and pretty much all the bugs vanished. I still wish there was a happy medium between "parse tool calls for perms" (which fails all the time if the tool call is long/complex enough) and a full-on sandbox, but otherwise 2.0 is really solid.
DeepSeek Harness allows the user/agent to build its own plug-ins and run them without restart, mostly. Pi and OpenCode were then influenced to do the same in their respective new versions. I don't know which has the better implementation.
DeepSeek does. The entire thing is composed on plugins, using a framework called Cordis. Everything is a plugin. All the tools, the models, plan mode, file system access, everything. You can change anything anywhere, even reconfiguring active plugins deep internally. Cordis provides an effect system so everything can be rewound on uninstall time. This is how people run local models or just other major models, just by writing a new plugin to talk to whatever instead of the deepseek api. The agent loop itself is a plugin and can be swapped out.
https://github.com/cordiverse/cordis
2 replies →
Yes, that’s the thing I had mainly been looking at as an alternative. It probably has a better culture around extensions, but also seemed a good bit more DIY, especially to get it working with a good UI.
I do not see where Pi does any automatic hot-reloading, though I believe there is a /reload command one has to run that can do this. Still new to Pi, if you have a link, I'd be appreciative.
This is all a stopgap until I have some time to go back to my personal/custom harness.
Do the plugins let you modify the UI? Got any favorites?
Just curious, what other annoyances do you have with V2?
1. Running background code on my machine is something that gets an immediate removal from me.
2. opencode 2.0 does not exists. I mean it: there is no release[1] and per their own instructions, `npm i -g @opencode/cli@latest` does not install opencode 2.0.
3. `Error: @opencode/cli's postinstall script was not run.` Not even running postinstall.js can fix that, neither on linux nor macos. And even if it works, in a couple of days or on the next upgrade it will fail again.
[1] https://github.com/anomalyco/opencode/releases
3 replies →
- the tabs, extra keystrokes for common tasks, other UX related things
- several poor security mistakes or choices that broke my trust
- trying to be closer to an IDE, all these harnesses want to be the interface to rule them all, that's not what I want in my harness
- doing things that another tool, which is harness independent, should own (multiple async/parallel agents)
- too much change dropped at once, so many breaking changes, several I cannot migrate at work without impacting the devs I support
1 reply →
Tasks can be backgrounded by the model you are using automatically. It is not just manual fyi
Yeah, but only I can click to move a task to the background when it takes longer, which could and IMO should happen automatically. The model can’t always judge that. (I see how my comment wasn’t clear enough that I mean this)
In general, the preventable “model gets stuck” class of annoyances has not been fixed quite yet - there are also stil no timeouts for permission requests, at least by default.
> the preventable “model gets stuck” class of annoyances has not been fixed quite yet
I thought it was just me. The damn thing get sucked when standing up my applications like half the time
2 replies →