Hey @techright
Some general notes, though you may have already discovered these:
- There's two APIs - the plugin API which is the APIs your JS plugin code will call, and the data API which is the same API that the webclipper extension uses.
- I expect you'll use the data API for fetching data that gets fed to a large language model (LLM, like chatgpt).
- The plugin API is what you would use for integrating a UI or set of commands with the joplin client so you can trigger tag generations or review/apply tags generated from your LLM. How you configure your plgin
- A big draw of Joplin for me is that it is open source + selfhost-able and I have control of my data. I'd like to have the option of doing something similar with a self-hosted LLM like GPT-J or something like that. It would of course be ideal to be able to tie into a myriad of language model backends. Some intention when laying out and configuring a plugin is all that should be needed here IMO.
- You can definitely use JS to write your plugin. You may also consider TS, as that is what joplin uses under the hood, so you can take advantage of the thoughts that went into strongly typing the APIs you'll be using for your project.
I've experimented a bit with Joplin plugin development I'm interested in building something similar. Shoot me a DM and we maybe we can chat in detail about it.
3 Likes