Вот с чего стоит начать: Build a plugin - Developer Documentation. Я бы дал ссылку на то, что я сделал, но это один из немногих (надеюсь, единственный) проектов, который я не отправил в GitHub перед переустановкой операционной системы на компьютере на прошлой неделе.
Вам нужно будет разобраться, как это сделать с помощью Node. Вот хороший пример на Ruby: discourse_api/examples/upload_file.rb at main · discourse/discourse_api · GitHub. Он вызывает: discourse_api/lib/discourse_api/api/uploads.rb at main · discourse/discourse_api · GitHub.