ParthJadhav / Verve

Verve is a lightweight and blazingly fast launcher for accessing and opening applications, files and documents. ⚡
GNU Affero General Public License v3.0
657 stars 25 forks source link

Adding Extension Support to Verve #13

Open ParthJadhav opened 1 year ago

ParthJadhav commented 1 year ago

We are considering adding extension support to Verve, which would allow users to create scripts or programs that extend the functionality of the application. This would be a challenging task to implement, but we believe it would greatly enhance the utility of Verve for our users.

One potential way to implement extension support is by using a wasm runtime (such as wasmtime) to embed a wasm runtime into the app and load 3rd party plugins as wasm modules. This would give us fine-grained control over security and exposed APIs, and would allow us to use codegen utilities (such as rust, assemblyscript, and c) to create binding libraries that compile to wasm. Third-party developers (or ourselves) could then use these libraries to compile their code to wasm and create working extensions in a secure way.

We are open to suggestions and ideas about how best to implement extension support in Verve. If you have any thoughts or recommendations on this topic, please let us know in the comments.

Side notes: The above approach was suggested by -> https://github.com/JonasKruckenberg

ParthJadhav commented 1 year ago

I'm trying to use: https://extism.org/

To create an Extension system..

WIP

AlexMikhalev commented 9 months ago

Did you manage to progress? I looked at extism, but it didn't fit any of my use cases.

ParthJadhav commented 6 months ago

Hey @AlexMikhalev,

Here's a branch regarding extension support. Although I'm quite short of time to implement it further.

https://github.com/Ty3uK/Verve/tree/feature/extensions-poc

AlexMikhalev commented 6 months ago

Thank you for tagging me; I will look into it. Now, I have my own Tauri app for https://terraphim.ai/, but I can package it as an extension for Verve.