Skip to content

Plugins Overview

Jeremiah edited this page Oct 22, 2026 · 1 revision

Plugins Overview

Plugins add optional chemistry workflows and commands to ChemDraft while the host keeps control of documents, permissions, and result windows.

What a plugin adds

A plugin is a package of code with a manifest: a description of its identity, required API version, permissions, and contributions. A contribution is something the host can expose, such as a command, menu item, toolbar, analyzer, or report panel. Installing a plugin makes its declared features available without making that feature part of the drawing core.

For ChemDraft 1.0.0, the compiled official catalog contains Name from Structure (Orthonym), NMR Shift Predictor, Name to Structure (OPSIN), and Structure from Image (MolScribe). These are separate installable packages. The Mass / m/z Analyzer is the working bundled example. SolvKa is a separate research project and is absent from the host catalog. See Official Plugins for status and licensing distinctions.

A catalog entry identifies a supported source for install and update checks. It does not establish that a release is currently published, that every computer supports its engine, or that a scientific result is certain. The manager reports release and engine availability when you use it.

Start with the plugin manager

  1. Open Plugins → Add or Remove Plugins… in the desktop app.
  2. Find a catalog plugin under Available, or use Add plugin from package… for a downloaded ZIP.
  3. Read the package identity, description, declared permissions, and build provenance.
  4. Choose Install if you trust the source and want those capabilities.
  5. Use the plugin's contributed command. The official chemistry plugins contribute commands under Analyze after installation and while enabled.

On macOS, the application menu is app-wide. On Windows, menus belong to the document window; floating plugin panels have no separate app menu. Installation and updating are desktop features. A browser preview does not provide the package-management flow.

An engine is the local software that performs a chemical calculation or recognition. It can be separate from the small plugin that calls it. Orthonym and MolScribe use optional host-managed engines. OPSIN uses the host's bundled parser and Java runtime. Installing an interface package and having its engine ready are therefore separate states.

How results reach you

Plugins invoke registered commands and typed host capabilities. They do not reach into the drawing application's private state. Reports are structured data rendered by ChemDraft, rather than plugin-supplied React components. On desktop, a report opens in its own movable native window, outside the page workspace.

A report associated with a structure can be marked stale when that structure changes. Treat a stale report as a result for the earlier structure and run the command again before using it. Analysis records live in the session's analysis store; displaying a report does not itself change the drawing.

Document changes use patches: explicit descriptions of objects to add or changes to review. There are two user-visible paths:

Result Host behavior
Deterministic conversion of input you supplied, such as a typed name A plugin with document.write can insert through documents.applyPatch during its command. The host records one labelled undo entry and selects the inserted content.
Inferred output, including image recognition A plugin submits a proposal. You review it and accept or reject it before insertion.
Changing or removing existing content Direct insertion permission does not cover this; proposal review is required.

Recognition is experimental. Check every atom, bond, charge, label, and stereochemical assignment before accepting an image-derived structure. A confidence tier is an aid to review, not a guarantee.

Permissions and trust

The host supplies capabilities from the manifest's declared permissions. Declaring a permission does not create an arbitrary operating-system interface: native.execute gates particular host services, for example, and network.fetch is currently reserved and refused by the desktop.

Package review displays permissions; it does not provide a separate allow/deny switch for each one. Install plugins whose source and requested access you trust. A SHA-256 checksum detects changed bytes; it is not a publisher signature. Read Plugin Permissions before evaluating an unfamiliar package.

Plugins and agent tools

Desktop installation does not configure the CLI or MCP server. Headless NMR loads a separately trusted source checkout, while headless name-to-structure uses the host runtime independently of the desktop OPSIN plugin. There is no generic headless command for invoking arbitrary desktop plugins. See Agent Tools Overview.

Next

Clone this wiki locally