Installing & Using Amplenote Plugins

Amplenote plugins offer a way to extend the Amplenote editor to implement deeply customized functionality. As an example of what plugins can offer, Amplenote has implemented a fully functional integration with GPT4 via an AI Plugin.


linkHow to install a plugin?

There are a few different ways to install a plugin.

Use the install button in the Published Plugins Directory

When visiting a published note that is a plugin, you can substitute the note token into https://www.amplenote.com/account/plugins?source-token=

You can copy the content of a note, or have a note shared with you, and visit Account Settings -> Plugins and choose the note that you created/had shared

Plugins are managed by opening "Account Settings," choose the plugins tab, and click to enable the note as a plugin whose commands will become available to your Amplenote editor

link

This view of the plugins page will be outdated by April or May 2023, but still including it cuz a section without a screenshot is the pits


linkHow to update a plugin?

After you install a plugin, you can choose to upgrade your plugin as new versions become available. To see which plugins have new releases since you last installed yours, return to Settings -> Plugins and look for the refresh icon:


Click the yellow refresh icon to initiate an update


After clicking the yellow icon, the final step is to click the button to confirm you want to update:



If you made changed the code of the plugin after installing it, you will need to re-apply those changes after you update.


The settings you chose for your plugin will be preserved, unless the author changed the name of the settings (rare).


linkFrequently asked questions

And yet, after all that has been said before, you may still have questions.



linkWhy plugins?

The core features of Amplenote will always err toward simplicity and catering to the masses. Most note takers just want a note taking tool that is fast and pretty, on mobile and desktop. So, while Amplenote sneaks in fancy features like Task Score at times, we try our hardest not to add any options to the UX that do not serve an important, necessary purpose for the vast majority of note takers.


Plugins exist because we want to create leverage for productivity freaks. There are 5-10% of the population whose incentives or circumstances drives them to wring every last ounce of output from their time. These people have the potential to make 10x-type impacts on the world; plugins can enable their greatest aspirations, especially those that aren't relevant to mainstream users.


What are the potential dangers of installing Amplenote plugins?

As described by the docs on authoring plugins, a plugin can potentially access content in your notes and can make calls to third-party websites. For a plugin to access note content, it must be installed, and it must be invoked (by an expression like {my plugin command}, through the note menu, etc), but upon invoking a plugin, it will run the Javascript that you can see in a plugin note.


linkWhat can plugins do?

There are three answers to this question.


The first, most literal answer, is that "what plugins can do" in Amplenote evolves more quickly than a second-hand help page like this can. The latest spec for our plugin API can be found here.


The second, more forward-looking answer, is that we will continue to enhance plugin functionality to the extent that developers/aficionados are creating utility from it and telling us about it. The potential for the plugin API is pretty open-ended.


The third, backward-looking answer, is that in a good-case scenario, plugins can do all the things that you see in Obsidian's plugin directory. A cursory survey of their top-voted plugins shows a lot of overlap with core Amplenote functionality. Possibilities like Dataview, Templater, and Kanban all seem pretty interesting to certain types of note taking enthusiasts.


linkWhat are the potential dangers of installing Amplenote plugins?

As described by the docs on authoring plugins, a plugin can access content in your notes, including vault notes (assuming they have been unlocked by a password) and can make calls to whatever website they want. For a plugin to access note content, it must be installed. After that, it usually must be invoked (by an expression like {my plugin command}, through the note menu, etc), but a plugin can (to some degree now, and definitely in the future) execute code even when not invoked directly.


You can see the code for a plugin, but whether you understand it (and could be obfuscated pretty easily) depends upon your experience with Javascript.


That said, plugin code is completely isolated from the app. It can't get anything not provided to it, though note content is provided to it. It can't touch cookies, call Amplenote servers with any privileges, etc.


linkHow can plugins impact editor performance?

Plugins can not be setup to run every keystroke, and their impact on responsiveness will generally be limited to when you interact with them (via context menu, note menu, etc).


That said, plugins can potentially set up timers that could allow them to be executed after their time of invocation.


A careless or malevolent plugin author could hypothetically do things like create huge volumes of notes, or generate notes with more content than can be fit into memory. The impact on performance of misused plugins could be significant, but figures to be rare.


linkIf I wanted to build my own plugin, where best to start?

Amplenote's implementation of plugins is different from predecessors in that we have all the data structures within a note to define a plugin. With previous apps, "building a plugin" has generally required some programming prerequisites: stuff like cursory knowledge of git and IDEs. Amplenote plugins don't require you to download an IDE or speak git. You need only speak the lingua franca of programming languages (Javascript) and have some idea of what could make your Amplenote experience more wonderful.


Armed with an idea to improve your experience, the next step is to either read our docs, or feed them to your AI interpreter of choice for summarization or code generation. If somebody would like to provide some sample code or screenshots that illustrate sending Amplenote's Plugin API to ChatGPT (GPT-3.5), we will post that in this reserved space:


[it could be you!]


linkWhat improvements are planned for plugins?

Depending on how much interest our community shows in building plugins, we would be interested in improvements like:

Add a button to code editor to validate whether the plugin is currently valid

Make it easier to diff earlier versions of the plugin to the current version

Allow more types of markdown to be parsed or exported back into notes

Whatever people email us persuasively at hello@amplenote.com

Plugins are soft launching in Q2 of 2023, so expect these aspirations to update with some frequency.


linkWhy should I build a plugin?

Besides the benefit of helping yourself get more done, there could be more benefits to creating a popular plugin, such as:

Recognition and appreciation from Amplenote's GSD-oriented faithful

Could ask community or Amplenote itself to sponsor your efforts if your plugin becomes popular

What better way to learn to code than to experiment writing code in a syntax-highlighted editor within your note app? Building your own plugin is as simple as pasting into a new note.

As of Q2 2023 it is the earliest days of plugins, so the good ones that are built before late 2023 will have an early advantage in gaining attention

Nobody is an expert in creating AI prompts; if you can identify tasks you regularly undertake that aren't yet automated, why not make a plugin?