Repository navigation
Replies: 2 comments
|
+1 for plugins. A large share of the layout requests in Ideas are personal preferences that the team should not have to ship as settings one by one, and a plugin system would let people handle them without maintaining a fork. If a small first slice would help, user stylesheets may be the smallest useful one: a folder of Snippets would also survive updates far better if the main areas of the window had stable attributes, for example |
|
Thanks for sharing this. I ran into the same missing piece from the other side, and what I found along the way may be useful for the plugin design, whether you build on this branch or on your own system. I wanted multi-model workflows in T3 (several models answer independently, review each other over rounds, then one result is written back to the main chat) without maintaining a fork. With no extension API, I ended up patching the installed app bundle and keeping the feature code in a separate add-on: https://github.com/vulonviing/t3-code-addons Building it surfaced a few host-side problems that any plugin doing orchestration will probably hit:
The bundle patching also costs something real: the app has to be re-signed locally, which can affect distributor-bound features, and every official update needs the patch checked again. That is the main reason I'd like to see a supported extension surface. I haven't tried my code on your fork, so I can't say which of these your SDK already covers. Either way, I hope the list above is useful input. |
Uh oh!
There was an error while loading. Please reload this page.
Hey @t3dotgg, @juliusmarminge and @maria-rcks, it's ash. I've been working on this plugin system for the past few days in hopes that I can at least speed up the process of getting plugins into T3 Code. There are a few things I'd like to change about T3, but I don't want to commit to maintaining my own fork, and I'm sure others feel the same way. I know earlier PRs that tried to build plugins were closed, and I started this fully aware of that. I'm happy to make any changes you ask for, even substantial ones. I just want to see plugins in T3 Code.
Everything below was written by my agent. Thank you for reading :)
The plugin system is in a fork you can build and try before you settle on a design. It needs 2 decisions from you:
#8014 was closed because it set up a large plugin contract in one branch, so this isn't a request to merge the whole branch. If you build your own, the internals doc lists the problems this build hit and how it solved them. If you'd take contributions, the split below keeps each PR to one part.
Try it
https://github.com/ashx-j/test-t3-overhaul) or npm (test-t3-overhaul)What a plugin can do
A plugin is a folder with a
t3-plugin.jsonmanifest, an optional server entry and an optional web bundle, typed by a new@t3tools/plugin-sdkpackage. Users drop the folder on Settings → Plugins, or install from a git URL or an npm package. Updates for git and npm plugins show in the sidebar's update button.@items, thread header buttons and menu items, sidebar badges, message actions, code block renderers, right panels, full pages, a sidebar section, command palette entries, and desktop menu, tray and global shortcut items.How it handles performance, remotes and surfaces
Orchestrator.tsgains 2 internal commands, for plugin notes and slash command replies.plugins.json,plugins.sqlite), so it adds no migration tostatev2.sqliteand no key tosettings.json.Proposed split
The branch adds about 24,700 lines in 176 new files and about 5,100 lines to 173 existing files. About 7,300 of those lines are tests. Each PR below works on its own:
Earlier proposals: #6714, #6837, #23574 and #31141. saphid's open stack, starting at #16048, covers some of the same ground with a different design.
Claude Opus 5.5 wrote the code in T3 Code, and ash directed and tested it.
All reactions