Skip to content

[FEATURE]: improve plugin development support #19428

@old-mikser

Description

@old-mikser

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

Hello, opencode team.

I'm using your awesome tool every day and I'm very happy with it. However sometimes I'm lacking features. Nothing difficult, features I could implement myself, but current plugin system unfortunately is very limited.
And it's not just me. I saw a lot of forks of opencode with good ideas, which could be implemented easily, but there are two issues:
-PRs are often not an option - you, guys have 1700+ open PRs and 4500+ issues and I know it's too much, even for a large team.
-Existing plugins/hooks system is pretty limited.

I believe number of PRs would be even bigger if chance for some attention (not talking about acceptation) wouldn't tend to zero.

Despite this, I still see huge request from the community for plugins possibilities extension.

Here it is list of SOME of related issues/PRs:

  1. Requests for specific hooks / small extensions
    [FEATURE]: Implement more hooks for plugin: API Extensions for Storage, Schema, TUI, and Command Registration #10868
    [FEATURE]: Plugin Hooks for spawning dialogs #9911
    Hooks for commands (Plugin Commands) #2185
    Feature Request: Extensible Plugin System for OpenCode #753

  2. General plugin system limitations / discussions
    [FEATURE]: Plugin hooks for real-time stream observation and abort control #14740
    [FEATURE]: Plugin hooks should be able to inject AI-visible messages into conversation context #17412
    [FEATURE]: Plugin hooks for streaming token observation (stream.delta) and abort handling (stream.aborted) #14691

  3. Larger proposals / rework ideas
    [FEATURE]: Plugin Mesh Architecture with 8 Infrastructure Layers #13957

  4. Concrete implementation attempt (PR)
    feat(plugin): add stream.delta and stream.aborted hooks #14741 (still there for a month)

Some of them are just asking for specific hooks, some asking in general, some proposing huge plugin system rework (which I'm fan of). But all of them don't get proper attention...

Opencode's development speed is huge, but not every feature pleases every user. Ability to craft features for ourselves is very usefeul and needed thing.

So, please, when you guys have time and inspiration - take a look in this direction. I believe full revise would be better (I really like this proposal #13957), but even extension is good. This will help a lot of people.

Thanks in advance for this! Thanks for everything you've done. Thanks for everything you are doing.

p.s. yes, I clicked "Feature hasn't been suggested before" which is kind of a speculation, but what I'm sure - no one pointed that there is pretty big demand for that.

Metadata

Metadata

Assignees

Labels

coreAnything pertaining to core functionality of the application (opencode server stuff)discussionUsed for feature requests, proposals, ideas, etc. Open discussion

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions