ubiquity-os / ubiquity-os-plugin-installer

A GUI to install UbiquityOS plugins.
0 stars 3 forks source link

Marketplace #6

Open rndquu opened 2 weeks ago

rndquu commented 2 weeks ago

Depends on https://github.com/ubiquity-os/ubiquity-os-plugin-installer/issues/1

The ubiquity-os-plugin-installer repository is basically one of the core features of ubiquibot plugins marketplace. We can transform current repository in a plugin marketplace.

All plugins will reside in the https://github.com/ubiquity-os-marketplace organization:

What should be done:

  1. Create a new UI page that will: a) Fetch all available plugins from the https://github.com/ubiquity-os-marketplace organization b) Fetch plugins' manifests from the manifest.json file located in a plugin github repository (example) c) Display all available plugins
  2. Implement a caching mechanism (similar to the one in work.ubq.fi) so that target github users are not rate limited by github

In the end we should support this flow:

  1. User opens the marketplace UI
  2. User selects a plugin that he wants to install or edit
  3. User clicks the "Install" or "Edit" button and user's ubiquibot-os config is updated
0x4007 commented 2 weeks ago

I feel like the more straightforward answer actually would be if we just have a dedicated organization and then we fork the plugins we want.

Or in our case for the "official" plug-ins we just transfer them to that organization.

So in conclusion our marketplace is a UI on top of a GitHub organization

0x4007 commented 1 week ago

https://github.com/ubiquity-os-marketplace

rndquu commented 1 week ago

https://github.com/ubiquity-os-marketplace

Updated description

0x4007 commented 1 week ago

@gentlementlegen rfc on the manifest stuff. Anything else we need to prepare?

gentlementlegen commented 1 week ago

No, but https://github.com/ubiquity-os/ubiquity-os-kernel/issues/80 should be merged for the User clicks the "Install" or "Edit" button and user's ubiquibot-os config is updated so it can be validated and the proper values exposed. I am confident there are tools to transform JSON 7 to html forms out there.

0x4007 commented 2 days ago

My https://github.com/0x4007/sync-configs-agent.git can already generate accurate configs because it has the ability to parse the plugin URLs and read their manifests. We just need to feed it the repository URLs and a preference of what to add and how to configure them in plain English.

Expensive approach with Claude 3.5 Sonnet but it works quite well.

I think it can certainly be the backbone of natural language to bot config in several contexts, including, but not limited to a future plugin that will allow users to adjust their UbiquityOS settings as simply as:

@UbiquityOS change the follow up times to 1 day from 3.5 days.

In the background this script can run and link back to the comment thread for review/debugging.