Plugin Installation
This guide explains how to install the available plugins to a Recogito Studio instance.
Available Plugins
Section titled “Available Plugins”- GeoTagger – Tag annotations with geographical references from a gazetteer.
- Reconciliation Service API – Use a Reconciliation Service API endpoint as a tag source in your projects.
- NER Plugin – Automatically perform Named Entity Recognition on plain text and TEI documents.
- Revisions Plugin – Basic annotation revision functionality.
- TEI Inliner Plugin – Export TEI annotations as inline markup.
- Sandcastle3D Export – Custom annotation export for the Sandcastle project.
How Plugins Work
Section titled “How Plugins Work”Recogito Studio plugins are npm packages that act as Astro integrations. Using a plugin takes two distinct steps:
- Install (build time) — add the plugin’s npm package to the client and list it in the
INSTALLED_PLUGINSenvironment variable, then build the client.INSTALLED_PLUGINSonly tells the client which already-installed packages to register — it does not fetch anything, so the package must be installed separately (see the steps below). Building compiles the plugin into your instance and makes it available to every project. It’s done once per instance by whoever builds and deploys the client. - Enable (runtime, per project) — a Project Admin turns an available plugin on for a specific project from Project Settings → Plugins. The same plugin can be enabled for some projects and left off for others.
The sections below cover installing plugins in local development and in a self-hosted production build, then enabling them per project. To build your own plugin, see the SDK Guide.
Local Development Environment
Section titled “Local Development Environment”Plugins are declared through the INSTALLED_PLUGINS environment variable — a comma- or space-separated list of npm package names. The client registers them automatically, so you don’t edit the Astro config.
In the root of the recogito-client repo (see Client Application Setup):
-
Install the plugin packages you want:
Terminal window npm install @recogito/plugin-geotagging @recogito/plugin-revisions -
List the same packages in
INSTALLED_PLUGINSin your.env, then restart the dev server:Terminal window INSTALLED_PLUGINS="@recogito/plugin-geotagging,@recogito/plugin-revisions"
The available plugin packages are:
| Plugin | Package |
|---|---|
| GeoTagger | @recogito/plugin-geotagging |
| Reconciliation Service API | @recogito/plugin-reconciliation-service |
| Named Entity Recognition | @recogito/plugin-ner |
| Revisions | @recogito/plugin-revisions |
| TEI Inliner | @recogito/plugin-tei-inliner |
| Sandcastle3D Export | @recogito/plugin-sandcastle-export |
Self-Hosted Production Environment
Section titled “Self-Hosted Production Environment”Self-hosting uses the same INSTALLED_PLUGINS variable, set in your docker/.env (see Critical Environment Variables). List the plugin packages you want:
INSTALLED_PLUGINS="@recogito/plugin-geotagging,@recogito/plugin-ner"The install and upgrade scripts read this list, install the packages, and compile them into the client image.
Some plugins depend on additional services — the NER plugin, for example, requires Trigger.dev and Stanford CoreNLP. See Additional Services in the self-hosting guide.
Enabling an Installed Plugin
Section titled “Enabling an Installed Plugin”Installing a plugin makes it available but does not turn it on. Plugins are enabled per project from the client UI:
- Open a project as a Project Admin.
- Go to Project Settings → Plugins and click Browse Available Plugins.
- The gallery lists every plugin compiled into your instance. Select one to install it for this project.
- If the plugin exposes settings, configure them from the same screen.
- To disable a plugin for the project, remove it here.
Enablement is stored per project, so a plugin can be active in one project and inactive in another. If a plugin you installed doesn’t appear in the gallery, it wasn’t installed correctly. Recheck that its package is listed in INSTALLED_PLUGINS and rebuild the client.

